top of page
Andreas Stöffelbauer

Come funzionano i Large Language Models LLM , una spiegazione semplice

Grazie ai Large Language Models (o LLMs per abbreviare), l'Intelligenza Artificiale ha ora catturato l'attenzione praticamente di tutti. ChatGPT, forse l' LLM più famoso, è immediatamente esploso in popolarità grazie al fatto che il linguaggio naturale è un'interfaccia così naturale che ha reso gli ultimi progressi nell'Intelligenza Artificiale accessibili a tutti. Tuttavia, il funzionamento dei LLMs è ancora meno compreso comunemente, a meno che tu non sia un Data Scientist o in un altro ruolo correlato all'IA. In questo articolo, cercherò di cambiare questa situazione.



Come funzionano i  Large Language Models LLM , una spiegazione semplice
Come funzionano i Large Language Models LLM , una spiegazione semplice


Obiettivo Ambizioso: Decifrare i Large Language Models

Ammettiamolo, è un obiettivo ambizioso. Dopotutto, i potenti LLMs che abbiamo oggi sono il risultato di decenni di ricerca nell'IA. Purtroppo, la maggior parte degli articoli che li trattano rientra in due categorie: sono o molto tecnici e presuppongono molte conoscenze pregresse, oppure sono così banali che alla fine non si sa più di prima.

Questo articolo cerca di trovare un equilibrio tra questi due approcci. O, in realtà, permettimi di riformulare: intende condurti da zero fino a comprendere come vengono addestrati i LLMs e perché funzionano così sorprendentemente bene. Lo faremo raccogliendo solo tutti i pezzi rilevanti lungo il percorso.


Un Viaggio Intuitivo nei Large Language Models

Questo non sarà un approfondimento in tutti i dettagli minuziosi, quindi ci affideremo più all'intuizione che alla matematica e utilizzeremo il supporto visivo il più possibile. Ma come vedrai, pur essendo sicuramente un argomento molto complesso nei dettagli, i meccanismi principali alla base dei LLMs sono molto intuitivi, e questo da solo ci farà fare molti progressi qui.


Questo articolo dovrebbe anche aiutarti a ottenere di più dall'uso dei LLMs come ChatGPT. Infatti, impareremo alcuni trucchi interessanti che puoi applicare per aumentare le possibilità di ottenere una risposta utile. O, come ha recentemente affermato con precisione Andrei Karparthy, noto ricercatore e ingegnere di IA: "L'inglese è il più nuovo e caldo linguaggio di programmazione".

Ma prima, cerchiamo di capire dove si collocano i LLMs nel mondo dell'Intelligenza Artificiale.


Il Campo dell'Intelligenza Artificiale a Strati

Il campo dell'Intelligenza Artificiale è spesso visualizzato a strati:



  • Intelligenza Artificiale (AI): Termine molto ampio, ma in generale si occupa di macchine intelligenti.

  • Machine Learning (ML): Sottoinsieme dell'IA che si concentra specificamente sul riconoscimento di modelli nei dati.

  • Deep Learning: Ramo di ML concentrato sui dati non strutturati, come testo e immagini, basato su reti neurali artificiali, ispirate in modo vago al cervello umano.

  • Large Language Models (LLMs): Si occupano specificamente di testo, e questo sarà il focus principale di questo articolo.


Man mano che procediamo, raccoglieremo i pezzi rilevanti da ciascuno di questi strati. Salteremo solo il più esterno, l'Intelligenza Artificiale (poiché è troppo generale) e ci dirigeremo direttamente verso la Machine Learning.



Machine Learning. Livello: Principiante

L'obiettivo del Machine Learning è scoprire modelli nei dati, o più specificamente, un modello che descriva la relazione tra un input e un risultato. Questo è meglio spiegato tramite un esempio.



Come funzionano i  Large Language Models LLM , una spiegazione semplice
Come funzionano i Large Language Models LLM , una spiegazione semplice

Supponiamo che vogliamo distinguere tra due dei miei generi musicali preferiti: reggaeton e R&B. Se non sei familiare con questi generi, ecco una breve introduzione che ci aiuterà a comprendere il compito. Il reggaeton è un genere urbano latino noto per i suoi ritmi vivaci e ballabili, mentre l'R&B (Rhythm and Blues) è un genere radicato nelle tradizioni musicali afroamericane, caratterizzato da voci soulful e una miscela di brani ritmati e più lenti.


Supponiamo di avere 20 canzoni. Di ogni canzone conosciamo il tempo e l'energia, due parametri che possono essere semplicemente misurati o calcolati per qualsiasi canzone. Inoltre, li abbiamo etichettati con un genere, reggaeton o R&B. Quando visualizziamo i dati, possiamo vedere che le canzoni ad alta energia e ad alto tempo sono principalmente reggaeton, mentre le canzoni a basso tempo e a bassa energia sono principalmente R&B, il che ha senso.


Tuttavia, vogliamo evitare di dover etichettare sempre il genere a mano, perché è un'operazione che richiede tempo e non è scalabile. Invece, possiamo imparare la relazione tra le metriche dei brani (tempo, energia) e il genere e poi fare previsioni usando solo le metriche prontamente disponibili.


