Transformer 2017: "Attention Is All You Need"
Otto autori. Undici pagine. Sei anni dopo, ognuno degli otto ha co-fondato o guida un’azienda AI da miliardi. Era il 2017, il paper si chiamava “Attention Is All You Need”, e all’epoca sembrava soltanto un buon contributo per la traduzione automatica. Rimuovere la ricorrenza, rimuovere la convoluzione, lasciare solo attention. Tre giorni e mezzo di training su otto GPU, due punti di BLEU sopra lo stato dell’arte. La parte interessante non era il record: era che, una volta tolta la ricorrenza, l’addestramento si parallelizzava su GPU senza limiti strutturali. Quella proprieta, scoperta come effetto collaterale, sarebbe diventata negli anni successivi la condizione necessaria per scalare i modelli ai livelli che oggi chiamiamo LLM.
Perche questo capitolo
Sezione intitolata “Perche questo capitolo”Il transformer è l’architettura unica su cui poggia tutto cio che oggi si chiama large language model. Ogni GPT, ogni Claude, ogni Gemini, ogni Llama, ogni Mistral è un transformer. Ogni vision transformer, ogni audio model di nuova generazione, ogni multimodale di frontiera condivide lo stesso schema di base. La storia del deep learning post-2017 si può raccontare in molti modi, ma una versione difficile da contestare è che il transformer ha consumato tutte le altre architetture man mano che si dimostrava capace di scalare meglio di loro su ogni dominio in cui veniva applicato. Per chi vuole capire come si è arrivati allo stato dell’arte attuale, “Attention Is All You Need” non è uno dei tanti paper rilevanti: è il punto in cui la tecnologia esiste come unita riconoscibile.
Eppure il paper del giugno 2017 non si presenta così al lettore di allora. E’ un paper di traduzione automatica, pubblicato a NIPS dallo stesso filone di lavoro di seq2seq-2014 e attention-bahdanau-2014. Migliora i benchmark WMT 2014 di un paio di punti BLEU. Toglie la ricorrenza. Spiega che si addestra in tre giorni e mezzo invece di settimane. La reazione iniziale della comunità NLP è positiva ma non sismica. Servono dodici-diciotto mesi perché BERT (ottobre 2018) e GPT-1 (giugno 2018) — entrambi costruiti sopra il transformer — facciano emergere che quell’architettura non è un’alternativa migliore alle RNN per traduzione, ma una piattaforma generale per il pre-training su grandi corpus testuali. Da li il consumo del campo accelera: GPT-2 (2019), GPT-3 (2020), ChatGPT (2022), GPT-4 (2023), Claude, Gemini, l’esplosione open di Llama e Mistral. Tutti, senza eccezione, transformer.
Il terzo motivo per cui il capitolo conta è di disciplina storica. La distanza fra il paper del 2017 e l’ecosistema LLM del 2026 invita facilmente a una lettura retrospettiva: “il transformer è stato inventato per fare ChatGPT”. Falso, e dannoso per capire cosa il paper effettivamente sostiene. Vaswani, Shazeer e i loro coautori scrivevano un paper su come tradurre meglio dall’inglese al tedesco. Il fatto che la stessa architettura, scalata di tre o quattro ordini di grandezza e addestrata su corpus diversi, producesse poi conversational AI, era un esito non solo non previsto ma fuori dall’orizzonte concettuale della comunità. Distinguere il modello (architettura) dalle sue applicazioni successive (LLM, agenti, multimodale) è la lente storica corretta. Il transformer è una macchina; cosa farci dentro è un’altra storia.
Contesto
Sezione intitolata “Contesto”Nel 2017 la traduzione neurale aveva tre anni di vita ed era già il paradigma dominante. Da seq2seq-2014 e attention-bahdanau-2014 la ricetta consolidata era: encoder LSTM bidirezionale, decoder LSTM autoregressivo, attention soft di Bahdanau (o la variante moltiplicativa di Luong et al. 2015) come ponte fra i due. Nel settembre 2016 Google aveva messo in produzione il GNMT (Google Neural Machine Translation), descritto in Wu et al. “Google’s Neural Machine Translation System: Bridging the Gap between Human and Machine Translation” (arXiv:1609.08144): otto layer di LSTM nell’encoder, otto nel decoder, residual connections fra layer (idea presa da resnet-2015, pubblicato pochi mesi prima), attention fra encoder e decoder. GNMT aveva sostituito in produzione il vecchio sistema basato su Statistical Machine Translation per le coppie linguistiche di Google Translate. Era lo stato dell’arte industriale.
Il problema strutturale che restava aperto era operativo: addestrare LSTM stacked profonde su corpora di traduzione era lento. Le LSTM sono intrinsecamente sequenziali. Per processare una frase di token, il layer 1 deve aggiornare il proprio stato volte in serie, e solo dopo il layer 2 può cominciare. La parallelizzazione su GPU è limitata: si parallelizza sulla dimensione di batch e sulla dimensione di feature, ma non sulla dimensione temporale. Per addestrare un modello come GNMT su tutto il corpus WMT servivano settimane su decine di GPU. Era un collo di bottiglia che la comunità sentiva crescente: i dati e l’hardware aumentavano, ma il modello restava sequenziale.
Nel maggio 2017, due mesi prima che l’arxiv di “Attention Is All You Need” comparisse, Jonas Gehring, Michael Auli, David Grangier, Denis Yarats e Yann N. Dauphin (allora a Facebook AI Research) pubblicano “Convolutional Sequence to Sequence Learning” (ICML 2017, arXiv:1705.03122). Il paper, noto come ConvS2S, sostituisce le LSTM con CNN dilatate e gated, mantenendo l’attention fra encoder e decoder. La motivazione esplicita: rimuovere la ricorrenza per ottenere parallelizzazione. ConvS2S raggiunge BLEU competitivi su WMT con tempi di addestramento significativamente più brevi. E’ la prova che la ricorrenza non è essenziale per il sequence modeling. Un mese prima, Kalchbrenner et al. avevano mostrato qualcosa di simile con ByteNet (ICML 2017, “Neural Machine Translation in Linear Time”, arXiv:1610.10099, lavoro DeepMind): convoluzioni dilatate, encoder-decoder, complessità lineare in lunghezza sequenza. La direzione è chiara: dopo dieci anni di RNN, il pendolo torna verso architetture stateless.
Sull’attention come componente, nel frattempo, c’era un filone parallelo. Cheng, Dong e Lapata pubblicano nel 2016 “Long Short-Term Memory-Networks for Machine Reading” (EMNLP 2016, arXiv:1601.06733), dove introducono una forma di self-attention: ogni posizione di una sequenza calcola pesi su tutte le altre posizioni della stessa sequenza, non su una sequenza esterna come in Bahdanau. L’idea esisteva, era pubblicata, ma era usata come componente accessorio dentro architetture LSTM-based. Nessuno aveva ancora costruito un modello dove la self-attention fosse il meccanismo centrale, sostituendo del tutto la ricorrenza.
Questo è il contesto nel giugno 2017. RNN dominanti, CNN come alternativa promettente per parallelizzare, attention come componente standard (cross-attention nei seq2seq, self-attention sparsa qua e la). Manca il salto: usare solo attention come substrato dell’intera architettura.
Il paper esce su arXiv il 12 giugno 2017 con titolo “Attention Is All You Need”, arXiv:1706.03762, e viene accettato a NIPS 2017 (oggi NeurIPS). Otto autori, tutti a Google: Ashish Vaswani, Noam Shazeer, Niki Parmar, Jakob Uszkoreit, Llion Jones, Aidan N. Gomez, Lukasz Kaiser, Illia Polosukhin. La maggior parte affiliata a Google Brain, alcuni a Google Research. Un dettaglio editoriale nel paper diventa famoso: una nota a pie di pagina spiega che l’ordine degli autori è randomizzato, perché tutti hanno contribuito in modo sostanziale e differente, e nessun ordine canonico avrebbe rispecchiato la realtà del lavoro. Una dichiarazione politica, oltre che descrittiva.
Vale la pena un ritratto rapido degli otto. Ashish Vaswani (informatico indiano-americano), allora researcher a Google Brain, primo nome dell’autorato randomizzato. Co-fonda nel 2022 Adept (azienda AI focalizzata su agenti che usano software), poi nel 2023 lascia Adept per fondare Essential AI. Noam Shazeer (informatico americano) è un veterano di Google: assunto nel 2000 come uno dei primi ingegneri, lavora per anni su ranking e search prima di passare a Google Brain. Co-architetto del transformer e di altri lavori chiave (Sparsely-Gated Mixture-of-Experts del 2017, T5 del 2019). Lascia Google nel 2021 per co-fondare Character.AI (chatbot personalizzati). Nel 2024 Google riporta dentro Shazeer e i suoi attraverso un’acquisizione di asset tecnologici e una licenza di Character. Niki Parmar (informatica indiano-americana), allora a Google Brain, dopo il transformer co-fonda Adept con Vaswani, e nel 2023 si trasferisce ad Anthropic. Jakob Uszkoreit (informatico tedesco, 1979-), figlio di Hans Uszkoreit (linguista computazionale storico al DFKI). Allora a Google Brain, dopo il transformer co-fonda Inceptive (azienda di RNA design tramite deep learning per terapie e vaccini). Llion Jones (informatico britannico), a Google dal 2012 al 2023, co-fonda nel 2023 Sakana AI (laboratorio AI con sede a Tokyo focalizzato su evolutionary methods e nature-inspired design). Aidan N. Gomez (informatico canadese, 1995-), il più giovane del gruppo: stagista a Google Brain durante il transformer (aveva 21 anni), poi PhD a Oxford, poi co-fonda Cohere (modelli foundation enterprise) nel 2019, di cui è CEO. Lukasz Kaiser (informatico polacco), allora a Google Brain, autore di Tensor2Tensor, il framework open source dove il transformer fu prima implementato e rilasciato; dal 2021 è a OpenAI. Illia Polosukhin (informatico ucraino), allora a Google, co-fonda nel 2017 stesso NEAR Protocol (blockchain layer-1 ad alte prestazioni).
Tutti e otto hanno lasciato Google entro il 2023. La narrativa “the 8 authors of Attention Is All You Need” è diventata aneddotica ricorrente nel mondo AI: ognuno di loro ha fondato, co-fondato o è diventato figura di vertice di un’azienda AI valutata a miliardi. E’ un dato sociologico oltre che tecnico, e dice qualcosa sul modo in cui il valore creato da quel paper si è distribuito nei dieci anni successivi.
Un dettaglio editoriale del paper merita una nota dedicata. La footnote che descrive l’ordine degli autori dichiara: “Equal contribution. Listing order is random.” Negli anni 2010 era praticamente sconosciuto in machine learning randomizzare l’ordine degli autori di un paper di alto profilo. La convenzione tradizionale è che il primo autore sia lo studente o il giovane researcher che ha fatto la maggior parte del lavoro, l’ultimo autore sia il principal investigator, e gli intermedi siano in ordine decrescente di contributo. La citazione del paper si riduce sempre al primo autore (“Vaswani et al.”), che cattura tutto il prestigio. Randomizzare l’ordine è una dichiarazione che nessun ordine canonico avrebbe rispecchiato l’effettiva distribuzione del lavoro, e che gli autori si rifiutavano di costruire una gerarchia artificiale per ragioni di citazione. Negli anni successivi questa pratica si è diffusa modestamente nei paper collaborativi di OpenAI, DeepMind, Anthropic, anche se non è diventata standard. L’effetto pratico ironicamente non ha funzionato: il paper viene citato come “Vaswani et al.” perché è il primo nome alfabetico/lessicale che compare, e Vaswani ha de facto raccolto più visibilita degli altri sette. La sostanza della collaborazione resta documentata nella footnote, e nelle interviste successive di vari coautori.
Un’ultima nota di contesto: la scelta del titolo. “Attention Is All You Need” è un riferimento esplicito al brano dei Beatles “All You Need Is Love” del 1967. Llion Jones, in interviste successive, conferma di aver suggerito il titolo, e racconta che internamente a Google c’era qualche perplessita: il titolo era ritenuto poco accademico, troppo provocatorio. Il gruppo decise di tenerlo. Cinquant’anni dopo “All You Need Is Love”, un altro pezzo di cultura popolare si è agganciato a una stringa di sette parole. Per molti praticanti AI di oggi il riferimento culturale primario per quella frase non sono più i Beatles, ma il paper.
L’intuizione
Sezione intitolata “L’intuizione”Angolo architetturale: la sequenza come matrice, l’ordine come dato
Sezione intitolata “Angolo architetturale: la sequenza come matrice, l’ordine come dato”Il primo angolo per capire il transformer è chiedersi cosa significa “modellare una sequenza”. Per una RNN la risposta è di lavorare in tempo: un token alla volta, mantenendo uno stato che si evolve. La sequenzialita è costitutiva. Per una CNN la risposta è di lavorare in finestre locali sovrapposte: ogni posizione vede solo i suoi vicini, e la portata si estende impilando layer. Per il transformer la risposta è diversa: tratta l’intera sequenza come una matrice di vettori, dove ogni riga è la rappresentazione di un token. Su quella matrice si applicano operazioni che consultano tutte le righe contemporaneamente. L’ordine non è implicito nella struttura del calcolo (come nelle RNN); va iniettato esplicitamente dentro le righe.
La conseguenza diretta è la parallelizzazione. Una RNN deve aspettare lo stato precedente per calcolare quello corrente: il calcolo è una catena. Il transformer può calcolare le rappresentazioni di tutte le posizioni nello stesso passo: il calcolo è una matmul. Su GPU questa differenza è decisiva. Le GPU sono progettate per moltiplicazioni di matrici dense; sono molto inefficienti su catene di dipendenze sequenziali. Lo stesso budget di compute, applicato a un transformer, produce molti più pass di training per unita di tempo di quanto produca su un’LSTM equivalente. Vaswani et al. riportano nel paper che il transformer-base si addestra in 12 ore su 8 GPU P100, il transformer-big in 3.5 giorni. L’equivalente RNN richiedeva settimane.
Il prezzo da pagare, dichiarato apertamente, è che ogni layer ha complessità in lunghezza sequenza (perché ogni posizione consulta tutte le altre, costo pesi di attention). Le RNN hanno complessità per layer. Per sequenze corte (decine, centinaia di token) il transformer vince comunque per la costante e la parallelizzazione. Per sequenze molto lunghe il vantaggio può invertirsi, ed è uno dei filoni di ricerca degli anni successivi (sparse attention, FlashAttention, lineare attention; vedi sezione “Eredita oggi”).
Angolo concettuale: dalla memoria al grafo di relazioni
Sezione intitolata “Angolo concettuale: dalla memoria al grafo di relazioni”Il secondo angolo è più astratto e riguarda il modo in cui l’informazione fluisce nel modello. In una RNN c’e uno stato nascosto che propaga: la rappresentazione del token al tempo è costruita comprimendo nello stato tutta la storia . Il modello “ricorda”. L’informazione ha una direzione (il flusso temporale), una memoria (lo stato), un costo di mantenimento (gli aggiornamenti via gate, in LSTM).
Nel transformer non c’e stato. C’e una tabella di relazioni che si aggiorna a ogni layer. La rappresentazione del token al layer è costruita guardando le rappresentazioni di tutti i token al layer , pesando la loro rilevanza tramite attention. Non c’e memoria che persiste: ogni layer ricomincia da capo, leggendo lo strato sotto. Ma a ogni layer, ogni token può accedere direttamente a ogni altro token: non c’e bisogno di propagare. La dipendenza fra token distanti, che in una RNN richiede di attraversare molti passi temporali (con relativo rischio di perdita di gradiente), nel transformer è diretta in un singolo layer.
E’ un cambio di paradigma sottile. Le RNN sono modelli di dinamica temporale: lo stato evolve. I transformer sono modelli di struttura relazionale: a ogni layer si calcolano nuove relazioni fra le posizioni, e si usano quelle relazioni per produrre nuove rappresentazioni. La metafora ricorrente è che ogni layer di un transformer “ridecide chi parla con chi” dentro la sequenza.
Marcatura di classe necessaria: questa è un’analogia operativa utile per insegnare, non una teoria di come il transformer “ragiona”. Il modello non costruisce esplicitamente un grafo di dipendenze sintattiche o semantiche; calcola pesi che si possono visualizzare come matrici di attention, e in molti casi quelle matrici risultano interpretabili a posteriori (alcune teste imparano a tracciare relazioni soggetto-verbo, altre coreference, altre niente di chiaro). La letteratura di mechanistic interpretability (vedi mech-interp-intro in preparazione, Parte IX) ha studiato in dettaglio cosa fanno effettivamente le attention heads in transformer addestrati, scoprendo circuiti specifici (induction heads, copy heads, name-mover heads). Per ora ci basta l’analogia di alto livello.
Angolo economico: scalabilita prevedibile come precondizione di scaling
Sezione intitolata “Angolo economico: scalabilita prevedibile come precondizione di scaling”Il terzo angolo si vede chiaramente solo a posteriori, ma vale la pena nominarlo. Una proprieta non ovvia del transformer, scoperta progressivamente fra il 2018 e il 2020, è che le sue prestazioni scalano in modo prevedibile con tre quantità: numero di parametri, numero di token di training, compute totale. Le scaling laws di Kaplan et al. 2020 (“Scaling Laws for Neural Language Models”, arXiv:2001.08361) dimostrano empiricamente che la loss di un transformer decoder-only addestrato su language modeling segue una legge di potenza in queste tre quantità, su molti ordini di grandezza. Questa proprieta non è ovvia: per la maggior parte delle architetture neurali storiche (LSTM, CNN per vision), aumentare la scala non produceva miglioramenti monotoni e prevedibili oltre una certa soglia.
La conseguenza economica è centrale. Se sai con anticipo quanto migliorera il tuo modello scalando di un ordine di grandezza la spesa in compute, puoi pianificare investimenti di centinaia di milioni di dollari su modelli di frontiera con un livello di rischio gestibile. Senza scaling laws, scalare un modello sarebbe una scommessa cieca. Le scaling laws non sono una conseguenza diretta del paper del 2017 (Vaswani et al. non le menzionano), ma sono una proprieta dell’architettura che la comunità ha scoperto sperimentalmente nei tre anni successivi. Senza di loro, GPT-3 non sarebbe stato addestrato. Senza GPT-3, ChatGPT non sarebbe esistito. La proprieta architetturale di base — addestrabilita parallela e scaling regolare — è la condizione necessaria che il transformer ha incidentalmente offerto al campo. Vedi scaling-laws (in preparazione, Parte XI) per la storia di questo filone.
La meccanica
Sezione intitolata “La meccanica”I dettagli profondi del transformer hanno capitoli dedicati nella Parte IX della wiki: attention-intuizione, qkv-da-zero, multi-head, transformer-block (tutti in preparazione). Qui restiamo in registro storico: spieghiamo gli ingredienti del paper del 2017 abbastanza da seguire cosa propongono, senza costruire un tutorial completo. Chi cerca la derivazione passo passo troverà tutto in Parte IX.
Iperparametri dichiarati nel paper
Sezione intitolata “Iperparametri dichiarati nel paper”E’ utile fissare le dimensioni concrete del transformer del 2017 prima di entrare nei pezzi. Vaswani et al. presentano due configurazioni:
- Transformer-base: , heads, , , layer per stack (encoder e decoder), dropout 0.1. Totale parametri: milioni.
- Transformer-big: , heads, , , layer per stack, dropout 0.3 per WMT EN-DE e 0.1 per EN-FR. Totale parametri: milioni.
Entrambe le configurazioni usano sei layer per stack. La scelta di sei non è particolarmente motivata nel paper: è un compromesso fra capacità e tempo di training. Modelli successivi spingeranno la profondità molto oltre (BERT-large 24 layer, GPT-3 96 layer, modelli di frontiera 100+ layer). Il fatto che la stessa architettura scali sia in profondità che in larghezza senza modifiche strutturali è una proprieta che il paper del 2017 non rivendica esplicitamente, ma che si rivelera centrale.
Tokenizzazione: byte-pair encoding con vocabolario condiviso source-target di circa 37000 token per WMT EN-DE, e word-piece con 32000 token per WMT EN-FR. Ottimizzatore: Adam con , , , e un learning rate schedule famoso per la sua forma: warmup lineare per i primi 4000 step, poi decadimento proporzionale all’inverso della radice quadrata dello step. La formula:
Questa schedule, semplice da scrivere, si rivela fondamentale per stabilizzare il training: senza warmup il post-norm diverge nei primi step. Negli anni successivi varianti di warmup + cosine decay diventano standard nel training di transformer di grande scala.
Limiti delle RNN+attention come punto di partenza
Sezione intitolata “Limiti delle RNN+attention come punto di partenza”Una rete encoder-decoder con attention, alla Bahdanau o alla Luong, ha tre componenti: encoder ricorrente, decoder ricorrente, attention fra i due. La ricorrenza serve a costruire le rappresentazioni delle posizioni della sorgente (encoder) e gli stati del decoder. L’attention serve a costruire dinamicamente il context vector a ogni passo del decoder. Nel paper Vaswani et al. l’osservazione di partenza, dichiarata in chiare lettere nell’introduzione, è che l’attention sta facendo già tutto il lavoro interessante: è l’unica componente che permette al decoder di accedere direttamente alle posizioni della sorgente. La ricorrenza, vista da questa angolazione, è un meccanismo per costruire le rappresentazioni . Ma c’e un’alternativa: usare la self-attention anche dentro l’encoder, e dentro il decoder, per costruire le rappresentazioni a partire dalle altre posizioni della stessa sequenza. Se la self-attention è sufficiente per quel compito, la ricorrenza diventa superflua.
Il salto del paper è affermare e dimostrare empiricamente che la self-attention è sufficiente. Niente RNN dentro l’encoder, niente RNN dentro il decoder. Tutto è attention.
Scaled dot-product attention
Sezione intitolata “Scaled dot-product attention”L’unita di base è la scaled dot-product attention. Date tre matrici , , — Query, Key, Value — di dimensioni rispettivamente , , , dove è il numero di posizioni della sequenza, è la dimensione delle query e delle key, è la dimensione dei value, l’output dell’attention è:
In parole povere, ogni riga di (la query della posizione ) viene confrontata con ogni riga di (le key di tutte le posizioni ) tramite prodotto scalare. Il prodotto produce una matrice di score di compatibilita: l’elemento misura quanto la posizione “fa attenzione” alla posizione . Si divide per per stabilizzare i gradienti (per grande, i prodotti scalari hanno varianza alta e la softmax si satura; lo scaling riporta i valori in un regime sano). Si applica softmax riga per riga per ottenere pesi positivi che sommano a uno. Si moltiplica per per ottenere, per ogni posizione , una somma pesata dei value delle altre posizioni.
La derivazione di Q, K, V dalla matrice di input (le rappresentazioni dei token al layer corrente, dimensione ) è tramite tre proiezioni lineari apprese:
Dove sono matrici di pesi addestrabili. Sono parametri del modello, appresi durante il training. Concettualmente, proietta ogni rappresentazione di token nello spazio “domanda” (“cosa sto cercando?”), nello spazio “chiave” (“cosa rappresento per gli altri?”), nello spazio “contenuto” (“cosa porto se vengo selezionato?”). I tre ruoli sono distinti per costruzione, anche se nascono dalla stessa .
Il dettaglio passo passo della costruzione di Q, K, V e dell’intuizione geometrica del prodotto scalare come somiglianza vive in qkv-da-zero (in preparazione, Parte IX). Qui basta la formula.
Multi-head attention
Sezione intitolata “Multi-head attention”Un solo blocco di attention vede una sola “vista” delle relazioni fra posizioni. Vaswani et al. propongono di applicare blocchi di attention in parallelo, ognuno con le proprie matrici apprese in modo indipendente, e di concatenare i loro output. Ogni blocco si chiama head. Il paper usa heads nella configurazione base.
Dove e è una proiezione finale che riporta l’output a dimensione . Per mantenere il costo computazionale comparabile a un singolo blocco di attention, ogni head lavora in dimensione ridotta: se e , ogni head ha . Concatenando 8 head di dimensione 64 si ritorna a 512.
In parole povere, le multi-head attention permette al modello di guardare le relazioni fra posizioni da angoli diversi simultaneamente: una head può specializzarsi su relazioni sintattiche locali, un’altra su coreference a distanza, un’altra ancora su pattern posizionali. Empiricamente, ablation study nel paper e nella letteratura successiva mostrano che la multi-head supera la single-head a parita di parametri totali. Il dettaglio del perché, e cosa fanno effettivamente le diverse heads in modelli addestrati, è materia di multi-head (in preparazione, Parte IX) e dei lavori di mechanistic interpretability.
Position encoding sinusoidale
Sezione intitolata “Position encoding sinusoidale”Il problema strutturale del transformer, conseguenza diretta della rimozione della ricorrenza, è che la self-attention è permutazionalmente invariante. Se permutate le righe della matrice , le righe della matrice di output sono permutate nello stesso modo, ma il contenuto di ogni riga di output è identico. In altre parole, “il gatto mangia il topo” e “il topo mangia il gatto” produrrebbero (se non si interviene) lo stesso insieme di rappresentazioni. L’ordine delle parole è perso.
Vaswani et al. risolvono iniettando informazione di posizione direttamente nelle rappresentazioni dei token, prima del primo layer di attention. La scelta del paper è una funzione sinusoidale di periodi diversi:
Dove è la posizione del token nella sequenza (0, 1, 2, …) e indicizza la dimensione del vettore di posizione. In parole povere, ogni posizione viene mappata a un vettore in cui le componenti pari sono seni, le componenti dispari coseni, di frequenze che variano da molto alta (cambia rapidamente con la posizione) a molto bassa (quasi costante su sequenze tipiche). Il vettore di posizione , della stessa dimensione di , viene sommato all’embedding del token alla stessa posizione.
La motivazione del paper per questa scelta specifica: le funzioni sinusoidali permettono al modello di apprendere facilmente posizioni relative, perché è una funzione lineare di per qualsiasi offset fisso . In linea di principio quindi il modello può generalizzare a posizioni più lunghe di quelle viste in training (anche se in pratica la generalizzazione zero-shot al di fuori della range di training è limitata, come si vedra negli anni successivi).
L’alternativa testata nel paper è usare embedding di posizione appresi (una matrice di parametri di forma ). I risultati riportati sono molto simili. Vaswani et al. scelgono le sinusoidi per la possibilità di estrapolazione. Negli anni successivi la ricerca troverà schemi superiori (RoPE, ALiBi); il position encoding sinusoidale del 2017 sara il default per pochi anni e poi sostituito.
Encoder e decoder a sei layer
Sezione intitolata “Encoder e decoder a sei layer”L’architettura completa del transformer del 2017 si compone di un encoder e un decoder, ognuno costituito da uno stack di sei layer identici.
Ogni layer dell’encoder ha due sotto-blocchi:
- Multi-head self-attention sull’input dell’encoder.
- Position-wise feed-forward network (FFN), una piccola MLP applicata indipendentemente a ogni posizione.
Ogni layer del decoder ha tre sotto-blocchi:
- Multi-head masked self-attention sull’output già generato (mascherata in modo che la posizione non possa guardare le posizioni , perché al momento della generazione di le posizioni future non esistono ancora).
- Multi-head cross-attention, dove le query vengono dal decoder e le key/value dall’output dell’encoder. E’ qui che il decoder consulta la sorgente.
- Position-wise FFN.
Ogni sotto-blocco è avvolto da una residual connection (l’input del sotto-blocco viene sommato al suo output) e da una layer normalization. Lo schema esatto del paper è “post-norm”: . La residual connection è citata esplicitamente come ispirata a resnet-2015, che aveva mostrato due anni prima come le skip connection abilitano l’addestramento di reti molto profonde. Nei transformer del 2017 con sei layer la profondità è modesta, ma la stessa architettura scalata a 96 layer (GPT-3) o oltre richiede esattamente lo stesso ingrediente. Il negozio della residual è centrale al residual stream dei transformer moderni (vedi residual-stream in preparazione, Parte IX).
Il position-wise FFN dentro ogni layer è una piccola MLP a due layer:
Con dimensione interna (quattro volte nel transformer-base). Viene applicata indipendentemente a ogni posizione (stesso peso, applicato a ogni riga della matrice di rappresentazioni). La sua funzione è di trasformazione non-lineare punto-per-punto, complementare alla mescolanza fra posizioni operata dall’attention. Negli anni successivi varianti come SwiGLU e GeGLU sostituiranno la ReLU; il principio resta.
Parallelizzabilita come breakthrough operativo
Sezione intitolata “Parallelizzabilita come breakthrough operativo”E’ utile rendere esplicito perché la rimozione della ricorrenza è decisiva, oltre il discorso di intuizione fatto sopra. In una LSTM stacked a layer su sequenze di lunghezza , il calcolo richiede passi in serie: il layer 1 deve completare i suoi passi prima che il layer 2 cominci, e ogni passo del layer 1 dipende dal precedente. La parallelizzazione si limita alla dimensione di batch (più sequenze in parallelo, ognuna sequenziale al suo interno). In un transformer, ogni layer è una serie di matmul su matrici intere: nessuna dipendenza fra posizioni dentro il layer. Su una GPU con migliaia di core, le matmul scalano quasi linearmente. Lo stesso budget di FLOP si traduce in tempi di addestramento molto più corti.
Il paper riporta: transformer-base raggiunge il suo BLEU su WMT 2014 EN-DE in 12 ore su 8 GPU NVIDIA P100, transformer-big in 3.5 giorni. Per confronto, GNMT del 2016 (8-layer LSTM stacked) richiedeva tempi nell’ordine di settimane su infrastrutture comparabili. La differenza non è di un fattore due o tre: è di un ordine di grandezza. Questa proprieta — addestrabile rapidamente, parallelizzabile fino al limite della memoria GPU — sara la condizione necessaria per i salti di scala dei tre anni successivi.
Risultati WMT 2014
Sezione intitolata “Risultati WMT 2014”I risultati che il paper presenta sono su due benchmark di traduzione:
- WMT 2014 English-to-German: BLEU 28.4 per il transformer-big single model, contro un best previous (un ensemble di GNMT) di 26.4. Due punti di BLEU di miglioramento.
- WMT 2014 English-to-French: BLEU 41.8 per il transformer-big, contro un best previous di 41.16 (ensemble GNMT). Mezzo punto di miglioramento.
I miglioramenti BLEU sono significativi ma non sismici. Su benchmark di traduzione, due punti di BLEU sono consistenti ma non rivoluzionari (seq2seq-2014 aveva guadagnato un punto e mezzo su SMT e cambiato il paradigma; il transformer guadagna un po’ di più, in linea con la traiettoria). Cio che colpisce realmente la comunità NLP tecnica è il rapporto fra performance e training cost: stesso budget di compute, risultato migliore, in tempi molto più brevi.
Vale la pena ricordare cosa significa BLEU (Bilingual Evaluation Understudy), per chi non lo incontra di routine. E’ una metrica automatica per traduzione, introdotta da Papineni et al. nel 2002 (ACL 2002), che misura la sovrapposizione di n-grammi (parole, bigrammi, trigrammi, quadrigrammi) fra la traduzione candidata e una o più traduzioni di riferimento prodotte da umani, con una penalita per traduzioni troppo corte. Il valore va da 0 a 100. BLEU non è la verità ultima sulla qualità di una traduzione (ignora completamente fluenza, semantica, accettabilita), ma è veloce da calcolare e si correla con il giudizio umano abbastanza da essere usato come benchmark. WMT (Workshop on Machine Translation) è la conferenza annuale storica del settore, che dal 2006 organizza shared task con corpora paralleli standardizzati. WMT 2014 EN-DE e EN-FR sono i due benchmark di riferimento del periodo 2014-2017.
Una frase, una mappa di attention
Sezione intitolata “Una frase, una mappa di attention”Considera la frase inglese “the cat sat on the mat”. Sei token. In un transformer addestrato, dentro un certo head di self-attention al layer 3 (un esempio plausibile), la matrice di pesi di forma potrebbe avere questa struttura qualitativa (i numeri sono illustrativi, non da un modello reale):
the cat sat on the matthe (q) [0.40 0.05 0.05 0.05 0.40 0.05]cat (q) [0.10 0.50 0.15 0.05 0.05 0.15]sat (q) [0.05 0.30 0.40 0.10 0.05 0.10]on (q) [0.05 0.10 0.25 0.30 0.15 0.15]the (q) [0.40 0.05 0.05 0.10 0.30 0.10]mat (q) [0.05 0.20 0.10 0.15 0.10 0.40]Ogni riga è la distribuzione di attention della rispettiva query su tutte le posizioni. La riga di “cat” mette molto peso su se stesso e sui due sostantivi “the” e “mat” (relazione di reggenza nominale); la riga di “sat” si distribuisce fra il verbo stesso e i sostantivi che lo argomentano; le due “the” tendono a mettere peso sull’altra “the” (pattern posizionale appreso). Il modello non è stato addestrato esplicitamente a produrre queste mappe: emergono come effetto dell’ottimizzazione su language modeling o traduzione. Visualizzazioni di mappe reali da transformer addestrati (BERT, GPT) mostrano effettivamente pattern interpretabili, anche se molte head hanno comportamenti meno chiari.
Pseudocodice di un encoder layer
Sezione intitolata “Pseudocodice di un encoder layer”Un encoder layer del transformer in pseudocodice Python-like, senza dettagli di shape:
def encoder_layer(x): # x: (n, d_model), input representations of n tokens
# Sub-block 1: multi-head self-attention with residual + norm attn_out = multi_head_attention(query=x, key=x, value=x) x = layer_norm(x + attn_out)
# Sub-block 2: position-wise feed-forward with residual + norm ffn_out = feed_forward(x) # applied independently per position x = layer_norm(x + ffn_out)
return x # (n, d_model), updated representationsIl decoder layer è simile, con un blocco aggiuntivo di cross-attention fra i due:
def decoder_layer(x, encoder_output): # x: (m, d_model), decoder input (already-generated tokens, shifted) # encoder_output: (n, d_model)
# Masked self-attention (causal mask: position t can't see t+1, t+2, ...) self_attn = multi_head_attention( query=x, key=x, value=x, mask="causal" ) x = layer_norm(x + self_attn)
# Cross-attention: decoder queries attend to encoder output cross_attn = multi_head_attention( query=x, key=encoder_output, value=encoder_output ) x = layer_norm(x + cross_attn)
# Feed-forward ffn_out = feed_forward(x) x = layer_norm(x + ffn_out)
return xSei copie di encoder_layer impilate, sei copie di decoder_layer impilate, embedding di token con position encoding sommato all’input, una proiezione lineare finale + softmax sull’output del decoder per ottenere distribuzioni sui token target. Questo è tutto il transformer del paper. Il codice di Tensor2Tensor, il framework di Lukasz Kaiser dove il transformer è stato prima implementato, è ovviamente più lungo (gestione di shape, batching, masking, ottimizzazioni varie), ma la struttura essenziale è questa.
Una traduzione passo passo
Sezione intitolata “Una traduzione passo passo”Per dare un’idea operativa della differenza fra RNN e transformer su un caso concreto, immagina di voler tradurre dall’inglese al francese la frase “the agreement was signed in August”. Sette token sorgenti, sette o otto target attesi.
In una RNN seq2seq+attention, il flusso è:
- L’encoder LSTM bidirezionale legge i sette token in serie (sette passi temporali per direzione, due direzioni). Tempo: aggiornamenti per layer in serie.
- Il decoder LSTM riceve i due stati finali concatenati come stato iniziale, e genera il token target uno alla volta. Per ogni token target, calcola un context vector via attention sugli stati encoder. Sette token target = sette aggiornamenti del decoder, in serie.
- Totale: passi sequenziali in training, in inference.
In un transformer, il flusso in training (quando la sequenza target è nota) è:
- L’encoder calcola le rappresentazioni dei sette token sorgenti in un singolo pass parallelo per ogni layer. Sei layer = sei matmul in serie, ognuna parallela su tutte le posizioni.
- Il decoder calcola le rappresentazioni dei sette token target in un singolo pass parallelo (grazie alla maschera causale, ogni posizione vede solo se stessa e le precedenti, ma il calcolo si fa in batch). Sei layer = sei matmul in serie.
- Totale in training: dodici matmul in serie, ognuna parallela. Sulla stessa GPU, è decisivamente più veloce.
In inference autoregressiva (quando il modello genera token per token), il transformer perde parte del vantaggio: il decoder deve comunque generare un token alla volta, e per ogni nuovo token rifare i calcoli di attention sull’output precedente. La pratica del KV cache mitiga il costo (vedi kv-cache in preparazione, Parte XIII): si memorizzano K e V calcolati per i token già generati, e si riutilizzano. La generazione resta sequenziale ma ogni step è molto più economico.
Confronto velocità pratico
Sezione intitolata “Confronto velocità pratico”Per dare un riferimento concreto sulla parallelizzabilita: addestrare un GNMT-equivalente sul corpus WMT 2014 EN-DE (4.5 milioni di coppie di frasi) con 8-layer LSTM stacked richiedeva circa una settimana su 8 GPU NVIDIA K80 nel 2016. Il transformer-big sullo stesso corpus, con lo stesso budget hardware (rapportato a P100 del 2017), si addestrava in circa 3.5 giorni. Su hardware più recente (V100, 2018-2019), il transformer-base scendeva a poche ore. Questa scalabilita renderà fattibile, fra il 2018 e il 2020, addestrare modelli di centinaia di milioni e poi miliardi di parametri su corpus di centinaia di miliardi di token. Senza la parallelizzabilita del transformer, quei modelli non sarebbero stati economicamente addestrabili nel decennio successivo.
Eredita oggi
Sezione intitolata “Eredita oggi”Questa sezione, in linea con la disciplina del registro storico, raccoglie esplicitamente cio che il transformer è diventato. Il corpo storico precedente si è tenuto al 2017; qui si guarda al presente (datato 2026-04).
La filiazione documentata diretta
Sezione intitolata “La filiazione documentata diretta”Tre famiglie di modelli derivano direttamente dal transformer del 2017, ciascuna usando una porzione dell’architettura originale:
- Encoder-only: usa solo lo stack di encoder. Addestrato con masked language modeling (predire token mascherati casualmente). Il rappresentante storico è BERT (Devlin et al. 2018, “BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding”, arXiv:1810.04805, NAACL 2019). Famiglia adatta a task di comprensione (classificazione, NER, question answering estrattivo). Discendenti: RoBERTa, ALBERT, DeBERTa, ELECTRA, ModernBERT.
- Decoder-only: usa solo lo stack di decoder, con masked self-attention causale. Addestrato con language modeling autoregressivo (predire il prossimo token dato il contesto). Il rappresentante storico è GPT-1 (Radford et al. 2018, “Improving Language Understanding by Generative Pre-Training”). Famiglia adatta a generazione e in seguito, scalando, a tutto il resto. Discendenti: GPT-2 (2019), GPT-3 (2020), GPT-4 (2023), Claude, Llama, Mistral, Gemini, DeepSeek. Decoder-only è la famiglia che domina largamente nel 2026.
- Encoder-decoder: mantiene la struttura originale completa. Il rappresentante moderno è T5 (Raffel et al. 2019, “Exploring the Limits of Transfer Learning with a Unified Text-to-Text Transformer”, JMLR 2020). Famiglia usata in task seq2seq classici (traduzione, summarization), e in modelli vision-language più recenti.
Vedi bert-gpt-2018-2019 (in preparazione) e gpt3-2020 (in preparazione) per la storia di queste famiglie nei due-tre anni successivi al transformer.
Espansione cross-domain
Sezione intitolata “Espansione cross-domain”L’architettura non è rimasta NLP-only. La traiettoria di adozione cross-domain è stata progressiva:
- Vision (2020 in poi): ViT (Vision Transformer) di Dosovitskiy et al. 2020 (ICLR 2021, “An Image is Worth 16x16 Words: Transformers for Image Recognition at Scale”, arXiv:2010.11929) applica l’encoder transformer a immagini suddivise in patch lineari. Su grandi dataset di pre-training (JFT-300M), ViT batte le CNN. Da li, la maggior parte dei modelli vision di frontiera sono basati su transformer o ibridi conv-transformer.
- Audio: modelli come Whisper di OpenAI (2022) usano encoder-decoder transformer su rappresentazioni mel-spectrogram dell’audio, ottenendo ASR multilingua robusto.
- Multimodale: CLIP (Radford et al. 2021) usa due encoder transformer (uno testo, uno immagine) addestrati con loss contrastive. GPT-4o e modelli analoghi del 2024-2025 usano un transformer unico che processa token testuali, visivi e audio nello stesso stream.
- Reinforcement Learning: Decision Transformer (Chen et al. 2021) tratta sequenze di stato-azione-reward come sequenze su cui addestrare un transformer autoregressivo, riformulando RL come language modeling.
- Scienze biologiche: AlphaFold 2 (Jumper et al. 2021) usa attention su rappresentazioni di proteine. ESM della famiglia Meta usa transformer su sequenze di amino-acidi.
- Codice: AlphaCode, Codex, e i modelli specializzati di code generation sono tutti decoder-only transformer addestrati su corpus di codice.
La generalizzazione è tale che molti praticanti di domini specifici (medical imaging, drug discovery, robotica) si trovano oggi a “scoprire” che il transformer batte le architetture verticali specializzate sul loro task, dato sufficiente training compute e dati. La lente operativa è quella di un’architettura unica + scaling come paradigma dominante.
Variants e raffinamenti dell’architettura
Sezione intitolata “Variants e raffinamenti dell’architettura”Negli anni successivi al 2017 sono stati pubblicati centinaia di varianti del transformer. Le più rilevanti per l’ecosistema attuale:
- Sparse attention (Sparse Transformer di Child et al. 2019, Longformer di Beltagy et al. 2020, BigBird di Zaheer et al. 2020): pattern di attention non-densi per ridurre il costo a o su contesti lunghi.
- Linear attention (Performer di Choromanski et al. 2020, Linformer di Wang et al. 2020): approssimazioni della softmax che permettono attention in complessità lineare.
- FlashAttention (Dao et al. 2022, “FlashAttention: Fast and Memory-Efficient Exact Attention with IO-Awareness”, NeurIPS 2022): kernel CUDA che riorganizza il calcolo per minimizzare le letture/scritture in memoria GPU. Non approssima: è attention esatta, solo meglio implementata. Diventa lo standard per training e inference di transformer di grande scala. Vedi
flash-attention(in preparazione, Parte IX). - MQA / GQA (Multi-Query Attention di Shazeer 2019, Grouped-Query Attention di Ainslie et al. 2023): condividere le matrici K e V fra heads per ridurre il consumo di memoria del KV cache durante l’inference. Standard nei modelli da Llama 2 in poi. Vedi
mqa-gqa(in preparazione, Parte IX). - RoPE (Rotary Position Encoding di Su et al. 2021, “RoFormer: Enhanced Transformer with Rotary Position Embedding”): position encoding superiore al sinusoidale del 2017, basato su rotazioni nello spazio complesso. Adottato da Llama, GPT-NeoX, e nella maggior parte dei modelli moderni. Vedi
rope(in preparazione, Parte IX). - ALiBi (Press et al. 2022): position encoding tramite bias lineare sulle attention scores, permette estrapolazione a sequenze più lunghe del training.
- Pre-norm vs post-norm: il paper originale usa post-norm. La pratica successiva (Xiong et al. 2020) mostra che il pre-norm è più stabile per training profondi. Quasi tutti i modelli post-2020 usano pre-norm.
- RMSNorm al posto di LayerNorm: più semplice ed efficiente. Adottato da Llama in poi.
- SwiGLU / GeGLU al posto della FFN ReLU: gating moltiplicativo nelle FFN, miglioramenti consistenti.
L’architettura del 2026 differisce da quella del 2017 in molti dettagli, tutti raffinamenti del medesimo schema. La spina dorsale (multi-head self-attention + FFN, residual + norm, blocchi impilati) resta invariata.
Cosa NON è diventato il transformer
Sezione intitolata “Cosa NON è diventato il transformer”E’ importante chiudere questa sezione con una distinzione netta, perché è fonte di continua confusione. Il transformer è un’architettura. L’LLM è un sistema. Confondere i due porta a errori sia tecnici sia narrativi:
- Un transformer non è un LLM. Un transformer encoder addestrato per classificazione di immagini (ViT) non è un LLM. Una rete decoder-only piccola addestrata su sequenze di musica MIDI non è un LLM.
- Un LLM non è “solo” un transformer. Un LLM è transformer + scaling massiccio (parametri, dati, compute) + pre-training su corpora testuali + (di solito) post-training (instruction tuning, RLHF/DPO) + harness di inference. Togliere uno qualsiasi di questi pezzi cambia il sistema, non solo l’architettura.
- Il transformer non “ha inventato attention”. L’attention come meccanismo era già in attention-bahdanau-2014. Vaswani et al. l’hanno portata al centro dell’architettura, eliminando la ricorrenza. La differenza è grande, ma non è invenzione dell’attention.
- Il transformer non “è un cervello”. Il nome “attention” è un’analogia presa in prestito dal vocabolario psicologico, non implica corrispondenza con il fenomeno cognitivo dell’attenzione umana. Vedi
ponte-attenzione-transformer(in preparazione, Parte III) per una discussione disciplinata.
Dove si rompe
Sezione intitolata “Dove si rompe”Anche letto storicamente, il paper del 2017 ha limiti intrinseci che la ricerca successiva ha dovuto affrontare. Elencarli serve a evitare due errori opposti: sottovalutare la portata del paper, e mitizzarlo come perfetto.
Complessita quadratica in lunghezza sequenza. La self-attention richiede una matrice di pesi , dunque memoria e compute per layer in funzione della lunghezza della sequenza. Per le sequenze di traduzione del 2017 (decine di token) il costo era irrilevante. Per LLM moderni con context window di centinaia di migliaia di token (Claude 200K, Gemini 1M, Llama 128K), il costo quadratico diventa il collo di bottiglia dominante. Tutta una linea di ricerca (sparse attention, linear attention, ring attention, infini-attention) tenta di aggirarlo. La soluzione pratica oggi più diffusa, FlashAttention, riduce le costanti di overhead memoria ma resta in compute.
Nessuna previsione del paradigma LLM. Il paper è scritto per traduzione machine-to-machine. La sezione “future work” parla di applicare il transformer ad altre task seq2seq, di esplorare attention locali. Nessuno degli autori menziona la possibilità di addestrare un modello su web-scale text per ottenere capacità generali. In interview successive, Vaswani ha dichiarato esplicitamente: “We thought it would be useful for translation. We didn’t see GPT coming”. Questo non è un difetto del paper — i paper non devono predire il futuro — ma è un correttivo importante per chi legge “Attention Is All You Need” oggi: il significato che gli attribuiamo è costruito retroattivamente sulle applicazioni che vennero dopo.
Position encoding sinusoidale subottimale. La scelta delle sinusoidi era ragionevole nel 2017 e ha la proprieta teorica di permettere generalizzazione a posizioni non viste, ma in pratica i modelli addestrati con sinusoidi non generalizzano molto bene oltre la lunghezza massima vista in training. RoPE (2021) e ALiBi (2022) hanno mostrato schemi superiori sia per qualità che per estrapolazione. Quasi tutti i modelli post-2022 hanno abbandonato il position encoding sinusoidale.
Post-norm e instabilita per training molto profondi. Lo schema del paper originale è meno stabile del pre-norm quando si addestrano transformer molto profondi (decine o centinaia di layer). Per i sei layer del paper non era un problema; per GPT-3 a 96 layer lo sarebbe stato. Il pre-norm è diventato lo standard di fatto, anche se a parita di profondità richiede attenzioni separate (es. learning rate warmup, scaling delle skip).
Mito 1: “il transformer ha inventato l’attention”. Falso. L’attention come meccanismo soft, differenziabile, basato su softmax era già in attention-bahdanau-2014. La self-attention era già in Cheng-Dong-Lapata 2016 e in altri lavori. Il contributo di Vaswani et al. è di portare la self-attention al centro dell’architettura, eliminando ricorrenza e convoluzione. E’ un contributo enorme, ma non è invenzione dell’attention.
Mito 2: “il transformer ha vinto perché è biologicamente più plausibile”. Affermazione che circola in articoli divulgativi e che non regge a esame. Il transformer non ha alcuna analogia diretta con strutture neurali biologiche note. La self-attention non corrisponde a nessun meccanismo cerebrale documentato. Le ragioni del successo del transformer sono ingegneristiche (parallelizzabilita su GPU, scalabilita, addestrabilita), non biologiche. Il nome “attention” è un’eredità lessicale dal paper di Bahdanau, scelto più per intuizione metaforica che per fondamento neuroscientifico. Vedi ponte-attenzione-transformer (in preparazione, Parte III) per la discussione completa.
Mito 3: “tutti gli autori erano senior researcher con visione strategica”. Falso anche questo. Aidan Gomez era stagista, aveva 21 anni. Niki Parmar era research engineer relativamente junior. Il gruppo era misto per anzianita, e la dichiarazione di autorato randomizzato nel paper riflette un processo collaborativo non gerarchico, non un’orchestrazione top-down. Il contributo specifico di ogni autore è stato discusso in interviste successive: Shazeer ha contribuito molto sull’ottimizzazione e sulle scelte di scaling, Uszkoreit sulla concezione iniziale di attention-only, Vaswani sull’implementazione, Polosukhin sull’infrastruttura, Jones sulle ablation study e sul titolo, Kaiser sul framework Tensor2Tensor, Parmar e Gomez sull’esecuzione sperimentale. Ognuno indispensabile.
Limite di applicabilita oltre la NLP nel 2017. Quando il paper esce, l’evidenza empirica è su task di traduzione. La generalizzazione a image, audio, RL, biologia non era ancora dimostrata. Sarebbe stato sbagliato, nel 2017, predicare l’universalita del transformer. La dimostrazione cross-domain arriva fra il 2018 (BERT su task NLP non-traduzione) e il 2020-2021 (ViT, AlphaFold). Anche qui, il significato universale del transformer è costruzione retrospettiva.
Lezione storiografica generale. “Attention Is All You Need” è un paper eccellente nel suo contesto del 2017, e un fondamento nel suo contesto del 2026. Le due affermazioni non si confondono. La grandezza del paper non è che ha “previsto” il futuro, ma che ha costruito uno strumento la cui scalabilita ha permesso alla comunità di esplorare in pochi anni un territorio che con architetture sequenziali sarebbe rimasto inaccessibile. Il merito si misura sull’apertura di possibilità, non sulla profezia.
Limite di interpretabilita. Un limite spesso citato del transformer riguarda l’opacita del meccanismo. Le matrici di attention sono visualizzabili e in molti casi interpretabili (alcune teste imparano pattern leggibili), ma l’effettivo calcolo che il modello svolge per produrre un output è distribuito su decine di layer e migliaia di parametri non riducibili a una spiegazione semplice. La letteratura di mechanistic interpretability ha fatto progressi negli anni 2022-2026 nello scoprire circuiti specifici dentro transformer addestrati (induction heads, name-mover heads, fact-storage MLPs), ma siamo lontani da una teoria completa di cosa fa un transformer di frontiera durante l’inference. Per i lettori del 2026, questo significa che le decisioni di un LLM transformer non sono nell’immediato debuggabili nello stesso modo in cui lo è un programma scritto a mano. E’ un problema aperto, non risolto dalla scelta architetturale del 2017.
Trade-off espressivita-stabilità. Il transformer è molto espressivo (universalita di approssimazione documentata da vari teoremi successivi) ma sensibile a dettagli di training: scelta dell’ottimizzatore, learning rate schedule, inizializzazione, mixed precision, ordine dei dati. Modelli di frontiera richiedono recipe accurate di addestramento, non basta “applicare il transformer”. Il paper del 2017 documenta solo una piccola parte di queste sensibilita; la maggior parte è venuta fuori sperimentalmente nei training di GPT-2, GPT-3, e successori.
Costo energetico. Implicito nel costo e nello scaling massiccio: addestrare modelli di frontiera al 2026 ha un’impronta energetica significativa. Il paper del 2017 non discute la questione perché, alla scala di allora (qualche giorno su 8 GPU), non era rilevante. Diventa centrale a partire dal 2020. Vedi pretraining-dati e compute-optimal (in preparazione, Parte XI) per il dibattito su scaling efficiente.
[DATATO 2026-04] Stato del transformer come architettura. Nel 2026, dopo nove anni dal paper, l’architettura transformer è ancora largamente dominante, ma sono emerse alternative serie. State Space Models (Mamba di Gu-Dao 2023, “Mamba: Linear-Time Sequence Modeling with Selective State Spaces”, arXiv:2312.00752) propongono un meccanismo lineare in lunghezza sequenza con prestazioni competitive su language modeling fino a scale medie. Modelli ibridi come Jamba di AI21 (2024) combinano blocchi transformer e blocchi SSM nella stessa rete. Nessuno di questi ha ancora soppiantato il transformer puro nei modelli di frontiera commerciali al 2026, ma il monopolio del transformer non è garantito a tempo indefinito. Vedi
ssm-mambaearchitetture-ibride(in preparazione, Parte X) per il filone alternativo.
[DATATO 2026-04] Nel 2024 è stata pubblicata su arXiv un’analisi storica intitolata “The Annotated History of Modern AI and Deep Learning” da Schmidhuber e collaboratori che rivendica una priorita parziale del concetto di “transformer fast weight” su lavori di Schmidhuber del 1991-1992. La discussione di priorita storica resta aperta nella comunità; l’effetto pratico sulla diffusione e l’impatto del paper di Vaswani et al. nel 2017 è stato comunque dirimente, indipendentemente dalle questioni di paternita concettuale di componenti precedenti.
Collegamenti
Sezione intitolata “Collegamenti”- seq2seq-2014 — l’architettura encoder-decoder che il transformer eredità e ridefinisce. Il vocabolario (encoder, decoder) viene da li.
- attention-bahdanau-2014 — il meccanismo di attention soft che il transformer porta al centro. Senza Bahdanau il salto del 2017 non sarebbe pensabile.
- resnet-2015 — le residual connection sono ingredient esplicito del transformer. Vaswani et al. citano He et al. per giustificarle.
- word2vec-2013 — gli embedding statici di parola sono il punto di partenza concettuale; il transformer produce embedding contestuali, dipendenti dalla posizione e dal contesto.
- imagenet-alexnet-2012 — il paradigma deep learning + GPU + dataset grande di cui il transformer è una continuazione metodologica.
bert-gpt-2018-2019(in preparazione) — il momento in cui il transformer mostra di essere più di un’architettura di traduzione, attraverso il pre-training generativo (GPT) e bidirezionale (BERT).gpt3-2020(in preparazione) — la dimostrazione che il transformer scala in modo prevedibile e produce comportamenti emergenti, fondando il paradigma LLM.chatgpt-2022(in preparazione) — il momento pubblico in cui il transformer diventa visibile fuori dalla comunità tecnica.attention-intuizione(in preparazione, Parte IX) — derivazione dell’attention da zero, intuizione geometrica.qkv-da-zero(in preparazione, Parte IX) — costruzione passo passo di Q, K, V e del meccanismo di scoring.multi-head(in preparazione, Parte IX) — perché multi-head e cosa fa ogni head, con esempi di interpretazione.transformer-block(in preparazione, Parte IX) — il blocco completo, dato per dato, con dimensioni esatte.mqa-gqa(in preparazione, Parte IX) — Multi-Query e Grouped-Query Attention come ottimizzazioni dell’inference.flash-attention(in preparazione, Parte IX) — kernel ottimizzato per attention esatta su GPU moderne.rope(in preparazione, Parte IX) — Rotary Position Encoding, lo schema che ha sostituito le sinusoidi del 2017.ponte-attenzione-transformer(in preparazione, Parte III) — il legame fra il nome “attention” del transformer e il fenomeno psicologico dell’attenzione umana, trattato con disciplina.residual-stream(in preparazione, Parte IX) — il residual stream come ingredient centrale, eredità di resnet-2015 generalizzata in transformer.
Per andare oltre
Sezione intitolata “Per andare oltre”- Vaswani A. et al., “Attention Is All You Need”, NIPS 2017 (arXiv:1706.03762). Il paper originale, undici pagine. Lettura obbligata per chiunque voglia avere una posizione propria su transformer. La sezione di ablation study e quella sulla complessità computazionale sono particolarmente istruttive.
- Devlin J. et al., “BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding”, NAACL 2019 (arXiv:1810.04805). Il primo grande caso di trasferimento del transformer fuori dal task di traduzione. Mostra che il pre-training su corpus di testo non etichettato cattura conoscenza linguistica utilizzabile in molti task downstream.
- Brown T. et al., “Language Models are Few-Shot Learners”, NeurIPS 2020 (arXiv:2005.14165). Il paper di GPT-3. Documenta la prima dimostrazione su larga scala che lo scaling dei transformer decoder-only produce capacità qualitativamente nuove (few-shot learning, in-context learning) non presenti nei modelli più piccoli.
- Dosovitskiy A. et al., “An Image is Worth 16x16 Words: Transformers for Image Recognition at Scale”, ICLR 2021 (arXiv:2010.11929). Vision Transformer. La dimostrazione che il transformer batte le CNN su image recognition dato sufficiente pre-training.
- Dao T. et al., “FlashAttention: Fast and Memory-Efficient Exact Attention with IO-Awareness”, NeurIPS 2022 (arXiv:2205.14135). Il lavoro che ha reso pratica l’attention esatta su sequenze lunghe in transformer di grande scala. Importante per capire come il software di sistema interagisce con l’architettura.
- Bahdanau D., Cho K., Bengio Y., “Neural Machine Translation by Jointly Learning to Align and Translate”, ICLR 2015 (arXiv:1409.0473). Il predecessore diretto su cui Vaswani et al. costruiscono. Confrontare le due architetture aiuta a vedere cosa cambia veramente nel 2017.
- Tensor2Tensor su GitHub (https://github.com/tensorflow/tensor2tensor). Il framework dove il transformer fu prima implementato e rilasciato in open source. Leggere il codice del transformer in T2T (file
tensor2tensor/models/transformer.py) è istruttivo per chi vuole vedere il paper tradotto in software. - Annotated Transformer di Sasha Rush (http://nlp.seas.harvard.edu/annotated-transformer/). Implementazione PyTorch del transformer commentata riga per riga in stile letterate programming. Risorsa didattica eccellente.
- Lukasz Kaiser interview, “The Robot Brains Podcast” episode su transformer (2022). Racconto in prima persona di come il transformer è stato sviluppato dentro Google Brain. Aneddotica utile per capire il contesto sociale del lavoro.
- Lin T., Wang Y., Liu X., Qiu X., “A Survey of Transformers” (AI Open 2022, arXiv:2106.04554). Survey sistematica di varianti e modifiche del transformer pubblicate fra il 2017 e il 2022. Utile come mappa per orientarsi nella vastissima letteratura derivata.
- Anthropic, “A Mathematical Framework for Transformer Circuits” (Elhage et al. 2021, https://transformer-circuits.pub/2021/framework/index.html). Lavoro fondazionale di mechanistic interpretability che propone un framework matematico per analizzare cosa fanno effettivamente i transformer addestrati. Lettura impegnativa ma chiarisce molto dell’angolo “transformer come computazione”.
- Phuong M., Hutter M., “Formal Algorithms for Transformers” (DeepMind 2022, arXiv:2207.09238). Pseudocodice formale di tutti i pezzi del transformer (encoder, decoder, attention, FFN, normalization, position encoding, training loop). Risorsa di riferimento per chi vuole una spiegazione algoritmica precisa, complementare al paper originale.
- Karpathy A., “Let’s build GPT: from scratch, in code, spelled out” (YouTube 2023). Implementazione live in PyTorch di un piccolo transformer decoder-only addestrato su Shakespeare, con commento riga per riga. Per chi impara meglio guardando codice eseguito che leggendo formule. Complementare al paper e all’Annotated Transformer.
- Vaswani A., interview a “Lex Fridman Podcast” (2024). Conversazione lunga in cui Vaswani ricostruisce la genesi del transformer e riflette su cosa il gruppo previde e cosa no. Particolarmente utile per la sezione “Mito 1” del capitolo: chiarisce l’eredità storica dell’attention.
- Le risorse di transformer-circuits.pub mantenute da Anthropic, raccolta di lavori di mechanistic interpretability su transformer. Per chi vuole esplorare cosa fanno effettivamente le attention heads e i circuiti dentro modelli addestrati, oltre la teoria architetturale.
- Sebastian Raschka, “Build a Large Language Model (From Scratch)” (Manning 2024). Libro pratico che costruisce passo passo un transformer decoder-only fino al modello completo, con codice runnable. Risorsa secondaria utile per il lettore-praticante che vuole muovere dalla comprensione concettuale al codice.