← Panoramica e percorso
04

Self-attention: il cuore del transformer

Questo è il meccanismo che ha cambiato tutto. Ogni token «guarda» gli altri token nel contesto e decide a quali prestare attenzione per costruire il proprio significato. La parola «sponda» significa cose diverse vicino a «fiume» o a «banca».

Clicca un token (la query) per vedere a quali altri presta attenzione. Lo spessore e la luce degli archi indicano quanto «peso» riceve ciascuno.

Query, Key, Value

Da ogni embedding si ricavano tre vettori:

  • Q Query, «cosa sto cercando?»
  • K Key, «cosa offro io?»
  • V Value, «l'informazione che porto»

Si confronta la Query di un token con le Key di tutti gli altri (prodotto scalare): più sono allineate, più alto è il punteggio. I punteggi passano per una softmax che li trasforma in pesi che sommano a 1. Il risultato è una media pesata dei Value.

Attention(Q,K,V) = softmax( Q·Kᵀ / √d ) · V

Matrice di attention

Riga = query, colonna = key. Più una cella è chiara, più quella query presta attenzione a quella key. La metà in alto a destra è vuota perché i modelli come GPT sono causali: ogni token vede solo sé stesso e i precedenti, mai quelli futuri. Passa il mouse o tocca una cella per i dettagli.

Mettiti alla prova

Hai capito questa pillola?

3 domande veloci: scegli una risposta per ciascuna.

  1. Nella self-attention, a cosa serve la Query di un token?

  2. In un modello come GPT, il token in posizione 3 può guardare…

  3. Perché ai punteggi Q·K si applica una softmax?