Architetture LLM

From Systems analysis Wiki
Jump to navigation Jump to search

Le architetture dei modelli linguistici di grandi dimensioni (LLM) sono i principi fondamentali e le strutture che determinano come i grandi modelli linguistici vengono costruiti, addestrati e funzionano. Gli LLM moderni, capaci di comprendere e generare il linguaggio umano, si basano quasi interamente sull'architettura Transformer[1], ma includono numerosi miglioramenti e approcci diversi volti ad aumentare l'efficienza, la scalabilità e le capacità.

Famiglie di architetture LLM (transformer)

I moderni modelli linguistici di grandi dimensioni si basano sull'architettura transformer[1], ma la utilizzano in modi diversi a seconda dell'obiettivo: comprendere il testo, generare una continuazione o trasformare un testo in un altro. In pratica si distinguono tre famiglie, mantenendo i principi di base del transformer[2][3][4].

1. Encoder‑only (solo codificatore, solo encoder)

Il modello utilizza solo lo stack degli encoder e considera l'intero testo in ingresso in modo bidirezionale. Il pre-addestramento è solitamente strutturato come masked‑language modeling (MLM, modellazione linguistica con mascheramento): una parte dei token viene nascosta e il modello impara a ripristinarli dal contesto circostante. Grazie al contesto bidirezionale, questi modelli eccellono nei compiti di comprensione e scoring: classificazione, riconoscimento di entità, re-ranking di documenti e QA estrattivo. Non sono progettati per la generazione autoregressiva "da zero".

In pratica vengono applicati anche obiettivi di pre-addestramento alternativi per la famiglia encoder‑only: replaced token detection (RTD) in ELECTRA (il modello discriminatore riconosce i token sostituiti) e apprendimento contrastivo di bi-encoder per la ricerca semantica/retrieval (InfoNCE/softmax‑loss su coppie «query-documento», come in Dense Passage Retrieval). Quando utilizzati in RAG, gli encoder‑only fungono da bi-encoder (codifica separata di query e documento per una rapida ricerca ANN) oppure da cross-encoder (codifica congiunta della coppia per un re-ranking preciso).

Vantaggi:

  • Elevata qualità di comprensione del testo grazie al contesto bidirezionale: classificazione, NER, estrazione di fatti, re-ranking, QA estrattivo.
  • Elaborazione parallela e alta velocità di throughput: un singolo passaggio diretto senza auto-regressione; comodo per il batching di scoring massivo.
  • Integrazione naturale con la ricerca e RAG: nel ruolo di bi-encoder — ricerca semantica rapida; nel ruolo di cross-encoder — re-ranking preciso.
  • Adattamento efficiente: varianti relativamente compatte (≈100–300 milioni di parametri; BERT‑base ≈110 milioni) forniscono alta qualità dopo il fine-tuning mirato.
  • Latenza stabile, indipendente dalla lunghezza della risposta generata (nessuna decodifica passo-passo); adatti per lo scoring offline di grandi collezioni.
  • Possibilità di aumentare la finestra di contesto degli encoder tramite posizioni relative/rotazionali e/o attention sparse locale (es. Longformer/BigBird), utile per documenti lunghi.

Svantaggi:

  • Nessuna capacità generativa propria: per dialoghi e risposte articolate è necessario un decoder o un modulo generativo esterno.
  • Limitazioni negli scenari interattivi: nessuna generazione graduale con mantenimento dello stato.
  • Disallineamento tra l'obiettivo di pre-addestramento e i compiti di generazione libera: MLM si allinea peggio alla generazione rispetto alla modellazione causale.
  • Finestra di contesto storicamente limitata (spesso 512 token nelle configurazioni base con posizioni assolute); l'estensione richiede schemi speciali di posizione/attention e/o fine-tuning.
  • Per i compiti di retrieval è necessario un fine-tuning contrastivo separato del bi-encoder e/o cross-encoder; senza di esso la qualità di ricerca/re-ranking è di solito inferiore rispetto ai modelli appositamente addestrati.

Modelli rappresentativi: BERT e derivati, nonché RoBERTa e DeBERTa (varianti estese encoder‑only); tra gli obiettivi di pre-addestramento alternativi — ELECTRA (RTD). [5][6][7][8][9][10]

2. Decoder‑only (solo decodificatore, solo decoder)

Viene utilizzato solo lo stack dei decoder con attention causale (da sinistra a destra): il modello predice il token successivo dato un prefisso già fornito. Questa modalità di addestramento — causal language modeling (CLM) — rende questi modelli la scelta naturale per la generazione: dialoghi, risposte articolate, testo creativo, codice sorgente. Il compromesso è l'aumento della latenza e della dimensione della KV-cache con prompt lunghi. In pratica, per gli encoder decoder‑only vengono ampiamente utilizzate tecniche ingegneristiche: riduzione della KV-cache tramite MQA e GQA, accelerazione dell'inferenza tramite decodifica speculativa e ottimizzazioni server (PagedAttention/vLLM, continuous batching, chunked prefill).[11][12][13][14][15]

Vantaggi:

  • Generazione naturale di testo (CLM): forti capacità zero‑shot e few‑shot; scala bene.[16]
  • Versatilità di applicazione: un singolo modello risolve numerosi compiti tramite istruzioni ed esempi nel prompt; si combina naturalmente con RAG e il richiamo di strumenti (tool use).
  • Ecosistema maturo: pratiche di fine-tuning per istruzioni e allineamento del comportamento (RLHF, DPO); disponibili implementazioni open source e commerciali.[17][18]
  • Ampio stack di ottimizzazioni per l'inferenza: MQA/GQA riducono la dimensione della KV-cache e aumentano il throughput; la decodifica speculativa accelera l'inferenza senza modificare la distribuzione; PagedAttention/vLLM con continuous batching e chunked prefill aumentano l'utilizzo complessivo della GPU.[19][20][21][22][23]
  • Supporto per la generazione strutturata per formati di risposta rigidi (JSON/SQL/DSL), che semplifica l'integrazione con sistemi informativi e API.[24][25]

