L’attention è il meccanismo che consente a un modello di decidere, per ogni parola che sta elaborando, quali parole precedenti contino davvero. È l’idea che ha reso possibili i moderni modelli linguistici, e si può spiegare senza una sola equazione.
Terzo articolo di una serie su come funzionano davvero i modelli linguistici.
Il problema che risolve
Considera: Il trofeo non entrava nella valigia perché era troppo grande.
A che cosa si riferisce era? Al trofeo. Cambia una sola parola — perché era troppo piccola — e ora il riferimento è la valigia. La parola di collegamento non è cambiata. È cambiata la parola con cui deve essere letta.
Le architetture precedenti elaboravano il testo rigorosamente in ordine, trascinando in avanti un riassunto progressivo. L’informazione lontana doveva sopravvivere a ogni passaggio intermedio, e spesso non ci riusciva. L’attention elimina del tutto questa staffetta: qualunque posizione può guardare direttamente a qualunque posizione precedente, per quanto distante.
Che cosa succede davvero
Per ogni parola, il modello produce tre cose. Una query, che significa più o meno “che cosa sto cercando?”. Una key, cioè “che cosa offro?”. E un value — il contenuto che passa avanti se viene selezionato.
La query di ogni parola viene confrontata con la key di ogni parola precedente. Le corrispondenze forti ottengono punteggi alti. Questi punteggi vengono normalizzati in pesi che sommano a uno, e il risultato è una combinazione dei value, pesata di conseguenza. Una parola molto importante contribuisce alla maggior parte della combinazione; quelle irrilevanti quasi per nulla.
L’immagine mentale utile è quella di una ricerca morbida. Non “prendi il record 4”, ma “prendi il 70 per cento del trofeo, il 20 per cento della valigia e una piccola quota di tutto il resto”.
Molte head, alla ricerca di cose diverse
Un solo insieme di confronti può seguire un solo tipo di relazione. I modelli reali ne eseguono decine in parallelo — le attention head — ciascuna con le proprie query e key e quindi con una propria idea di ciò che vale la pena osservare.
Quando i ricercatori ispezionano modelli addestrati trovano head che si sono specializzate senza che nessuno glielo chiedesse: alcune seguono l’accordo grammaticale, altre i confini delle citazioni, altre ancora guardano semplicemente al token precedente. Nessuno ha assegnato questi ruoli. Sono emersi perché riducevano l’errore di previsione.
Perché questo ha permesso ai modelli di scalare
La svolta pratica non è stata solo la qualità: è che ogni posizione può essere calcolata nello stesso momento. Le architetture sequenziali dovevano finire la parola uno prima di iniziare la parola due. L’attention confronta tutto con tutto in un colpo solo, cosa che si adatta perfettamente alle GPU. È questo parallelismo ad aver reso economicamente possibile addestrare su quantità di testo su scala Internet.
Il conto arriva con la lunghezza. Confrontare ogni posizione con ogni altra significa che il costo cresce grosso modo con il quadrato della sequenza. Raddoppia l’input e il lavoro di attention quadruplica. È la ragione diretta per cui le context window lunghe sono state difficili da ottenere, costose da servire e al centro di un decennio di ingegneria — pattern sparsi, sliding window, caching — tutta mirata a evitare il confronto completo.
Solo all’indietro
Durante la generazione, una parola può prestare attention solo a ciò che la precede. Le posizioni future sono mascherate, perché in quel momento non esistono. È questo a rendere causale la generazione e ci riporta al primo articolo della serie: il modello si impegna su ogni token senza vedere ciò che viene dopo, perché strutturalmente non può farlo.
Che cosa portarsi a casa
L’attention permette a ogni posizione di attingere direttamente a ogni posizione precedente, pesata dalla rilevanza che il modello ha imparato a valutare. È il motivo per cui i modelli gestiscono bene le dipendenze a lunga distanza, il motivo per cui si parallelizzano e — attraverso il suo costo quadratico — il motivo per cui la lunghezza del contesto è costosa. Quasi ogni discussione architetturale nell’AI moderna riguarda come conservarne il vantaggio evitando quel conto.
Prossimo articolo della serie: temperature e top-p, e come controllare quanto il modello è disposto a rischiare.
