Base7 min di letturaAggiornato

Come leggono il testo i modelli linguistici: token, embedding e attenzione

I computer non leggono parole. Come un modello linguistico trasforma una frase in token e numeri, e come l'attenzione gli fa capire il significato.

Passo 1: i token

Un modello non legge le lettere come noi. Prima il testo viene diviso in token da un tokenizer. Le parole comuni sono un solo token, quelle rare vengono spezzate:

TestoToken possibili
«moderazione»moder · azione
«ciao»ciao
«incredibilissimo!!»in · cred · ibil · issimo · !!

I modelli multilingue condividono un unico vocabolario (spesso 100-250 mila token) tra molte lingue, così «insulto», «insult» e «Insulte» possono finire vicini. Il numero di token decide anche il costo: un modello ha una lunghezza massima (per esempio 256 o 512 token) e il tempo di calcolo cresce con essa.

Passo 2: gli embedding

Ogni token diventa una lunga lista di numeri, chiamata embedding (per esempio 1.024 numeri). Puoi immaginarla come le coordinate in uno spazio dei significati: token con significato simile stanno vicini. «Idiota» e «stupido» sono vicini; «idiota» e «pomodoro» sono lontani.

Passo 3: l'attenzione

Una parola da sola è ambigua. In «mi sono seduto sulla riva della banchina» e «ho aperto un conto in banca», parole simili hanno significati diversi. L'attenzione risolve il problema: a ogni strato ogni token guarda tutti gli altri e prende le informazioni che contano. Dopo qualche strato la rappresentazione della stessa parola è diversa nelle due frasi.

È il cuore del transformer, l'architettura dietro quasi tutti i modelli linguistici moderni. Un modello è una pila di questi strati (12, 24, 36 o più): i primi catturano la grammatica, gli ultimi il significato, il tono e l'intenzione.

Encoder e decoder

Ci sono due grandi famiglie:

  • Gli encoder (BERT, XLM-RoBERTa, mmBERT) leggono tutto il testo insieme, nei due sensi. Producono una rappresentazione dell'intera frase, perfetta per classificare: è un insulto? È uno spoiler? Sono piccoli e veloci. VigiMod è costruito su un encoder multilingue.
  • I decoder (GPT, Llama, Qwen, Mistral) leggono da sinistra a destra e generano testo un token alla volta. Sono bravissimi a scrivere e ragionare, ma generare è lento, soprattutto su CPU.

Per classificare con un decoder si può evitare la generazione e leggere la probabilità del primo token della risposta («sì»/«no»), oppure aggiungere una piccola testa di classificazione alla sua rappresentazione interna.

Dalla lettura alla decisione

Un classificatore aggiunge sopra il modello un piccolo strato finale: prende la rappresentazione del testo e la trasforma in un punteggio per categoria. L'addestramento regola questo strato e di solito anche il modello sotto (vedi cos'è un classificatore di testo).

Perché la dimensione conta (e non è tutto)

Più strati e più numeri per token permettono di cogliere significati più sottili: ironia, citazioni, contesto. Ma vogliono dire anche più calcoli per ogni messaggio. Un encoder da mezzo miliardo di parametri risponde in qualche decina di millisecondi su CPU; un decoder da 20 miliardi che scrive il suo ragionamento può impiegare secondi. Per moderare una chat dal vivo, spesso è meglio un modello più piccolo addestrato sui dati giusti. Come si rendono veloci i modelli sui computer normali lo spieghiamo in far girare l'IA su CPU.

Mettiti alla prova

Rispondi alle domande, poi controlla le risposte.

  1. 1. Cos'è un token?
  2. 2. Cosa rappresenta un embedding?
  3. 3. Quale problema risolve l'attenzione?
  4. 4. Quale famiglia è di solito la migliore per classificare velocemente?

Tutte le guide →

Guardalo su messaggi veri

Prova la demo dal vivo, o leggi come funziona l'API.