Modelli e piattaforme di IA

Modelli Linguistici a Grande Scala Basati su Decoder: Una Guida Completa

mm
Aggiungi Unite.AI alle tue fonti preferite su Google

I Modelli Linguistici a Grande Scala (LLM) hanno rivoluzionato il campo dell’elaborazione del linguaggio naturale (NLP) dimostrando capacità notevoli nella generazione di testi simili a quelli umani, nel rispondere a domande e nell’assistenza in una vasta gamma di attività legate al linguaggio. Al cuore di questi potenti modelli si trova l’architettura del trasformatore basata solo sul decoder, una variante dell’architettura del trasformatore originale proposta nel seminale articolo “Attention is All You Need” di Vaswani et al.

In questa guida completa, esploreremo il funzionamento interno dei LLM basati su decoder, analizzando i blocchi fondamentali, le innovazioni architettoniche e i dettagli di implementazione che hanno portato questi modelli ai vertici della ricerca e delle applicazioni NLP.

L’Architettura del Trasformatore: Un Ripasso

Prima di addentrarci nei dettagli dei LLM basati su decoder, ÃĻ essenziale ripassare l’architettura del trasformatore, la base su cui sono costruiti questi modelli. Il trasformatore ha introdotto un approccio innovativo alla modellazione delle sequenze, basato esclusivamente su meccanismi di attenzione per catturare le dipendenze a lungo raggio nei dati, senza la necessità di layer ricorrenti o convoluzionali.

Architettura del Trasformatore

Architettura del Trasformatore

L’architettura del trasformatore originale consiste in due componenti principali: un encoder e un decoder. L’encoder elabora la sequenza di input e genera una rappresentazione contestualizzata, che viene poi consumata dal decoder per produrre la sequenza di output. Questa architettura ÃĻ stata inizialmente progettata per attività di traduzione automatica, dove l’encoder elabora la frase di input nella lingua sorgente e il decoder genera la frase corrispondente nella lingua di destinazione.

Attenzione Autoreferenziale: La Chiave del Successo del Trasformatore

Al cuore del trasformatore si trova il meccanismo di attenzione autoreferenziale, una tecnica potente che consente al modello di pesare e aggregare informazioni da diverse posizioni nella sequenza di input. A differenza dei modelli di sequenza tradizionali, che elaborano i token di input in sequenza, l’attenzione autoreferenziale consente al modello di catturare dipendenze tra qualsiasi coppia di token, indipendentemente dalla loro posizione nella sequenza.

Attenzione Multiquery

Attenzione Multiquery

L’operazione di attenzione autoreferenziale puÃē essere suddivisa in tre passaggi principali:

  1. Proiezioni di Query, Chiave e Valore: la sequenza di input viene proiettata in tre rappresentazioni separate: query (Q), chiave (K) e valore (V). Queste proiezioni vengono ottenute moltiplicando l’input con matrici di peso apprese.
  2. Calcolo dei Punteggi di Attenzione: per ogni posizione nella sequenza di input, vengono calcolati punteggi di attenzione prendendo il prodotto scalare tra il vettore di query corrispondente e tutti i vettori di chiave. Questi punteggi rappresentano la rilevanza di ogni posizione rispetto alla posizione attualmente elaborata.
  3. Somma Ponderata dei Valori: i punteggi di attenzione vengono normalizzati utilizzando una funzione softmax, e i pesi di attenzione risultanti vengono utilizzati per calcolare una somma ponderata dei vettori di valore, producendo la rappresentazione di output per la posizione attuale.

L’attenzione multi-testa, una variante del meccanismo di attenzione autoreferenziale, consente al modello di catturare diversi tipi di relazioni calcolando punteggi di attenzione su piÃđ “teste” in parallelo, ognuna con le proprie proiezioni di query, chiave e valore.

Varianti e Configurazioni Architettoniche

Mentre i principi fondamentali dei LLM basati su decoder rimangono coerenti, i ricercatori hanno esplorato diverse varianti architettoniche e configurazioni per migliorare le prestazioni, l’efficienza e le capacità di generalizzazione. In questa sezione, esploreremo le diverse scelte architettoniche e le loro implicazioni.

