Una tecnologia più recente, i modelli linguistici di grandi dimensioni (LLM), prevedono un token o una sequenza di token, a volte molti paragrafi di token previsti. Ricorda che un token può essere una parola, una sottoparola (un sottoinsieme di una parola) o anche un singolo carattere. rispetto ai modelli linguistici n-gram o alle reti neurali ricorrenti, gli LLM fanno previsioni molto migliori
- Gli LLM contengono molti più parametri dei modelli ricorrenti.
- gli LLM raccolgono molto più contesto.
Questa sezione illustra l'architettura più efficace e ampiamente utilizzata per la creazione di LLM: Transformer.
Che cos'è un Transformer?
I Transformer sono l'architettura all'avanguardia per una vasta gamma di applicazioni di modelli linguistici, come la traduzione:
I trasformatori completi sono costituiti da un encoder e un decoder:
- Un codificatore converte il testo di input in una rappresentazione intermedia. Un encoder è un'enorme rete neurale.
- Un decodificatore converte questa rappresentazione intermedia in testo utile. Un decoder è anche un'enorme rete neurale.
Ad esempio, in un traduttore:
- Il codificatore elabora il testo di input (ad esempio una frase in inglese) in qualche rappresentazione intermedia.
- Il decoder converte questa rappresentazione intermedia in testo di output (ad esempio, la frase francese equivalente).
Che cos'è l'auto-attenzione?
Per migliorare il contesto, i Transformer si basano molto su un concetto chiamato auto-attenzione. In pratica, per conto di ogni token di input, l'autoattenzione pone la seguente domanda:
"In che misura ogni altro token di input influisce sull'interpretazione di questo token?"
Il termine "auto" in "auto-attenzione" si riferisce alla sequenza di input. Alcuni meccanismi di attenzione ponderano le relazioni dei token di input con i token in una sequenza di output, come una traduzione, o con i token in un'altra sequenza. Tuttavia, l'attenzione auto-basata solo pesa l'importanza delle relazioni tra i token nella sequenza di input.
Per semplificare, supponiamo che ogni token sia una parola e che il contesto completo sia costituito da una sola frase. Prendi in considerazione la seguente frase:
The animal didn't cross the street because it was too tired.
La frase precedente contiene undici parole. Ognuna delle undici parole presta attenzione alle altre dieci, chiedendosi quanto ciascuna di queste dieci parole sia importante per se stessa. Ad esempio, tieni presente che la frase contiene il pronome it. I pronomi sono spesso ambigui. Il pronome si in genere si riferisce a un sostantivo recente, ma nella frase di esempio a quale nome recente si riferisce: l'animale o la strada?
Il meccanismo di auto-attenzione determina la pertinenza di ogni parola vicina rispetto al pronome it. La Figura 3 mostra i risultati: più blu è la linea, più importante è la parola per il pronome it. In altre parole, animale è più importante di strada per il pronome esso.
Al contrario, supponiamo che la parola finale della frase cambi come segue:
The animal didn't cross the street because it was too wide.
In questa frase rivista, l'auto-attenzione dovrebbe valutare strada come più pertinente di animale per il pronome esso.
Alcuni meccanismi di auto-attenzione sono bidirezionali, il che significa che calcolano i punteggi di pertinenza per i token precedenti e successivi alla parola oggetto di attenzione. Ad esempio, nella Figura 3, noterai che le parole su entrambi i lati di it vengono esaminate. Pertanto, un meccanismo di auto-attenzione bidirezionale può raccogliere il contesto dalle parole ai lati della parola a cui viene prestata attenzione. Al contrario, un meccanismo di attenzione autonomo unidirezionale può raccogliere il contesto solo dalle parole su un lato della parola a cui viene prestata attenzione. L'autoattenzione bidirezionale è particolarmente utile per generare rappresentazioni di intere sequenze, mentre le applicazioni che generano sequenze token per token richiedono l'autoattenzione unidirezionale. Per questo motivo, gli encoder utilizzano l'autoattenzione bidirezionale, mentre i decodificatori utilizzano quella unidirezionale.
Che cos'è l'autoattenzione multi-head?
Ogni livello di auto-attenzione è in genere composto da più funzioni di auto-attenzione. L'output di un livello è un'operazione matematica (ad esempio, media ponderata o prodotto scalare) dell'output dei diversi head.
Poiché ogni livello di auto-attenzione viene inizializzato con valori casuali, diversi head possono apprendere relazioni diverse tra ogni parola a cui viene prestata attenzione e le parole vicine. Ad esempio, il livello di auto-attenzione descritto nella sezione precedente si concentrava su come determinare a quale sostantivo si riferiva il pronome esso. Tuttavia, altri livelli di auto-attenzione potrebbero apprendere la pertinenza grammaticale di ogni parola rispetto a tutte le altre parole o apprendere altre interazioni.
Perché i Transformers sono così grandi?
I trasformatori contengono centinaia di miliardi o addirittura migliaia di miliardi di parametri. In genere questo corso consiglia di creare modelli con un numero di parametri inferiore rispetto a quelli con un numero maggiore. Dopotutto, un modello con un numero inferiore di parametri utilizza meno risorse per fare previsioni rispetto a un modello con un numero maggiore di parametri. Tuttavia, la ricerca mostra che i transformer con più parametri superano costantemente quelli con meno parametri.
Ma come fa un LLM a generare testo?
Hai visto come i ricercatori addestrano gli LLM a prevedere una o due parole mancanti e potresti non essere impressionato. Dopotutto, la previsione di una o due parole è essenzialmente la funzionalità di completamento automatico integrata in vari software di testo, email e di creazione di contenuti. Forse ti starai chiedendo in che modo gli LLM possono generare frasi, paragrafi o haiku sull'arbitraggio.
In effetti, gli LLM sono essenzialmente meccanismi di completamento automatico che possono predire (completare) automaticamente migliaia di token. Ad esempio, considera una frase followed by a masked sentence:
My dog, Max, knows how to perform many traditional dog tricks. ___ (masked sentence)
Un LLM può generare probabilità per la frase mascherata, tra cui:
Probabilità | Parola o parole |
---|---|
3,1% | Ad esempio, può sedersi, rimanere fermo e girarsi. |
2,9% | Ad esempio, sa come sedersi, restare e girare. |
Un LLM sufficientemente grande può generare probabilità per paragrafi e interi temi. Puoi considerare le domande di un utente a un modello LLM come la frase "data" followed da una maschera immaginaria. Ad esempio:
User's question: What is the easiest trick to teach a dog? LLM's response: ___
L'LLM genera probabilità per varie possibili risposte.
Un altro esempio è un LLM addestrato su un numero enorme di "problemi con enunciato" matematici che può dare l'impressione di svolgere un ragionamento matematico sofisticato. Tuttavia, questi LLM stanno fondamentalmente solo completando automaticamente un prompt relativo a un problema con parole.
Vantaggi degli LLM
Gli LLM possono generare testo chiaro e facile da comprendere per un'ampia gamma di segmenti di pubblico di destinazione. Gli LLM possono fare previsioni sulle attività su cui sono esplicitamente addestrati. Alcuni ricercatori affermano che gli LLM possono anche fare previsioni per gli input su cui non sono stati addestrati esplicitamente, ma altri ricercatori hanno confutato questa affermazione.
Problemi con gli LLM
L'addestramento di un LLM comporta molti problemi, tra cui:
- Raccogliere un enorme set di addestramento.
- Richiede diversi mesi, enormi risorse di calcolo e elettricità.
- Risolvere le sfide del parallelismo.
L'utilizzo di LLM per dedurre le previsioni causa i seguenti problemi:
- Gli LLM allucinano, in quanto le loro previsioni spesso contengono errori.
- Gli LLM consumano enormi quantità di risorse di calcolo ed elettricità. L'addestramento degli LLM su set di dati più grandi in genere riduce la quantità di risorse richieste per l'inferenza, anche se i set di addestramento più grandi richiedono più risorse di addestramento.
- Come tutti i modelli di ML, gli LLM possono presentare tutti i tipi di bias.