La tokenisation sous le capot
Vous déployez un chatbot. Les requêtes en anglais utilisent 42 tokens. Un utilisateur espagnol envoie une requête qui en utilise 103. Soudain, vos coûts d'API bondissent de 40 %.
Cela arrive lorsque vous considérez la tokenisation comme une simple tuyauterie invisible. Chaque grand modèle de langage utilise l'un des quatre algorithmes de sous-mots. Votre choix détermine la taille du vocabulaire, l'efficacité linguistique et votre facture mensuelle.
La tokenisation contrôle trois éléments critiques :
- Le coût d'inférence. Les API de LLM facturent au token. Un petit vocabulaire peut diviser un mot en 8 tokens. Un grand vocabulaire le traite en 3. À grande échelle, cette différence coûte réellement cher.
- La couverture du vocabulaire. Des vocabulaires médiocres créent des séquences plus longues. Cela entraîne une génération plus lente et des coûts plus élevés.
- Le comportement du modèle. Si un tokenizer divise « cowboy » en ["cow", "boy"], le modèle apprend différemment de s'il le divise en ["c", "owb", "oy"].
Voici comment fonctionnent les quatre principaux types :
BPE (Byte Pair Encoding)
- Fonctionnement : Il commence par les caractères. Il compte les paires adjacentes fréquentes et les fusionne pour créer de nouveaux tokens. Il répète ce processus jusqu'à atteindre une taille cible.
- Avantages : Rapide et déterministe.
- Utilisateurs : GPT-4o, Llama 3, Mistral.
WordPiece
- Fonctionnement : Similaire au BPE, mais utilise la vraisemblance (likelihood) plutôt que la fréquence brute. Il choisit les fusions qui maximisent la probabilité des données d'entraînement.
- Avantages : Crée des tokens plus significatifs sur le plan linguistique.
- Utilisateurs : BERT, modèles Google.
SentencePiece
- Fonctionnement : Il traite l'entrée comme des octets Unicode bruts. Il n'a pas besoin d'une étape de pré-tokenisation comme la division par espaces.
- Avantages : Idéal pour le support multilingue car il est indépendant de la langue.
- Utilisateurs : Llama 2, Llama 3, Gemma.
Unigram
- Fonctionnement : Il commence avec un vocabulaire immense et le réduit en utilisant un modèle probabiliste. Il choisit le meilleur chemin de segmentation.
- Avantages : Correspondance token-sens plus cohérente.
- Utilisateurs : T5, XLNet.
Points clés pour les développeurs :
- Surveillez votre mix linguistique. Les modèles BPE qui reposent sur les espaces ont du mal avec des langues comme le japonais ou le hindi. Utilisez SentencePiece pour les produits mondiaux.
- Fixez vos versions. Passer de
cl100k_baseào200k_basemodifie votre nombre de tokens. Suivez toujours l'encodage utilisé lors de vos évaluations. - Effectuez vos benchmarks correctement. Ne comparez pas les nombres de tokens entre différentes familles de modèles. Effectuez toujours vos benchmarks en utilisant le nombre de caractères ou d'octets pour rester précis.
Comprendre ces outils vous aide à livrer des produits rentables plutôt que de surprendre les équipes financières.
Communauté d'apprentissage optionnelle : https://t.me/GyaanSetuAi