Tipi di Architettura

I LLM basati su decoder possono essere suddivisi in tre tipi principali: encoder-decoder, decoder causale e decoder prefisso. Ognuno di questi tipi di architettura presenta modelli di attenzione distinti.

Architettura Encoder-Decoder

Basata sul modello del trasformatore vanilla, l’architettura encoder-decoder consiste in due pile: un encoder e un decoder. L’encoder utilizza strati di attenzione autoreferenziale multi-testa per codificare la sequenza di input e generare rappresentazioni latenti. Il decoder esegue quindi un’attenzione incrociata su queste rappresentazioni per generare la sequenza di output. Sebbene efficace in vari compiti NLP, pochi LLM, come Flan-T5, adottano questa architettura.

Architettura Decoder Causale

L’architettura del decoder causale incorpora una maschera di attenzione unidirezionale, consentendo a ogni token di input di attendere solo ai token precedenti e a se stesso. Sia i token di input che quelli di output vengono elaborati all’interno dello stesso decoder. Modelli noti come GPT-1, GPT-2 e GPT-3 sono costruiti su questa architettura, con GPT-3 che mostra capacità di apprendimento in contesto notevoli. Molti LLM, tra cui OPT, BLOOM e Gopher, hanno ampiamente adottato decoder causali.

Architettura Decoder Prefisso

Nota anche come decoder non causale, l’architettura del decoder prefisso modifica il meccanismo di mascheramento dei decoder causali per abilitare un’attenzione bidirezionale sui token prefissi e un’attenzione unidirezionale sui token generati. Come l’architettura encoder-decoder, i decoder prefissi possono codificare la sequenza prefissa in modo bidirezionale e prevedere i token di output in modo autoregressivo utilizzando parametri condivisi. I LLM basati su decoder prefissi includono GLM130B e U-PaLM.

Tutti e tre i tipi di architettura possono essere estesi utilizzando la tecnica di mixture-of-experts (MoE), che attiva in modo sparso un subset dei pesi del network neurale per ogni input. Questo approccio ÃĻ stato impiegato in modelli come Switch Transformer e GLaM, con un aumento del numero di esperti o della dimensione totale dei parametri che mostra miglioramenti significativi delle prestazioni.

Trasformatore Basato su Decoder: Abbracciare la Natura Autoregressiva

Mentre l’architettura del trasformatore originale ÃĻ stata progettata per compiti di sequenza-a-sequenza come la traduzione automatica, molti compiti NLP, come la modellazione del linguaggio e la generazione di testi, possono essere inquadrati come problemi autoregressivi, dove il modello genera un token alla volta, condizionato dai token precedentemente generati.

Entra in scena il trasformatore basato su decoder, una variante semplificata dell’architettura del trasformatore che mantiene solo il componente del decoder. Questa architettura ÃĻ particolarmente adatta per compiti autoregressivi, poichÃĐ genera i token di output uno per uno, sfruttando i token precedentemente generati come contesto di input.

La differenza chiave tra il trasformatore basato su decoder e il decoder del trasformatore originale risiede nel meccanismo di attenzione autoreferenziale. Nell’ambito del decoder, l’operazione di attenzione autoreferenziale viene modificata per impedire al modello di attendere ai token futuri, una proprietà nota come causalità. CiÃē viene ottenuto attraverso una tecnica chiamata “attenzione autoreferenziale mascherata”, dove i punteggi di attenzione corrispondenti a posizioni future vengono impostati su meno infinito, di fatto mascherandoli durante la normalizzazione softmax.

Componenti Architettonici dei LLM Basati su Decoder

Mentre i principi fondamentali dell’attenzione autoreferenziale e dell’attenzione autoreferenziale mascherata rimangono gli stessi, i LLM moderni basati su decoder hanno introdotto diverse innovazioni architettoniche per migliorare le prestazioni, l’efficienza e le capacità di generalizzazione. Esploreremo alcuni dei componenti chiave e delle tecniche impiegate nei LLM di stato dell’arte.

Rappresentazione dell’Input

