Token: definizione, funzionamento e limiti nei modelli linguistici
01

Definizione in una frase

Unità in cui un modello divide un input o output per elaborarlo e, spesso, contabilizzare contesto e uso.

02

Definizione e concetti da non confondere

Un token è l'unità base di informazione testuale che un modello linguistico (LLM) utilizza per elaborare, interpretare e generare contenuto. A differenza della percezione umana, che opera su parole o lettere, il modello lavora su una sequenza di frammenti numerici. Un token può essere una parola completa (come "casa"), una sotto-parola (come "inter" in "internazionale"), un segno di punteggiatura, uno spazio vuoto o persino un'emoji.

È fondamentale distinguere il token dell'IA da altri omonimi. Nell'ambito della sicurezza informatica, un token è una credenziale di autenticazione; nella blockchain, è un asset digitale. Nel contesto degli LLM, il token è strettamente una metrica di elaborazione e sintassi. Inoltre, non va confuso con il carattere (unità di scrittura) né con la parola (unità linguistica), poiché la relazione tra loro non è fissa e dipende dall'algoritmo di tokenizzazione e dalla lingua.

Differenze tra unità di testo

Confronto delle unità di base del testo e del loro uso nei sistemi di IA.

UnitàDescrizioneEsempio in "ciao"Chi lo usa
CarattereLettera o simbolo individualec, i, a, o (4 unità)Editor di testo, limiti di campo
ParolaUnità lessicale della lingua umanaciao (1 unità)Persone, dizionari
TokenFrammento elaborato dal modellociao (1 token) o ci, ao (2 token)Modelli di IA, API
03

Funzionamento passo dopo passo

Il processo di tokenizzazione converte il testo non strutturato in una sequenza di identificativi numerici che il modello può manipolare matematicamente. Questo processo avviene prima che il modello analizzi il significato semantico. Innanzitutto, il testo viene suddiviso in frammenti secondo le regole del tokenizzatore. Successivamente, ogni frammento viene mappato a un identificativo univoco (ID) all'interno del vocabolario del modello. Infine, questi ID vengono trasformati in vettori ad alta dimensione (embedding), che rappresentano le relazioni semantiche tra i token.

La maggior parte dei modelli moderni, come quelli della famiglia GPT, utilizza algoritmi di sotto-parola come Byte Pair Encoding (BPE) o WordPiece. Questi algoritmi imparano durante l'addestramento a fondere i caratteri o i token più frequenti in unità più grandi. Questo permette di gestire parole sconosciute o errori di battitura suddividendoli in sotto-unità note, evitando così il problema delle parole fuori vocabolario (OOV). La generazione dell'output è iterativa: il modello predice il token successivo più probabile in base ai precedenti, il che spiega perché le risposte vengono scritte in tempo reale.

Flusso di tokenizzazione e generazione

Passaggi sequenziali dall'input di testo alla generazione della risposta.

  1. 01Segmentazione: Il testo in input viene suddiviso in token secondo l'algoritmo (BPE, WordPiece, ecc.).
  2. 02Assegnazione ID: Ogni token viene convertito in un numero intero basato sul vocabolario del modello.
  3. 03Proiezione vettoriale: Gli ID vengono trasformati in embedding (vettori) che catturano il significato.
  4. 04Attenzione e previsione: Il modello calcola le probabilità per prevedere il token successivo.
  5. 05Generazione iterativa: Il token previsto viene aggiunto alla sequenza e il processo si ripete fino a completare la risposta.
04

Tre esempi sviluppati in ambiti rilevanti

Il comportamento dei token varia significativamente a seconda della lingua e del tipo di contenuto. Di seguito sono presentati tre scenari che illustrano come la tokenizzazione influisca sulle prestazioni e sui costi.

In primo luogo, consideriamo la differenza linguistica tra inglese e italiano. Poiché i primi modelli sono stati addestrati prevalentemente su testo in inglese, i loro vocabolari sono ottimizzati per quella lingua. Una frase in italiano richiede generalmente tra il 15% e il 30% in più di token rispetto al suo equivalente in inglese. Ad esempio, la parola "biodegradabile" in inglese potrebbe essere un singolo token, mentre in italiano potrebbe essere suddivisa in "bio", "degrad" e "abile". Questo impatta direttamente sui costi delle API per gli utenti italofoni, anche se i modelli più recenti (come GPT-4o) hanno ridotto questo divario ampliando il loro vocabolario multilingue.