In termini di Machine Learning, si tratta di un problema di classificazione, perché la variabile di risultato (il genere) può assumere solo una di una serie fissa di classi/etichette - in questo caso reggaeton e R&B. Questo è in contrasto con un problema di regressione, in cui il risultato è un valore continuo (ad esempio, una temperatura o una distanza).


Ora possiamo "addestrare" un modello di apprendimento automatico (o "classificatore") utilizzando il nostro set di dati etichettati, cioè un insieme di canzoni di cui conosciamo il genere. Visivamente, l'addestramento del modello consiste nel trovare la linea che separa meglio le due classi.



La Complessità del Mondo Reale

In realtà, le cose sono spesso molto più complesse.


Complessità delle Relazioni

Ma naturalmente, la realtà è spesso più complessa di così.

La miglior delimitazione per separare le classi potrebbe non essere lineare. In altre parole, la relazione tra gli input e l'outcome può essere più complessa. Potrebbe essere curva come nell'immagine sopra, o addirittura molte volte più complessa di così.

La realtà è tipicamente più complessa anche in un altro modo. Piuttosto che avere solo due input come nel nostro esempio, spesso ne abbiamo decine, centinaia o addirittura migliaia di variabili di input. Inoltre, spesso abbiamo più di due classi. E tutte le classi possono dipendere da tutti questi input attraverso una relazione incredibilmente complessa e non lineare.


Anche con il nostro esempio, sappiamo che nella realtà ci sono più di due generi, e abbiamo bisogno di molte più metriche oltre al tempo e all'energia. La relazione tra di esse probabilmente non è così semplice.


Quello che voglio principalmente che tu capisca è questo: più è complessa la relazione tra input e output, più complesso e potente deve essere il modello di Machine Learning che ci serve per apprendere tale relazione. Di solito, la complessità aumenta con il numero di input e il numero di classi.


In aggiunta a ciò, abbiamo anche bisogno di più dati. Vedrai perché questo è importante tra poco.



Esempio di Classificazione delle Immagini

Passiamo ora a un problema leggermente diverso, ma per il quale cercheremo semplicemente di applicare il nostro modello mentale precedente. In questo nuovo problema, abbiamo come input un'immagine, ad esempio, questa immagine di un gattino carino in una borsa (perché gli esempi con i gatti sono sempre i migliori).

Per quanto riguarda l'outcome, diciamo questa volta che abbiamo tre etichette possibili: tigre, gatto e volpe. Se hai bisogno di motivazione per questo compito, diciamo che potremmo voler proteggere un gregge di pecore e suonare un allarme se vediamo una tigre, ma non se vediamo un gatto o una volpe.


Sappiamo già che si tratta di nuovo di un compito di classificazione perché l'output può assumere solo una delle poche classi fisse. Quindi, proprio come prima, potremmo semplicemente utilizzare alcuni dati etichettati disponibili (cioè, immagini con etichette di classe assegnate) e addestrare un modello di Machine Learning.



Tuttavia, non è del tutto ovvio come elaboreremmo un input visivo, dato che un computer può elaborare solo input numerici. Le nostre metriche musicali di energia e tempo erano numeriche, naturalmente. E fortunatamente, le immagini sono solo input numerici in quanto composte da pixel. Hanno un'altezza, una larghezza e tre canali (rosso, verde e blu). Quindi, in teoria, potremmo alimentare direttamente i pixel in un modello di Machine Learning (ignoriamo per ora che c'è un elemento spaziale qui, che non abbiamo affrontato prima).


Tuttavia, ora ci troviamo di fronte a due problemi. Primo, anche un'immagine piccola e di bassa qualità di 224x224 consiste in più di 150.000 pixel (224x224x3). Ricorda, stavamo parlando di un massimo di centinaia di variabili di input (raramente più di mille), ma ora improvvisamente ne abbiamo almeno 150.000.


Il secondo problema è la relazione tra i pixel grezzi e l'etichetta di classe, che è incredibilmente complessa, almeno dal punto di vista del Machine Learning. I nostri cervelli umani hanno la straordinaria capacità di distinguere tra tigri, volpi e gatti abbastanza facilmente. Tuttavia, se vedessi i 150.000 pixel uno per uno, non avresti idea di cosa contenga l'immagine. Ma è esattamente così che un modello di Machine Learning li vede, quindi deve imparare da zero la mappatura o la relazione tra quei pixel grezzi e l'etichetta dell'immagine, che non è un compito banale.



Esempio di Classificazione del Sentimento

Consideriamo ora un altro tipo di relazione input-output estremamente complessa: la relazione tra una frase e il suo sentimento. Per sentimento intendiamo tipicamente l'emozione che una frase trasmette, qui positiva o negativa.


Riformuliamo nuovamente la configurazione del problema: come input abbiamo una sequenza di parole, cioè una frase, e il sentimento è la nostra variabile di outcome. Come prima, si tratta di un compito di classificazione, questa volta con due possibili etichette, ovvero positivo o negativo.


