Una tecnologia più recente modelli linguistici di grandi dimensioni (LLM) un token o una sequenza di token, a volte molti paragrafi di previsti. Ricorda che un token può essere una parola, una sottoparola (un sottoinsieme una parola) o anche un solo carattere. Gli LLM fanno previsioni molto migliori rispetto ai modelli linguistici n-grammi o alle reti neurali ricorrenti perché:
- Gli LLM contengono molti più parametri rispetto ai modelli ricorrenti.
- gli LLM raccolgono molto più contesto.
Questa sezione introduce l'architettura più usata e di successo per la creazione di LLM: Transformer.
Che cos'è un Transformer?
I Transformer sono l'architettura all'avanguardia per un'ampia varietà applicazioni di modelli linguistici, come la traduzione:
![Figura 1. L'input è: Sono un bravo cane. Un modello basato su Transformer
questo traduttore trasforma questo input in un output: Je suis un bon
chien, che è la stessa frase tradotta in francese.](https://developers.google.cn/static/machine-learning/crash-course/images/Iamagooddog.png?authuser=7&hl=it)
I trasformatori completi sono costituiti da un encoder e un decoder:
- Un encoder converte di input in una rappresentazione intermedia. Un codificatore è un modello enorme rete neurale.
- Un decoder converte questa rappresentazione intermedia in testo utile. Un decoder è anche un'enorme rete neurale.
Ad esempio, in un traduttore:
- L'encoder elabora il testo di input (ad esempio, una frase in inglese) rappresentazione intermedia.
- Il decoder converte quella rappresentazione intermedia in testo di output (ad l'equivalente della frase francese).
![Figura 2. Il traduttore basato su trasformatore inizia con un codificatore,
che genera una rappresentazione intermedia di un
una frase. Un decoder converte questa rappresentazione intermedia in
una frase di output in francese.](https://developers.google.cn/static/machine-learning/crash-course/images/TransformerBasedTranslator.png?authuser=7&hl=it)
Cos'è l'auto-attenzione?
Per migliorare il contesto, i Transformer si affidano in larga misura a un concetto chiamato auto-attenzione. Di fatto, a nome di ogni token di input, l’auto-attenzione chiede la seguente domanda:
"In che misura ciascun altro token di input influisce sull'interpretazione token?"
Il "se stesso" in "auto-attenzione" si riferisce alla sequenza di input. Un po' di attenzione meccanismi le relazioni di peso dei token di input ai token in una sequenza di output, una traduzione o in token in qualche altra sequenza. Ma solo auto-attenzione pondera l'importanza delle relazioni tra i token nella sequenza di input.
Per semplificare le cose, supponiamo che ogni token sia una parola e il contesto è costituito da una singola frase. Prendi in esame 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 è prestando attenzione alle altre dieci, chiedendosi quanto ognuna di quelle dieci parole l'importanza di se stessi. Ad esempio, nota che la frase contiene il pronome . I pronomi sono spesso ambigui. Il pronome it in genere si riferisce a un nome recente o frase sostantivo, ma nella frase di esempio quale nome recente si riferisce all'animale o alla strada?
Il meccanismo di auto-attenzione determina la pertinenza di ogni parola vicina a il pronome it. La Figura 3 mostra i risultati: più la linea è blu, maggiore è importante che la parola sia corretta per il pronome . Vale a dire che animal è più importante di street al pronome it.
![Figura 3. La pertinenza di ciascuna delle undici parole della frase:
"L'animale non ha attraversato la strada perché era troppo stanco"
al pronome "it". La parola "animale" è il più pertinente per
il pronome "it".](https://developers.google.cn/static/machine-learning/crash-course/images/Theanimaldidntcrossthestreet.png?authuser=7&hl=it)
Al contrario, supponiamo che l'ultima parola 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 street come più pertinente di animal rispetto al pronome it.
Alcuni meccanismi di auto-attenzione sono bidirezionali, ovvero calcolare i punteggi di pertinenza per i token che precedono e dopo la parola che a cui ha assistito. Ad esempio, nella Figura 3, nota che le parole su entrambi i lati della . Quindi, un meccanismo di auto-attenzione bidirezionale può il contesto delle parole ai lati della parola interessata. Al contrario, un meccanismo di auto-attenzione unidirezionale può raccogliere il contesto solo dalle parole da un lato della parola che stai trattando. L'auto-attenzione bidirezionale particolarmente utile per generare rappresentazioni di intere sequenze, mentre le applicazioni che generano sequenze token per token richiedono un sistema unidirezionale. auto-attenzione. Per questo motivo, gli encoder usano l'auto-attenzione bidirezionale, mentre i decoder usano unidirezionale.
Cos'è l'auto-attenzione multi-testa?
Ogni livello di auto-attenzione è solitamente composto da più teste di auto-attenzione. L'output di uno strato è un'operazione matematica (ad esempio media ponderata o prodotto scalare) dell'output della teste diverse.
Poiché ogni strato di auto-attenzione è inizializzato a valori casuali, possono apprendere diverse relazioni tra ogni parola interessata e la parole vicine. Ad esempio, il livello di auto-attenzione descritto nel dedicata a determinare a quale sostantivo fa riferimento il pronome. Tuttavia, altri strati di auto-attenzione potrebbero apprendere la pertinenza grammaticale di da una parola all'altra o apprendere altre interazioni.
Perché i Transformer sono così grandi?
I Transformer contengono centinaia di miliardi di miliardi di parametri. In genere questo corso consiglia di creare modelli con dimensioni numero di parametri rispetto a quelli con un numero maggiore di parametri. 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, gli studi dimostrano che i Transformer con più parametri sono costantemente superiori a quelli dei Transformer con meno parametri.
Ma in che modo un LLM genera testo?
Hai visto come i ricercatori addestrano gli LLM a prevedere una o due parole mancanti e potrebbero non rimanere colpiti. Dopotutto, prevedere una o due parole è essenzialmente funzione di completamento automatico integrata in vari software di testo, email e di authoring. Forse ti starai chiedendo in che modo gli LLM possono generare frasi o paragrafi haiku sull'arbitraggio.
Infatti, gli LLM sono essenzialmente meccanismi di completamento automatico che possono prevedere (completare) migliaia di token. Ad esempio, considera una frase seguita da una frase mascherata:
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à | Parole |
---|---|
3,1% | Ad esempio, può sedersi, restare far passare il mouse sopra. |
2,9% | Ad esempio, sa come sedersi, restare far passare il mouse sopra. |
Un LLM sufficientemente grande può generare probabilità per paragrafi e interi saggi. Si può pensare alle domande di un utente a un LLM come alla "data" frase seguito 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.
Come ulteriore esempio, un LLM addestrato su un enorme numero di "parole matematiche" problemi" possono dare l'aspetto di compiere ragionamenti matematici sofisticati. 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 capire per un varietà di segmenti di pubblico di destinazione. Gli LLM possono fare previsioni sulle attività che svolgono addestrato in modo esplicito. Alcuni ricercatori affermano che gli LLM possono anche previsioni per l'input su cui non sono stati addestrati esplicitamente, ma i ricercatori hanno confutato questa affermazione.
Problemi con gli LLM
L'addestramento di un LLM comporta molti problemi, tra cui:
- Raccolta di tantissimi allenamenti.
- Impiegare diversi mesi e ingenti risorse di calcolo. elettricità.
- Risolvere le sfide di parallelismo.
L'utilizzo degli LLM per dedurre le previsioni causa i seguenti problemi:
- gli LLM allucinano, il che significa che 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 necessarie per l'inferenza, sebbene l'addestramento più ampio di risorse di addestramento comportano più risorse di addestramento.
- Come tutti i modelli di ML, gli LLM possono presentare tutti i tipi di bias.