Svantaggi:

  • Maggiore latenza di generazione: inferenza sequenziale; il costo di un nuovo token cresce con la lunghezza del contesto già «letto» (KV-cache).
  • Meno vantaggioso nel profilo «input lungo – output corto» (riassunto, traduzione) rispetto all'encoder–decoder, dove l'input viene codificato una sola volta.
  • Limitazione al contesto unidirezionale: nei compiti di comprensione risulta talvolta inferiore ai modelli con rappresentazione bidirezionale (encoder‑only / encoder–decoder).
  • La memoria per la KV-cache può diventare un "collo di bottiglia" con prompt lunghi e batch grandi; [26]
  • La quantizzazione delle attivazioni/KV (INT8/FP8) accelera l'inferenza ma può peggiorare la qualità su contesti lunghi/codice; richiede una validazione accurata (specialmente con SLA rigidi).

Modelli rappresentativi: GPT‑3, GPT‑4 (i dettagli dell'architettura e del dataset non sono resi pubblici), LLaMA e Llama 3 (8B/70B, 2024).[27][28][29][30]

3. Encoder–decoder (codificatore–decodificatore, encoder-decoder)

L'architettura combina entrambi i componenti. L'encoder funziona in modalità bidirezionale, mentre il decoder funziona in modo causale. L'encoder analizza l'input una sola volta e forma la sua rappresentazione; il decoder genera l'output facendo riferimento a questa rappresentazione tramite cross‑attention. Questo approccio separato è particolarmente utile quando è necessario trasformare un lungo testo in input in un output breve: traduzione automatica, riassunto, risposte basate su documenti. Sebbene il metodo richieda maggiori costi computazionali complessivi (due stack e cross-attention), il suo vantaggio è una generazione controllata basata sull'analisi completa del testo sorgente; la codifica viene eseguita una sola volta e riutilizzata durante l'intero processo di inferenza.

Vantaggi:

  • Generazione condizionale: il decoder utilizza la cross-attention sulla rappresentazione dell'input. [31]
  • Efficiente nello scenario «input lungo → output breve»: l'input viene codificato una sola volta.
  • Comodo per il formato «text‑to‑text» e l'inferenza controllata (prefissi di compito, istruzioni speciali). [32]
  • Stabilità ed efficienza con sorgenti lunghe: nella fase di decodifica cresce solo la self-attention sull'output, mentre la cross-attention riutilizza chiavi/valori fissi dall'encoder (l'input non viene «riletto» ad ogni passo).

Svantaggi:

  • Due stack aumentano i requisiti di memoria e calcolo durante l'addestramento e l'utilizzo.
  • Su sequenze molto lunghe la latenza totale è comparabile al decoder‑only; l'auto-regressione rimane il collo di bottiglia.
  • Meno modelli chat universali rispetto al decoder‑only; utilizzati più spesso come motore seq2seq di alta qualità per compiti specifici.
  • Con input molto lunghi aumenta la memoria per le chiavi/valori di cross-attention in ogni layer del decoder (su tutta la sorgente), il che richiede un'attenta pianificazione del serving.

Modelli rappresentativi: T5 (inclusi T5 v1.1 e la pratica del fine-tuning per istruzioni in FLAN‑T5) e BART. [33][34][35]

Transformer densi (dense)

L'architettura LLM classica e più diffusa: nell'elaborazione di ogni token partecipa praticamente l'intero insieme dei parametri del modello. A differenza degli approcci sparsi (ad esempio, Mixture‑of‑Experts), non c'è attivazione selettiva delle sotto-reti — ogni blocco funziona per ogni token. [1]

Principio di funzionamento e architettura

Struttura di base. Il modello è uno stack di N blocchi transformer identici. Ogni blocco include:

  1. Attenzione multi-testa (Multi‑Head Self‑Attention). Per ogni token vengono calcolati tre vettori: Q (query), K (key), V (value); l'attenzione è definita come softmax(QK+Mdk)V, dove M è la maschera (causale e/o di padding) che esclude le posizioni non ammissibili. Diverse «teste» di attenzione considerano parallelamente aspetti diversi del contesto (H teste, solitamente dhead=dmodelH); il loro numero cresce con la scala del modello. [1]
  2. Rete fully-connected (Feed‑Forward Network, FFN). Due layer lineari con non-linearità tra di essi (solitamente GELU/SiLU; in alcuni modelli moderni — SwiGLU). La dimensione intermedia è solitamente 4dmodel; quando si usa SwiGLU spesso si prende 83dmodel per mantenere un numero comparabile di parametri. La FFN contiene una quota significativa dei parametri. [1][36]

Componenti aggiuntivi. Vengono utilizzate connessioni residuali e normalizzazione dei layer; nei moderni LLM viene più spesso applicato Pre‑LN (normalizzazione prima dei sotto-blocchi) — questo migliora la stabilità dell'addestramento su grandi profondità. Oltre alla classica LayerNorm viene sempre più utilizzata RMSNorm (riduce i costi computazionali e funziona bene nei modelli grandi); in alcune famiglie viene applicata anche la normalizzazione nello spazio dell'attenzione (es. normalizzazione Q/K prima del softmax). Le rappresentazioni posizionali possono essere assolute o relative; per i contesti lunghi RoPE è diventato lo standard de facto.

Esempi di modelli e scala
  • BERT‑Large: 24 layer, dimensione 1024, 16 teste di attenzione, ≈340 milioni di parametri. [37]
  • GPT‑3 (175B): 96 layer, dimensione 12288, 96 teste di attenzione, ≈175 miliardi di parametri. [38]
  • LLaMA‑65B: 80 layer, dimensione 8192, 64 teste di attenzione, ≈65 miliardi di parametri. [39]
  • PaLM‑540B: 118 layer, dimensione dell'ordine di 18432, ≈540 miliardi di parametri. [40]
Vantaggi
  • Blocchi uniformi, modalità di addestramento ben studiate e comportamento prevedibile nella scalabilità.
  • La qualità migliora in modo power-law con la crescita dei parametri e dei dati; il regime compute-optimal prevede l'incremento congiunto della dimensione del modello e del volume dei token di addestramento. [41][42]
  • La stessa architettura dopo il fine-tuning copre un ampio spettro di compiti senza modifiche a livello di layer.
Svantaggi
  • La self-attention completa ha complessità quadratica rispetto alla lunghezza della sequenza (O(n2)), il che limita la finestra di contesto. [1]
  • Attivazione completa dei parametri al passo di generazione: nel decoder senza MoE il costo dell'inferenza per token cresce approssimativamente in proporzione al numero di parametri.
  • Collo di bottiglia — larghezza di banda della memoria (memory‑bound): il caricamento dei pesi dalla HBM spesso limita la velocità di inferenza.
Limitazioni di scalabilità e contesto
  • La memoria per i parametri cresce linearmente con la dimensione del modello; la memoria di addestramento aumenta a causa dei gradienti e degli stati dell'ottimizzatore.
  • Le configurazioni base erano storicamente limitate a 2–4 mila token. I moderni schemi posizionali (RoPE) e le tecniche di estensione (Position Interpolation, YaRN, ecc.) consentono di aumentare la finestra di un ordine di grandezza e oltre, ma al costo di un carico computazionale/di memoria aggiuntivo. [43][44]

Ottimizzazioni moderne

  • FlashAttention. Attenzione esatta con considerazione della gerarchia di memoria della GPU; riduce i costi di memoria e accelera l'addestramento/inferenza su sequenze lunghe. [45]
  • Riduzione e gestione della KV-cache. Multi‑Query Attention e Grouped‑Query Attention riducono la dimensione della cache e il traffico di memoria; a livello server PagedAttention (vLLM) aumenta il throughput tramite la gestione paginata della cache. [46][47][48]
  • Decodifica speculativa. Un modello bozza (draft) propone una continuazione e il modello principale la verifica rapidamente; si ottiene un'accelerazione senza modificare la distribuzione dell'output. [49]

Modelli sparsi (Sparse Models) e Mixture‑of‑Experts (MoE)

MoE è un modo per aumentare la capacità del modello senza una crescita proporzionale dei calcoli per token. Invece di un unico grande blocco FFN nel layer, viene utilizzato un insieme di «esperti» paralleli (diversi FFN indipendenti), e una rete di routing apprendibile (gating network) per ogni token seleziona i top‑k esperti più rilevanti (solitamente k=1–2; in alcuni modelli k=4). Vengono attivati solo gli esperti selezionati; i loro output vengono pesati e sommati. Così il numero totale di parametri può essere centinaia di miliardi e persino trilioni, ma ad ogni passo viene utilizzata solo una piccola frazione. [50][51]

Esempi di modelli e scala

  • Switch Transformer (Google): fino a ~1.6T parametri; routing top‑1 (un esperto per token). Ha dimostrato che MoE consente di aumentare drasticamente la capacità con costi per token comparabili. [50]
  • GLaM (Google): 1.2T parametri, 64 esperti per layer, top‑2; per ogni token vengono attivati ≈96.6B parametri (≈8%). [51]
  • Mixtral 8×7B (Mistral AI): ~46.7B parametri totali, ≈12.9B attivi per token, top‑2. [52][53]
  • Mixtral 8×22B: ~141B parametri totali, ≈39B attivi per token, top‑2. [54]
  • DBRX (Databricks): 132B parametri totali, ≈36B attivi per token; 16 esperti e routing top‑4 (fine‑grained MoE). [55]
Vantaggi
  • Il costo computazionale è determinato dal numero di esperti attivi k, non dal numero totale di parametri: è possibile addestrare e utilizzare modelli su scala trilionaria con costi comparabili a modelli densi di dimensioni notevolmente inferiori. [51]
  • Specializzazione: gli esperti si «adattano» automaticamente a lingue/domini/pattern, migliorando la qualità nei compiti multi-dominio.
  • Distribuzione flessibile: è possibile mantenere in memoria gli esperti usati frequentemente e caricare quelli rari (con l'infrastruttura appropriata).
Limitazioni
  • Bilanciamento del carico: senza regolarizzazione il router può «bloccarsi» su alcuni esperti (router collapse). Sono necessarie auxiliary losses (load‑balancing) e schemi di routing migliorati. [50]
  • Complessità del calcolo distribuito: richiede expert parallelism e scambi all‑to‑all; i costi di comunicazione e la gestione della memoria diventano il collo di bottiglia. [56]
  • Stabilità dell'addestramento: importanti le impostazioni del router e dei vincoli di capacità (capacity), altrimenti sono possibili degradazioni della qualità/convergenza.

Miglioramenti moderni

  • Expert‑Choice routing: gli esperti «scelgono» i token, migliorando il bilanciamento e la convergenza con costi comparabili. [57]
  • Fine‑grained MoE: un maggior numero di esperti più piccoli (come in DBRX) fornisce una granularità fine della specializzazione. [55]
  • Sparse Upcycling: la conversione di un modello denso in MoE dal suo checkpoint consente di migliorare significativamente la qualità con costi moderati. [58]

Opportunità di applicazione di MoE

  • Assistenti multi-dominio su larga scala con budget computazionale limitato.
  • Addestramento su corpus estesi, dove la specializzazione porta vantaggi.
  • Scenari con infrastruttura distribuita avanzata (molte GPU/TPU e reti veloci).

Quando sono preferibili i modelli densi: infrastruttura limitata (1–2 GPU), requisiti rigidi di latenza prevedibile e semplicità di distribuzione.

Retrieval‑Augmented Generation (RAG)

RAG è un pattern architetturale di sistema attorno all'LLM, non un'architettura interna del modello stesso. Combina un LLM (componente generativo) con una base di conoscenza esterna (componente di recupero), il che consente di compensare i limiti della «memoria parametrica» del modello.

  • Principio di funzionamento: Prima della generazione, l'LLM recupera documenti rilevanti da una fonte esterna (wiki, knowledge base aziendale, web) e si basa su di essi per formulare la risposta. [59]
  • Vantaggi:
    • Riduzione delle allucinazioni e miglioramento dell'accuratezza fattuale. [59][60]
    • Aggiornamento senza il riaddestramento completo del modello. [59]
    • Citabilità e tracciabilità delle risposte.
  • Applicazione: Standard de facto per assistenti aziendali e sistemi in cui sono richiesti fatti verificabili e lavoro con dati privati/altamente specializzati. [59]

Meccanismi di attenzione e gestione del contesto

La self-attention di base ha complessità quadratica rispetto alla lunghezza della sequenza (O(n2)), pertanto sono state sviluppate ottimizzazioni.

  • Attenzione sparsa (Sparse Attention): Limitazione dell'attenzione a finestre/pattern locali. Esempi: Longformer[61], BigBird[62].
  • FlashAttention: Ristrutturazione dell'ordine dei calcoli tenendo conto della gerarchia di memoria della GPU; fornisce un significativo guadagno in termini di tempo e memoria ed è diventata lo standard de facto nell'addestramento di LLM con contesto lungo[63][64][65].
  • MQA/GQA (accelerazione della decodifica): Multi‑Query Attention (chiavi/valori condivisi per tutte le teste) riduce il traffico della KV-cache[66]. Grouped‑Query Attention bilancia qualità/velocità[67].
  • Rappresentazioni posizionali migliorate:
    • ALiBi (Attention with Linear Biases): Bias lineari ai punteggi di attenzione migliorano la generalizzazione a lunghezze maggiori. [68]
    • RoPE (Rotary Position Embeddings): Informazioni posizionali relative tramite rotazione di Q/K; ampiamente utilizzato nei modelli moderni (es. LLaMA). [69][70]
    • Estensione del contesto per modelli RoPE: Position Interpolation [71], YaRN [72], nonché le modifiche NTK-aware consentono di aumentare efficacemente la finestra di contesto senza modificare l'architettura.
  • Altri approcci per sequenze lunghe:
    • Transformer‑XL: memoria ricorrente tra segmenti per la modellazione di dipendenze a lungo raggio. [73]
    • Reformer: LSH‑attention e blocchi residuali reversibili per il risparmio di memoria. [74]
    • Performer: approssimazione lineare della softmax‑attention (FAVOR+). [75]
    • Linformer: approssimazione a basso rango della matrice di attenzione. [76]

Ottimizzazioni dei modelli e infrastruttura di addestramento

Per l'addestramento e il deployment degli LLM vengono utilizzate tecniche e framework specializzati.

  • Quantizzazione (Quantization): La riduzione della precisione dei pesi diminuisce la memoria e accelera l'inferenza. QLoRA consente il fine-tuning efficiente di modelli a 4 bit (inclusi 65B) con una qualità vicina alla piena precisione[77].
  • Distillazione della conoscenza (Knowledge Distillation): Addestramento Teacher→Student per modelli compatti[78]; esempio — DistilBERT[79].
  • Addestramento distribuito:
    • DeepSpeed e ZeRO — distribuzione di parametri/gradienti/stati dell'ottimizzatore per l'addestramento di modelli trilionari[80].
    • Megatron‑LM — parallelismo tensoriale e a pipeline per transformer di grandi dimensioni[81].
  • Ecosistema e strumenti: Hugging Face Transformers e Accelerate forniscono implementazioni standard dei modelli e integrazione con DeepSpeed/FSDP per addestramento e inferenza[82][83].

Leggi di scalabilità e addestramento compute‑optimal

Le leggi di scalabilità empiriche mostrano che l'errore di cross-entropia diminuisce secondo una legge di potenza con la crescita dei parametri, dei dati e dei calcoli. [84] Il lavoro Chinchilla ha precisato i regimi compute‑optimal: per un'efficienza ottimale, la dimensione del modello e il numero di token di addestramento devono essere scalati congiuntamente (esempio — un modello da 70B addestrato su ~1.4T token supera modelli più grandi ma sotto-addestrati). [85]

Modelli con spazio degli stati (State Space Models, SSM)

State Space Models (SSM) sono un'architettura alternativa ai transformer per lavorare con sequenze lunghe. Prende in prestito idee dalla teoria del controllo e dall'elaborazione digitale dei segnali e risolve il problema principale della self-attention: la crescita quadratica dei calcoli all'aumentare della lunghezza del testo.

Problema principale e soluzione

Il problema dei transformer. Il problema principale dei transformer tradizionali è la complessità quadratica dell'attenzione: un testo 10 volte più lungo richiede circa 100 volte più calcoli.

L'approccio SSM. Invece di «prestare attenzione a tutte le parole contemporaneamente», il modello percorre il testo in modo sequenziale e mantiene un compatto stato di memoria interno che viene aggiornato ad ogni passo. Di conseguenza il tempo e il consumo di memoria crescono approssimativamente in modo lineare con la lunghezza del testo. L'addestramento può essere eseguito in parallelo — tramite la rappresentazione convoluzionale del kernel (alta velocità di throughput su sequenze lunghe). [86]

Principio di funzionamento

Un SSM discreto è descritto dalle equazioni di stato e di uscita:

xt=Axt1+But,yt=Cxt+Dut

dove xt è lo stato di memoria, ut è l'input (token), yt è l'output. Negli SSM profondi le matrici A,B,C,D vengono parametrizzate in modo da garantire stabilità e calcoli efficienti su sequenze lunghe. Lo stesso layer può essere considerato:

  • ricorrente (scansione passo per passo) — inferenza efficiente in memoria senza KV-cache;
  • convoluzionale — addestramento parallelo con kernel pre-calcolato. [86]

Architetture principali e ibridi

  • S4 (Structured State Spaces). Linea di base SSM con parametrizzazione stabile della matrice di stato; dimostra efficienza su sequenze molto lunghe. [86]
  • Mamba. SSM selettivi: le regole di aggiornamento della memoria dipendono dall'input corrente (il modello decide autonomamente cosa «tenere in memoria» e cosa «dimenticare»). L'implementazione è orientata alla gerarchia di memoria della GPU; secondo gli autori, si ottiene un multiplo aumento del throughput di inferenza con complessità lineare rispetto alla lunghezza. [87]
  • RetNet. Meccanismo di retention con tre modalità: addestramento parallelo, inferenza ricorrente e block-ricorrente. L'obiettivo è combinare addestramento rapido (come nei transformer) con un flusso economico in inferenza (memoria O(1) per token). [88]
  • Ibridi Attention+SSM. Esempio — Jamba (alternanza di layer Transformer e Mamba più MoE): riporta il supporto di contesti dell'ordine di ~256 K token con un requisito di memoria significativamente inferiore rispetto a modelli puramente transformer di classe simile. [89]

Vantaggi

  • Complessità lineare e risparmio di memoria in inferenza. Nessuna self-attention globale e KV-cache; viene conservato solo uno stato compatto. [87][88]
  • Addestramento parallelo su sequenze lunghe. La modalità convoluzionale aumenta il throughput di addestramento. [86]
  • Efficienza hardware. Le implementazioni sono orientate alla moderna gerarchia di memoria (HBM/SRAM). [87]
  • Contesti lunghi e streaming. Gli ibridi SSM+Attention sono pratici per centinaia di migliaia di token con risorse moderate. [89]

Limitazioni e pratica corrente

  • Maturità dell'ecosistema. Gli strumenti e le «ricette» di scalabilità (istruzioni, RLHF/DPO) sono ancora inferiori allo stack dei transformer. [87]
  • Qualità e stabilità. In alcuni compiti gli ibridi (Attention+SSM) mostrano un compromesso «qualità/velocità/memoria» più stabile rispetto agli SSM «puri». [89]

Confronto degli approcci (sommario)

Caratteristica Transformer SSM Ibridi (Attention+SSM)
Complessità rispetto alla lunghezza Quadratica (self‑attention) Lineare (scan/convoluzione) Vicina alla lineare
Memoria per token (inferenza) KV-cache cresce con il contesto Stato O(1) Crescita moderata
Contesti lunghi Richiedono ottimizzazioni speciali Supporto naturale Pratici fino a ~256 K
Maturità dell'ecosistema Alta In sviluppo In sviluppo

Applicazioni pratiche

  • Analisi di documenti molto lunghi (libri, report, rassegne scientifiche).
  • Elaborazione in streaming e scenari chat con lunga cronologia senza aumento dei costi di memoria.
  • Ambienti con risorse limitate (dispositivi mobili/edge).
  • Serie temporali e altri dati sequenziali.

Modelli rappresentativi: S4, Mamba, RetNet; ibridi Attention+SSM (Jamba). [86][87][88][89]

Evoluzione delle architetture

  • 2017 — pubblicato l'articolo «Attention Is All You Need». Presentata l'architettura transformer: la self-attention multi-testa e le codifiche posizionali consentono di addestrare modelli senza ricorrenza e convoluzioni; tuttavia l'attenzione ha complessità quadratica rispetto alla lunghezza del contesto.[1]
  • 2018 — presentati GPT‑1 e BERT. GPT‑1 utilizza uno stack solo decoder con attention causale per la generazione e il successivo fine-tuning; BERT introduce un encoder bidirezionale e il pre-addestramento MLM per i compiti di comprensione del testo. [90][91]
  • 2019 — proposti metodi per lavorare con sequenze lunghe e scalato il decoder-only. Transformer‑XL aggiunge «memoria» e posizioni relative per superare la finestra fissa; GPT‑2 mostra la crescita delle capacità zero-shot con l'aumento della scala; BART dimostra l'efficacia del pre-addestramento con denoising per seq2seq. [92][93][94]
  • 2020 — unificato il formato «text‑to‑text» e mostrati metodi per documenti lunghi. T5 formula un approccio unificato encoder–decoder per diversi compiti; Longformer e BigBird utilizzano l'attention sparsa/strutturata per testi lunghi; GPT‑3 conferma l'efficacia della scalabilità del decoder‑only denso. [95][96][97][98]
  • 2021 — migliorate le rappresentazioni posizionali e mostrata la sparsità dei parametri (MoE). RoPE e ALiBi migliorano la generalizzazione su lunghezze maggiori; Switch Transformer e GLaM attivano solo una parte degli esperti per token, aumentando la capacità senza un aumento proporzionale del costo di inferenza. [99][100][101][102]
  • 2022 — precisato il regime compute‑optimal e accelerata l'inferenza su prompt lunghi. Chinchilla mostra il vantaggio di un maggiore numero di token di addestramento con una dimensione del modello moderata; PaLM con Multi‑Query Attention riduce la dimensione della KV-cache; FlashAttention accelera l'attenzione sulla GPU. [103][104][105][106]
  • 2023 — aumentate le finestre di contesto senza modificare i layer e migliorato il serving. La famiglia LLaMA consolida le pratiche (RMSNorm, SwiGLU, RoPE); Position Interpolation e YaRN estendono il contesto; vLLM/PagedAttention gestisce più efficacemente la KV-cache. [107][108][109][110][111][112]
  • 2023 — GPT‑4 e Gemini mostrano elaborazione e generazione in più modalità all'interno di una stessa famiglia di modelli. [113][114]
  • 2023 — proposti modelli con spazio degli stati (SSM). Mamba e RetNet reintroducono l'elaborazione sequenziale con stato compatto al posto della KV-cache e pongono le basi per architetture ibride. [115][116]
  • 2024 — pubblicati modelli MoE open source e ibridi Attention+SSM; accelerata l'attenzione sulle nuove GPU. Mixtral 8×7B/8×22B e DBRX confermano la praticità di MoE; Jamba combina Transformer e Mamba per contesti molto lunghi; FlashAttention‑3 aumenta il throughput. [117][118][119][120][121]

Riferimenti

Bibliografia

Note

  1. 1.0 1.1 1.2 1.3 1.4 1.5 1.6 Vaswani, A. et al. (2017). Attention Is All You Need. https://arxiv.org/abs/1706.03762
  2. Devlin, J. et al. (2019). BERT. https://arxiv.org/abs/1810.04805
  3. Brown, T. et al. (2020). Language Models are Few‑Shot Learners. https://arxiv.org/abs/2005.14165
  4. Raffel, C. et al. (2020). T5. https://jmlr.org/papers/volume21/20-074/20-074.pdf
  5. Devlin, J. et al. (2019). BERT: Pre‑training of Deep Bidirectional Transformers for Language Understanding. https://arxiv.org/abs/1810.04805
  6. Liu, Y. et al. (2019). RoBERTa: A Robustly Optimized BERT Pretraining Approach. https://arxiv.org/abs/1907.11692
  7. He, P. et al. (2021). DeBERTa: Decoding‑enhanced BERT with Disentangled Attention. https://arxiv.org/abs/2006.03654
  8. Clark, K. et al. (2020). ELECTRA: Pre‑training Text Encoders as Discriminators Rather Than Generators. https://arxiv.org/abs/2003.10555
  9. Zaheer, M. et al. (2020). Big Bird: Transformers for Longer Sequences. https://arxiv.org/abs/2007.14062
  10. Beltagy, I. et al. (2020). Longformer: The Long‑Document Transformer. https://arxiv.org/abs/2004.05150
  11. Shazeer, N. (2019). Fast Transformer Decoding: One Write‑Head is All You Need (Multi‑Query Attention). https://arxiv.org/abs/1911.02150
  12. Ainslie, J. et al. (2023). GQA: Training Generalized Multi‑Query Transformer Models from Multi‑Head Checkpoints. https://arxiv.org/abs/2305.13245
  13. Leviathan, Y. et al. (2023). Fast Inference from Transformers via Speculative Decoding. https://arxiv.org/abs/2211.17192
  14. Kwon, W. et al. (2023). Efficient Memory Management for LLM Serving with PagedAttention (vLLM). https://arxiv.org/abs/2309.06180
  15. vLLM Docs (2024–2025). Continuous batching, Chunked prefill, Structured outputs. https://docs.vllm.ai/
  16. Brown, T. et al. (2020). Language Models are Few‑Shot Learners. https://arxiv.org/abs/2005.14165
  17. Ouyang, L. et al. (2022). InstructGPT (RLHF). https://arxiv.org/abs/2203.02155
  18. Rafailov, R. et al. (2023). Direct Preference Optimization. https://arxiv.org/abs/2305.18290
  19. Shazeer, 2019. https://arxiv.org/abs/1911.02150
  20. Ainslie, 2023. https://arxiv.org/abs/2305.13245
  21. Leviathan, 2023. https://arxiv.org/abs/2211.17192
  22. Kwon, 2023. https://arxiv.org/abs/2309.06180
  23. vLLM Docs. https://docs.vllm.ai/
  24. OpenAI (2024). Structured Outputs. https://openai.com/index/introducing-structured-outputs-in-the-api/
  25. vLLM Docs — Structured outputs. https://docs.vllm.ai/en/v0.9.2/features/structured_outputs.html
  26. Kwon, 2023. https://arxiv.org/abs/2309.06180
  27. Brown, T. et al. (2020). Language Models are Few‑Shot Learners. https://arxiv.org/abs/2005.14165
  28. Touvron, H. et al. (2023). LLaMA: Open and Efficient Foundation Language Models. https://arxiv.org/abs/2302.13971
  29. Achiam, J. et al. (2023). GPT‑4 Technical Report. https://arxiv.org/abs/2303.08774
  30. Meta AI (2024). Introducing Meta Llama 3. https://ai.meta.com/blog/meta-llama-3/
  31. Raffel, C. et al. (2020). Exploring the Limits of Transfer Learning with a Unified Text‑to‑Text Transformer (T5). JMLR. https://jmlr.org/papers/volume21/20-074/20-074.pdf
  32. Lewis, M. et al. (2019). BART: Denoising Sequence‑to‑Sequence Pre‑training. https://arxiv.org/abs/1910.13461
  33. Raffel, C. et al. (2020). Exploring the Limits of Transfer Learning with a Unified Text‑to‑Text Transformer. JMLR. https://jmlr.org/papers/volume21/20-074/20-074.pdf
  34. Lewis, M. et al. (2019). BART: Denoising Sequence‑to‑Sequence Pre‑training for NLG, Translation, and Comprehension. https://arxiv.org/abs/1910.13461
  35. Chung, H. W. et al. (2022). Scaling Instruction‑Finetuned Language Models (FLAN‑T5). https://arxiv.org/abs/2210.11416
  36. Shazeer, N. (2020). GLU Variants Improve Transformer. https://arxiv.org/abs/2002.05202
  37. Devlin, J. et al. (2019). BERT: Pre‑training of Deep Bidirectional Transformers for Language Understanding. https://arxiv.org/abs/1810.04805
  38. Brown, T. et al. (2020). Language Models are Few‑Shot Learners. https://arxiv.org/abs/2005.14165
  39. Touvron, H. et al. (2023). LLaMA: Open and Efficient Foundation Language Models. https://arxiv.org/abs/2302.13971
  40. Chowdhery, A. et al. (2022). PaLM: Scaling Language Modeling with Pathways. https://arxiv.org/abs/2204.02311
  41. Kaplan, J. et al. (2020). Scaling Laws for Neural Language Models. https://arxiv.org/abs/2001.08361
  42. Hoffmann, J. et al. (2022). Training Compute‑Optimal Large Language Models. https://arxiv.org/abs/2203.15556
  43. Chen, S. et al. (2023). Extending Context Window via Positional Interpolation. https://arxiv.org/abs/2306.15595
  44. Peng, B. et al. (2023). YaRN: Efficient Context Window Extension of LLMs. https://arxiv.org/abs/2309.00071
  45. Dao, T. et al. (2022–2024). FlashAttention (1/2/3). https://arxiv.org/abs/2205.14135 ; https://arxiv.org/abs/2307.08691 ; https://arxiv.org/abs/2407.08608
  46. Shazeer, N. (2019). Fast Transformer Decoding: One Write‑Head is All You Need. https://arxiv.org/abs/1911.02150
  47. Ainslie, J. et al. (2023). GQA. https://arxiv.org/abs/2305.13245
  48. Kwon, W. et al. (2023). Efficient Memory Management for LLM Serving with PagedAttention. https://arxiv.org/abs/2309.06180
  49. Leviathan, Y. et al. (2023). Fast Inference from Transformers via Speculative Decoding. https://arxiv.org/abs/2211.17192
  50. 50.0 50.1 50.2 Fedus, W.; Zoph, B.; Shazeer, N. (2021/2022). Switch Transformers. https://arxiv.org/abs/2101.03961
  51. 51.0 51.1 51.2 Du, N. et al. (2021). GLaM: Efficient Scaling of Language Models with Mixture‑of‑Experts. https://arxiv.org/pdf/2112.06905.pdf
  52. Mistral AI (2023). Mixtral of Experts. https://mistral.ai/news/mixtral-of-experts/
  53. Jiang, A.Q. et al. (2024). Mixtral of Experts. https://arxiv.org/abs/2401.04088
  54. Mistral AI (2024). Mixtral 8x22B. https://mistral.ai/news/mixtral-8x22b
  55. 55.0 55.1 Databricks (2024). Introducing DBRX. https://www.databricks.com/blog/introducing-dbrx-new-state-art-open-llm
  56. NVIDIA (2024). Applying Mixture of Experts in LLM Architectures. https://developer.nvidia.com/blog/applying-mixture-of-experts-in-llm-architectures/
  57. Zhou, Y. et al. (2022). Mixture‑of‑Experts with Expert Choice Routing. https://arxiv.org/abs/2202.09368
  58. Komatsuzaki, A. et al. (2022). Sparse Upcycling: Training Mixture‑of‑Experts from Dense Checkpoints. https://arxiv.org/abs/2212.05055
  59. 59.0 59.1 59.2 59.3 Lewis, P. et al. (2020). Retrieval‑Augmented Generation for Knowledge‑Intensive NLP Tasks. https://arxiv.org/abs/2005.11401
  60. NVIDIA Blog (2025). What is Retrieval‑Augmented Generation (RAG). https://blogs.nvidia.com/blog/what-is-retrieval-augmented-generation/
  61. Beltagy, I. et al. (2020). Longformer. https://arxiv.org/abs/2004.05150
  62. Zaheer, M. et al. (2020). Big Bird. https://arxiv.org/abs/2007.14062
  63. Dao, T. et al. (2022). FlashAttention. https://arxiv.org/abs/2205.14135
  64. Dao, T. et al. (2023). FlashAttention‑2. https://arxiv.org/abs/2307.08691
  65. Shah, M. et al. (2024). FlashAttention‑3. https://arxiv.org/abs/2407.08608
  66. Shazeer, N. (2019). Fast Transformer Decoding: One Write‑Head is All You Need. https://arxiv.org/abs/1911.02150
  67. Ainslie, J. et al. (2023). GQA. https://arxiv.org/abs/2305.13245
  68. Press, O. et al. (2022). ALiBi. https://arxiv.org/abs/2108.12409
  69. Su, J. et al. (2021). RoFormer: Rotary Position Embedding. https://arxiv.org/abs/2104.09864
  70. Touvron, H. et al. (2023). LLaMA: Open and Efficient Foundation Language Models. https://arxiv.org/abs/2302.13971
  71. Chen, S. et al. (2023). Extending Context Window via Positional Interpolation. https://arxiv.org/abs/2306.15595
  72. Peng, B. et al. (2023). YaRN: Efficient Context Window Extension of LLMs. https://arxiv.org/abs/2309.00071
  73. Dai, Z. et al. (2019). Transformer‑XL: Attentive Language Models Beyond a Fixed‑Length Context. https://arxiv.org/abs/1901.02860
  74. Kitaev, N.; Kaiser, L.; Levskaya, A. (2020). Reformer: The Efficient Transformer. https://arxiv.org/abs/2001.04451
  75. Choromanski, K. et al. (2021). Rethinking Attention with Performers. https://arxiv.org/abs/2009.14794
  76. Wang, S. et al. (2020). Linformer: Self‑Attention with Linear Complexity. https://arxiv.org/abs/2006.04768
  77. Dettmers, T. et al. (2023). QLoRA: Efficient Finetuning of Quantized LLMs. https://arxiv.org/abs/2305.14314
  78. Hinton, G. et al. (2015). Distilling the Knowledge in a Neural Network. https://arxiv.org/abs/1503.02531
  79. Sanh, V. et al. (2019). DistilBERT. https://arxiv.org/abs/1910.01108
  80. Rajbhandari, S. et al. (2020). ZeRO: Memory Optimizations Toward Training Trillion‑Parameter Models. https://www.microsoft.com/en-us/research/publication/zero-memory-optimizations-toward-training-trillion-parameter-models/
  81. Shoeybi, M. et al. (2019). Megatron‑LM: Training Multi‑Billion Parameter Language Models Using Model Parallelism. https://arxiv.org/abs/1909.08053
  82. Hugging Face. Transformers Documentation. https://huggingface.co/docs/transformers
  83. Hugging Face. Accelerate Documentation. https://huggingface.co/docs/accelerate
  84. Kaplan, J. et al. (2020). Scaling Laws for Neural Language Models. https://arxiv.org/abs/2001.08361
  85. Hoffmann, J. et al. (2022). Training Compute‑Optimal Large Language Models. https://arxiv.org/abs/2203.15556
  86. 86.0 86.1 86.2 86.3 86.4 Gu, A.; Goel, K.; Ré, C. (2021). Efficiently Modeling Long Sequences with Structured State Spaces (S4). https://arxiv.org/abs/2111.00396
  87. 87.0 87.1 87.2 87.3 87.4 Gu, A.; Dao, T. (2023/2024). Mamba: Linear‑Time Sequence Modeling with Selective State Spaces. https://arxiv.org/abs/2312.00752
  88. 88.0 88.1 88.2 Sun, Y. et al. (2023). Retentive Network: A Successor to Transformer for Large Language Models. https://arxiv.org/abs/2307.08621
  89. 89.0 89.1 89.2 89.3 Lieber, O. et al. (2024). Jamba: A Hybrid Transformer‑Mamba Language Model. https://arxiv.org/abs/2403.19887
  90. Radford, A. et al. (2018). Improving Language Understanding by Generative Pre‑Training. https://cdn.openai.com/research-covers/language-unsupervised/language_understanding_paper.pdf
  91. Devlin, J. et al. (2019). BERT: Pre‑training of Deep Bidirectional Transformers for Language Understanding. https://arxiv.org/abs/1810.04805
  92. Dai, Z. et al. (2019). Transformer‑XL. https://arxiv.org/abs/1901.02860
  93. Radford, A. et al. (2019). Language Models are Unsupervised Multitask Learners. https://cdn.openai.com/better-language-models/language_models_are_unsupervised_multitask_learners.pdf
  94. Lewis, M. et al. (2019). BART. https://arxiv.org/abs/1910.13461
  95. Raffel, C. et al. (2020). T5. https://jmlr.org/papers/volume21/20-074/20-074.pdf
  96. Beltagy, I. et al. (2020). Longformer. https://arxiv.org/abs/2004.05150
  97. Zaheer, M. et al. (2020). BigBird. https://arxiv.org/abs/2007.14062
  98. Brown, T. et al. (2020). Language Models are Few‑Shot Learners. https://arxiv.org/abs/2005.14165
  99. Su, J. et al. (2021). RoPE. https://arxiv.org/abs/2104.09864
  100. Press, O. et al. (2021/2022). ALiBi. https://arxiv.org/abs/2108.12409
  101. Fedus, W.; Zoph, B.; Shazeer, N. (2021/2022). Switch Transformers. https://arxiv.org/abs/2101.03961
  102. Du, N. et al. (2021). GLaM. https://arxiv.org/pdf/2112.06905.pdf
  103. Hoffmann, J. et al. (2022). Chinchilla. https://arxiv.org/abs/2203.15556
  104. Chowdhery, A. et al. (2022). PaLM. https://arxiv.org/abs/2204.02311
  105. Shazeer, N. (2019). Fast Transformer Decoding. https://arxiv.org/abs/1911.02150
  106. Dao, T. et al. (2022). FlashAttention. https://arxiv.org/abs/2205.14135
  107. Touvron, H. et al. (2023). LLaMA. https://arxiv.org/abs/2302.13971
  108. Zhang, B.; Sennrich, R. (2019). RMSNorm. https://arxiv.org/abs/1910.07467
  109. Shazeer, N. (2020). GLU Variants. https://arxiv.org/abs/2002.05202
  110. Chen, S. et al. (2023). Position Interpolation. https://arxiv.org/abs/2306.15595
  111. Peng, B. et al. (2023). YaRN. https://arxiv.org/abs/2309.00071
  112. Kwon, W. et al. (2023). vLLM/PagedAttention. https://arxiv.org/abs/2309.06180
  113. OpenAI (2023). GPT‑4 Technical Report. https://arxiv.org/abs/2303.08774
  114. Gemini Team (2023). Gemini. https://arxiv.org/abs/2312.11805
  115. Gu, A.; Dao, T. (2023). Mamba. https://arxiv.org/abs/2312.00752
  116. Sun, Y. et al. (2023). RetNet. https://arxiv.org/abs/2307.08621
  117. Jiang, A.Q. et al. (2024). Mixtral of Experts. https://arxiv.org/abs/2401.04088
  118. Mistral AI (2024). Mixtral 8x22B. https://mistral.ai/news/mixtral-8x22b
  119. Databricks (2024). Introducing DBRX. https://www.databricks.com/blog/introducing-dbrx-new-state-art-open-llm
  120. Lieber, O. et al. (2024). Jamba. https://arxiv.org/abs/2403.19887
  121. Shah, M. et al. (2024). FlashAttention‑3. https://arxiv.org/abs/2407.08608