# 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.

Source: https://www.vigimod.com/it/learn/how-language-models-read-text · VigiMod (https://www.vigimod.com) · aggiornato il 2026-11-11 · 7 min

## In breve

- Il testo viene diviso in token: parole intere, pezzi di parola o singoli caratteri.
- Ogni token diventa una lista di numeri (un embedding) che ne rappresenta il significato.
- L'attenzione permette a ogni token di guardare gli altri: così «riva» o «banca» si capiscono dalla frase.
- Gli encoder leggono tutto il testo insieme e sono ideali per classificare; i decoder generano testo un token alla volta.

## 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:

| Testo | Token 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](https://www.vigimod.com/it/learn/what-is-a-text-classifier)).

## 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](https://www.vigimod.com/it/learn/running-ai-on-a-cpu).

## Quiz

1. Cos'è un token?
   Risposta: Un pezzo di testo che il modello legge: parola, parte di parola o carattere. Il testo viene diviso in token prima che il modello lo legga.
2. Cosa rappresenta un embedding?
   Risposta: Il significato di un token come lista di numeri. Token con significato simile hanno embedding vicini.
3. Quale problema risolve l'attenzione?
   Risposta: Fa prendere a ogni parola il significato dal resto della frase. La stessa parola cambia significato in base alle altre.
4. Quale famiglia è di solito la migliore per classificare velocemente?
   Risposta: Gli encoder. Gli encoder leggono tutto il testo insieme e non devono generare niente.
