✔️✔️ Doppie Spunte Blu Cap. 10 · Sotto il cofano: cos'è davvero un LLM

Puntata 102

Puntata 102 — Token

Livello: ✔️✔️ Doppie Spunte Blu · Capitolo 10 · Sotto il cofano: cos’è davvero un LLM

L’AI non vede “gatto”. Vede ["gatto"]. Oppure ["gat", "to"]. O peggio, se sei un nome strano, 6 frammenti. È il primo abisso tra la nostra testa e la sua.

la parola “tokenizzazione” trasformata in mattoncini LEGO colorati di dimensioni diverse, alcuni piccoli (“zat”), alcuni grandi (“token”); accanto, una scritta giapponese spezzettata in pezzi minuscoli a 1 byte ciascuno

Il primo abisso

Per un umano, la parola “meraviglioso” è una parola. Per un LLM è (in BPE inglese) qualcosa tipo ["mer", "av", "ig", "lioso"]4 token.

E “ChatGPT”? Spesso è 1 solo token ("ChatGPT"), perché compare molte volte nei dati di training. Mentre il tuo cognome regionale italiano potrebbe essere 6 token, perché il tokenizer non l’ha mai visto.

Capire i token è capire perché certe cose costano di più, perché alcuni prompt funzionano meglio di altri, e perché ChatGPT a volte sbaglia a contare le lettere “r” in “fragola”.


Definizione operativa

Un token è l’unità minima che l’LLM processa. Non è una parola. Non è una sillaba. Non è un carattere. È un sotto-pezzo di testo statisticamente comodo, definito dal tokenizer.

Per gli LLM moderni (GPT, Claude, Gemini, Llama…), il tokenizer è quasi sempre Byte-Pair Encoding (BPE) o una sua variante (SentencePiece, Tiktoken, WordPiece). Vedi puntata 206 per il dettaglio Yoda.

L’idea base di BPE:

  1. Si parte dall’alfabeto (byte / caratteri).
  2. Si cercano le coppie più frequenti nel corpus e le si “fonde” in un nuovo token.
  3. Si itera per N volte (es. 50.000 - 200.000).

Risultato: un vocabolario di decine di migliaia di pezzi — alcuni interi (parole comuni), alcuni frammenti.


Quanti token sono X parole?

Regole pratiche (in italiano, BPE standard tipo Tiktoken di OpenAI):

TestoToken approssimativi
1 carattere~0.4 token
1 parola breve italiana (“casa”)1 token
1 parola media italiana (“mangiare”)2-3 token
1 parola lunga / tecnica (“interpretabilità”)5-7 token
1 riga di testo italiano~10-15 token
1 pagina (250 parole)~350-450 token
1 libro (80.000 parole)~110.000-140.000 token

Regola del pollice: in italiano, 1 parola ≈ 1.4 - 2 token. In inglese (lingua su cui i tokenizer sono ottimizzati): 1 parola ≈ 1.3 token. L’italiano “costa” un po’ di più.


Lingue penalizzate

Le lingue meno presenti nei dati di training costano molto di più:

LinguaToken per “ciao come stai” (3 parole)
Inglese (hi how are you)4 token
Italiano5-6 token
Spagnolo, Francese, Tedesco5-7 token
Russo, Greco, Ebraico10-15 token
Giapponese, Cinese, Coreano12-20 token
Lingue rare (Swahili, Tamil…)spesso byte per byte (30+ token)

Conseguenza pratica: usare l’AI in giapponese costa 3-5x che in inglese, sia in prezzo sia in context window consumata. Vedi anche puntata 163 (AI nei dialetti italiani).

I tokenizer moderni (Llama 3, GPT-4o, Gemini 2.5) sono stati ribilanciati per essere più equi sulle lingue non inglesi — ma il gap esiste ancora.


Perché i token rompono cose che ti sembrano ovvie

1. Conteggio lettere

Domanda classica: “Quante ‘r’ ci sono in ‘fragola’?”

