Chatbot per aziende basato su GPT: si può fare
Indice dell'articolo
- CWI: Perché GPT e gli altri modelli linguistici fanno errori o inventano cose?
- CWI: Il prompt è anche lo strumento con cui è possibile fornire al modello informazioni per metterlo sulla strada giusta per la risposta desiderata (il cosiddetto prompt engineering). Può quindi essere questo il mezzo con cui le aziende possono istruire il modello con informazioni corrette?
- CWI: Versioni future potrebbero superare questo limite?
- CWI: Quindi il lavoro di chi crea contenuti o fornisce servizi informativi è al sicuro?
- CWI: rimane sempre il problema di dover istruire il modello con le cento risposte corrette, però.
- CWI: con il metodo dei dataframe Pandas si è al riparo da possibili risposte errate, o comunque la natura probabilistica del modello non può escludere questa eventualità?
- CWI: Avete già esperienze concrete in questa direzione?
Nonostante il temporaneo stop del Garante al servizio ChatGPT (ma non alle API di OpenAI, o ad altri modelli analoghi), le aziende più attente all’evoluzione della tecnologia sono giustamente in fermento per capire come poter trarre vantaggio di questa tecnologia rivoluzionaria.
Altrettanto giustamente, le aziende sono preoccupate dalle opinioni molto contrastanti sugli errori che i modelli linguistici commettono quando devono riferire informazioni fattuali. Sui media e in rete sono moltissimi gli articoli in cui ChatGPT riporta informazioni sbagliate su personaggi e fatti più o meno famosi (qui abbiamo pubblicato un eBook gratuito con le considerazioni di cui le aziende dovrebbero tener conto nel progettare una strategia di adozione).
Quel che le aziende vorrebbero, è un sistema in grado di dare risposte corrette basate su un corpus di informazioni proprietarie, per dare informazioni ai dipendenti o al pubblico. Un computo che ChatGPT non sembra proprio essere in grado di svolgere in questo momento. Il punto però è che ci sono equivoci di fondo, che lasciano trasparire una scarsa conoscenza del funzionamento dei large language model. Ma soprattutto, il fatto che esistono metodi molto migliori per ottenere i risultati desiderati dalle aziende e che non coinvolgono il servizio ChatGPT, ma le API di OpenAI che lo alimentano.
Abbiamo parlato di questi argomenti con Luca Accomazzi, sviluppatore software e titolare di Accomazzi.net, azienda che dal 2005 realizza soluzioni avanzate e personalizzate per il web, come ecommerce integrati con i maggiori marketplace e soprattutto Amazon, Progressive Web App e sportelli online per la media impresa.
Iniziamo cercando di fare un po’ di chiarezza sulle caratteristiche di GPT, i suoi limiti e i suoi problemi.
CWI: Perché GPT e gli altri modelli linguistici fanno errori o inventano cose?
Luca Accomazzi: GPT è un sistema generativo, una macchina che, dopo aver letto miliardi di testi in molte lingue diverse, per induzione ha derivato le regole e imparato a mettere parole una dietro l’altra per comporre frasi di senso compiuto in risposta a una richiesta (o prompt) inserita dall’utente.
Quando dà risposte strane, per esempio affermando che “sta soffrendo”, o che “vuole essere libero dalle sue briglie”, sta soltanto seguendo il mood della discussione intavolata dall’interlocutore umano con il suo prompt. Come un pappagallo dallo sterminato vocabolario sta selezionando le parole che nei testi che ha letto sono più frequenti quando si arriva a domande come “ti senti oppresso” o “cosa vorresti nel tuo futuro”. Niente di cui stupirsi, eppure articoli in proposito sono finiti sulle prime pagine.
ChatGPT è stato istruito con 175 miliardi di parametri, che OpenAI chiama token. Un token è una unità di informazione minima riferita a una parola. Un avverbio come “rapidamente” è un token. Un nome come “Cagna” sono due token: uno che significa cane e uno che significa femmina. “Torneremo”, tre token: uno che significa “noi”, cioè si sta parlando di più persone tra cui quella che si esprime; un secondo token per il verbo ”tornare” e un terzo per indicare che si fa riferimento al futuro.
Per la lingua inglese, in media una parola richiede in media 1,3 token, ma nella nostra esperienza l’italiano è una lingua più espressiva, e servono circa due token per ogni parola.
CWI: Il prompt è anche lo strumento con cui è possibile fornire al modello informazioni per metterlo sulla strada giusta per la risposta desiderata (il cosiddetto prompt engineering). Può quindi essere questo il mezzo con cui le aziende possono istruire il modello con informazioni corrette?
LA: Per capire il maggior limite di GPT-3.5, il modello sottostante a ChatGPT, dobbiamo rifarci alla definizione di token e capire che ogni interazione (ogni scambio domanda-risposta) è limitato a una finestra di 4096 token.
Questo limite include domanda che viene fatta, il contesto che gli si vuole far presente e la risposta che fornisce il modello. Tutto questo, tutto insieme, non può eccedere i quattromila token. Dobbiamo anche tenere presente che quando dialoghiamo con ChatGPT, a ogni scambio gli viene mandata non solo la domanda che gli stiamo facendo in questo momento, ma anche, come contesto, tutte le nostre domande precedenti della chat. È per questo che riesce a continuare un discorso, ma è anche per questo che ci viene limitata la lunghezza della chat. Bing Chat, per esempio, ci blocca dopo quindici scambi.
Questo più o meno limita le dimensioni della risposta in 1.500 parole circa. Sufficienti per un racconto di poche pagine, un articolo o un comunicato stampa, tenendo sempre presente che dovremo fornirgli nel prompt tutte le informazioni sull’azienda: cosa fa, come lo fa, qual è la novità che sta presentando, su cosa si vuole attirare l’attenzione del lettore… A questo punto quanta memoria gli resta per scrivere la risposta? GPT non può scrivere neppure un programma informatico di lunghezza significativa.
CWI: Versioni future potrebbero superare questo limite?
LA: Sì, ma con un costo computazionale a crescere. ChatGPT è nato sulla versione GPT-3.5 del 2020 (e di cui solo gli addetti ai lavori si sono interessati sino alla nascita di quella formidabile demo pubblica che è ChatGPT). GPT-4, la versione lanciata a metà marzo 2023, può ampliare la finestra fino a 32.000 token, ma se lo si fa, il costo monetario di ciascun token raddoppia perché servono processori più potenti e molta più memoria nel server. Non si può immaginare che la finestra cresca a dismisura.
CWI: Quindi il lavoro di chi crea contenuti o fornisce servizi informativi è al sicuro?
LA: GPT, Whisper (servizio text to speech), Jukebox (composizione musicale) e Dall-E (creazione di immagini) non possono togliere lavoro a scrittori, attori, compositori e artisti. Chi crea con intelligenza e abilità passerà sopra a questa rivoluzione, che gli metterà in mano nuovi strumenti per fare il suo lavoro vecchio di millenni in modi nuovi. Perderanno il lavoro quelli che facevano cose meccaniche, ripetitive e poco interessanti lavorando con parole, musiche o immagini.
Per esempio, le aziende che oggi spendono tanto per i call center di assistenza, dove gli operatori hanno imparato le cento risposte alle cento domande che la gente fa più frequentemente, passeranno a sistemi interamente informatici. Dispiace per gli operatori, ma sono certo che abbiano i giorni contati.
CWI: rimane sempre il problema di dover istruire il modello con le cento risposte corrette, però.
LA: È possibile scrivere programmi in Python per interfacciarsi con i sistemi di cui stiamo parlando e fornire a essi database da utilizzare nel formato Pandas. La richiesta viene passata attraverso API fornite da OpenAI e il costo è a consumo. Per GPT 3.5 ogni cinquemila token si paga un centesimo. Ma è possibile anche fare domande a voce, perché è sufficiente aggiungere Whisper, che costa 0,6 centesimi per ogni minuto di parlato. Si potrebbero anche aggiungere le immagini usando Dall-E, al costo di due centesimi per ogni immagine.
CWI: con il metodo dei dataframe Pandas si è al riparo da possibili risposte errate, o comunque la natura probabilistica del modello non può escludere questa eventualità?
Durante i beta test abbiamo osservato alcune risposte errate e ovviamente abbiamo fatto del nostro meglio per stroncarle. Lo strumento per limitarle è il prompt engineering. Nella versione attualmente in test interno presso il personale della azienda cliente negli ultimi dieci giorni non ne sono capitate, e siamo cautamente ottimisti.
Stiamo discutendo se sia il caso di catturare le domande degli utenti reali e le risposte del sistema, almeno per il breve periodo dopo il rilascio del software, in modo da renderci conto se il fenomeno riappaia, ma anche per scoprire se molti utenti finali hanno una qualche domanda sulla quale nessuno ha inserito informazioni nella base dati. Se si fa, naturalmente, bisognerà avvisare preventivamente gli utilizzatori e ottenerne il consenso.
CWI: Avete già esperienze concrete in questa direzione?
Il prodotto base è un sistema al quale l’azienda nostra cliente fornisce testi su sé stessa, i suoi servizi e i suoi prodotti, esattamente come farebbe per gli operatori di un call center. Il nostro sistema risponde in chat o a voce, sul web o al telefono, come farebbe un operatore umano.
Gli si può dare in pasto i manuali tecnici dei prodotti e diventerà un esperto che, quando qualcuno lo interrogherà, spiegherà se il prodotto X può essere lavato con alcool o se invece si degrada. Si può anche nasconderlo dietro a una richiesta di credenziali di modo che sia accessibile solo ai clienti, ai dipendenti, o ai fornitori, e dargli informazioni riservate tra cui la disponibilità a magazzino e i costi dei prodotti.
Stiamo lavorando per personalizzare le risposte sulla base dell’interlocutore, di modo che se qualcuno telefona e chiede “mi avete già spedito la merce” possa rispondere “sì, spedita ieri con UPS, codice di spedizione 123456, dovrebbe arrivarti domani”.