Come nell'esempio delle immagini discusso in precedenza, da esseri umani comprendiamo naturalmente questa relazione, ma possiamo insegnare a un modello di Machine Learning a fare lo stesso?



Prima di rispondere, non è nuovamente ovvio all'inizio come le parole possano essere trasformate in input numerici per un modello di Machine Learning. In effetti, questo è un livello o due più complicato rispetto a quanto abbiamo visto con le immagini, che come abbiamo visto sono essenzialmente già numeriche. Questo non è il caso delle parole. Non entreremo nei dettagli qui, ma ciò che devi sapere è che ogni parola può essere trasformata in un embedding di parole.


In breve, un embedding di parole rappresenta il significato semantico e sintattico della parola, spesso all'interno di un contesto specifico. Questi embedding possono essere ottenuti come parte dell'addestramento del modello di Machine Learning o mediante una procedura di addestramento separata. Di solito, gli embedding di parole consistono tra decine e migliaia di variabili, per ogni parola.


Per riassumere, ciò che è importante ricavare da qui è che possiamo prendere una frase e trasformarla in una sequenza di input numerici, ovvero gli embedding di parole, che contengono un significato semantico e sintattico. Questo può quindi essere inserito in un modello di Machine Learning. (Ancora una volta, se sei osservatore, potresti notare che c'è una nuova dimensione sequenziale che è diversa dai nostri esempi precedenti, ma la ignoreremo anche qui.)


Ottimo, ma ora affrontiamo gli stessi problemi dell'input visivo. Come puoi immaginare, con una frase lunga (o un paragrafo o addirittura un intero documento), possiamo rapidamente raggiungere un numero molto elevato di input a causa delle dimensioni dei word embeddings.


Il secondo problema è la relazione tra il linguaggio e il suo sentimento, che è complessa, molto complessa. Pensiamo solo a una frase come "Quella è stata una grande caduta" e a tutti i modi in cui può essere interpretata (per non parlare del sarcasmo).


Quello di cui abbiamo bisogno è un modello di Machine Learning estremamente potente e molti dati. Ed è qui che entra in gioco il Deep Learning.



Profondità dell'Apprendimento. Livello: Avanzato.

Abbiamo già compiuto un passo importante verso la comprensione dei Large Language Models esaminando i concetti di base del Machine Learning e le motivazioni dietro l'uso di modelli più potenti. Ora faremo un altro grande passo introducendo il Deep Learning.



La Necessità di Modelli Potenti

Abbiamo parlato del fatto che se la relazione tra un input e un output è molto complessa, e se il numero di variabili di input o output è grande (e entrambi sono i casi nei nostri esempi precedenti di immagini e linguaggio), abbiamo bisogno di modelli più flessibili e potenti. Un modello lineare o qualcosa di simile semplicemente fallirà nel risolvere compiti di classificazione visiva o sentimentale di questo tipo.


Ruolo delle Reti Neurali

Qui entrano in gioco le reti neurali.


Le reti neurali sono i modelli di Machine Learning più potenti che abbiamo oggi. Le reti neurali sono potenti modelli di Machine Learning che consentono di modellare relazioni arbitrariamente complesse. Sono il motore che permette di apprendere tali relazioni complesse su larga scala.


In realtà, le reti neurali sono vagamente ispirate dal cervello, anche se le somiglianze effettive sono oggetto di dibattito. La loro architettura di base è relativamente semplice. Consistono in una sequenza di strati di "neuroni" collegati, che un segnale di input attraversa per prevedere la variabile di output. Puoi pensarle come a più strati di regressione lineare impilati insieme, con l'aggiunta di non linearità tra di essi, il che consente alla rete neurale di modellare relazioni altamente non lineari.


Le reti neurali sono spesso composte da molti strati (da qui il nome Deep Learning), il che significa che possono essere estremamente grandi. ChatGPT, ad esempio, si basa su una rete neurale composta da 176 miliardi di neuroni, che è più dei circa 100 miliardi di neuroni in un cervello umano.


D'ora in poi, considereremo una rete neurale come il nostro modello di Machine Learning, tenendo conto che abbiamo imparato anche come elaborare immagini e testo.


Large Language Models. Livello: Esperto.


Introduzione ai Large Language Models

Finalmente, possiamo iniziare a parlare dei Large Language Models, e qui le cose diventano davvero interessanti. Se sei arrivato fin qui, dovresti avere tutte le conoscenze per comprendere anche i LLMs.



Cosa Significa "Large Language Model"?

Un buon modo per iniziare potrebbe essere spiegare cosa significa effettivamente Large Language Model. Sappiamo già cosa significa "large", in questo caso si riferisce semplicemente al numero di neuroni, anche chiamati parametri, nella rete neurale. Non esiste un numero preciso per ciò che costituisce un Large Language Model, ma potresti considerare tutto ciò che supera il miliardo di neuroni come "large".


Modellazione del Linguaggio: Prevedere la Parola Successiva

Con questo chiarito, cosa si intende per "language model"? Discutiamone ora, e tra poco scopriremo anche cosa significhi la GPT in ChatGPT. Ma passo dopo passo.


Il language modeling consiste nell'apprendere a prevedere la parola successiva. Prendiamo l'idea seguente e la inquadreremo come un problema di Machine Learning: Qual è la parola successiva in una sequenza data di parole, cioè in una frase o un paragrafo? In altre parole, vogliamo semplicemente imparare come prevedere la parola successiva in qualsiasi momento. Dall'inizio di questo articolo abbiamo imparato tutto ciò di cui abbiamo bisogno per considerare ciò come un problema di Machine Learning. Infatti, il compito non è diverso dalla classificazione del sentimento che abbiamo visto in precedenza.


Come in quell'esempio, l'input alla rete neurale è una sequenza di parole, ma ora l'outcome è semplicemente la parola successiva. Ancora una volta, questo è solo un compito di classificazione. L'unica differenza è che invece di avere solo due o poche classi, ora ne abbiamo tante quante sono le parole, diciamo circa 50.000.


Questo è ciò che implica la modellazione del linguaggio: imparare a prevedere la parola successiva. Ora, questo è di ordini di grandezza più complesso rispetto alla classificazione del sentimento binario, come puoi immaginare. Ma ora che conosciamo anche le reti neurali e la loro enorme potenza, l'unica risposta a tale preoccupazione è davvero "perché no?"


Rapida precisazione: Naturalmente, semplifichiamo molte cose qui (come fatto in tutto l'articolo). In realtà le cose sono un po' più complesse, ma questo non dovrebbe frenarci dal comprendere i meccanismi principali, motivo per cui semplifichiamo e tralasciamo alcuni dettagli.


Creazione di Masse di Dati di Addestramento


Preparazione dei Dati

Ora che conosciamo il compito, abbiamo bisogno di dati per addestrare la rete neurale. In realtà, non è difficile creare molti dati per il nostro compito di "previsione della parola successiva". C'è un'abbondanza di testo su Internet, nei libri, nei documenti di ricerca e altro ancora. E possiamo facilmente creare un enorme set di dati da tutto ciò. Non abbiamo nemmeno bisogno di etichettare i dati, perché la parola successiva stessa è l'etichetta. Ecco perché questo è chiamato anche apprendimento auto-supervisionato.



L'immagine sopra mostra come ciò viene fatto. Una singola sequenza può essere trasformata in molte sequenze per l'addestramento. E ne abbiamo molte di tali sequenze. Importante è che facciamo questo per molte sequenze brevi e lunghe (alcune fino a migliaia di parole) in modo che in ogni contesto impariamo quale dovrebbe essere la parola successiva.


In breve, tutto ciò che stiamo facendo è addestrare una rete neurale (il LLM) a prevedere la parola successiva in una data sequenza di parole, che sia lunga o corta, in tedesco o in inglese o in qualsiasi altra lingua, che sia un tweet o una formula matematica, una poesia o un frammento di codice. Tutte queste sono sequenze che troveremo nei dati di addestramento.


Predizione della Parola Successiva

Se abbiamo una rete neurale abbastanza grande e abbastanza dati, il LLM diventa davvero bravo a prevedere la parola successiva. Sarà perfetto? No, naturalmente no, poiché spesso ci sono più parole che possono seguire una sequenza. Ma diventerà bravo a selezionare una delle parole appropriate che sono sintatticamente e semanticamente corrette.



Generazione del Linguaggio Naturale

Ora che possiamo prevedere una parola, possiamo alimentare la sequenza estesa nuovamente nel LLM e prevedere un'altra parola, e così via. In altre parole, utilizzando il nostro LLM addestrato, possiamo ora generare testo, non solo una singola parola. Ecco perché i LLM sono un esempio di ciò che chiamiamo Intelligenza Artificiale Generativa.


Abbiamo appena insegnato al LLM a parlare, per così dire, una parola alla volta.

C'è ancora un dettaglio importante da capire. Non è sempre necessario prevedere sempre la parola più probabile. Possiamo invece estrarre, ad esempio, dalle cinque parole più probabili in un dato momento. In questo modo, possiamo ottenere un po' più di creatività dal LLM. Alcuni LLM consentono effettivamente di scegliere quanto deterministico o creativo si desidera che sia l'output.


Questo è anche il motivo per cui in ChatGPT, che utilizza una strategia di campionamento, di solito non si ottiene la stessa risposta quando si rigenera una risposta. Parlando di ChatGPT, potresti chiederti ora perché non si chiama ChatLLM. Come si scopre, la modellazione del linguaggio non è la fine della storia, anzi è solo l'inizio. Quindi cosa significa la GPT in ChatGPT?



GPT = Generative Pre-trained Transformer

Abbiamo appena appreso cosa significa la G, ovvero "generative", — che è stata addestrata su un pretesto di generazione del linguaggio, come abbiamo discusso. Ma cosa significa la P e la T?



Ignoreremo la T qui, che sta per "transformer" — non quello dei film (LOL), ma uno che è semplicemente il tipo di architettura di rete neurale che viene utilizzata.


Questo non dovrebbe davvero disturbare qui, ma se sei curioso e vuoi conoscere la sua principale forza, è che l'architettura transformer funziona così bene perché può concentrare la sua attenzione sulle parti della sequenza di input più rilevanti in ogni momento. Potresti arguire che è simile a come lavorano gli esseri umani. Anche noi dobbiamo concentrare la nostra attenzione su ciò che è più rilevante per il compito e ignorare il resto.


Ora per la P, che sta per "pre-training". Discuteremo ora il motivo per cui iniziamo improvvisamente a parlare di pre-training e non solo di training. Il motivo è che i Large Language Models come ChatGPT vengono effettivamente addestrati in fasi.



Fasi dell'Addestramento dei Large Language Models

(1) Pre-Training,

(2) Instruction Fine-Tuning,

(3) Reinforcement from Human Feedback (RLHF).



Pre-Training

La prima fase è il pre-training, esattamente quello che abbiamo appena esaminato. In questa fase sono necessarie quantità massicce di dati per imparare a prevedere la parola successiva. In questa fase, il modello impara non solo a padroneggiare la grammatica e la sintassi del linguaggio, ma acquisisce anche molte conoscenze sul mondo, e persino alcune altre abilità emergenti di cui parleremo in seguito.

Tuttavia, ho un paio di domande per te: Innanzitutto, qual potrebbe essere il problema con questo tipo di pre-training? Beh, ce ne sono certamente alcuni, ma quello a cui sto cercando di fare riferimento qui riguarda ciò che il LLM ha davvero imparato.


Nello specifico, ha imparato principalmente a divagare su un argomento. Potrebbe anche fare un lavoro incredibilmente buono, ma ciò che non fa è rispondere bene al tipo di input che vorresti generalmente dare a un'intelligenza artificiale, come una domanda o un'istruzione. Il problema è che questo modello non ha imparato a essere, e quindi non si comporta come, un assistente.


Ad esempio, se chiedi a un LLM pre-addestrato "Qual è il tuo primo nome?" potrebbe rispondere con "Qual è il tuo cognome?" semplicemente perché è il tipo di dati che ha visto durante il pre-training, come in molti moduli vuoti, ad esempio. Sta solo cercando di completare la sequenza di input.


Non si comporta bene nel seguire le istruzioni semplicemente perché questo tipo di struttura linguistica, ovvero istruzione seguita da una risposta, non è molto comune nei dati di addestramento. Forse Quora o StackOverflow sarebbero la rappresentazione più vicina di questo tipo di struttura.


A questo punto, diciamo che il LLM non è allineato con le intenzioni umane. L'allineamento è un argomento importante per i LLM, e impareremo come possiamo risolvere questo in larga misura, perché, come si scopre, quei LLM pre-addestrati sono effettivamente abbastanza gestibili. Quindi, anche se inizialmente non rispondono bene alle istruzioni, possono essere insegnati a farlo.



Istruzione Fine-Tuning e RLHF

Questo è dove entra in gioco il fine-tuning dell'istruzione. Prendiamo il LLM pre-addestrato con le sue capacità attuali e facciamo fondamentalmente ciò che abbiamo fatto prima, cioè imparare a prevedere una parola alla volta, ma ora facciamo questo utilizzando solo coppie di istruzioni e risposte di alta qualità come dati di addestramento.


In questo modo, il modello smette di imparare semplicemente a essere un completatore di testo e impara a diventare un assistente utile che segue le istruzioni e risponde in modo allineato con l'intenzione dell'utente. La dimensione di questo set di istruzioni è tipicamente molto più piccola rispetto al set di pre-training. Questo perché le coppie di istruzioni-risposte di alta qualità sono molto più costose da creare in quanto sono tipicamente ottenute da esseri umani. Questo è molto diverso dalle etichette autoprodotte a basso costo che abbiamo usato nel pre-training. Ecco perché questa fase è chiamata anche fine-tuning dell'istruzione supervisionata.


C'è anche una terza fase che alcuni LLM come ChatGPT attraversano, che è il reinforcement learning from human feedback (RLHF). Non entreremo nei dettagli qui, ma lo scopo è simile al fine-tuning dell'istruzione. RLHF aiuta anche l'allineamento e assicura che l'output del LLM rifletta valori e preferenze umane.


Ci sono alcune ricerche preliminari che indicano che questa fase è cruciale per raggiungere o superare le prestazioni di livello umano. Infatti, la combinazione dei campi di reinforcement learning e modellazione del linguaggio sta mostrando di essere particolarmente promettente e probabilmente porterà a miglioramenti massicci rispetto ai LLM che abbiamo attualmente.

Ora testiamo la nostra comprensione su alcuni casi d'uso comuni.



Esempi per testare la nostra comprensione dei LLM.

Innanzitutto, perché un LLM può eseguire la sintesi di un testo più lungo? (Se non lo sapevi già, lo fa davvero bene. Incolla un documento e chiedigli di riassumerlo.)


Per capire il motivo, dobbiamo riflettere sui dati di addestramento. Succede che le persone spesso fanno sintesi — su Internet, in articoli di ricerca, libri e altro ancora. Di conseguenza, un LLM addestrato su quei dati impara anche a farlo. Impara a concentrarsi sui punti principali e a comprimerli in un breve testo.


Nota che quando viene generato un riassunto, il testo completo fa parte della sequenza di input del LLM. Questo è simile, ad esempio, a un articolo di ricerca che ha una conclusione mentre il testo completo appare poco prima.


Come risultato, quella competenza è probabilmente già stata appresa durante il pre-training, anche se il fine-tuning dell'istruzione ha sicuramente contribuito a migliorare ulteriormente quella competenza. Possiamo presumere che questa fase abbia incluso anche alcuni esempi di sintesi.


In secondo luogo, perché un LLM può rispondere a domande di conoscenza comune?

Come accennato, la capacità di agire come assistente e rispondere in modo appropriato è dovuta al fine-tuning dell'istruzione e a RLHF. Ma tutta (o la maggior parte) della conoscenza per rispondere alle domande stesse è stata già acquisita durante il pre-training.


Naturalmente, questo solleva un'altra grande domanda: Cosa succede se il LLM non conosce la risposta? Sfortunatamente, potrebbe inventarsene una in quel caso. Per capire il motivo, dobbiamo riflettere nuovamente sui dati di addestramento e sull'obiettivo di addestramento.



LLMs soffrono di allucinazioni, ma questo può essere mitigato fornendo contesto aggiuntivo.

Potresti aver sentito il termine "allucinazione" nel contesto dei LLM, che si riferisce al fenomeno dei LLM che inventano fatti quando non dovrebbero.


Perché succede questo? Beh, il LLM impara solo a generare testo, non testo veramente vero. Niente nel suo addestramento fornisce al modello alcun indicatore di verità o affidabilità di uno qualsiasi dei dati di addestramento. Tuttavia, questo non è nemmeno il problema principale qui, è che in generale il testo su Internet e nei libri suona sicuro, quindi il LLM impara naturalmente a suonare in quel modo, anche se è sbagliato. In questo modo, un LLM ha poca indicazione di incertezza.


Detto questo, questa è un'area attiva di ricerca, da cui possiamo aspettarci che i LLM saranno meno inclini alle allucinazioni col passare del tempo. Ad esempio, durante il fine-tuning dell'istruzione possiamo cercare di insegnare al LLM a astenersi dall'allucinare fino a un certo punto, ma solo il tempo dirà se possiamo risolvere completamente questo problema.


Potresti essere sorpreso dal fatto che possiamo effettivamente cercare di risolvere questo problema qui insieme in questo momento. Abbiamo le conoscenze necessarie per elaborare una soluzione che almeno in parte aiuti ed è già ampiamente utilizzata oggi.


Bing Chat: Un Esempio di Flusso di Lavoro LLM Basato su Ricerca

Bing Chat è un esempio di flusso di lavoro basato su ricerca di Large Language Models (LLM). Supponiamo che tu faccia alla LLM la seguente domanda: Chi è l'attuale presidente della Colombia? C'è una buona possibilità che una LLM possa rispondere con un nome errato. Ciò potrebbe avvenire per due motivi:


Hallucination e Limiti Temporali

Il primo è quello che abbiamo già menzionato: la LLM potrebbe semplicemente allucinare e rispondere con un nome sbagliato o addirittura falso. Il secondo lo menzionerò solo di passaggio: le LLM sono addestrate solo su dati fino a una certa data di taglio, che potrebbe essere anche dell'anno scorso. A causa di ciò, la LLM potrebbe non conoscere nemmeno con certezza l'attuale presidente, poiché le cose potrebbero essere cambiate dalla creazione dei dati.


Come possiamo risolvere entrambi questi problemi? La risposta sta nel fornire al modello un contesto rilevante. Il ragionamento qui è che tutto ciò che è nella sequenza di input della LLM è prontamente disponibile per essere elaborato, mentre le conoscenze implicite acquisite nel pre-training sono più difficili e precarie da recuperare.

Supponiamo di includere l'articolo di Wikipedia sulla storia politica della Colombia come contesto per la LLM. In tal caso, sarebbe molto più probabile rispondere correttamente perché può estrarre semplicemente il nome dal contesto (a condizione che sia aggiornato e includa l'attuale presidente, ovviamente).


Nell'immagine sopra puoi vedere come potrebbe apparire un tipico prompt per una LLM con contesto aggiuntivo. (A proposito, prompt è solo un altro nome per le istruzioni che diamo a una LLM, ovvero le istruzioni formano la sequenza di input.)

Questo processo è chiamato ancorare la LLM nel contesto, o nel mondo reale se preferisci, piuttosto che permetterle di generare liberamente.


Ed è esattamente così che funzionano Bing Chat e altri LLM basati su ricerca. Estraggono innanzitutto un contesto rilevante dal web utilizzando un motore di ricerca e poi passano tutte quelle informazioni alla LLM, insieme alla domanda iniziale dell'utente. Vedi l'illustrazione sopra per una rappresentazione visuale di come ciò viene realizzato.



Ritorno alla Magia dell'IA. Livello: Unicorno.

Siamo ora arrivati a un punto in cui capisci abbastanza bene i meccanismi principali degli LLM più avanzati (almeno nella seconda metà del 2023).


Potresti pensare "in realtà questo non è così magico" perché tutto ciò che sta accadendo è la previsione delle parole, una alla volta. Dopotutto, è solo statistica.



Retrocediamo di un po'. La parte magica di tutto questo è quanto sorprendentemente bene funziona. Infatti, tutti, persino i ricercatori di OpenAI, sono rimasti sorpresi da quanto l'elaborazione del linguaggio di questo tipo possa spingersi oltre. Uno dei principali motori degli ultimi anni è stato semplicemente la massiccia scalabilità di reti neurali e set di dati, che ha causato un aumento delle prestazioni al loro seguito. Ad esempio, GPT-4, un modello che si dice abbia più di un trilione di parametri in totale, può superare l'esame da avvocato o biologia avanzata con un punteggio tra i primi dieci percento degli esaminandi.


Sorprendentemente, questi grandi LLM mostrano persino alcune abilità emergenti, ovvero abilità per risolvere compiti e fare cose per cui non sono stati addestrati esplicitamente. In questa parte finale dell'articolo, discuteremo alcune di queste abilità emergenti e ti mostrerò alcuni trucchi su come puoi usarli per risolvere problemi.



LLMs Possono Risolvere Compiti Completamente Nuovi in ​​Modo "Zero-Shot"

Un'abilità emergente ubiquitaria è, proprio come suggerisce il nome stesso, che le LLM possono eseguire compiti completamente nuovi che non hanno incontrato in fase di addestramento, il cosiddetto "zero-shot". Tutto ciò che serve sono alcune istruzioni su come risolvere il compito.



Per illustrare questa abilità con un esempio sciocco, puoi chiedere a una LLM di tradurre una frase dal tedesco all'inglese rispondendo solo con parole che iniziano con la lettera "f".


Ad esempio, quando viene chiesto di tradurre una frase utilizzando solo parole che iniziano con la lettera "f", una LLM traduce "Die Katze schläft gerne in der Box" (che è tedesco e significa letteralmente "Il gatto ama dormire nella scatola") con "Feline friend finds fluffy fortress", che è una traduzione piuttosto interessante, a mio parere.



LLMs, Proprio Come gli Esseri Umani, Possono Beneficiare dai Esempi o Dalle Dimostrazioni.

Per compiti più complessi, potresti renderti conto che il prompting "zero-shot" spesso richiede istruzioni molto dettagliate e anche in questo caso, le prestazioni sono spesso lontane dalla perfezione.


Per fare un altro collegamento con l'intelligenza umana, se qualcuno ti chiedesse di svolgere un nuovo compito, probabilmente chiederesti alcuni esempi o dimostrazioni su come svolgere il compito. Le LLM possono beneficiare della stessa cosa.

Come esempio, diciamo che vuoi che un modello traduca importi di valute diverse in un formato comune. Potresti descrivere ciò che desideri in dettaglio o semplicemente dare istruzioni brevi e alcuni esempi dimostrativi. L'immagine sopra mostra un compito di esempio.



Utilizzando questo prompt, il modello dovrebbe comportarsi bene sull'ultimo esempio, che è "Bistecca: 24,99 USD", e rispondere con $24,99.


Nota come abbiamo semplicemente omesso la soluzione dell'ultimo esempio. Ricorda che una LLM è ancora essenzialmente un completatore di testo, quindi mantieni una struttura coerente. Dovresti quasi forzare il modello a rispondere solo con ciò che desideri, come abbiamo fatto nell'esempio sopra.


In sintesi, un consiglio generale è quello di fornire alcuni esempi se la LLM sta avendo difficoltà con il compito in modalità "zero-shot". Troverai che spesso questo aiuta la LLM a capire il compito, rendendo le prestazioni tipicamente migliori e più affidabili.


Catena di Pensieri Fornisce alle LLM una Memoria Operativa

Un'altra interessante abilità delle LLM è anche simile all'intelligenza umana. È particolarmente utile se il compito è più complesso e richiede più passaggi di ragionamento per essere risolto.

Diciamo che ti chiedo "Chi ha vinto la Coppa del Mondo nell'anno prima della nascita di Lionel Messi?" Cosa faresti? Probabilmente risolveresti questo passo dopo passo scrivendo tutte le soluzioni intermedie necessarie per arrivare alla risposta corretta. Ed è esattamente ciò che possono fare le LLM.


Si è scoperto che dire semplicemente a una LLM di "pensare passo dopo passo" può aumentare notevolmente le sue prestazioni in molti compiti.


Perché funziona? Sappiamo tutto ciò di cui abbiamo bisogno per rispondere a questa domanda. Il problema è che questo tipo di conoscenza composita insolita probabilmente non è direttamente nella memoria interna della LLM. Tuttavia, tutti i fatti individuali potrebbero esserci, come il compleanno di Messi e i vincitori delle varie Coppe del Mondo.



Permettere alla LLM di costruire la risposta finale aiuta perché dà al modello il tempo di "pensare ad alta voce", una sorta di memoria operativa, e di risolvere i sottoproblemi più semplici prima di dare la risposta finale.


La chiave qui è ricordare che tutto a sinistra di una parola da generare è un contesto su cui il modello può fare affidamento. Quindi, come mostrato nell'immagine sopra, al momento in cui il modello dice "Argentina", il compleanno di Messi e l'anno della Coppa del Mondo a cui ci riferivamo sono già nella memoria operativa della LLM, il che rende più facile rispondere correttamente.


Conclusione

Prima di concludere, voglio rispondere a una domanda che ho fatto all'inizio dell'articolo. La LLM sta davvero solo prevedendo la parola successiva o c'è di più?


Alcuni ricercatori sostengono la seconda opzione, affermando che per diventare così brava nella previsione della parola successiva in qualsiasi contesto, la LLM deve effettivamente avere acquisito internamente una comprensione compressa del mondo.


Non, come affermano altri, che il modello ha semplicemente imparato a memorizzare e copiare schemi visti durante l'addestramento, senza una reale comprensione del linguaggio, del mondo o di qualsiasi altra cosa.


A questo punto, probabilmente non c'è una chiara verità o falsità tra questi due punti di vista; potrebbe essere semplicemente un modo diverso di guardare la stessa cosa. Chiaramente questi LLM stanno dimostrando di essere molto utili e mostrano impressionanti capacità di conoscenza e ragionamento, e forse mostrano persino alcune scintille di intelligenza generale. Ma se e in che misura ciò somiglia all'intelligenza umana è ancora da determinare, così come quanto ulteriormente la modellizzazione del linguaggio possa migliorare lo stato dell'arte.


Spero che questo articolo ti aiuti a comprendere le LLM e la febbre attuale che le circonda, in modo che tu possa formarti la tua opinione sulle potenzialità e sui rischi dell'IA. Non spetta solo ai ricercatori di intelligenza artificiale e agli scienziati dei dati decidere come l'IA viene utilizzata per beneficiare il mondo; tutti dovrebbero poter esprimere il proprio parere. Ecco perché ho voluto scrivere un articolo che non richieda molte conoscenze di base.




Domande frequenti


1. Cos'è un Large Language Model (LLM)?

Un Large Language Model (LLM) è un modello linguistico ampio utilizzato per strumenti di intelligenza artificiale come ChatGPT.


2. Cosa può fare un LLM?

Un LLM può generare testi, rispondere alle domande e tradurre automaticamente. Riproduce l'operazione di indovinare la parola che conclude una frase o periodo.


3. Che dimensioni hanno i Large Language Model?

I Large Language Model sono reti neurali estremamente vaste con miliardi o migliaia di miliardi di parametri.


4. Come impara un LLM le relazioni tra le parole e il loro significato?

Un LLM utilizza il metodo di apprendimento non supervisionato o auto-supervisionato per imparare le relazioni tra le parole e il significato nel contesto.


5. Qual è l'importanza dei dati per i modelli linguistici?

I grandi database sono utili per modelli linguistici di uso generale, mentre per modelli specializzati la qualità dei dati è più importante della quantità.


6. Quali sono le potenzialità dei Large Language Model?

I LLM rappresentano una delle applicazioni più sorprendenti e ricche di potenzialità del deep learning.


7. In quali contesti possono essere utilizzati i Large Language Model?

I LLM possono essere utilizzati come assistenti professionali, ma presentano anche sfide legate alla propaganda, alle fake news e alla disinformazione.


1 Comment

Rated 0 out of 5 stars.
No ratings yet

Add a rating
ashanti
Jan 21
Rated 4 out of 5 stars.

articolo interessante inquadra bene cosa sono i LLM

Like
PCR (5).gif
PCR (4).gif
PCR.gif
PCR.gif
PCR.gif
PCR.gif
PCR (5).gif
3.gif
Vediamo se riesci a cliccarmi ! Nascondo una Sorpresa... (2).png

Ciao 

🤗 Articoli consigliati dalla nostra
Intelligenza Artificiale in base ai tuoi interessi

Correlazione Alta

Correlazione Media

Correlazione Bassa

Iscriviti

VUOI DIVENTARE UN MEMBRO DI INTELLIGENZA ARTIFICIALE ITALIA GRATUITAMENTE E TRARNE I SEGUENTI BENEFICI?

Corsi Gratis

più di 150 lezioni online

Dataset Gratis

più di 150o dataset

Ebook Gratis

più di 10 libri da leggere

Editor Gratis

un editor python online

Progetti Gratis

più di 25 progetti python

App Gratis

4 servizi web con I.A.

Unisciti Ora a oltre
1.000.000
di lettori e appassionanti d'I.A.

Tutto ciò che riguarda l'intelligenza Artificiale, in unico posto, in italiano e gratis.

MEGLIO DI COSI' NON SI PUO' FARE

Dopo l'iscrizione riceverai diversi Regali

VUOI SCRIVERE ARTICOLI INSIEME A NOI.

Grazie

bottom of page