Prima di elaborare la sequenza di input, i LLM basati su decoder impiegano tecniche di tokenizzazione e di incorporamento per convertire il testo grezzo in una rappresentazione numerica adatta al modello.

Incorporamento vettoriale

Incorporamento vettoriale

Tokenizzazione: il processo di tokenizzazione converte il testo di input in una sequenza di token, che possono essere parole, sottoparole o anche singoli caratteri, a seconda della strategia di tokenizzazione impiegata. Tecniche di tokenizzazione popolari per i LLM includono Byte-Pair Encoding (BPE), SentencePiece e WordPiece. Questi metodi mirano a trovare un equilibrio tra la dimensione del vocabolario e la granularità della rappresentazione, consentendo al modello di gestire parole rare o fuori dal vocabolario in modo efficace.

Incorporamento dei Token: dopo la tokenizzazione, ogni token viene mappato in una rappresentazione vettoriale densa chiamata incorporamento del token. Questi incorporamenti vengono appresi durante il processo di addestramento e catturano relazioni semantiche e sintattiche tra i token.

Incorporamento Posizionale: i modelli del trasformatore elaborano l’intera sequenza di input simultaneamente, mancando della nozione intrinseca di posizione dei token presente nei modelli ricorrenti. Per incorporare informazioni posizionali, vengono aggiunti incorporamenti posizionali agli incorporamenti dei token, consentendo al modello di distinguere tra token in base alle loro posizioni nella sequenza. I primi LLM hanno utilizzato incorporamenti posizionali fissi basati su funzioni sinusoidali, mentre modelli piÃđ recenti hanno esplorato incorporamenti posizionali appresi o tecniche di codifica posizionale alternative come gli incorporamenti posizionali rotativi.

Blocchi di Attenzione Multi-Testa

I blocchi fondamentali dei LLM basati su decoder sono i layer di attenzione multi-testa, che eseguono l’operazione di attenzione autoreferenziale mascherata descritta in precedenza. Questi layer vengono impilati piÃđ volte, con ogni layer che attende all’output del layer precedente, consentendo al modello di catturare dipendenze e rappresentazioni sempre piÃđ complesse.

Teste di Attenzione: ogni layer di attenzione multi-testa consiste in piÃđ “teste di attenzione“, ognuna con le proprie proiezioni di query, chiave e valore. CiÃē consente al modello di attendere a diversi aspetti dell’input simultaneamente, catturando relazioni e pattern diversi.

Collegamenti Residui e Normalizzazione del Layer: per facilitare l’addestramento di reti profonde e mitigare il problema del gradiente che scompare, i LLM basati su decoder impiegano collegamenti residui e tecniche di normalizzazione del layer. I collegamenti residui aggiungono l’input di un layer al suo output, consentendo ai gradienti di fluire piÃđ facilmente durante la propagazione all’indietro. La normalizzazione del layer aiuta a stabilizzare le attivazioni e i gradienti, migliorando ulteriormente la stabilità e le prestazioni dell’addestramento.

Strati Feed-Forward

Oltre ai layer di attenzione multi-testa, i LLM basati su decoder incorporano strati feed-forward, che applicano una semplice rete neurale feed-forward a ogni posizione nella sequenza. Questi strati introducono non linearità e consentono al modello di apprendere rappresentazioni piÃđ complesse.

Funzioni di Attivazione: la scelta della funzione di attivazione negli strati feed-forward puÃē avere un impatto significativo sulle prestazioni del modello. Mentre i primi LLM si basavano ampiamente sull’attivazione ReLU, modelli piÃđ recenti hanno adottato funzioni di attivazione piÃđ sofisticate come l’unità lineare dell’errore gaussiano (GELU) o l’attivazione SwiGLU, che hanno mostrato prestazioni migliorate.

Attenzione Sparso e Trasformatori Efficienti

Sebbene il meccanismo di attenzione autoreferenziale sia potente, presenta una complessità computazionale quadratica rispetto alla lunghezza della sequenza, rendendolo computazionalmente costoso per sequenze lunghe. Per affrontare questa sfida, sono state proposte diverse tecniche per ridurre i requisiti computazionali e di memoria dell’attenzione autoreferenziale, consentendo un’elaborazione efficiente di sequenze piÃđ lunghe.

