Attention Is All You Need, il paper che ha reso possibile ChatGPT

Nel 2017 otto ricercatori di Google proposero di eliminare le reti ricorrenti e affidarsi a un solo meccanismo, l'attention. Rileggiamo il paper che ha disegnato il Transformer, l'architettura sotto ogni modello linguistico di oggi.

Provate a leggere questa frase tenendo un dito sotto ogni parola, con una regola: potete passare alla parola successiva solo dopo aver finito di pronunciare la precedente, e non potete mai sbirciare avanti. È faticoso, ed è lento. Fino al 2017 era così che le reti neurali leggevano il linguaggio, una parola alla volta, in fila indiana. Poi otto ricercatori di Google pubblicarono un paper dal titolo volutamente perentorio — Attention Is All You Need, un’eco quasi beatlesiana — che proponeva di togliere il dito dalla pagina e lasciar guardare tutte le parole in una volta sola. L’architettura che ne nacque si chiama Transformer. È il pezzo di ingegneria su cui poggiano GPT, Claude, Gemini e praticamente ogni modello linguistico con cui interagiamo oggi.

L’idea di pesare le parole, la multi-head attention e dove finisce l’attenzione in encoder e decoder: nel libro.

Leggi «Il meccanismo di attenzione» nel libro →

Il freno si chiamava ricorrenza

Per misurare la portata della proposta bisogna sapere cosa sostituiva. Lo standard dell’epoca erano le reti ricorrenti: leggevano la frase di partenza parola per parola e comprimevano man mano tutto ciò che avevano visto in un unico vettore di memoria, che poi veniva srotolato per produrre la traduzione. Due difetti li rendevano fragili. Il primo è di memoria: infilare una frase lunga in un vettore di dimensione fissa è come riassumere un romanzo su un post-it, prima o poi qualcosa si perde. Il secondo, più insidioso per chi doveva addestrarli, è di velocità: se ogni passo dipende dal risultato del precedente, il calcolo non si può spezzare e distribuire. Le GPU — schede nate per eseguire migliaia di operazioni in contemporanea — restavano quasi a girare a vuoto, come un’autostrada a otto corsie percorsa da una sola auto.

Un rimedio parziale esisteva già dal 2014: il meccanismo di attention permetteva al modello, mentre generava ogni parola tradotta, di «rileggere» direttamente le parole originali invece di fidarsi solo del riassunto compresso. Ma restava un accessorio montato sopra la ricorrenza. La domanda del paper fu spiazzante nella sua semplicità: e se quell’accessorio fosse in realtà l’unico ingranaggio di cui abbiamo bisogno?

Query, key e value: una frase che interroga se stessa

Il cuore del Transformer è la self-attention. Tolta la matematica, l’idea è che per capire una parola bisogna sapere a quali altre parole della frase è agganciata. In «il cane che il postino aveva evitato abbaiò», per dare un senso ad «abbaiò» serve risalire a «cane», non a «postino». La self-attention rende questo aggancio un calcolo esplicito.

Ogni parola — più precisamente ogni token — genera tre vettori: una query, una key e un value. L’analogia più fedele è quella di una biblioteca. La query è la domanda che porti al banco informazioni: «sto cercando il mio soggetto». La key è l’etichetta sul dorso di ogni volume, il modo in cui ciascuna parola si annuncia: «sono un sostantivo, maschile, singolare». Il value è il contenuto vero del libro, l’informazione che quella parola consegna una volta che il contatto è avvenuto. Il calcolo confronta la query di ogni parola con le key di tutte le altre (è il prodotto Q·KT del paper, diviso per un fattore di scala che tiene i numeri sotto controllo), converte i punteggi in percentuali che sommano a cento con la funzione softmax, e usa quelle percentuali per mescolare i value. Ogni parola esce così con una rappresentazione nuova, fatta di un po’ di tutte le altre, dove i pesi dicono dove guardare. E questo avviene per tutte le parole simultaneamente: la fila indiana sparisce, l’autostrada si riempie.

Il flusso Q · K · V dentro un livello di attention vettore del token «cane» Q query K key V value punteggi Q · Kₜ / √dₖ softmax → pesi α output del token = Σ α · V i pesi α decidono quanto di ogni value entra nella nuova rappresentazione della parola

