En bref
La tokenisation découpe le texte en unités que le modèle peut traiter. BPE est l’algorithme le plus connu — mais pas le seul. WordPiece, Unigram LM et SentencePiece suivent des logiques différentes, avec des conséquences sur les langues supportées, les coûts d’utilisation et la robustesse du modèle. Le choix du tokenizer n’est pas neutre : en arabe ou en yoruba, un même texte peut consommer dix fois plus de tokens qu’en anglais.
BPE comme point de départ
Si vous n’avez pas lu l’article sur les tokens et la tokenisation, c’est le bon point de départ. Il explique BPE pas-à-pas, le ratio mots/tokens et le problème des nombres.
En résumé : BPE (Byte Pair Encoding) fusionne itérativement les paires de caractères les plus fréquentes dans un corpus d’entraînement. Il part de caractères individuels et monte en complexité. GPT-2, GPT-4 et Mistral l’utilisent dans sa forme originale ou sous le nom tiktoken.
Ce qui suit suppose que vous connaissez ce mécanisme. L’objectif ici est d’explorer ce qui existe au-delà.
WordPiece : maximiser la vraisemblance plutôt que la fréquence
WordPiece est l’algorithme utilisé par BERT, DistilBERT et ALBERT. Il ressemble à BPE en surface — mais son critère de fusion est différent.
BPE fusionne les paires les plus fréquentes. WordPiece fusionne les paires qui maximisent la vraisemblance du corpus d’entraînement. Concrètement, il favorise les fusions qui rendent le corpus plus probable selon un modèle de langage. Cela produit un vocabulaire légèrement différent, plus sensible aux régularités morphologiques.
Un signe distinctif : les sous-mots non-initiaux portent le préfixe ##. Le mot playing devient play + ##ing. Cette convention rend la segmentation lisible et aide le modèle à identifier les frontières de mots.
Le vocabulaire de BERT contient 30 000 tokens. C’est compact par rapport aux tokenizers récents — ce qui a des implications sur la granularité de représentation.
Unigram LM : la logique inverse de BPE
Kudo (2018) propose une approche radicalement différente avec le modèle de langage Unigram. Là où BPE part du bas (caractères) et monte par fusions, Unigram LM part du haut (grand vocabulaire initial) et supprime itérativement.
L’algorithme commence avec un vocabulaire large — souvent plusieurs centaines de milliers de sous-mots candidats. Il évalue la contribution de chaque token à la vraisemblance du corpus. Les tokens qui font le moins baisser cette vraisemblance quand on les supprime sont éliminés en premier. On itère jusqu’à atteindre la taille de vocabulaire cible.
Résultat : plusieurs segmentations d’un même mot sont possibles, avec des probabilités différentes. Lors de l’entraînement, on peut échantillonner parmi ces segmentations — ce qui agit comme une forme de régularisation. Lors de l’inférence, on prend la segmentation la plus probable via l’algorithme de Viterbi.
Ce probabilisme est une différence fondamentale avec BPE : la segmentation n’est pas déterministe, elle reflète une distribution.
SentencePiece : effacer les espaces du problème
BPE et WordPiece supposent que le texte est déjà pré-tokenisé par espaces. En anglais, c’est naturel. En japonais, en chinois ou en thaï, il n’y a pas d’espaces entre les mots. Cette hypothèse devient un biais structurel.
SentencePiece (Kudo 2018) résout ce problème en traitant le texte brut comme une séquence d’octets. Les espaces ne sont pas des délimiteurs — ils deviennent un caractère ordinaire, représenté par le symbole ▁. La phrase “bonjour monde” devient ▁bonjour + ▁monde.
Ce changement en apparence mineur a des conséquences importantes :
- Le tokenizer est agnostique à la langue : japonais, arabe, hindi et swahili passent par le même pipeline sans pré-traitement spécifique.
- La segmentation est reproductible : pas de dépendance aux outils de tokenisation propres à chaque langue.
- Les mêmes algorithmes (BPE ou Unigram LM) tournent en dessous — SentencePiece est une couche d’abstraction, pas un algorithme à part entière.
T5, LLaMA, Mistral et Gemma utilisent tous SentencePiece. C’est devenu le standard de facto pour les modèles multilingues.
L’équité multilingue : le problème des dix fois
Voici un fait qui surprend : poser une question en yoruba à un LLM coûte environ dix fois plus cher qu’en anglais, à contenu équivalent. Ce n’est pas une politique tarifaire — c’est une conséquence directe de la tokenisation.
Ahia et al. (2023, ACL) ont mesuré la fertilité des tokenizers sur des textes traduits : le nombre de tokens produits pour le même texte dans différentes langues. Pour l’anglais, un mot correspond souvent à 1-2 tokens. Pour le yoruba ou l’amharique, le même mot peut en générer 5 à 10.
Petrov et al. (2023, NeurIPS) ont étendu cette mesure à plus de 1000 langues et ont montré une corrélation entre fertilité élevée et dégradation des performances. Les langues à forte fertilité ne sont pas seulement plus chères — elles sont aussi moins bien comprises.
Les mécanismes sont plusieurs :
- Coût d’utilisation proportionnel : les fournisseurs facturent au token, pas au mot.
- Fenêtre de contexte réduite : un texte en arabe occupe plus d’espace dans la fenêtre.
- Sous-apprentissage : les modèles voient peu d’exemples dans ces langues pendant l’entraînement, et quand ils en voient, la représentation est fragmentée.
Une réponse partielle consiste à augmenter la taille du vocabulaire. LLaMA 2 avait 32 000 tokens. LLaMA 3 en a 128 000. Gemma monte à 256 000. Un vocabulaire plus grand réduit la fragmentation des langues rares — mais alourdit la couche d’embedding, qui doit stocker un vecteur par token.
Tokenizer-free : la question ouverte
Si la tokenisation cause des problèmes, pourquoi ne pas la supprimer ?
C’est l’idée des approches tokenizer-free. ByT5 (Xue et al., Google 2022) opère directement au niveau des octets. Chaque octet est une unité — pas besoin de vocabulaire pré-construit. Avantage : robustesse aux fautes d’orthographe, aux langues peu représentées, aux caractères rares. Le modèle voit les données brutes sans pré-traitement.
Inconvénient majeur : les séquences sont 3 à 7 fois plus longues qu’avec BPE. Les mécanismes d’attention ont un coût quadratique en longueur de séquence — ce surcoût computationnel est significatif.
MegaByte (Yu et al., Meta 2023) propose une architecture hiérarchique pour contourner ce problème : un modèle global traite des “patches” d’octets, un modèle local génère les octets un par un. SpaceByte (2024) affine cette idée pour approcher les performances de BPE sans tokenizer.
Ces approches restent expérimentales. Aucun modèle de production majeur ne les utilise encore. Mais elles montrent que la tokenisation n’est pas une contrainte physique — c’est un choix d’ingénierie, et ce choix peut évoluer.
Ce qu’il faut retenir
- WordPiece (BERT) fusionne les paires qui maximisent la vraisemblance du corpus, pas la fréquence brute. Le préfixe
##marque les sous-mots non-initiaux. - Unigram LM part d’un grand vocabulaire et supprime itérativement, contrairement à BPE qui part de caractères et monte. La segmentation est probabiliste.
- SentencePiece traite les espaces comme des caractères ordinaires, rendant le tokenizer agnostique à la langue. C’est le standard des modèles multilingues récents.
- La fertilité est inégale : yoruba, amharique et d’autres langues à scripts non-latins génèrent jusqu’à 10 fois plus de tokens que l’anglais, avec des conséquences sur le coût, la fenêtre de contexte et les performances.
- Les approches tokenizer-free (ByT5, MegaByte) montrent qu’opérer directement sur les octets est possible, mais le surcoût computationnel reste un obstacle non résolu en production.
Sources
- Sennrich, R., Haddow, B., Birch, A. (2016). Neural Machine Translation of Rare Words with Subword Units. ACL 2016.
- Devlin, J., Chang, M.-W., Lee, K., Toutanova, K. (2019). BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding. NAACL 2019.
- Kudo, T., Richardson, J. (2018). SentencePiece: A simple and language independent subword tokenizer and detokenizer for Neural Text Processing. EMNLP 2018.
- Kudo, T. (2018). Subword Regularization: Improving Neural Network Translation Models with Multiple Subword Candidates. ACL 2018.
- Xue, L. et al. (2022). ByT5: Towards a Token-Free Future with Pre-trained Byte-to-Byte Models. TACL 2022.
- Ahia, O. et al. (2023). Do All Languages Cost the Same? Tokenization in the Era of Commercial Language Models. ACL 2023.
- Petrov, A. et al. (2023). Language Model Tokenizers Introduce Unfairness Between Languages. NeurIPS 2023.
- Yu, L. et al. (2023). MegaByte: Predicting Million-byte Sequences with Multiscale Transformers. NeurIPS 2023.