Vai al contenuto

Lezione 2 di 6 · 6 min · +100 XP

Cos’è l’attenzione in un transformer?

L’attenzione è la parte di un transformer che permette a ogni token di decidere quali token precedenti contano per lui. Dà un punteggio a ciascuno, trasforma i punteggi in pesi che sommano al 100% e prende un mix pesato delle loro informazioni. È così che «stanco» ritrova «il gatto», e che «pesca» capisce se si parla di frutta o di un lago.

▶ Prova tu

Perché è importante

Una parola da sola è spesso ambigua. L’attenzione è il modo in cui un modello linguistico capisce a cosa si riferiscono «lui», «pesca» o «troppo grande», facendo prendere a ogni parola un po’ di significato da quelle prima.

In 6 minuti saprai

  • L’attenzione permette a ogni parola di guardare indietro e prendere significato dalle parole che contano per lei.
  • I pesi sommano sempre al 100%, quindi più attenzione su una parola vuol dire meno sulle altre.
  • Cambia una parola e l’attenzione si sposta: per questo il contesto cambia ciò che un modello capisce.

Cosa eserciterai

  1. Fai la testa di attenzione

    Tocca le parole precedenti per versarci sopra attenzione. Spendi tutte e 10 le gocce, poi confronta con una testa addestrata. I pesi sono solo un esempio.

    1. Il gatto dorme perché è stanco

      Chi è «stanco»?

      Testa addestrata: gatto 64% · dorme 18% · è 8%

      Si legge: stanco = il gatto «Stanco» deve trovare chi è stanco. La testa addestrata mette quasi tutto il peso su «gatto», l’unico candidato che può dormire.

    2. Siamo andati al lago per la pesca

      Quale «pesca»: il frutto o con la canna?

      Testa addestrata: lago 66% · per 16% · andati 8%

      Si legge: pesca = andare a pescare Da sola, «pesca» potrebbe essere un frutto. Appoggiandosi a «lago», con un piccolo aiuto da «andati per», il significato si sposta verso l’acqua e la canna.

    3. Il vaso non entra nella scatola . Troppo grande

      Cosa è troppo grande?

      Testa addestrata: vaso 57% · entra 14% · scatola 13%

      Si legge: troppo grande = il vaso Qualcosa di troppo grande non ci sta dentro. Per dare senso a «grande», la testa guarda indietro al vaso, la cosa che deve entrare.

    4. Il vaso non entra nella scatola . Troppo piccola

      E adesso: cosa è troppo piccola?

      Testa addestrata: scatola 55% · entra 14% · vaso 13%

      Si legge: troppo piccola = la scatola Una sola parola ha ribaltato il significato, e i pesi si sono ribaltati con lei. L’attenzione si calcola da capo per ogni testo, non è una tabella fissa da consultare.

  2. Dentro una testa di attenzione

    Tocca ogni carta. Ogni token porta con sé tre piccole liste di numeri.

    🔦 Query: cosa sto cercando?
    Il token che guarda manda una query, come «sono un aggettivo, mi serve un nome che possa essere stanco».
    🏷️ Key: cosa offro?
    Ogni token precedente mostra una key, un’etichetta di ciò che è. Più una key corrisponde alla query, più alto è il suo punteggio.
    📦 Value: cosa passo avanti?
    I punteggi diventano pesi che sommano al 100%. La query prende poi un mix pesato dei value dei token precedenti: soprattutto «gatto», un po’ degli altri.
    🧠 Perché tante teste?
    Ogni strato usa molte teste affiancate. Una può collegare pronomi e nomi, un’altra seguire la parola appena prima, un’altra abbinare le parentesi.
  3. Cosa può cercare una testa?

    I ricercatori sbirciano dentro i modelli addestrati. Quali di questi schemi può imparare una testa di attenzione? Scegli tutte le risposte giuste.

    • A quale nome si riferisce un pronome come «lei»
    • La parola subito prima di quella attuale
    • La parentesi aperta che una «)» chiude
    • Il soggetto a cui appartiene un verbo
    • Parole che arriveranno più avanti nella risposta
    • Se la frase è vera nel mondo reale

Ricorda

Ogni token distribuisce il 100% della sua attenzione sui token precedenti e prende un mix di ciò che significano. Il contesto cambia il mix.

Ogni parola distribuisce il 100% della sua attenzione sulle parole precedenti e prende un mix di ciò che significano.

Dati chiave

  • Il transformer, l’architettura dietro i grandi modelli linguistici di oggi, è stato presentato in un articolo del 2017 intitolato «Attention Is All You Need». · Fonte: Vaswani et al., Google, 2017
  • Il transformer originale usava 8 teste di attenzione affiancate in ogni strato. · Fonte: Vaswani et al., Attention Is All You Need, 2017
  • GPT-3 ha 96 strati con 96 teste di attenzione ciascuno. · Fonte: Brown et al., Language Models are Few-Shot Learners, OpenAI, 2020
  • Esaminando un modello linguistico addestrato, i ricercatori hanno trovato singole teste che collegano i pronomi ai nomi a cui si riferiscono e i verbi ai loro complementi, senza che nessuno avesse mai insegnato la grammatica. · Fonte: Clark et al., What Does BERT Look At?, 2019

Aggiornato:

Domande frequenti

Cos’è la self-attention in parole semplici?

La self-attention permette a ogni parola di un testo di guardare le altre parole dello stesso testo e decidere quanto conta ciascuna per lei. Poi la parola prende un mix pesato del loro significato.

Cosa sono query, key e value?

Tre piccole liste di numeri che ogni token porta con sé. La query dice cosa cerca un token, la key dice cosa offre, e il value è ciò che passa avanti quando viene scelto.

Cos’è la multi-head attention?

Usare più teste di attenzione in parallelo nello stesso strato. Ogni testa impara a cercare un tipo diverso di relazione, e i loro risultati vengono combinati.

L’attenzione può guardare le parole future?

Non in un modello che scrive da sinistra a destra. Ogni token può prestare attenzione solo a sé stesso e ai token precedenti, perché quelli dopo non sono ancora stati scritti.

Termini correlati