Vittorio Tondi

Su Chi Ho l’Attenzione Adesso?

Lente d'ingrandimento appoggiata su un tavolo di legno, metafora dell'attenzione multi-head e dell'osservazione di Sherlock Holmes

C’è una scena, in Uno scandalo in Boemia, in cui Sherlock Holmes chiede a Watson quanti gradini ci siano nella scala che porta al loro appartamento di Baker Street. Watson non lo sa, anche se l’ha salita centinaia di volte. «Voi vedete», dice Holmes, «ma non osservate». È la differenza tra ricevere un’informazione e farne qualcosa — ed è, sorprendentemente, anche la domanda che un modello linguistico si pone, milioni di volte, ogni volta che legge una frase: di tutto quello che ho davanti, su chi ho l’attenzione adesso? Chiameremo questa squadra di osservatori, con il nome che le dà chi costruisce le macchine, attenzione multi-head.

«Voi vedete, ma non osservate»

La battuta di Sherlock Holmes a Watson non riguarda gli occhi. Entrambi guardano la stessa scala, con gli stessi occhi, nella stessa luce. La differenza è dove va l’attenzione una volta che l’informazione è arrivata. Watson ha visto la scala come un insieme — “una scala”, appunto — mentre Holmes l’ha scomposta in gradini, l’ha contata, ha tenuto quel numero a disposizione per dopo. Stesso input, due elaborazioni completamente diverse, perché due domande diverse erano attive nella testa di chi guardava.

Questo è il punto che ci interessa: l’attenzione non è un riflettore unico che illumina una cosa alla volta. È più simile a una squadra di osservatori che guardano la stessa scena, ciascuno con il proprio compito — uno conta i gradini, uno nota il colore della ringhiera, uno controlla se c’è polvere sui corrimano che potrebbe rivelare quando è stata pulita l’ultima volta. Holmes, semplicemente, ha più osservatori attivi di chiunque altro nella stanza.

La festa, vista da più angolazioni insieme

Tornando per un momento al salotto pieno di gente di cui abbiamo già parlato: immaginate di essere a una festa, a tenere d’occhio un bambino che gioca in un angolo. Nello stesso istante, una parte di voi segue la conversazione con la persona che vi sta parlando, un’altra nota che due ospiti all’altro capo della stanza si sono appena guardati in un certo modo, un’altra ancora percepisce che la musica è appena cambiata. Nessuna di queste cose esclude le altre. Non state “passando” da una all’altra come uno zoom che si sposta — le state seguendo tutte, in parallelo, con un’intensità diversa ciascuna.

Se qualcuno vi chiedesse, un’ora dopo, “di cosa stavi parlando con quella persona?”, sapreste rispondere. Se vi chiedesse “che canzone stava suonando in quel momento?”, probabilmente anche. Erano entrambe presenti, registrate da osservatori diversi che lavoravano sulla stessa scena, contemporaneamente, ognuno per conto proprio.

Tante osservazioni in parallelo: l’attenzione multi-head

Nei modelli linguistici questa idea ha un nome tecnico, ed è una delle scelte più importanti del paper sui transformer di cui abbiamo già parlato: l’attenzione multi-head. Invece di calcolare un solo schema di attenzione per frase, il modello ne calcola molti in parallelo — decine, in certi modelli — ciascuno con i propri parametri, ciascuno libero di “guardare” la frase a modo suo.

Un osservatore dell’attenzione multi-head può specializzarsi nel collegare un pronome al nome a cui si riferisce, due o tre parole prima. Un altro può tracciare l’accordo tra soggetto e verbo, anche quando sono separati da un’intera proposizione incidentale. Un altro ancora può occuparsi della punteggiatura, individuando dove finisce un pensiero e ne comincia un altro. Nessuno di questi osservatori, da solo, “capisce” la frase. Ma messi insieme — ed è questo il passaggio successivo del modello — la loro somma produce qualcosa che si comporta come comprensione.

È esattamente la squadra di osservatori di Holmes, applicata a un testo invece che a una scala: non un’unica attenzione generica, ma molte attenzioni specializzate, ciascuna allenata a notare una cosa diversa nella stessa identica sequenza di parole.

Per dare un’idea della scala: un singolo strato di un modello linguistico può contenere dodici, sedici, anche novantasei teste di attenzione multi-head, e un modello ne impila decine di strati uno sopra l’altro. Significa che ogni parola, prima di arrivare a fine frase, è già stata osservata centinaia di volte, da centinaia di osservatori diversi, ciascuno con la propria piccola domanda in mente. L’attenzione multi-head non è un dettaglio implementativo: è il motivo per cui questi modelli colgono ambiguità, ironia, riferimenti lontani — cose che richiedono di tenere a mente più piste insieme, esattamente come fa Holmes davanti a una scena del crimine.

Su chi ho l’attenzione adesso?

C’è una pratica, in certe tradizioni contemplative, che consiste semplicemente nel chiedersi, a intervalli: dove è andata la mia attenzione in questo momento? Non per giudicarla, solo per notarla. È un esercizio che funziona perché normalmente non lo facciamo mai: l’attenzione si sposta, si divide, si moltiplica, e noi la seguiamo senza accorgercene, come Watson sulla scala.

Un modello linguistico, in un certo senso, fa questa domanda — su chi ho l’attenzione adesso? — a ogni parola, in ogni strato della sua rete, con decine di osservatori che rispondono ciascuno a modo proprio. La differenza è che lui lo fa sempre, meccanicamente, su ogni token che elabora. Noi lo facciamo raramente, e quasi sempre per caso. Forse è anche per questo che l’effetto cocktail party ci sembra un piccolo miracolo quando lo notiamo: per un istante, ci siamo accorti di un osservatore che lavorava già da solo, da sempre, senza chiedere il nostro permesso.