Attenzione Sparso: le tecniche di attenzione sparso, come quella impiegata nel modello GPT-3, attendono selettivamente a un subset di posizioni nella sequenza di input, anzichÃĐ calcolare punteggi di attenzione per tutte le posizioni. CiÃē puÃē ridurre significativamente la complessità computazionale mantenendo prestazioni ragionevoli.

Attenzione a Finestra Scorrevole: introdotta nel modello Mistral 7B, l’attenzione a finestra scorrevole (SWA) ÃĻ una tecnica semplice ma efficace che limita la portata dell’attenzione di ogni token a una dimensione di finestra fissa. Questo approccio sfrutta la capacità dei layer del trasformatore di trasmettere informazioni attraverso piÃđ layer, aumentando efficacemente la portata dell’attenzione senza la complessità quadratica dell’attenzione autoreferenziale completa.

Cache del Buffer Scorrevole: per ridurre ulteriormente i requisiti di memoria, in particolare per sequenze lunghe, il modello Mistral 7B impiega una cache del buffer scorrevole. Questa tecnica memorizza e riutilizza i vettori di chiave e valore calcolati per una dimensione di finestra fissa, evitando calcoli ridondanti e minimizzando l’utilizzo della memoria.

Attenzione a Query Raggruppata: introdotta nel modello LLaMA 2, l’attenzione a query raggruppata (GQA) ÃĻ una variante del meccanismo di attenzione multi-query che divide le teste di attenzione in gruppi, ognuno con una matrice di chiave e valore comune. Questo approccio trova un equilibrio tra l’efficienza dell’attenzione multi-query e le prestazioni dell’attenzione autoreferenziale standard, offrendo tempi di inferenza migliorati mantenendo risultati di alta qualità.

Attenzione a query raggruppata

Attenzione a query raggruppata

Dimensione del Modello e Scalabilità

Una delle caratteristiche distintive dei LLM moderni ÃĻ la loro scala, con il numero di parametri che varia da miliardi a centinaia di miliardi. Aumentare la dimensione del modello ÃĻ stato un fattore cruciale per raggiungere prestazioni di stato dell’arte, poichÃĐ modelli piÃđ grandi possono catturare pattern e relazioni piÃđ complessi nei dati.

Numero di Parametri: il numero di parametri in un LLM basato su decoder ÃĻ determinato principalmente dalla dimensione dell’incorporamento (d_model), dal numero di teste di attenzione (n_heads), dal numero di layer (n_layers) e dalla dimensione del vocabolario (vocab_size). Ad esempio, il modello GPT-3 ha 175 miliardi di parametri, con d_model = 12288, n_heads = 96, n_layers = 96 e vocab_size = 50257.

Parallelismo del Modello: l’addestramento e la distribuzione di modelli cosÃŽ grandi richiedono risorse computazionali sostanziali e hardware specializzato. Per superare questa sfida, sono state impiegate tecniche di parallelismo del modello, dove il modello viene suddiviso su piÃđ GPU o TPU, con ogni dispositivo responsabile di una porzione dei calcoli.

Mixture-of-Experts: un altro approccio per scalare i LLM ÃĻ l’architettura mixture-of-experts (MoE), che combina piÃđ modelli di esperti, ognuno specializzato in un subset specifico dei dati o del compito. Il modello Mixtral 8x7B ÃĻ un esempio di modello MoE che utilizza il Mistral 7B come modello base, raggiungendo prestazioni superiori mantenendo l’efficienza computazionale.

Inferenza e Generazione di Testi

Uno degli utilizzi principali dei LLM basati su decoder ÃĻ la generazione di testi, dove il modello genera testi coerenti e naturali in base a un prompt o contesto dato.

Decodifica Autoregressiva: durante l’inferenza, i LLM basati su decoder generano testi in modo autoregressivo, prevedendo un token alla volta in base ai token precedentemente generati e al prompt di input. Questo processo continua fino a quando non viene raggiunto un criterio di arresto predeterminato, come raggiungere una lunghezza di sequenza massima o generare un token di fine sequenza.

