01Che cosa c'era prima, e dove si fermava
Fino al 2016 la traduzione automatica di Google girava su reti ricorrenti. Il sistema descritto in arXiv:1609.08144, depositato il 26 settembre 2016 da Yonghui Wu, Mike Schuster, Zhifeng Chen e altri, ha otto strati di LSTM nell'encoder e otto nel decoder, con attention e connessioni residue, e riduce in media del 60% gli errori di traduzione rispetto al sistema a frasi che Google aveva in produzione. Il limite di quell'architettura stava nel modo in cui leggeva.
Una parola alla volta
Una rete ricorrente legge il primo token, aggiorna uno stato interno, legge il secondo, aggiorna di nuovo. Per una frase di cento token servono cento passi in fila, e un passo non parte prima che finisca il precedente. Su una GPU, che è una macchina costruita per fare migliaia di conti nello stesso istante, quel vincolo lascia fermo quasi tutto il silicio.
Il secondo problema è il segnale di errore che si attenua andando all'indietro lungo i passi. Le LSTM di Sepp Hochreiter e Jürgen Schmidhuber (Long Short-Term Memory, Neural Computation 9(8):1735‑1780, 1997) lo affrontano con cancelli moltiplicativi e un percorso a errore costante, e il paper dichiara di riuscire a colmare ritardi temporali minimi superiori a 1000 passi discreti. Mille passi bastano per un paragrafo lungo. Un documento ne chiede molti di più.
Il primo attention arriva nel 2014
Dzmitry Bahdanau, Kyunghyun Cho e Yoshua Bengio depositano il 1° settembre 2014 Neural Machine Translation by Jointly Learning to Align and Translate (arXiv:1409.0473). La loro tesi sta nell'abstract: il vettore di lunghezza fissa in cui l'encoder comprime la frase di partenza è il collo di bottiglia dell'architettura encoder-decoder. Al suo posto il decoder cerca da sé, con una ricerca morbida, i pezzi della frase di partenza rilevanti per la parola che sta per produrre.
L'attention nasce lì, come aggiunta a una rete ricorrente. Il 2017 toglie la rete ricorrente e tiene l'aggiunta.
0212 giugno 2017: 28,4 BLEU e 12 ore di addestramento
Ashish Vaswani, Noam Shazeer, Niki Parmar, Jakob Uszkoreit, Llion Jones, Aidan N. Gomez, Lukasz Kaiser e Illia Polosukhin depositano Attention Is All You Need il 12 giugno 2017 (arXiv:1706.03762). L'abstract annuncia un'architettura «basata unicamente su meccanismi di attenzione, che fa a meno di ricorrenza e convoluzioni del tutto».
Il paper propone due modelli, e le loro cifre stanno nelle tabelle 2 e 3.
| Grandezza | Transformer base | Transformer big |
|---|---|---|
| Strati (N) | 6 | 6 |
| Dimensione del modello (dmodel) | 512 | 1024 |
| Teste di attenzione (h) | 8 | 16 |
| Dimensione di key e value | 64 | 64 |
| Parametri | 65 milioni | 213 milioni |
| BLEU WMT 2014 inglese-tedesco | 27,3 | 28,4 |
| BLEU WMT 2014 inglese-francese | 38,1 | 41,8 |
| Costo di addestramento (FLOP, EN-DE) | 3,3 × 1018 | 2,3 × 1019 |
| Addestramento su 8 GPU NVIDIA P100 | 100.000 passi, 12 ore | 300.000 passi, 3,5 giorni |
I 28,4 BLEU superano di oltre 2 punti il miglior risultato noto allora, compresi gli insiemi di più modelli messi insieme. I 41,8 sull'inglese-francese sono il migliore punteggio di un modello singolo, e gli autori scrivono di averli ottenuti a «una piccola frazione dei costi di addestramento» dei lavori precedenti.
Il numero che ha spostato il campo è però il penultimo della tabella: 12 ore. Un modello base si addestrava in mezza giornata su otto schede del 2016, perché tutti i token di una sequenza attraversano l'attention nello stesso momento invece che uno dopo l'altro.
Che cos'è il BLEU
BLEU confronta una traduzione automatica con una o più traduzioni umane di riferimento e conta le sequenze di parole in comune, penalizzando le uscite troppo corte. Va da 0 a 100 e serve a confrontare sistemi sullo stesso insieme di frasi. Non misura se una traduzione è comprensibile a un lettore: misura la sovrapposizione con il riferimento.
03Query, key, value: il calcolo in quattro passi
Ogni token produce tre vettori attraverso tre proiezioni lineari distinte: una query, una key e un value. Nel modello base le key e i value hanno 64 dimensioni, contro le 512 del modello.
- Similarità. Per ogni query si calcola il prodotto scalare con tutte le key della sequenza. Il prodotto scalare cresce quando due vettori puntano nella stessa direzione.
- Scala. I prodotti scalari si dividono per la radice quadrata della dimensione delle key, cioè per 8 nel modello base. Il paper motiva il passaggio: con key grandi i prodotti scalari crescono in modulo e spingono la softmax in regioni dove il gradiente è minuscolo.
- Softmax. I punteggi scalati diventano numeri fra 0 e 1 che sommano a 1. Sono i pesi di attenzione.
- Media pesata. I pesi si applicano ai value e il risultato è un vettore nuovo per quel token.
In formula: Attention(Q, K, V) = softmax(QKᵀ / √dk) · V, con Q le query, K le key, V i value e dk la dimensione delle key.
Self-attention
Nella self-attention query, key e value nascono tutti dalla stessa sequenza. Nella frase «il gatto si sedette sul tappeto perché era stanco», il token «era» confronta la propria query con le key di tutte le altre parole, e i pesi più alti cadono su «gatto» invece che su «tappeto». Nel decoder del Transformer la stessa operazione viene mascherata: un token non può guardare quelli che vengono dopo, altrimenti in addestramento leggerebbe la risposta.
Il conto costa n² prodotti scalari per ogni testa e per ogni strato, con n la lunghezza della sequenza. Quel quadrato torna nella sezione 07 e decide quanto testo un modello riesce a tenere davanti.
In sintesi
- Ogni token produce query, key e value con tre proiezioni lineari diverse.
- Il punteggio è un prodotto scalare diviso per √dk, normalizzato con la softmax.
- Nel modello base del 2017 dk vale 64, quindi il divisore è 8.
- La self-attention prende Q, K e V dalla stessa sequenza; nel decoder è mascherata in avanti.
04Otto teste, e quante se ne tolgono senza perdere niente
Il modello base del 2017 usa 8 teste da 64 dimensioni, il modello big ne usa 16 sempre da 64. Ogni testa proietta Q, K e V in uno spazio più piccolo, calcola la sua attenzione, e alla fine i risultati si concatenano e passano per un'ultima proiezione. A parità di dimensione del modello il costo complessivo resta vicino a quello di una testa sola larga.
L'argomento a favore è che teste diverse possono cogliere relazioni diverse. Quante ne servano davvero è stato misurato.
Il 20% e il 40% di teste che si tolgono
Paul Michel, Omer Levy e Graham Neubig, in un lavoro depositato il 25 maggio 2019 e presentato a NeurIPS (arXiv:1905.10650), tolgono le teste una alla volta da un Transformer di traduzione: su 96 teste, solo 8 spostano le prestazioni oltre la soglia statistica. Con una potatura iterativa arrivano a togliere il 20% delle teste dal modello di traduzione e il 40% da BERT senza impatto negativo percepibile; su SST-2 arrivano al 60%, su CoLA e MRPC al 50%.
Oltre quelle soglie le prestazioni crollano di colpo, e nessuno dei due modelli scende a una testa sola senza riaddestramento o perdite sostanziali. Il titolo del paper, Are Sixteen Heads Really Better than One?, ha quindi due risposte: sedici sono più di una, e sono anche più del necessario.
Le mappe di attenzione non sono una spiegazione
Sarthak Jain e Byron C. Wallace, a NAACL 2019 (arXiv:1902.10186), mostrano due cose sui pesi di attenzione: correlano poco con le misure di importanza calcolate dal gradiente, e distribuzioni di attenzione molto diverse fra loro producono la stessa identica previsione. La loro conclusione è che i moduli di attenzione standard «non forniscono spiegazioni sensate e non vanno trattati come se lo facessero».
Le immagini colorate che mostrano a quali parole il modello «guarda» descrivono un calcolo interno. La ragione di una risposta sta altrove, e va cercata con altri strumenti.
05Sei strati, e il resto del blocco
Il Transformer del 2017 ha un encoder di sei strati e un decoder di sei strati. L'encoder trasforma la frase in ingresso in una sequenza di vettori contestuali; il decoder produce l'uscita un token alla volta, usando la self-attention mascherata sulla parte già generata e una cross-attention verso l'encoder.
I modelli che sono venuti dopo hanno quasi sempre tenuto metà di quello schema. GPT usa il solo decoder. BERT usa il solo encoder: Jacob Devlin, Ming-Wei Chang, Kenton Lee e Kristina Toutanova lo depositano l'11 ottobre 2018 (arXiv:1810.04805) e dichiarano 80,5% su GLUE con 7,7 punti di guadagno, 86,7% su MultiNLI con 4,6 punti, F1 93,2 su SQuAD 1.1 e 83,1 su SQuAD 2.0.
Positional encoding: l'ordine va aggiunto a parte
L'attention tratta la sequenza come un insieme: senza un'informazione in più, «il gatto insegue il topo» e «il topo insegue il gatto» le arrivano identiche. Il paper del 2017 aggiunge a ogni token un codice di posizione costruito con funzioni seno e coseno a frequenze diverse.
Due varianti hanno poi preso il posto di quel codice. RoPE (Jianlin Su e colleghi, 20 aprile 2021, arXiv:2104.09864) scrive la posizione come una rotazione, portando la distanza relativa dentro alla formula della self-attention. ALiBi (Ofir Press, Noah A. Smith e Mike Lewis, 27 agosto 2021, arXiv:2108.12409) somma ai punteggi una penalità proporzionale alla distanza: un modello da 1,3 miliardi di parametri addestrato su sequenze da 1024 token lavora su sequenze da 2048 con la stessa perplessità di un modello addestrato direttamente a quella lunghezza, con l'11% di tempo e l'11% di memoria in meno.
Gli altri pezzi del blocco
- Feed-forward network. Una piccola rete applicata a ogni posizione separatamente, con 2048 unità interne nel modello base e 4096 nel big. L'attention mette in relazione i token fra loro, la rete feed-forward lavora su ciascuno per conto suo.
- Layer normalization. Rinormalizza i valori dentro a ogni strato e tiene l'addestramento stabile lungo i sei livelli.
- Connessioni residue. Sommano l'ingresso di un sottostrato alla sua uscita, così il segnale attraversa la pila senza degradarsi.
- Dropout. Spegne a caso una parte delle unità durante l'addestramento, per non far dipendere la risposta da un singolo percorso.
06Dove è finito il Transformer
Dalla traduzione l'architettura si è spostata su tipi di dato che con il testo non c'entrano, tenendo lo stesso meccanismo.
- Immagini. Alexey Dosovitskiy e colleghi, 22 ottobre 2020, An Image is Worth 16x16 Words (arXiv:2010.11929): l'immagine si taglia in riquadri da 16×16 pixel, ogni riquadro diventa un token, e un Transformer puro raggiunge le reti convoluzionali migliori «richiedendo risorse di calcolo sostanzialmente minori» per l'addestramento. La frase dell'abstract è netta: la dipendenza dalle CNN «non è necessaria».
- Comprensione del testo. I punteggi GLUE di BERT qui sopra sono il capostipite di tutti i sistemi di classificazione, estrazione e ricerca che girano oggi dentro alle aziende.
- Generazione. I modelli commerciali di settembre 2026 sono Transformer con attenzione. La documentazione Anthropic letta il 29 settembre 2026 dà a Claude Opus 5.5, Sonnet 5.5 e Fable 5.1 una finestra di contesto da 1 milione di token e 128.000 token di uscita, e a Haiku 4.5 una finestra da 200.000 token (panoramica dei modelli). Quelle cifre cambiano a ogni generazione: vanno riletti alla fonte.
07Il costo quadratico, e cosa ci hanno fatto sopra
Il conto dell'attention richiede n² prodotti scalari per testa e per strato. Raddoppiando la lunghezza della sequenza il costo quadruplica: 1.000 token fanno un milione di coppie, 10.000 token ne fanno cento milioni, 100.000 token dieci miliardi. La stessa crescita vale per la memoria, perché nella versione ingenua la matrice dei pesi va scritta per intero.
FlashAttention: stesso risultato, altra strada
Tri Dao, Daniel Y. Fu, Stefano Ermon, Atri Rudra e Christopher Ré depositano FlashAttention il 27 maggio 2022 (arXiv:2205.14135). L'algoritmo calcola l'attenzione esatta, senza approssimare niente, riorganizzando gli accessi alla memoria della GPU: il calcolo si spezza in blocchi che stanno nella SRAM veloce, e la matrice completa dei pesi non viene mai scritta nella HBM lenta.
I numeri dichiarati nell'abstract: 15% di tempo in meno da un capo all'altro su BERT-large con sequenze da 512 rispetto al riferimento MLPerf 1.1, 3 volte su GPT‑2 con sequenze da 1K, 2,4 volte sul Long Range Arena fra 1K e 4K. Sul compito Path-X, con sequenze da 16.000 token, un Transformer arriva al 61,4% di accuratezza, che è la prima volta sopra il caso; su Path-256, a 64.000 token, al 63,1%.
Il rovescio sta nella parola «esatta». FlashAttention cambia le costanti e l'occupazione di memoria, e lascia il costo quadratico dov'era. Una finestra di contesto dieci volte più lunga costa comunque cento volte i prodotti scalari.
GQA e KV cache
Joshua Ainslie e colleghi, 22 maggio 2023 (arXiv:2305.13245), condividono key e value fra gruppi di teste invece di darne una copia a ciascuna. La qualità resta vicina a quella della multi-head con la velocità della multi-query, e un modello già addestrato si converte spendendo il 5% del calcolo del pre-addestramento originale.
La KV cache agisce sull'altro lato. Durante la generazione, key e value dei token già elaborati restano in memoria e non si ricalcolano a ogni parola nuova. Il prezzo si sposta dal tempo allo spazio, e con contesti da un milione di token quella cache diventa la voce di memoria più pesante dell'inferenza: è esattamente il problema che GQA riduce.
08Le alternative lineari: Mamba, RWKV, Jamba
Tre architetture pubblicate fra il 2023 e il 2024 puntano a togliere il quadrato invece di renderlo più economico.
- Mamba. Albert Gu e Tri Dao, 1° dicembre 2023 (arXiv:2312.00752). Uno spazio di stati i cui parametri dipendono dall'ingresso, con scalatura lineare nella lunghezza e un throughput dichiarato 5 volte quello dei Transformer. Il modello da 3 miliardi di parametri batte i Transformer della sua taglia e pareggia quelli del doppio.
- RWKV. Bo Peng ed altri 33 autori, 22 maggio 2023 (arXiv:2305.13048). Si addestra in parallelo come un Transformer e in inferenza ha costo e memoria costanti per token come una RNN. Gli autori arrivano a 14 miliardi di parametri, «di gran lunga la più grande RNN densa mai addestrata», con prestazioni alla pari dei Transformer di taglia simile.
- Jamba. AI21 Labs, 28 marzo 2024 (arXiv:2403.19887). Alterna blocchi Transformer e blocchi Mamba, con strati a miscela di esperti in mezzo, sta su una sola GPU da 80 GB e regge 256.000 token di contesto.
A settembre 2026 nessuna delle tre ha spostato il mercato. I modelli che si comprano restano Transformer con attenzione: potata dove le teste non servono, raggruppata sulle key e sui value, calcolata a blocchi per non toccare la memoria lenta. Le tre ottimizzazioni valgono insieme più di qualunque sostituzione proposta finora, e questo dice qualcosa sul costo di cambiare architettura quando attorno a una ce ne sono nove anni di lavoro.
09Glossario
- Attention. Operazione che confronta una query con un insieme di key, normalizza i punteggi con la softmax e restituisce una media pesata dei value. Formalizzata nella forma usata oggi in arXiv:1706.03762.
- Self-attention. Attention in cui query, key e value vengono dalla stessa sequenza. Costa n² prodotti scalari per testa e per strato.
- Multi-head attention. Più attention in parallelo su proiezioni diverse: 8 teste nel Transformer base, 16 nel big. Su BERT il 40% si toglie senza danno misurabile (arXiv:1905.10650).
- Query, key, value. I tre vettori che ogni token produce con tre proiezioni lineari distinte. Nel modello base del 2017 hanno 64 dimensioni contro le 512 del modello.
- Positional encoding. Codice di posizione aggiunto a ogni token, perché l'attention da sola tratta la sequenza come un insieme. Seno e coseno nel 2017, RoPE dal 2021, ALiBi dal 2021.
- Transformer. Architettura del 2017: sei strati di encoder e sei di decoder, 65 milioni di parametri nella versione base, 213 milioni nella big.
- Context window. Numero massimo di token che un modello elabora in una volta. A settembre 2026 i modelli Claude di punta stanno a 1 milione, Haiku 4.5 a 200.000.
- KV cache. Memoria delle key e dei value già calcolati, tenuta durante la generazione per non rifare il conto a ogni token nuovo. Cresce con la lunghezza del contesto.
- BLEU. Punteggio da 0 a 100 che misura la sovrapposizione fra una traduzione automatica e traduzioni umane di riferimento. Il Transformer big segna 28,4 su WMT 2014 inglese-tedesco.
- Softmax. Funzione che trasforma una lista di numeri in una distribuzione di probabilità. Nell'attention viene applicata ai punteggi query-key, dopo la divisione per √dk.
In sintesi
- Il Transformer big segna 28,4 BLEU su WMT 2014 EN-DE e 41,8 su EN-FR, con 213 milioni di parametri e 3,5 giorni su 8 P100 (Vaswani et al., 12 giugno 2017).
- Il modello base si addestra in 12 ore perché i token passano nell'attention tutti insieme.
- Su BERT si toglie il 40% delle teste senza impatto percepibile; su 96 teste di un modello di traduzione, solo 8 contano da sole (Michel et al., 2019).
- I pesi di attenzione non spiegano la risposta: correlano poco col gradiente e distribuzioni diverse danno la stessa previsione (Jain e Wallace, NAACL 2019).
- FlashAttention è 3 volte più veloce su GPT-2 a 1K token e lascia intatto il costo quadratico (Dao et al., 27 maggio 2022).
- Mamba, RWKV e Jamba tolgono il quadrato, e a settembre 2026 i modelli in commercio restano Transformer.
Federico Boggia