mozzicone Modelli linguistici di grandi dimensioni basati su decodificatore: una guida completa - Unite.AI
Seguici sui social

Intelligenza Artificiale

Modelli linguistici di grandi dimensioni basati su decodificatore: una guida completa

mm
aggiornato on
Modelli linguistici di grandi dimensioni basati su decodificatore: una guida completa

Grandi modelli linguistici (LLM) hanno rivoluzionato il campo dell'elaborazione del linguaggio naturale (PNL) dimostrando notevoli capacità nel generare testi simili a quelli umani, rispondere a domande e assistere in un'ampia gamma di compiti legati al linguaggio. Al centro di questi potenti modelli c'è il architettura del trasformatore solo decodificatore, una variante dell’architettura originale del trasformatore proposta nel documento fondamentale “L'attenzione è tutto ciò di cui hai bisogno" di Vaswani et al.

In questa guida completa, esploreremo il funzionamento interno degli LLM basati su decoder, approfondendo gli elementi costitutivi fondamentali, le innovazioni architettoniche e i dettagli di implementazione che hanno portato questi modelli in prima linea nella ricerca e nelle applicazioni della PNL.

L'architettura del trasformatore: un aggiornamento

Prima di approfondire le specifiche degli LLM basati su decoder, è essenziale rivisitare l'architettura del trasformatore, la base su cui sono costruiti questi modelli. Il trasformatore ha introdotto un nuovo approccio alla modellazione delle sequenze, basandosi esclusivamente su meccanismi di attenzione per catturare le dipendenze a lungo raggio nei dati, senza la necessità di strati ricorrenti o convoluzionali.

Architettura dei trasformatori

Architettura dei trasformatori

L'architettura originale del trasformatore è costituita da due componenti principali: un codificatore e un decodificatore. Il codificatore elabora la sequenza di input e genera una rappresentazione contestualizzata, che viene poi utilizzata dal decodificatore per produrre la sequenza di output. Questa architettura è stata inizialmente progettata per compiti di traduzione automatica, in cui il codificatore elabora la frase di input nella lingua di origine e il decodificatore genera la frase corrispondente nella lingua di destinazione.

Autoattenzione: la chiave del successo di Transformer

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

Attenzione multiquery

Attenzione multiquery

L’operazione di auto-attenzione può essere suddivisa in tre fasi principali:

  1. Proiezioni di query, chiavi e valori: La sequenza di input viene proiettata in tre rappresentazioni separate: query (Q), Tasti (K), e valori (V). Queste proiezioni si ottengono moltiplicando l'input con matrici di pesi appresi.
  2. Calcolo del punteggio di attenzione: Per ogni posizione nella sequenza di input, i punteggi di attenzione vengono calcolati prendendo il prodotto scalare tra il vettore di query corrispondente e tutti i vettori chiave. Questi punteggi rappresentano la pertinenza di ciascuna posizione rispetto alla posizione corrente in fase di elaborazione.
  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 corrente.

L’attenzione multi-testa, una variante del meccanismo di auto-attenzione, consente al modello di catturare diversi tipi di relazioni calcolando i punteggi di attenzione su più “teste" in parallelo, ciascuno con il proprio set di proiezioni di query, chiavi e valori.

Varianti e configurazioni architettoniche

Sebbene i principi fondamentali dei LLM basati su decoder rimangano coerenti, i ricercatori hanno esplorato varie varianti e configurazioni dell'architettura per migliorare le prestazioni, l'efficienza e le capacità di generalizzazione. In questa sezione approfondiremo le diverse scelte architetturali e le loro implicazioni.

Tipi di architettura

Gli LLM basati su decodificatore possono essere ampiamente classificati in tre tipi principali: codificatore-decodificatore, decodificatore causale e decodificatore di prefisso. Ogni tipo di architettura mostra modelli di attenzione distinti.

Architettura codificatore-decodificatore

Basata sul modello Vanilla Transformer, l'architettura codificatore-decodificatore è costituita da due stack: un codificatore e un decodificatore. Il codificatore utilizza livelli di autoattenzione multi-testa impilati per codificare la sequenza di input e generare rappresentazioni latenti. Il decodificatore esegue quindi l'attenzione incrociata su queste rappresentazioni per generare la sequenza target. Sebbene efficaci in varie attività di PNL, pochi LLM, come Flan-T5, adottare questa architettura.

Architettura del decodificatore causale

