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.
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:
- Si parte dall’alfabeto (byte / caratteri).
- Si cercano le coppie più frequenti nel corpus e le si “fonde” in un nuovo token.
- 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):
| Testo | Token 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ù:
| Lingua | Token per “ciao come stai” (3 parole) |
|---|---|
| Inglese (hi how are you) | 4 token |
| Italiano | 5-6 token |
| Spagnolo, Francese, Tedesco | 5-7 token |
| Russo, Greco, Ebraico | 10-15 token |
| Giapponese, Cinese, Coreano | 12-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:
- platform.openai.com/tokenizer → ufficiale OpenAI, vedi token GPT-4 e GPT-4o.
- tiktokenizer.vercel.app → multi-modello (GPT, Claude, Llama, Gemini).
- 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)
- Apri tiktokenizer.vercel.app.
- Incolla questa frase: “Bartolomeo Sciarrabba è un commercialista di Casalpusterlengo specializzato in fiscalità internazionale.”
- Confronta il numero di token su:
- GPT-4o
- Claude (Anthropic tokenizer)
- Llama 3
- Quale modello “ti costa meno” per la stessa frase?
- 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.