Strategie di Campionamento: per generare testi diversi e realistici, possono essere impiegate diverse strategie di campionamento, come il campionamento top-k, il campionamento top-p (noto anche come campionamento nucleus) o la scalatura della temperatura. Queste tecniche controllano il trade-off tra diversità e coerenza del testo generato regolando la distribuzione di probabilità sul vocabolario.

Ingegneria dei Prompt: la qualità e la specificità del prompt di input possono avere un impatto significativo sul testo generato. L’ingegneria dei prompt, l’arte di creare prompt efficaci, ÃĻ emersa come un aspetto cruciale nell’utilizzo dei LLM per vari compiti, consentendo agli utenti di guidare il processo di generazione del modello e raggiungere output desiderati.

Decodifica con Interazione Umana: per migliorare ulteriormente la qualità e la coerenza del testo generato, sono state impiegate tecniche come l’Apprendimento per Rinforzo con Feedback Umano (RLHF). In questo approccio, i valutatori umani forniscono feedback sul testo generato dal modello, che viene poi utilizzato per perfezionare il modello, allineandolo efficacemente con le preferenze umane e migliorando i suoi output.

Sviluppi e Direzioni Future

Il campo dei LLM basati su decoder sta evolvendo rapidamente, con nuove ricerche e innovazioni che continuamente spingono i confini di ciÃē che questi modelli possono realizzare. Ecco alcuni sviluppi notevoli e potenziali direzioni future:

Varianti Efficienti del Trasformatore: mentre l’attenzione sparso e l’attenzione a finestra scorrevole hanno fatto notevoli progressi nell’aumentare l’efficienza dei LLM basati su decoder, i ricercatori stanno attivamente esplorando alternative architetture del trasformatore e meccanismi di attenzione per ridurre ulteriormente i requisiti computazionali mantenendo o migliorando le prestazioni.

LLM Multimodali: estendendo le capacità dei LLM oltre il testo, i modelli multimodali mirano a integrare piÃđ modalità, come immagini, audio o video, in un unico framework unificato. CiÃē apre possibilità emozionanti per applicazioni come la generazione di didascalie per immagini, la risposta a domande visive e la generazione di contenuti multimediali.

Generazione Controllata: consentire un controllo fine-granulare sul testo generato ÃĻ una direzione importante per i LLM. Tecniche come la generazione di testi controllati e il tuning dei prompt mirano a fornire agli utenti un controllo piÃđ granulare su vari attributi del testo generato, come stile, tono o requisiti di contenuto specifici.

Conclusione

I LLM basati su decoder sono emersi come una forza trasformativa nel campo dell’elaborazione del linguaggio naturale, spingendo i confini di ciÃē che ÃĻ possibile con la generazione e la comprensione del linguaggio. Dalle loro umili origini come variante semplificata dell’architettura del trasformatore, questi modelli sono evoluti in sistemi potenti e sofisticati, sfruttando tecniche e innovazioni architettoniche all’avanguardia.

Mentre continuiamo a esplorare e avanzare i LLM basati su decoder, possiamo aspettarci di vedere ulteriori risultati notevoli in compiti legati al linguaggio, nonchÃĐ l’integrazione di questi modelli in una vasta gamma di applicazioni e domini. Tuttavia, ÃĻ cruciale affrontare le considerazioni etiche, le sfide di interpretazione e i potenziali pregiudizi che possono sorgere dalla diffusa distribuzione di questi potenti modelli.

Rimanendo all’avanguardia della ricerca, promuovendo la collaborazione aperta e mantenendo un forte impegno per lo sviluppo responsabile dell’AI, possiamo sbloccare il pieno potenziale dei LLM basati su decoder, assicurandoci che vengano sviluppati e utilizzati in modo sicuro, etico e benefico per la società.

Ho trascorso gli ultimi cinque anni immergendomi nel mondo affascinante del Machine Learning e del Deep Learning. La mia passione e la mia esperienza mi hanno portato a contribuire a oltre 50 progetti di ingegneria del software diversi, con un focus particolare su AI/ML. La mia curiosità in corso mi ha anche portato verso l'elaborazione del linguaggio naturale, un campo che sono ansioso di esplorare ulteriormente.