L’LLM vede “fragola” magari come ["fra", "gola"]. Non vede le singole lettere. Risposta sbagliata frequente. Il workaround: chiedi “scrivi ‘fragola’ una lettera per volta separata da virgole, poi conta le ‘r’”. Costringi il tokenizer a passare da byte singoli.

2. Spelling, anagrammi, palindromi

Stesso motivo. L’LLM è strutturalmente debole sull’ortografia, perché non manipola caratteri ma frammenti.

3. Numeri lunghi

“3.142.857” diventa qualcosa come ["3", ".", "142", ".", "857"]. Calcoli aritmetici precisi vanno male per la stessa ragione. Soluzione: tool use con calcolatrice (puntata 236).

4. Domini di nicchia con nomi propri

Termini scientifici, nomi di farmaci, codici prodotto: spesso token splittato male = comprensione peggiore.


Tokenizer = costo in fattura

Quando paghi un’API LLM, paghi al token:

Modello (2026)$ / 1M input token$ / 1M output token
GPT-5~$2-5~$15-30
Claude 4.7 Sonnet~$3~$15
Gemini 2.5 Pro~$1.25~$10
Modelli “mini/flash”~$0.10-0.50~$0.50-2

Quindi: ottimizzare il prompt (meno parole, lingua più “economica”, esempi compatti) risparmia soldi reali in produzione. Vedi puntate 119 (template) e 296 (caching).


Verifica tu stesso: il tokenizer-visualizer

Tre tool gratis online per vedere come il tuo testo viene tokenizzato:

  1. platform.openai.com/tokenizer → ufficiale OpenAI, vedi token GPT-4 e GPT-4o.
  2. tiktokenizer.vercel.app → multi-modello (GPT, Claude, Llama, Gemini).
  3. huggingface.co/spaces/Xenova/the-tokenizer-playground → libreria HuggingFace.

Test consigliato (faremo anche alla puntata 110): incolla lo stesso paragrafo in 3 modelli diversi e conta i token. Differenze fino al 40%, ovvero fino al 40% di costo diverso per lo stesso task.


Token speciali

Oltre ai token normali, ogni LLM ha token speciali che controllano il flusso:

  • <|endoftext|> o </s> — fine sequenza
  • <|user|>, <|assistant|>, <|system|> — separatori di ruolo (chat models)
  • <|im_start|>, <|im_end|> — convenzioni ChatML
  • <thinking>, <answer> — in alcuni modelli reasoning

Importanza pratica: se sviluppi con API, sapere quali sono evita di rompere il template (alcuni provider rifiutano i prompt che contengono token riservati nel testo libero).


L’evoluzione dei tokenizer (mini-cronologia)

  • 2018-19: tokenizer ~50k vocab, ottimizzati su inglese.
  • 2021-22: vocabolari più grandi (~100k), prime ottimizzazioni multilingue.
  • 2024 (GPT-4o, Llama 3): vocabolari ~128k-200k, lingue non-inglesi pareggiano molto.
  • 2025-26: tokenizer byte-level fallback robusti, supporto migliore di lingue rare, emoji, codice. Sperimentazioni con tokenizer dinamici e “token-free” (es. ByT5).

Vedi puntate 206 e 263 per dettaglio Yoda.


TEST pratico (5 minuti)

  1. Apri tiktokenizer.vercel.app.
  2. Incolla questa frase: “Bartolomeo Sciarrabba è un commercialista di Casalpusterlengo specializzato in fiscalità internazionale.”
  3. Confronta il numero di token su:
    • GPT-4o
    • Claude (Anthropic tokenizer)
    • Llama 3
  4. Quale modello “ti costa meno” per la stessa frase?
  5. Bonus: confronta con la versione inglese: “Bartholomew Smith is an accountant from Casalpusterlengo specialized in international taxation.”. Vedi quanto si risparmia.

Take-away in una riga

Il tokenizer è il filtro tra il tuo italiano e il modello. Capirlo significa risparmiare soldi, evitare errori ortografici stupidi e scegliere meglio il modello per il tuo dominio.

➡️ Prossima puntata: Il “prossimo token più probabile” — come funziona davvero la generazione.