L'algorithme : (1) commencer avec un vocabulaire de base d'octets individuels (256 entrées) ou de caractères, (2) parcourir le corpus d'entraînement et compter chaque paire adjacente de tokens, (3) fusionner la paire la plus fréquente en un nouveau token et l'ajouter au vocabulaire, (4) répéter les étapes 2–3 jusqu'à ce que le vocabulaire atteigne la taille cible (typiquement 32K–128K). L'ordre de fusion définit une priorité : "th" pourrait être la fusion #50 tandis que "ing" est la fusion #200, signifiant que "th" est une unité plus fondamentale dans ce tokeniseur.
SentencePiece (Google) est une implémentation populaire de BPE qui traite l'entrée comme des octets bruts plutôt que comme des mots pré-tokenisés. Cela signifie qu'il peut gérer n'importe quelle langue sans prétraitement spécifique — pas besoin de segmentation de mots en chinois ou d'analyse morphologique en turc. La plupart des LLM modernes utilisent SentencePiece ou une variante similaire de BPE au niveau des octets. L'alternative, WordPiece (utilisé par BERT), est similaire mais utilise un critère de fusion légèrement différent.
Les fusions BPE reflètent les statistiques du corpus d'entraînement. Un tokeniseur entraîné sur du code anglais obtient des fusions efficaces pour "function", "return" et "const" mais fragmente le texte hindi ou arabe. C'est pourquoi les tokeniseurs multilingues ont besoin de corpus d'entraînement équilibrés — la table de fusion doit allouer suffisamment de fusions aux patterns courants de chaque langue. Le tokeniseur de Llama 3 a été explicitement entraîné sur des données multilingues plus équilibrées, améliorant l'efficacité des tokens non anglais de 2–3x par rapport à Llama 2.