L'architettura del decodificatore causale incorpora una maschera di attenzione unidirezionale, consentendo a ciascun token di input di occuparsi solo dei token passati e di se stesso. Sia i token di input che quelli di output vengono elaborati all'interno dello stesso decodificatore. Modelli notevoli come GPT-1, GPT-2 e GPT-3 sono basati su questa architettura, con GPT-3 che mostra notevoli capacità di apprendimento in contesto. Molti LLM, tra cui OPT, BLOOM e Gopher, hanno ampiamente adottato decodificatori causali.

Architettura del decodificatore del prefisso

Conosciuta anche come decodificatore non causale, l'architettura del decodificatore del prefisso modifica il meccanismo di mascheramento dei decodificatori causali per abilitare l'attenzione bidirezionale sui token del prefisso e l'attenzione unidirezionale sui token generati. Come l'architettura codificatore-decodificatore, i decodificatori di prefisso possono codificare la sequenza del prefisso in modo bidirezionale e prevedere i token di output in modo autoregressivo utilizzando parametri condivisi. Gli LLM basati su decodificatori con prefisso includono GLM130B e U-PaLM.

Tutti e tre i tipi di architettura possono essere estesi utilizzando il file miscela di esperti (MoE) tecnica di ridimensionamento, che attiva scarsamente un sottoinsieme di pesi della rete neurale per ciascun input. Questo approccio è stato utilizzato in modelli come Switch Transformer e GLaM, in cui l'aumento del numero di esperti o della dimensione totale dei parametri mostra miglioramenti significativi delle prestazioni.

Trasformatore solo decodificatore: abbraccia la natura autoregressiva

Mentre l'architettura originale del trasformatore era progettata per attività sequenza-sequenza come la traduzione automatica, molte attività di PNL, come la modellazione del linguaggio e la generazione di testo, possono essere inquadrate come problemi autoregressivi, in cui il modello genera un token alla volta, condizionato dalla token precedentemente generati.

Inserisci il trasformatore solo decodificatore, una variante semplificata dell'architettura del trasformatore che conserva solo il componente decodificatore. Questa architettura è particolarmente adatta per attività autoregressive, poiché genera token di output uno per uno, sfruttando i token precedentemente generati come contesto di input.

La differenza fondamentale tra il trasformatore solo decodificatore e il decodificatore trasformatore originale risiede nel meccanismo di auto-attenzione. Nell'impostazione solo decodificatore, l'operazione di auto-attenzione viene modificata per impedire al modello di occuparsi di token futuri, una proprietà nota come causalità. Ciò si ottiene attraverso una tecnica chiamata “autoattenzione mascherata”, in cui i punteggi di attenzione corrispondenti alle posizioni future sono impostati su infinito negativo, mascherandoli efficacemente durante la fase di normalizzazione softmax.

Componenti architettonici di LLM basati su decodificatore

Sebbene i principi fondamentali dell'autoattenzione e dell'autoattenzione mascherata rimangano gli stessi, i moderni LLM basati su decodificatore hanno introdotto diverse innovazioni architetturali per migliorare le prestazioni, l'efficienza e le capacità di generalizzazione. Esploriamo alcuni dei componenti chiave e delle tecniche impiegate nei LLM all'avanguardia.

Rappresentazione dell'input

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

incorporamento di vettori

incorporamento di vettori

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. Le tecniche di tokenizzazione più diffuse 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 in modo efficace parole rare o fuori dal vocabolario.

Incorporamenti di token: dopo la tokenizzazione, ogni token viene mappato su una rappresentazione vettoriale densa chiamata incorporamento di token. Questi incorporamenti vengono appresi durante il processo di training e catturano le relazioni semantiche e sintattiche tra i token.

Incorporamenti posizionali: I modelli Transformer elaborano simultaneamente l'intera sequenza di input, mancando la nozione intrinseca di posizioni dei token presente nei modelli ricorrenti. Per incorporare informazioni sulla posizione, agli incorporamenti dei token vengono aggiunti incorporamenti posizionali, consentendo al modello di distinguere tra i token in base alla loro posizione nella sequenza. I primi LLM utilizzavano incorporamenti posizionali fissi basati su funzioni sinusoidali, mentre i modelli più recenti hanno esplorato incorporamenti posizionali apprendibili o tecniche di codifica posizionale alternative come incorporamenti posizionali rotanti.

Blocchi di attenzione multi-testa

Gli elementi fondamentali degli LLM basati su decodificatore sono livelli di attenzione multi-testa, che eseguono l'operazione di autoattenzione mascherata descritta in precedenza. Questi livelli vengono impilati più volte, ciascuno dei quali si occupa dell'output del livello precedente, consentendo al modello di catturare dipendenze e rappresentazioni sempre più complesse.

