Home/ Wiki/ AI/ Token e Tokenizzazione

Token e Tokenizzazione

L'unita fondamentale dei Large Language Model: come il testo viene convertito in numeri, perche la context window ha un limite e come i token influenzano costi e prompt engineering.

Indice dei contenuti
Aggiornato: Aprile 2026 9 min di lettura

Cos'e un token

Un token e l'unita minima di testo che un Large Language Model elabora. Non corrisponde necessariamente a una parola: puo essere una parola intera, una sotto-parola, un singolo carattere o persino un byte. I LLM non "leggono" il testo come gli esseri umani — lo convertono in una sequenza di numeri interi (token ID), ciascuno mappato a un vocabolario predefinito.

Esempio di tokenizzazione

Frase: "L'intelligenza artificiale e straordinaria"

Token: ["L", "'", "intellig", "enza", " artificial", "e", " e", " straordin", "aria"]

Una frase di 5 parole produce 9 token. In italiano e nelle lingue con molte parole composte, il rapporto token/parola e tipicamente 1.5-2x.

La tokenizzazione e il processo che converte il testo grezzo in questa sequenza di token. E il primo passo di qualsiasi pipeline NLP basata su Transformer e influenza direttamente prestazioni, costi e limiti del modello.

Byte Pair Encoding (BPE)

Il BPE (Byte Pair Encoding) e l'algoritmo di tokenizzazione piu usato nei LLM moderni, inclusi GPT-4, Claude e Llama. Il principio e elegante: si parte da un vocabolario di singoli caratteri (o byte) e si fondono iterativamente le coppie di simboli piu frequenti nel corpus di training.

  1. Si parte dal vocabolario di base (es. tutti i byte ASCII + Unicode).
  2. Si conta la frequenza di ogni coppia adiacente nel corpus.
  3. Si fonde la coppia piu frequente in un nuovo simbolo (es. "t" + "h" diventa "th").
  4. Si ripete finche il vocabolario raggiunge la dimensione desiderata (tipicamente 32K-100K token).

Il risultato e che le parole comuni diventano singoli token ("the", "and", "che"), mentre le parole rare vengono suddivise in sotto-parti. Questo bilancia efficienza (sequenze corte per testi comuni) e copertura (qualsiasi testo puo essere rappresentato).

WordPiece e SentencePiece

WordPiece, usato da BERT e modelli Google, e simile a BPE ma usa una metrica probabilistica (likelihood) invece della frequenza grezza per scegliere le fusioni. I sotto-token non iniziali sono marcati con il prefisso "##" (es. "playing" diventa ["play", "##ing"]).

SentencePiece e un framework che implementa sia BPE che un modello unigram. La sua caratteristica distintiva e che opera direttamente sul testo grezzo senza pre-tokenizzazione basata su spazi, rendendolo ideale per lingue senza separatori espliciti (cinese, giapponese) e per un trattamento uniforme multilingue.

AlgoritmoUsato daVocabolario tipico
BPEGPT-4, Claude, Llama50K-100K
WordPieceBERT, DistilBERT30K
SentencePiece (Unigram)T5, mBART, XLNet32K-250K

Context window

La context window (finestra di contesto) e il numero massimo di token che un modello puo elaborare in una singola richiesta, includendo sia l'input (prompt) che l'output (risposta). E il limite fisico della "memoria di lavoro" del modello.

Le dimensioni delle context window si sono espanse rapidamente:

  • GPT-3 (2020): 4.096 token (~3.000 parole)
  • GPT-4 (2023): 8K / 32K / 128K token
  • Claude (2024-2026): fino a 200K token (~150.000 parole, un intero libro)
  • Gemini 1.5: fino a 1M+ token

Nonostante finestre piu grandi, le prestazioni del modello tendono a degradare per informazioni posizionate nel "centro" di contesti molto lunghi (fenomeno "lost in the middle"). Per questo la RAG resta fondamentale: recupera solo i frammenti piu rilevanti invece di inserire tutto nel contesto.

Contare i token

Contare i token in anticipo e essenziale per gestire costi e limiti. Strumenti utili:

  • tiktoken (Python, libreria OpenAI): tiktoken.encoding_for_model("gpt-4") per il conteggio esatto dei token GPT.
  • Tokenizer di Hugging Face: AutoTokenizer.from_pretrained("meta-llama/Llama-3") per modelli open source.
  • Tool online: platform.openai.com/tokenizer per test rapidi.

Regola empirica per l'italiano: 1 token corrisponde mediamente a 3-4 caratteri o circa 0.6 parole. Un testo di 1.000 parole produce circa 1.500-1.800 token. Per l'inglese il rapporto e piu favorevole: ~0.75 parole per token.

Token e costi API

Le API dei LLM fatturano per token elaborati, distinguendo tra input token (il prompt) e output token (la risposta generata). Gli output token costano tipicamente 3-5x in piu degli input:

ModelloInput (per 1M token)Output (per 1M token)
GPT-4o$2.50$10.00
Claude Sonnet$3.00$15.00
Llama 3 70B (hosting)$0.50-1.00$0.50-1.00

Per ottimizzare i costi: riduci il prompt al minimo necessario, usa modelli piu piccoli per task semplici, implementa caching delle risposte per query ripetitive e sfrutta il batching delle richieste.

Implicazioni per il prompt engineering

La tokenizzazione ha conseguenze pratiche dirette sulla scrittura dei prompt e sull'interazione con i LLM:

  • Lunghezza del contesto: il prompt di sistema + la conversazione + la risposta attesa devono rientrare nella context window. Un prompt di sistema lungo riduce lo spazio per conversazione e risposta.
  • Parole rare e lingue non inglesi: richiedono piu token per la stessa quantita di informazione. Un prompt in italiano costa ~30% in piu dello stesso contenuto in inglese.
  • Codice e formattazione: spazi, indentazione e sintassi consumano token. Il codice minimizzato usa meno token ma e meno leggibile per il modello.
  • Numeri: i numeri vengono tokenizzati cifra per cifra o in gruppi irregolari, rendendo i LLM notoriamente deboli in aritmetica.
  • Output strutturato: richiedere JSON o formati strutturati consuma piu token di output rispetto al testo libero, aumentando i costi.

Comprendere la tokenizzazione non e un dettaglio tecnico: e una competenza pratica che impatta direttamente costi, prestazioni e design delle applicazioni AI. Per approfondire come i token si trasformano in rappresentazioni semantiche, consulta Embedding e Vector Database.