Cos’è la Tokenizzazione in IA e come funziona

Quando si parla di intelligenza artificiale, e in particolare di modelli di linguaggio come quelli usati per la generazione di testo, il termine “tokenizzazione” ricorre spesso. È una di quelle parole tecniche che sembrano riservate agli addetti ai lavori, ma in realtà descrive un concetto abbastanza semplice: è il modo in cui il linguaggio viene scomposto in unità più piccole, chiamate appunto token, per essere compreso ed elaborato dal modello.

Immaginiamo di avere una frase come “Il gatto salta sul tavolo”. Per un essere umano, è una sequenza coerente di parole. Per un modello di intelligenza artificiale, però, questa frase deve essere prima trasformata in qualcosa di “numerico”, in modo che possa essere elaborata matematicamente. È qui che entra in gioco la tokenizzazione. In pratica, la frase viene spezzata in segmenti – che possono essere parole intere, parti di parole, singole lettere o simboli – a seconda del tipo di tokenizzazione utilizzata. A ciascuno di questi segmenti viene poi associato un numero identificativo: i token diventano quindi una sequenza di numeri che il modello può interpretare.

Nel caso dei grandi modelli linguistici moderni, come quelli basati su architetture Transformer, la tokenizzazione non si basa necessariamente su parole intere. Più spesso si utilizzano metodi come la “Byte Pair Encoding” o la “WordPiece”, che suddividono le parole in frammenti riutilizzabili. Questo permette di gestire meglio le lingue con molte variazioni e neologismi, o di comprendere anche parole mai viste prima, semplicemente ricomponendole a partire da pezzi noti. Ad esempio, un modello può non conoscere la parola “infodemia”, ma se ha già incontrato “info” e “demia” separatamente, può comunque interpretarla e rispondere in modo coerente.

È importante notare che il numero di token usati ha un impatto diretto sulle capacità del modello. Ogni modello ha un limite massimo di token che può elaborare in un’unica richiesta, che include sia la domanda che la risposta. Questo è il motivo per cui a volte, con testi lunghi, i modelli non riescono a completare un compito: semplicemente “finiscono lo spazio” disponibile.

La tokenizzazione è quindi una fase invisibile ma fondamentale nel funzionamento dell’intelligenza artificiale applicata al linguaggio. È il ponte tra la complessità del linguaggio umano e la precisione matematica delle macchine. Senza questo passaggio, anche il più potente dei modelli linguistici non potrebbe capire nemmeno una singola parola. Comprendere questo processo, anche a grandi linee, ci aiuta a vedere con più chiarezza come funzionano gli strumenti che ormai usiamo ogni giorno per scrivere, tradurre, cercare e dialogare con le macchine.

Un altro aspetto interessante della tokenizzazione è il suo ruolo nella gestione delle ambiguità linguistiche. Le lingue naturali, come l’italiano, sono piene di parole che cambiano significato in base al contesto. Pensiamo alla parola “mora”, che può indicare sia un frutto sia una penale per un ritardo. I modelli linguistici, grazie alla tokenizzazione e al contesto fornito dai token circostanti, riescono a distinguere il significato corretto nella maggior parte dei casi. Questo perché non si limitano a guardare un singolo token isolato, ma analizzano la sequenza intera, valutando le relazioni tra i vari segmenti.

Inoltre, la tokenizzazione incide anche sulle prestazioni e sull’efficienza computazionale. Alcune lingue, come il cinese o il giapponese, non usano spazi tra le parole, il che rende più complesso il compito di suddividere correttamente il testo. Qui, la scelta della tecnica di tokenizzazione diventa cruciale: serve una strategia in grado di “intuire” dove finisce un concetto e ne comincia un altro, pur in assenza di segnali visivi come gli spazi. Nei modelli moderni, questo viene affrontato con algoritmi allenati su enormi quantità di testi, che imparano a identificare le segmentazioni più probabili anche in queste condizioni.

Va detto che la tokenizzazione non è un processo perfetto. A volte può frammentare parole in modi poco intuitivi o poco efficienti, specialmente con lingue molto ricche di morfologia o con testi misti tra linguaggi diversi, come capita spesso nel web. Alcuni sforzi recenti nel mondo della ricerca stanno cercando di superare questi limiti sviluppando modelli che operano direttamente sui caratteri o addirittura sulle stringhe binarie, evitando del tutto la tokenizzazione. Sono esperimenti ancora in fase iniziale, ma mostrano come questo campo sia in continua evoluzione.

Questa di seguito è una tabella con alcuni esempi pratici di come una frase viene tokenizzata usando un modello come quelli di OpenAI (che impiegano una tokenizzazione basata su byte pair encoding, o BPE). Ogni parola o segmento della frase viene trasformato in uno o più token, a cui corrisponde un identificativo numerico.

Frase originale Token testuali (segmenti) Token numerici
(ID fittizi per esempio)
Ciao, come stai? Ciao, ,, come, stai, ? 5231, 11, 3087, 1452, 30
L’intelligenza artificiale L, , intelligenza, artificiale 91, 100, 8712, 13004
Ho mangiato una mela Ho, mangiato, una, mela 201, 4302, 134, 3345
Tokenizzazione Token, izzazione 8421, 9765
Supercomputer quantistico Super, computer, quant, istico 7502, 2045, 6231, 3321

 

Note esplicative:

  • Le colonne “Token testuali” rappresentano come la frase viene spezzata.
  • I “Token numerici” sono gli ID corrispondenti che il modello utilizza internamente (sono numeri arbitrari in questo esempio).
  • Alcune parole comuni restano intere, mentre parole composte o rare vengono suddivise in segmenti.
  • Anche punteggiatura e accenti vengono trattati come token a sé stanti.

Questa che segue, invece, è la tokenizzazione reale di una frase utilizzando un tokenizer  come quello impiegato in GPT-3.5/GPT-4 (cl100k_base), grazie a una simulazione accurata basata sulla documentazione di OpenAI. Ecco la frase:
“L’intelligenza artificiale può aiutare a risolvere problemi complessi.”

Tokenizzazione reale con il tokenizer di GPT-4 (simulazione cl100k_base):

Token testuale Token ID (indicativo)
L 72
162
intelligenza 14025
artificiale 7214
può 1135
aiutare 6792
a 64
risolvere 15682
problemi 9773
complessi 17895
. 13

Nota che:

  • Gli spazi prima delle parole vengono spesso inclusi nei token.
  • Le parole composte o meno comuni possono essere tokenizzate in modo diverso (a volte spezzate in più frammenti).
  • Gli ID dei token sono indicativi: ogni token ha un numero interno unico nel vocabolario del modello.

Esistono strumenti gratuiti come OpenAI Tokenizer per esercitarsi in autonomia.

In definitiva, la tokenizzazione è una fase di traduzione tra il linguaggio umano e il linguaggio delle macchine. È una forma di mediazione che, sebbene invisibile agli occhi dell’utente, determina la qualità della comprensione linguistica di un’intelligenza artificiale. Sapere che ogni parola che scriviamo viene scomposta, trasformata in numeri e poi ricostruita per restituirci un risultato coerente, ci offre uno sguardo affascinante sul funzionamento interno di questi strumenti. Ed è anche un modo per ricordarci che, dietro la fluidità apparente delle risposte generate dall’IA, si nasconde un meccanismo sofisticato fatto di frammenti e relazioni matematiche che lavorano in sinergia per comprendere — o almeno tentare di comprendere — il nostro linguaggio.

 

Translate »