Capi di attenzione: ogni livello di attenzione multi-testa è costituito da più "teste di attenzione", ciascuna con il proprio set di proiezioni di query, chiavi e valori. Ciò consente al modello di occuparsi simultaneamente di diversi aspetti dell'input, catturando relazioni e modelli diversi.

Connessioni residue e normalizzazione degli strati: Per facilitare l'addestramento delle reti profonde e mitigare il problema del gradiente evanescente, gli LLM basati su decodificatore utilizzano connessioni residue e tecniche di normalizzazione dei livelli. Le connessioni residue aggiungono l'input di uno strato al suo output, consentendo ai gradienti di fluire più facilmente durante la backpropagation. La normalizzazione degli strati aiuta a stabilizzare le attivazioni e i gradienti, migliorando ulteriormente la stabilità e le prestazioni dell'allenamento.

Livelli feed-forward

Oltre ai livelli di attenzione multi-testa, gli LLM basati su decodificatore incorporano livelli feed-forward, che applicano una semplice rete neurale feed-forward a ciascuna 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 precedenti LLM si basavano sull'attivazione ReLU ampiamente utilizzata, i 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.

Poca attenzione e trasformatori efficienti

Sebbene il meccanismo di autoattenzione 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'autoattenzione, consentendo l'elaborazione efficiente di sequenze più lunghe.

scarsa attenzione: Le tecniche di attenzione sparsa, come quella impiegata nel modello GPT-3, si occupano selettivamente di un sottoinsieme di posizioni nella sequenza di input, piuttosto che calcolare i punteggi di attenzione per tutte le posizioni. Ciò può ridurre significativamente la complessità computazionale mantenendo prestazioni ragionevoli.

Attenzione alla finestra scorrevole: Introdotta nel modello Mistral 7B, la finestra scorrevole di attenzione (SWA) è una tecnica semplice ma efficace che limita la capacità di attenzione di ciascun token a una dimensione di finestra fissa. Questo approccio sfrutta la capacità degli strati trasformatori di trasmettere informazioni su più strati, aumentando efficacemente la capacità di attenzione senza la complessità quadratica della piena auto-attenzione.

Cache del buffer mobile: Per ridurre ulteriormente i requisiti di memoria, soprattutto per sequenze lunghe, il modello Mistral 7B utilizza una cache rolling buffer. Questa tecnica memorizza e riutilizza i vettori di chiave e valore calcolati per una dimensione di finestra fissa, evitando calcoli ridondanti e riducendo al minimo l'utilizzo della memoria.

Attenzione alle query raggruppate: Introdotto nel modello LLaMA 2, l'attenzione delle query raggruppate (GQA) è una variante del meccanismo di attenzione multi-query che divide i capi dell'attenzione in gruppi, ciascun gruppo condivide una chiave comune e una matrice di valori. Questo approccio raggiunge un equilibrio tra l'efficienza dell'attenzione multi-query e le prestazioni dell'autoattenzione standard, fornendo tempi di inferenza migliorati pur mantenendo risultati di alta qualità.

Attenzione alle query raggruppate

Attenzione alle query raggruppate

Dimensioni e ridimensionamento del modello

Una delle caratteristiche distintive dei moderni LLM è la loro vastità, con un numero di parametri che varia da miliardi a centinaia di miliardi. L’aumento delle dimensioni del modello è stato un fattore cruciale per ottenere prestazioni all’avanguardia, poiché modelli più grandi possono catturare modelli e relazioni più complessi nei dati.

Conteggio parametri: Il numero di parametri in un LLM basato su decodificatore è determinato principalmente dalla dimensione di incorporamento (d_model), dal numero di teste di attenzione (n_heads), dal numero di livelli (n_layers) e dalla dimensione del vocabolario (vocab_size). Ad esempio, il modello GPT-3 ha 175 miliardi di parametri, con d_modello = 12288, n_teste = 96, n_strati = 96e dimensione_vocab = 50257.

Parallelismo del modello: L’addestramento e l’implementazione di modelli così massicci richiedono notevoli risorse computazionali e hardware specializzato. Per superare questa sfida, sono state impiegate tecniche di parallelismo del modello, in cui il modello è suddiviso su più GPU o TPU, con ciascun dispositivo responsabile di una parte dei calcoli.

Miscela di esperti: Un altro approccio per scalare i LLM è l'architettura Mix-of-Experts (MoE), che combina più modelli esperti, ciascuno specializzato in un sottoinsieme specifico di dati o attività. Il modello Mixtral 8x7B è un esempio di modello MoE che sfrutta il Maestrale 7B come modello base, ottenendo prestazioni superiori mantenendo l'efficienza computazionale.

