Da Bert a ChatGPT, i sistemi linguistici basati su deep learning sono una delle più importanti innovazioni in materia di deep learning. Ma come funzionano esattamente?
Pubblicato in origine su Wired
Chiunque padroneggi a sufficienza la sua lingua madre è in grado di indovinare, con alte probabilità di successo, quale sia la parola che conclude una determinata frase o periodo. Un Large Language Model, in sintesi estrema, non fa che replicare questa operazione per via informatica, potendola potenzialmente proseguire anche all’infinito.
Per esempio, quando fornite a ChatGPT una frase come input e poi gli chiedete di proseguire nella scrittura, il sistema di OpenAI non farà altro che estrarre dal suo database le parole o le frasi che hanno la maggior probabilità di essere coerenti con quelle che le hanno precedute, arrivando anche a scrivere interi articoli o addirittura saggi (anche se la qualità, per il momento, lascia spesso a desiderare).
Più nello specifico, come si legge su AI Multiple, “un Large Language Model è un modello basato su machine learning addestrato su un vasto corpus di testi, allo scopo di generare output in vari ambiti della elaborazione naturale del linguaggio (natural language processing, NLP) come la generazione di testi, rispondere alle domande e la traduzione automatica”.
Perché si chiamano large language model
Prima di vedere meglio come questi sistemi vengono addestrati, è il caso di spiegare perché sono considerati “large”. A determinare la loro dimensione è il numero di “parametri” o “pesi” impiegati all’interno di queste reti neurali. I parametri, a loro volta, rappresentano le connessioni che si creano tra i vari “nodi” presenti nelle reti neurali. Per fare un parallelismo con il cervello umano (sul quale le reti neurali sono approssimativamente modellate), si potrebbe dire che i nodi sono l’equivalente dei nostri neuroni, mentre i parametri sono l’equivalente delle nostre sinapsi. Di conseguenza, la quantità dei parametri di un modello fornisce una buona approssimazione di quanto sarà accurato il lavoro da esso svolto (anche se ci sono altri fattori in ballo).
Questi modelli linguistici sono quindi “large” perché al loro interno sono presenti miliardi, e nei sistemi più recenti anche centinaia o migliaia di miliardi, di parametri. Per esempio, il noto GPT-3 (il sistema che alimenta ChatGPT e che adesso sta venendo sostituito con l’ancor più grande GPT-4) ha 175 miliardi di parametri, mentre MT-NLG di Nvidia e Microsoft arriva a 530 miliardi. Il più grande in assoluto è però WuDao 2.0 dell’Accademia di Pechino per l’intelligenza artificiale, dotato della strabiliante quantità di 1.750 miliardi di parametri.
I Large Language Model sono quindi reti neurali estremamente vaste impiegate a scopi linguistici, e di conseguenza rappresentano una forma di algoritmo di deep learning in grado di riconoscere, riassumere, tradurre, prevedere e generare testi e altri contenuti sulla base della conoscenza appresa dal loro dataset (su cui torneremo tra poco).
Non è tutto, perché – a differenza dei più diffusi algoritmi di deep learning del recente passato, basati su tecniche note come “convolutional neural network” o “recursive neural network” – gli LLM sono un sottoinsieme dei cosiddetti “transformer model”, introdotti per la prima volta da Google nel 2017. Un transformer (come sono più comunemente noti) è una rete neurale che apprende il modo in cui i dati vengono utilizzati tenendo traccia delle relazioni all’interno delle sequenze che li contengono. È il caso delle parole contenute in una frase, ma anche del linguaggio informatico usato per scrivere codice o della sequenza delle proteine (com’è il caso del sistema AlphaFold, sempre di Google, in grado di prevedere la struttura delle proteine).
“Prima dell’arrivo dei transformer, i programmatori dovevano addestrare le reti neurali tramite enormi database etichettati (segnalando all’algoritmo, per esempio, che cos’è presente nelle immagini, ndR), che sono costosi da produrre e richiedono moltissimo tempo”, si legge sul sito di Nvidia. “Poiché trovano le correlazioni tra gli elementi per via matematica, i transformer eliminano questo bisogno, rendendo utilizzabili le migliaia di miliardi di immagini e i petabytes di dati testuali presenti sul web”.
Come funziona un large language model
I dati utilizzati per l’addestramento degli LLM non sono infatti stati precedentemente etichettati, di conseguenza la fase preparatoria all’addestramento è molto più agevole e soprattutto è possibile utilizzare colossali quantità di dati (nel caso di GPT-3, per esempio, sono stati impiegati 800 gigabytes di informazioni, tra cui l’intera Wikipedia in lingua inglese), che sarebbe impossibile etichettare a mano.
È una differenza di cruciale importanza. Quando i dati sono etichettati si parla infatti di “apprendimento supervisionato”; quando invece – com’è il caso degli LLM – i dati non sono etichettati, si parla “apprendimento non supervisionato” o di “apprendimento auto-supervisionato”. Attraverso questo metodo, il modello impara in autonomia la relazione tra le varie parole, analizzando statisticamente una quantità di dati, come abbiamo visto, sterminata. Pur non avendo una vera comprensione di ciò che è contenuto in quei testi, scovando le correlazioni presenti nei dati a sua disposizione, questi modelli linguistici imparano le relazioni più probabili tra le diverse parole e di conseguenza anche a distinguere il significato in base al contesto.
È partendo da questo meccanismo che, per esempio, ChatGPT è in grado di produrre lunghi testi (spesso) coerenti e dotati di senso: l’algoritmo di OpenAI scova infatti statisticamente quali sono le frasi o le singole parole contenute nel database che – in base al suo addestramento – hanno la maggior probabilità di essere coerenti con quelle precedenti, proseguendo potenzialmente senza sosta in questa composizione.
I grandi database sono però utili soprattutto nel caso di modelli linguistici di uso generale, che devono cioè produrre, riassumere o tradurre testi di ogni tipo. In questo caso, maggiore è il numero di dati a disposizione del LLM, maggiore sarà la probabilità di imparare a creare testi di ogni tipo.
I vari tipi di large language model
Se invece si vuole creare un modello linguistico specializzato, per fare un esempio, in astronomia, la quantità di dati a disposizione passa in secondo piano rispetto alla qualità. L’aspetto fondamentale, in questo caso, diventa infatti che tutti i dati a disposizione del modello siano relativi all’astronomia. Ovviamente, più grande e di qualità elevata è un database specializzato su un singolo tema, migliori sono le probabilità che i contenuti generati dall’intelligenza artificiale siano di buona qualità.
In entrambi i casi, comunque, i Large Language Model rappresentano una delle applicazioni più sorprendenti e ricche di potenzialità del deep learning. Questo è stato evidente fin dall’inizio, da quando cioè Google ha presentato nel 2017 il suo sistema BERT, in grado per l’appunto di imparare il contesto all’interno di dati sequenziali e che ottenne immediatamente i punteggi più elevati nei vari contest di natural language processing.
Da BERT, dotato di 110 milioni di parametri (un record per l’epoca) a GPT-3 e i suoi 175 miliardi di parametri, fino a GPT-4 (che si pensa abbia circa migliaia di miliardi di parametri, anche se OpenAI non ha divulgato il dato): negli ultimi mesi abbiamo imparato quali sono le straordinarie potenzialità degli LLM in ambito professionale (dove possono rappresentare degli straordinari assistenti), ma anche nei settori della propaganda, delle fake news e della disinformazione.
Da questo punto di vista, anche uno strumento incredibilmente avanzato come ChatGPT non rappresenta un punto d’arrivo, ma probabilmente solo un assaggio delle opportunità e delle sfide poste dall’intelligenza artificiale, con cui nei prossimi anni dovremo sempre più fare i conti.
