Non parole, ma token: scopri l’alfabeto dell’AI
Scopri come funzionano i token che sono alla base della comprensione del testo dei modelli di intelligenza artificiale come ChatGPT (LLM).

“Quante R ci sono nella parola strawberry?”
Se avete provato a sottoporre questa domanda a ChatGPT, saprete già che la risposta che viene restituita non è certo quella giusta: “Ci sono due R in strawberry”.
Il clamoroso errore, ormai sulla bocca di tutti, è diventato per molti la prova schiacciante della “stupidità” dei tanto acclamati Large Language Model come GPT (il modello linguistico alla base di ChatGPT, ora disponibile nella potente versione 4o1). Una via d’uscita semplice e veloce da usare come analgesico collettivo: “Niente panico, un’intelligenza artificiale del genere non potrà certo andare lontano”.
Eppure, noi questi modelli li vediamo generare quotidianamente risposte che richiedono ragionamenti molto più complessi del contare le lettere in una parola. Com’è possibile che non riescano a svolgere correttamente un compito che anche un bambino sarebbe in grado di eseguire senza alcuna difficoltà?
Indice
Testi, parole e… token
Quello che hai letto fino a questo momento e quello che tuttora stai leggendo è un testo: una sequenza grammaticalmente corretta e sintatticamente ordinata di parole coerentemente legate tra loro. Ma tu questo lo sai. A prescindere dalla definizione appena data, tu che parli la lingua italiana sei perfettamente in grado di identificare un testo, capire il significato delle parole che lo compongono e coglierne il senso generale senza che nessuno ti abbia spiegato come fare.
Cosa c’è di più semplice? Peccato che per un Large Language Model non lo sia affatto. Ciò che un LLM “vede” quando si trova davanti a un articolo come questo è ben diverso da ciò che vediamo noi esseri umani: non una concatenazione di lettere che formano parole, bensì un insieme di token.
L’importanza della tokenizzazione
Il token è l’unità di base che un modello di linguaggio è in grado di comprendere ed elaborare: si tratta di frammenti che possono coincidere con un’intera parola, una parte di essa, un singolo carattere o anche un simbolo. Il modo in cui un testo viene suddiviso dipende dal modello e dalle regole della sua tokenizzazione. I token così ottenuti vengono poi trasformati in numeri: o meglio, ad ogni token viene associato un codice.
Ciò significa che mentre la nostra mente vede la parola strawberry come il susseguirsi delle 10 lettere s-t-r-a-w-b-e-r-r-y, per un Large Language Model questa stessa parola non sarà altro che l’insieme, per esempio, di un token 45789 e un token 12901.
Questa trasformazione è necessaria perché gli LLM sono basati su modelli matematici complessi che elaborano i dati attraverso operazioni come somma e moltiplicazione e non attraverso il linguaggio naturale com’è proprio di noi essere umani. La loro capacità di generare testi altamente verosimili e particolarmente ben scritti non è altro che il frutto di un processo probabilistico: tutto si riduce al token che ha la maggior probabilità di apparire in un dato contesto.
Diventa a questo punto chiaro il motivo per cui un LLM non sia in grado di rispondere a una domanda semplice come “quante R ci sono nella parola strawberry?”: per un modello il concetto di lettera è totalmente privo di significato. Questo, unito alla scarsa abilità di compiere esercizi logico-matematici come può essere quello del contare, lascia ampio spazio agli errori.
Parole, parole: niente di più difficile da definire
A questo punto, ci si potrebbe legittimamente chiedere per quale motivo l’unità minima per un LLM, che è chiamato a elaborare il linguaggio umano, debba essere rappresentata da un elemento come il token anziché da una lettera o da una parola.
Prima di rispondere, vale la pena soffermarsi per un attimo sul concetto stesso di parola. Per quanto qualsiasi parlante sappia intuitivamente e senza alcuno sforzo riconoscere le parole della propria lingua, non esiste ad oggi una definizione di parola univoca e condivisa valida per tutte le lingue del mondo.
Ce ne si può rendere conto anche solo guardando all’italiano. Se a nessuno di noi crea difficoltà contare 3 parole nella frase “felice anno nuovo”, la risposta potrebbe già variare se lo stesso quesito riguardasse una frase come “anno nuovo, vita nuova”. Le parole, qui, sono 3 o sono 4?
E che dire di termini come “carro armato” o “luna di miele”? O della differenza tra un articolo come “il” e una sostantivo come “universo”? Possono entrambe definirsi, allo stesso modo, parole? Per non parlare della confusione che potrebbero creare due espressioni come “lo scrivo” e “scrivilo”.
Se già le osservazioni su una sola lingua pongono così tanti interrogativi, basta sbirciare in territori non troppo lontani da noi per vedere i dubbi moltiplicarsi esponenzialmente. In lingue come il turco, per esempio, una parola come “evlerinizden” significa “dalle vostre case”. E che dire del cinese o del giapponese, dove un singolo logogramma può rappresentare un’intera parola?
Oltre i confini linguistici
A questa complessità intrinseca delle lingue, che di per sé scoraggia l’utilizzo di parole o lettere come unità di base per gli LLM, si aggiungono ulteriori fattori che rendono l’utilizzo della tokenizzazione la strada migliore in termini di efficienza. Se per i token si utilizzassero singole lettere, infatti, le sequenze da elaborare diventerebbero molto più lunghe: di conseguenza il numero di passaggi di calcolo da effettuare aumenterebbe e l’intero processo risulterebbe più lento.
I modelli di linguaggio come GPT, inoltre, hanno una finestra di contesto limitata, cioè possono processare un numero finito di token per volta. Se ogni token rappresentasse una singola lettera, il modello riuscirebbe a processare solo una piccolissima porzione di testo alla volta.
Un impatto sensibile si avrebbe anche sulla capacità di mantenere coerenza all’interno della generazione, di riconoscere pattern morfosintattici complessi e di cogliere relazioni semantiche significative in fase di addestramento. Insomma, potremmo dire addio a quell’effetto “wow” che molti ancora provano quando interagiscono per la prima volta con ChatGPT.
Che dire, se si uniscono tutti gli innumerevoli puntini che collegano tra loro matematica, linguistica e Large Language Model, la domanda “quante R ci sono nella parola strawberry?” non sembra poi così banale!
FAQ
Cosa significa GPT?
Generative Pre-trained Transformers: un tipo di modello linguistico di grandi dimensioni basato sull’architettura dei transformers, pre-addestrati appunto su enormi quantità di dati di testo e in grado di generare nuovi contenuti simili a quelli umani.
Che cos’è ChatGPT?
ChatGPT è un modello di linguaggio avanzato sviluppato da OpenAI, basato sull’architettura GPT. Si tratta di un sistema di intelligenza artificiale che utilizza apprendimento automatico per comprendere e generare testo in modo coerente e contestuale. ChatGPT è addestrato su una vasta gamma di dati linguistici, consentendogli di rispondere a domande, completare frasi e interagire in modo naturale con gli utenti.
Che cos’è GPT-4o1?
GPT-4o è il più recente modello sviluppato da OpenAI e si tratta di un’alternativa a GPT-4, pensata per eseguire task particolarmente complessi che richiedono un tipo avanzato di ragionamento, capacità di problem-solving e l’abilità di scrivere codice.
