I token sono le unità di base di testo o codice che un LLM AI utilizza per elaborare e generare il linguaggio. I token possono essere caratteri, parole, sottoparole o altri segmenti di testo o codice, a seconda del metodo o dello schema di tokenizzazione scelto. Ai token vengono assegnati valori numerici o identificatori e sono disposti in sequenze o vettori e vengono inseriti o emessi dal modello. I token sono gli elementi costitutivi del linguaggio per il modello.

Come funziona la tokenizzazione?

La tokenizzazione è il processo di suddivisione dei testi di input e output in unità più piccole che possono essere elaborate dai modelli LLM AI. I token possono essere parole, caratteri, sottoparole o simboli, a seconda del tipo e delle dimensioni del modello. La tokenizzazione può aiutare il modello a gestire linguaggi, vocabolari e formati diversi e a ridurre i costi computazionali e di memoria e può anche influenzare la qualità e la diversità dei testi generati, influenzando il significato e il contesto dei token. La tokenizzazione può essere effettuata utilizzando diversi metodi, come basati su regole, statistici o neurali, a seconda della complessità e della variabilità dei testi.

Codifica Byte-Pair (BPE)

OpenAI e Azure OpenAI usano un metodo di tokenizzazione delle parole secondarie denominato “codifica Byte-Pair (BPE)” per i modelli basati su GPT. BPE è un metodo che unisce le coppie di caratteri o byte più frequenti in un unico token, fino a raggiungere un certo numero di token o una dimensione del vocabolario. BPE può aiutare il modello a gestire parole rare o invisibili e a creare rappresentazioni più compatte e coerenti dei testi. BPE può anche consentire al modello di generare nuove parole o token, combinando quelli esistenti. Il modo in cui la tokenizzazione è diversa a seconda del diverso modello Ada, Babbage, Curie e Davinci si basa principalmente sul numero di token o sulla dimensione del vocabolario che ciascun modello utilizza. Ada ha la dimensione del vocabolario più piccola, con 50.000 token, e Davinci ha la dimensione del vocabolario più grande, con 60.000 token. Babbage e Curie hanno la stessa dimensione del vocabolario, con 57.000 gettoni. Maggiore è la dimensione del vocabolario, più diversi ed espressivi sono i testi che il modello può generare. Tuttavia, maggiore è la dimensione del vocabolario, maggiore è la memoria e le risorse computazionali richieste dal modello. Pertanto, la scelta della dimensione del vocabolario dipende dal compromesso tra la qualità e l’efficienza del modello.

Che cosa ha a che fare la tokenizzazione con il costo di esecuzione di un modello?

La tokenizzazione influisce sulla quantità di dati e sul numero di calcoli che il modello deve elaborare. Maggiore è il numero di token con cui il modello ha a che fare, maggiore è la memoria e le risorse computazionali che il modello consuma. Pertanto, il costo dell’esecuzione di un modello OpenAI o Azure OpenAI dipende dal metodo di tokenizzazione e dalla dimensione del vocabolario usato dal modello, nonché dalla lunghezza e dalla complessità dei testi di input e output. In base al numero di token utilizzati per interagire con un modello e alle diverse tariffe per i diversi modelli, i costi possono variare notevolmente. Ad esempio, a partire da febbraio 2023, la tariffa per l’utilizzo di Davinci è di 0,0008 per 1.000 token. La tariffa varia anche a seconda del tipo di utilizzo, come parco giochi, ricerca o motore. Pertanto, la tokenizzazione è un fattore importante che influenza il costo e le prestazioni dell’esecuzione di un modello OpenAI o Azure OpenAI.