Dal novembre 2022, l’agente conversazionale Chat-GPT, sviluppato dall’azienda statunitense OpenAI (**https://openai.com*), è sulla bocca di tutti e su tutti i giornali, tanto sono impressionanti le sue produzioni (anche se non sempre in matematica). GPT è l’acronimo di «trasformatore generativo preaddestrato» (generative pre-trained transformer nella lingua di Alan Turing); in altre parole, è un’intelligenza artificiale (IA), più precisamente una rete neurale, cioè una funzione matematica molto elaborata i cui parametri sono stati stimati grazie a un gran numero di dati e addestrata a generare contenuti testuali. La versione GPT-3 è un modello linguistico di grandi dimensioni*: le capacità di calcolo e i dati oggi disponibili consentono di creare reti neurali sempre più grandi. Per fare qualche esempio, GPT-3 possiede 175 miliardi di parametri, mentre il suo «antenato», GPT-2, uscito nel 2019, ne aveva «appena» 1,5 miliardi.
Tutto è vettore… -----------------
Per modellizzare un testo si ricorre alla «vettorializzazione»: un testo è considerato una successione di parole e ogni successione di parole è rappresentata da un vettore nello spazio dell’intero vocabolario utilizzabile. L’algoritmo GPT consiste «semplicemente» nel prevedere la parola n+1 conoscendo le parole dalla 1 alla n. A questo scopo si potrebbero usare modelli molto classici, come le catene di Markov, che modellizzano il passaggio da uno stato a un altro (vedi Tangente SUP 69, 2013). Ma GPT riesce a generare contenuti di ottima qualità migliorando questi algoritmi elementari mediante alcune tecniche. Anzitutto, l’enorme quantità di dati utilizzati permette di calibrare meglio le reti neurali: GPT-3 è stato addestrato su 570 Go di testi e conta 175 miliardi di parametri. Inoltre, Chat-GPT integra una funzione di apprendimento per rinforzo: i testi prodotti vengono valutati da esseri umani, che indicano i «migliori», favorendo così i parametri che hanno condotto a quei testi. Infine, Chat-GPT utilizza una particolare architettura di reti neurali: i trasformatori.
Un trasformatore è una rete neurale costituita da più strati, a loro volta composti da teste di attenzione, capaci di tenere conto delle parole precedenti e di imparare a determinarne la «rilevanza», calcolandone l’interesse in funzione della parola da generare (vedi riquadro).
Così, quando il modello deve generare il seguito di «Un robot deve proteggere il suo \_\_», risulterà che «suo» è statisticamente più legato alla parola «robot» nella frase che a «Un».