Terza puntata sui token, dopo aver parlato di cosa sono i token e di come avviene la tokenizzazione di un testo, oggi vediamo come questi strumenti aiutino gli LLM a comprendere i testi. Ovviamente parlo di comprensione lessicale.
La tokenizzazione è il processo principale per la segmentazione del testo in unità più piccole, è il punto di partenza per consentire ai LLM di “riconoscere” il tema generale di un testo.
Comprendere i testi per un LLM non è come comprendere i testi per una persona, mettetevi nella posizione di capire qualcosa di molto primitivo rispetto al ragionamento umano, basato sui calcoli e sulla statistica e non sul significato reale delle parole.
Riconoscere i testi grazie ai Token
Quando scriviamo un prompt o diamo un ordine a Google vengono analizzate le sequenze di questi token e le loro rappresentazioni numeriche, in questo modo gli algoritmi e i modelli possono “decifrare” l’argomento trattato.
Comprendere il tema generale del testo
Una volta che un testo è stato trasformato in una sequenza di token, l’analisi di questa sequenza, combinata con la comprensione del significato di ogni token attraverso i suoi embedding (le rappresentazioni vettoriali dense che abbiamo letto nell’articolo precedente), permette al modello di “farsi un’idea” del tema generale del testo, non è lo stesso modo di comprendere i testi di noi persone, ma è un modo analitico per avere un risultato efficace.
Per capire meglio come funziona leggete i paragrafi successivi.
Catene di token con parole chiave e loro sinonimi
All’interno di una sequenza di token specifiche parole chiave ricorrenti formano delle catene che sono indicative dell’argomento principale.
Facciamo un esempio, in un testo che parla di “cambiamento climatico”, i token “clima”, “temperatura”, “riscaldamento globale”, “emissioni” appariranno frequentemente in sequenza o in prossimità l’uno dell’altro, mettiamo tra i 3 e 20 token di distanza.
Inoltre, grazie agli embedding, il modello è in grado di riconoscere non solo le parole chiave esatte ma anche i loro sinonimi e termini semanticamente simili, rafforzando la comprensione del tema.
Se un testo contiene spesso token come “automobile”, “veicolo”, “motore”, “trasporto”, il modello può identificare che l’argomento è legato ai mezzi di trasporto. La frenquenza di token semanticamente simili all’interno di un paragrafo, o come si dice in gergo “una finestra di contesto”, è un modo statisticamente valido per l’identificazione degli argomenti di un testo.
Catene di token specializzate per argomenti scientifici o tecnologici
In testi più specifici, come quelli scientifici o tecnologici, formano catene di token composte da termini tecnici e gergo specializzato. Di solito si derivano da tokenizzazioni di testi specializzati, paper, documentazioni ufficiali e simili.
La presenza e la frequenza di queste catene sono forti indicatori dell’argomento trattato. Ad esempio, in un testo di intelligenza artificiale, sequenze di token come “algoritmo”, “rete neurale”, “machine learning”, “intelligenza artificiale”, “codifica”, “tokenizzazione” evidenziano che il tema principale è l’intelligenza artificiale.
I modelli linguistici vengono addestrati su tanti tipi di testi specializzati, apprendendo così le relazioni statistiche e semantiche tra questi token specifici. Pertanto, l’identificazione di tali catene di token permette al modello di “riconoscere” un testo come appartenente a un determinato dominio scientifico o tecnologico.
Non sempre vengono utilizzati nei LLM generici, o comunque non a livelli di LLM dedicati, ad esempio come quelli dedicati alla ricerca scientifica.
In questi casi c’è sempre da considerare un compromesso dei LLM nel comprendere i testi scientifici, tra la compressione lessicale e quella scientifica.
L’argomento si determina dalla frequenza di specifici token.
Oltre alle catene di token, la semplice frequenza di specifici token all’interno di un testo può fornire indizi cruciali sull’argomento.
I token che appaiono con maggiore frequenza tendono a essere parole chiave centrali per il tema del testo.
Ad esempio, in un articolo di cronaca sportiva sul calcio, i token “partita”, “gol”, “squadra”, “fallo” e “assist” saranno probabilmente molto frequenti.
L’analisi della distribuzione della frequenza dei token, escludendo le parole più comuni (come articoli e preposizioni), può evidenziare i concetti chiave discussi nel testo. I Language Model (LLM) analizzano la frequenza dei token durante il loro addestramento, imparando quali parole sono tipicamente associate a determinati contesti e argomenti.
Rappresentazioni vettoriali: pattern e semantica
Con le rappresentazioni dense gli LLM vanno oltre la semplice analisi della sequenza e della frequenza dei token.
Andiamo per gradi, il processo che in qualche modo riconosce la semantica di un testo inizia con la conversione di ogni token in un embedding individuale, in vettori numerici.
Successivamente, attraverso lunghi meccanismi giustamente complessi che considerano l’ordine e il contesto dei token, vengono estrapolati i token dall’embedding che rientrano nell’insieme dei token, insomma quelli che hanno vettori simili, matematicamente è una cosa noiosa, quindi la spiego con un esempio:
Immaginatelo così: mettete sul tavolo tutte le smarties di una decina di pacchetti di caramelle, i vostri token sono rosso + verde + blu, guardate sul tavolo e prendete la stessa sequenza e aggiungete il successivo cioccolatino qualsiasi sia il suo colore.
Fate una statistica di quali sono i colori dei nuovi Smarties, quelli più frequenti saranno i “migliori” token. Insieme agli altri ci diranno quali sono gli Smarties da mangiare, insomma abbiamo definito la “semantica degli Smarties” dei nostri 10 pacchetti (che come avrete capito rappresentano il nostro embedding).
Questo processo fu creato per le identificare le migliori traduzioni e fa parte dell’architettura Transformer, ed è chiamata in gergo “meccanismi di attenzione”.
A questo punto il sistema aggrega queste informazioni per generare un vettore unico, o una sequenza di vettori, che rappresenta il significato complessivo del testo.
L’obbiettivo è identificare le relazioni semantiche tra le parole e i concetti espressi nel testo. Testi che trattano argomenti simili tenderanno ad avere vettori sequenze di vettori simili nello spazio vettoriale. Ciò permette ai modelli di identificare pattern e relazioni semantiche di alto livello che definiscono l’argomento del testo.
Ad esempio, un modello addestrato potrà “riconoscere” due articoli come appartenenti allo stesso genere (ad esempio, recensioni di film o articoli scientifici sulla fisica quantistica) analizzando la similarità dei loro embedding, anche se non condividono esattamente le stesse parole chiave.
É un processo matematico simile al riconoscimento delle forme ma nel modo più complesso, una forma con 3 angoli che hanno come somma 180° sarà sempre un triangolo.
Questa capacità di cogliere “l’essenza” semantica del testo attraverso le rappresentazioni vettoriali è fondamentale per compiti come la classificazione di testi per argomento, il raggruppamento di documenti simili e la ricerca semantica.
Ora, se non mi sono dimenticato niente, possiamo dire che il processo di riconoscimento del tema di un testo per gli LLM avanzati inizia dalla tokenizzazione, poi l’analisi delle sequenze e frequenze dei token, la comprensione del significato dei singoli token attraverso gli embedding, ed infine la creazione di rappresentazioni vettoriali dell’intero testo che rappresentano le relazioni semantiche trovate.
Il frutto di questa sequenza di operazioni permette ai modelli di “comprendere”, o meglio, riconoscere l’argomento di un testo, non solo il tipo come “una notizia sul calcio”, ma “una notizia, partita di calcio Roma Verona, con arbitro Pairetto, allo Stadio Olimpico”.
Le dimensioni dello spazio vettoriale
Per chiarire un po’ tutto quanto letto sopra bisogna aver tenere in mente una cosa:
Per semplificare non ho mai descritto come viene definito un vettore che identifica un token.
Mentalmente è semplice identificare un token come un punto nello spazio con 3 coordinate (x,y,z) e un altro elemento che identifica una direzione ed una “forza” associata, immaginiamola come se fosse la velocità.
Quindi abbiamo 5 dimensioni:
- x: posizione nell’asse cartesiano x
- y: posizione nell’asse cartesiano y
- z: posizione nell’asse cartesiano z
- d: direzione
- f: velocità di movimento
Questa rappresentazione per quanto sia logica e facile da comprendere non è quella che si usa negli embeddings, e si sono aggiunte altre dimensioni che vengono associate al token.
Dato che ogni dimensione rappresenta un parametro è facile capire che più parametri si hanno e più la tokenizzazione è ricca, e di conseguenza il riconoscimento è migliore.
Questo ha portato ad avere spazi vettoriali con più di 1500 dimensioni, quindi, per quanto vogliamo sforzarci è difficile immaginare uno spazio con 1500 dimensioni.
Ma questo spiega perché a chi si occupa di queste cose piacciono i film di Nolan e i film Marvel o sul multiverso.
Articolo 3 di 4
Leggi il primo articolo della serie
Leggi il secondo articolo della serie
Francesco Contini, Data & Search Engine Expert, Founder Rubedo Data Solutions