Ormai non riesco a liberarmi di ChatGPT. Ogni giorno sono sommerso da articoli, blog, mail che trattano dei possibili usi di ChatGPT, e delle sue implicazioni economiche e sociali. Tutto sta accadendo in modo fulmineo.
Quello che ho capito fin qui è che ChatGPT è una macchina computazionale che si comporta come sistema adattivo complesso, al pari di una colonia di formica o di uno stormo di uccelli. Ogni entità di un sistema adattivo complesso, naturale o artificiale, è un agente che esegue calcoli, decide e agisce sulla base delle informazioni che riceve. Fin qui, niente di straordinario rispetto a un calcolatore tradizionale. L’aspetto qualificante sta nel fatto che un sistema adattivo complesso è capace di apprendere, cioè di modificare le regole decisionali.
In generale, i sistemi apprendono in tre modi: a) l’intervento del caso, che è il motore dell’apprendimento più importante della natura vivente, come ci ha insegnato Darwin; b) l’intervento del progettista, che dall’esterno modifica le regole decisionali; c) l’esistenza all’interno del sistema di super-regole di apprendimento, che confrontano il risultato ottenuto con quello desiderato, e correggono le regole decisionali in modo proporzionale all’errore commesso. È il caso dell’uomo, delle società umane, di molti sistemi naturali, ed anche di sistemi di intelligenza artificiale come ChatGPT. Qualcuno potrà ribattere che nel caso dei sistemi artificiali adattivi complessi è il progettista a comunicare alla macchina l’errore da correggere. Può essere anche così, ma non è questo il caso di ChatGPT. Molte delle super-regole di apprendimento autonomo di ChatGPT possono funzionare anche autonomamente, come, ad esempio, quella composta dalle seguenti istruzioni:
- considera un testo di venti parole;
- oscura le ultime dieci;
- genera le ultime dieci a partire dalle prime dieci;
- valuta le differenze tra il testo originale e quello generato;
- modifica le regole in proporzione all’errore;
- ritorna al passo 2 e fermati quando hai azzerato l’errore.
Se la macchina ha accesso ai testi del web, può essere programmata per essere completamente autonoma. Questo, ovviamente, in teoria, perché vi sono una quantità di dettagli concettuali e tecnici da mettere a punto per far generare alla macchina testi corretti. Ma la strada è tracciata: la macchina può apprendere sulla base di una propria esperienza.
Ho letto da più parti che ChatGTP è una macchina che è capace ‘solo’ di generare nuove parole a partire dalle parole già scritte. Una descrizione vera, ma fuorviante. Anche noi, quando pronunciamo una frase o scriviamo un testo, generiamo parole in sequenza, una dopo l’altra. Ma nessuno può pensare che questa descrizione meccanicistica sia adeguata a comprendere cosa facciamo quando parliamo. Le parole hanno un legame tra loro: nel loro insieme veicolano un significato. Quando parliamo, inanelliamo parole, tendendo ben presente la struttura complessiva del testo. La domanda a cui bisognerebbe rispondere è: come fa ChatGPT a costruire un legame sensato tra le parole?
Sappiamo che i componenti dei sistemi adattivi complessi, mediante complessi processi di interazione, sono in grado di comportamenti collettivi sofisticati. Proprio come le formiche che, lasciando una scia di feromone, danno origine ad una pista che spinge le altre formiche a formare una linea. Similmente, ChatGPT, facendo interagire le parole dei milioni di testi utilizzati nella fase di apprendimento, scopre le strutture che determinano l’allineamento delle parole. Infatti, i testi che ChatGPT produce hanno una struttura: sommario, elenco, progetto, indice, intervista, lettera, istruzioni, recensione, saggio, biografia, descrizione di un luogo, descrizione di un evento, guida, tutorial, profilo di un personaggio, curriculum vitae, menu, descrizione di un processo, e tanto altro ancora. Ho chiesto a ChatGPT di indicarmi cento strutture diverse che può produrre e di classificarmele. Dopo aver conversato con ChatGPT mi sembra quasi ovvio affermare qualcosa che sapevo, ma senza averne pesato le conseguenze: che le parole da sole significano ben poco; per trasmettere significati complessi, le parole devono stare all’interno di una gerarchia di strutture linguistiche.
Ho cercato di capire come faccia ChatGPT a costruire strutture, ma, poiché è impossibile scoprirlo smontando la macchina, mi sento libero di azzardare una ipotesi su cosa faccia ChatGPT quando, ad esempio, gli chiedo di fornirmi un indice di una lezione sulla complessità. Ecco l’ipotesi: ChatGPT analizza il testo, e alla parola ‘indice’ associa una struttura, che è fatta da un elenco di punti. La seconda parola che analizza, ‘lezione’, evoca una seconda struttura che precisa la prima, perché i punti dell’elenco ora hanno un nome: introduzione, argomentazioni, conclusione. Siamo ad un secondo livello di struttura. La macchina continua, così, analizzando le parole e nidificando una struttura dentro un’altra, fino ad arrivare alla struttura elementare, quella che determina la singola parola, successiva all’ultima parola già scritta. Per analizzare le parole appropriate utilizza un algoritmo di ‘attenzione’. Immagino le strutture come un albero con i suoi rami: la struttura più generale è il tronco, da cui dipartono, come rami, le strutture secondarie, fino ad arrivare ai rametti e, infine, alle foglie, cioè alle parole. ChatGPT prima costruisce l’albero delle strutture, poi, come una formica, percorre l’albero, dalla base del tronco fino al primo rametto, e genera la prima foglia/parola. La nuova parola modifica parzialmente la struttura e genera una seconda foglia. Talvolta la modifica è più sostanziale, e allora la formica deve passare su un ramo più grosso (un nuovo paragrafo), e così via. La formica termina il percorso quando raggiunge la base del tronco.
Poiché tutto ciò diciamo non è altro che una combinazione di parole, potremmo concludere che ChatGPT possa costruire ogni possibile discorso. Non è così, perché dipende dalle strutture che è riuscito a imparare. Ecco tre esempi di testi che non riesce a costruire (per ora):
- Non riesce a fare calcoli di una certa complessità: se si chiede di calcolare il perimetro di un’ellisse con semiassi 2 e 20, dà una soluzione approssimata di 89,4424, mentre quella corretta è 81,2795. Un errore di circa il 10%.
- Non riesce a tener conto di dati fattuali: se si chiede la distanza tra Roma e Tokyo dà come risposta 9,333 km, invece di 9883.
- Non riesce a elaborare testi che richiedono una trasgressione delle regole ordinarie del discorso: ho chiesto di fare una parafrasi del seguente testo “Un giovane col cappello sale sul treno mentre la gente scende”, utilizzando solo parole senza la ‘e’. Il risultato è stato: “Un ragazzo con copricapo s'imbarca sul convoglio durante il movimento di calo dai passeggeri.” Comincia bene, poi si perde. Non sono stato in grado di correggerlo.
Sicuramente, ci sono tante altre cose che ChatGPT non sa fare. Ma non preoccupatevi! È solo questione di tempo. Ciò di cui dovremmo preoccuparci è del poco tempo che abbiamo noi umani per imparare come collaborare con questa macchina straordinaria.