Articolo · Intelligenza Artificiale

Attention: come funziona
e quanto costa

Dodici fonti primarie, dal paper del 2014 alla documentazione di oggi, per dire quanto vale ciascun pezzo del meccanismo.

Federico BoggiaFederico Boggia ·Intelligenza Artificiale ·Febbraio 2026 ·11 min di lettura

Il 12 giugno 2017 otto ricercatori di Google depositano un paper che toglie dalle reti per il linguaggio la ricorrenza e la convoluzione e lascia la sola attenzione. Il modello grande segna 28,4 BLEU sulla traduzione inglese-tedesco dopo tre giorni e mezzo su otto GPU; quello base si addestra in dodici ore. Nove anni dopo l'attention è dentro a ogni modello linguistico in commercio, e le misure pubblicate dicono anche dove è sovrastimata: il 40% delle teste di attenzione di BERT si toglie senza che l'accuratezza scenda in modo percepibile.

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.

GrandezzaTransformer baseTransformer big
Strati (N)66
Dimensione del modello (dmodel)5121024
Teste di attenzione (h)816
Dimensione di key e value6464
Parametri65 milioni213 milioni
BLEU WMT 2014 inglese-tedesco27,328,4
BLEU WMT 2014 inglese-francese38,141,8
Costo di addestramento (FLOP, EN-DE)3,3 × 10182,3 × 1019
Addestramento su 8 GPU NVIDIA P100100.000 passi, 12 ore300.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.

  1. 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.
  2. 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.
  3. Softmax. I punteggi scalati diventano numeri fra 0 e 1 che sommano a 1. Sono i pesi di attenzione.
  4. 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

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.

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.

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

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
L'autore

Federico Boggia

Federico Boggia è docente e formatore, founder di Binatomy. Insegna intelligenza artificiale, programmazione e pensiero computazionale per agenzie, enti e aziende, in aula e online. È laureato in Informatica Umanistica, specializzato in Tecnologie del Linguaggio, e lavora con aziende, enti e agenzie formative: formazione in azienda e progettazione di corsi finanziati. È autore di saggi e articoli su AI, dati ed etica del digitale.

Imparare facendo

Vuoi capire davvero come funzionano questi strumenti?

Tengo corsi di intelligenza artificiale e programmazione per aziende, enti e privati, anche da zero. In aula a Livorno e in Toscana, online in tutta Italia.

Scopri i corsi Prenota coaching 1:1 Iscriviti alla newsletter
Federico BoggiaRispondo io, in giornata

Ciao! Dimmi che ti serve: un corso online, un workshop di AI in aula a Livorno o la formazione per la tua azienda.

Scrivimi su WhatsApp