Inferenza e generazione di testo

Uno dei casi d'uso principali degli LLM basati su decodificatore è la generazione di testo, in cui il modello genera testo coerente e dal suono naturale in base a un determinato prompt o contesto.

Decodifica autoregressiva: Durante l'inferenza, gli LLM basati su decodificatore generano testo in modo autoregressivo, prevedendo un token alla volta in base ai token generati in precedenza e al prompt di input. Questo processo continua finché non viene soddisfatto un criterio di arresto predeterminato, come il raggiungimento della lunghezza massima della sequenza o la generazione di un token di fine sequenza.

Strategie di campionamento: Per generare testo diverso e realistico, è possibile impiegare varie strategie di campionamento, come il campionamento top-k, il campionamento top-p (noto anche come campionamento del nucleo) o il ridimensionamento della temperatura. Queste tecniche controllano il compromesso tra diversità e coerenza del testo generato regolando la distribuzione di probabilità sul vocabolario.

Ingegneria rapida: la qualità e la specificità della richiesta di input possono avere un impatto significativo sul testo generato. Il prompt engineering, l'arte di creare suggerimenti efficaci, è emerso come un aspetto cruciale nell'utilizzo degli LLM per vari compiti, consentendo agli utenti di guidare il processo di generazione del modello e ottenere i risultati desiderati.

Decodifica Human-in-the-Loop: per migliorare ulteriormente la qualità e la coerenza del testo generato, tecniche come Apprendimento di rinforzo dal feedback umano (RLHF) sono stati impiegati. In questo approccio, i valutatori umani forniscono feedback sul testo generato dal modello, che viene poi utilizzato per mettere a punto il modello, allineandolo efficacemente con le preferenze umane e migliorando i suoi risultati.

Progressi e direzioni future

Il campo dei LLM basati su decodificatore è in rapida evoluzione, con nuove ricerche e scoperte che spingono continuamente i confini di ciò che questi modelli possono ottenere. Ecco alcuni progressi degni di nota e potenziali direzioni future:

Varianti efficienti del trasformatore: Sebbene l'attenzione scarsa e l'attenzione a finestra scorrevole abbiano fatto passi da gigante nel miglioramento dell'efficienza degli LLM basati su decoder, i ricercatori stanno esplorando attivamente architetture di trasformatori e meccanismi di attenzione alternativi 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 quadro unificato. Ciò apre interessanti possibilità per applicazioni come la didascalia delle immagini, la risposta visiva alle domande e la generazione di contenuti multimediali.

Generazione controllabile: Abilitare un controllo capillare sul testo generato è una direzione impegnativa ma importante per i LLM. Tecniche come la generazione controllata del testo e la messa a punto rapida mirano a fornire agli utenti un controllo più granulare sui vari attributi del testo generato, come stile, tono o requisiti di contenuto specifici.

Conclusione

Gli LLM basati su decodificatori sono emersi come forza trasformativa nel campo dell'elaborazione del linguaggio naturale, ampliando 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 si sono evoluti in sistemi altamente sofisticati e potenti, sfruttando tecniche all'avanguardia e innovazioni architettoniche.

Mentre continuiamo a esplorare e far avanzare i LLM basati su decodificatori, possiamo aspettarci di assistere a risultati ancora più notevoli nelle attività legate al linguaggio, nonché all'integrazione di questi modelli in un'ampia gamma di applicazioni e domini. Tuttavia, è fondamentale affrontare le considerazioni etiche, le sfide di interpretabilità e i potenziali pregiudizi che possono derivare dall’impiego diffuso di questi potenti modelli.

Rimanendo in prima linea nella ricerca, promuovendo la collaborazione aperta e mantenendo un forte impegno per lo sviluppo responsabile dell'intelligenza artificiale, possiamo sbloccare l'intero potenziale degli LLM basati su decodificatori, garantendo al tempo stesso che siano sviluppati e utilizzati in modo sicuro, etico e vantaggioso per società.

Ho trascorso gli ultimi cinque anni immergendomi nell'affascinante mondo del Machine Learning e del Deep Learning. La mia passione e competenza mi hanno portato a contribuire a oltre 50 diversi progetti di ingegneria del software, con un focus particolare su AI/ML. La mia continua curiosità mi ha anche attirato verso l'elaborazione del linguaggio naturale, un campo che non vedo l'ora di esplorare ulteriormente.