In secondo luogo, analizziamo l'impatto sullo sviluppo software. Il codice sorgente, specialmente in linguaggi come Python, contiene molti simboli, spazi e indentazioni. I tokenizzatori moderni sono stati adattati per raggruppare i numeri e gestire la sintassi di programmazione in modo più efficiente. Un blocco di codice di 100 righe può consumare molti più token di un paragrafo di prosa della stessa lunghezza visiva, a causa della densità di simboli e della struttura rigorosa. Questo è cruciale per gli strumenti di IA che assistono nella programmazione, dove il contesto del codice può esaurire rapidamente la finestra di contesto.

In terzo luogo, esaminiamo un caso di assistenza clienti automatizzata. Un chatbot che mantiene uno storico di conversazione riinvia tutto il contesto precedente in ogni nuova interazione. Se una conversazione ha 50 messaggi, il 51° messaggio elaborerà i token dei 50 precedenti più il nuovo. Questo fa sì che il consumo di token cresca in modo non lineare. Ottimizzare lo storico (ad esempio, riassumendo i messaggi vecchi) è una tecnica chiave per ridurre i costi e migliorare la velocità di risposta nei sistemi di lunga durata.

05

Come valutare il risultato e gestire i limiti

La gestione dei token è critica per la progettazione di applicazioni di IA. Ogni modello ha una finestra di contesto massima, che è il limite totale di token (input + output) che può elaborare in una singola interazione. Se il testo supera questo limite, il sistema può rifiutare la richiesta, troncare le informazioni o perdere il contesto iniziale (effetto di amnesia). Per valutare il risultato, gli sviluppatori devono monitorare l'uso dei token per interazione e proiettarlo al volume totale di utenti.

La complessità computazionale dei modelli basati su Transformer scala quadraticamente (O(n²)) con la lunghezza della sequenza. Questo significa che raddoppiare la lunghezza del testo quadruplica il lavoro di calcolo necessario per il meccanismo di attenzione. Pertanto, le finestre di contesto molto ampie (come quelle di 128.000 o 200.000 token) richiedono hardware specializzato e consumano molta più memoria RAM nelle GPU. Una finestra ampia non garantisce una migliore comprensione; spesso, i modelli funzionano meglio con contesti più concisi e pertinenti.

06

Errori comuni e limiti

Un errore comune è assumere che 1 parola equivalga a 1 token. Questa supposizione sottostima il consumo reale, specialmente in lingue con morfologia complessa o in testi tecnici. Un altro errore frequente è ignorare il costo dei token di output, che sono solitamente più costosi di quelli di input perché il modello deve calcolare le probabilità sequenzialmente, mentre l'input viene elaborato in parallelo.

Inoltre, molti utenti non considerano che gli spazi, i salti di riga e le emoji consumano anche token. Un'emoji, ad esempio, può essere scomposta in più token a causa della sua codifica UTF-8. Infine, è un errore credere che la finestra di contesto sia una memoria permanente. Il modello non "ricorda" conversazioni passate a meno che quel contesto non venga esplicitamente riinviato in ogni nuova richiesta. La gestione efficiente dei token richiede una strategia di ingegneria dei prompt che bilanci la precisione con l'economia delle risorse.

Errori comuni e soluzioni

Identificazione di fallimenti tipici nella gestione dei token.

ErroreConseguenzaSoluzione
Stimare 1 parola = 1 tokenBudget insufficienteUsare strumenti di conteggio specifici del modello
Ignorare lo storico accumulatoCosti esponenziali in chat lungheRiassumere o troncare lo storico vecchio
Includere contesto irrilevanteDiluizione dell'attenzione e costi maggioriUsare RAG per recuperare solo il necessario
07

Domande frequenti e fonti primarie

Perché si paga per token e non per parole? Perché il costo di calcolo dipende dalle operazioni sui vettori numerici. Per l'hardware, elaborare qualsiasi token (che siano 2 o 10 caratteri) richiede lo stesso sforzo di calcolo di base, quindi la tariffazione per token riflette con precisione l'uso delle risorse.

Cos'è un tokenizzatore? È l'algoritmo o lo strumento che divide il testo in token. Esempi includono BPE (usato da GPT), WordPiece (usato da BERT) e SentencePiece. Ogni tokenizzatore ha un vocabolario specifico, quindi lo stesso testo può avere un numero diverso di token in modelli diversi.

La documentazione tecnica di Microsoft e gli studi accademici sull'architettura Transformer confermano che la tokenizzazione è il passaggio fondamentale che permette ai modelli linguistici di operare su dati strutturati, stabilendo la base per la generazione di linguaggio naturale e la ricerca semantica.

08

Esempi rapidi

09

Concetti correlati

10

Fonti consultate