Ogni token si sdoppia in query, key e value. Il confronto tra query e key produce i punteggi; la softmax li trasforma in pesi che sommano a uno; quei pesi ricombinano i value nell’output. Tutto il calcolo avviene per tutte le parole in parallelo.

Otto sguardi sono meglio di uno

Una frase non contiene un solo tipo di relazione. C’è la sintassi (chi è il soggetto), c’è il riferimento (a chi rimanda un pronome), c’è il tempo verbale, c’è la vicinanza. Un unico meccanismo di attention dovrebbe schiacciare tutte queste relazioni in una sola miscela di pesi, perdendo per forza qualcosa. Per questo il paper introduce la multi-head attention: invece di un calcolo, se ne eseguono otto in parallelo, ciascuno su una proiezione diversa e ridotta dei dati. È come dare lo stesso contratto a otto revisori con occhi diversi — uno bada alle scadenze, uno alle penali, uno ai nomi delle parti — e poi cucire insieme i loro appunti. Ogni «testa» può specializzarsi su un tipo di legame senza dover fare tutto da sola.

Rimettere l’ordine nella frase

Eliminata la ricorrenza, spunta un problema imbarazzante. Se tutte le parole vengono elaborate insieme, senza fila, il modello non sa più chi viene prima. «Il gatto insegue il topo» e «il topo insegue il gatto» diventerebbero lo stesso sacchetto di parole rovesciato sul tavolo. La soluzione del paper è il positional encoding: a ogni token viene sommato un vettore che ne codifica la posizione, costruito con onde sinusoidali di frequenze diverse. Immaginatelo come un timbro con l’ora impresso su ogni parola quando entra: il contenuto non cambia, ma resta scritto «ero la terza della fila». Così l’ordine rientra dalla finestra senza far rientrare dalla porta la lettura sequenziale.

La ricorrenza non era il motore della comprensione del linguaggio. Era il freno a mano rimasto tirato.

Cosa è successo dopo, e cosa il paper non poteva sapere

Sul benchmark di traduzione inglese-tedesco WMT 2014 il Transformer raggiunse 28,4 punti BLEU, superando lo stato dell’arte precedente, e fece meglio anche in inglese-francese. Ma il numero che conta davvero non è il punteggio di qualità: è il costo di addestramento, una frazione di quello dei modelli concorrenti a parità di risultati. La parallelizzazione totale significava che aggiungere GPU faceva davvero andare più veloci, senza rendimenti che crollavano subito.

È questa proprietà, più dell’eleganza dell’idea, ad aver deviato la traiettoria del settore. Quando un’architettura scala bene con il calcolo, qualcuno prima o poi prova a scalarla sul serio. Nel 2018 OpenAI prese solo la metà «decoder» del Transformer e la addestrò a indovinare la parola successiva su enormi quantità di testo: nacque GPT. Lo stesso anno BERT prese la metà «encoder» per un altro scopo. Tutto ciò che è venuto dopo — fino al modello con cui forse avete parlato stamattina — è una variazione, per quanto raffinata, dello schema disegnato in queste poche pagine.

Perché rileggerlo oggi

Per chi lavora o studia nel campo, il paper resta la risposta alla domanda «perché i modelli linguistici sono fatti proprio così». La self-attention, con il suo costo che cresce col quadrato della lunghezza della frase, è ancora il collo di bottiglia che alimenta ricerche attualissime come FlashAttention o le architetture a stato, pensate per gestire testi lunghi. Per chi osserva l’AI da fuori, la lezione è quasi filosofica: la svolta non arrivò aggiungendo complessità, ma togliendola. Un’idea sola, portata fino in fondo, al posto di un’impalcatura di accorgimenti. Vale la pena ricordarlo ogni volta che qualcuno promette che il progresso richieda per forza qualcosa di più complicato.

Il paper

Ashish Vaswani, Noam Shazeer, Niki Parmar, Jakob Uszkoreit, Llion Jones, Aidan N. Gomez, Łukasz Kaiser, Illia Polosukhin, Attention Is All You Need, NeurIPS 2017. Disponibile su arXiv: arxiv.org/abs/1706.03762.

I commenti sono riservati agli iscritti.

Accedi per commentare