El algoritmo: (1) comienza con un vocabulario base de bytes individuales (256 entradas) o caracteres, (2) escanea el corpus de entrenamiento y cuenta cada par adyacente de tokens, (3) fusiona el par más frecuente en un nuevo token y lo agrega al vocabulario, (4) repite los pasos 2–3 hasta que el vocabulario alcance el tamaño objetivo (típicamente 32K–128K). El orden de fusión define una prioridad: "th" podría ser la fusión #50 mientras que "ing" es la fusión #200, lo que significa que "th" es una unidad más fundamental en este tokenizador.
SentencePiece (Google) es una implementación popular de BPE que trata la entrada como bytes crudos en lugar de palabras pre-tokenizadas. Esto significa que puede manejar cualquier idioma sin preprocesamiento específico del lenguaje — no necesita segmentación de palabras en chino ni análisis morfológico en turco. La mayoría de los LLMs modernos usan SentencePiece o una variante similar de BPE a nivel de bytes. La alternativa, WordPiece (usada por BERT), es similar pero usa un criterio de fusión ligeramente diferente.
Las fusiones de BPE reflejan las estadísticas del corpus de entrenamiento. Un tokenizador entrenado en código en inglés obtiene fusiones eficientes para "function", "return" y "const" pero fragmenta texto en hindi o árabe. Por eso los tokenizadores multilingües necesitan corpus de entrenamiento balanceados — la tabla de fusiones debe asignar suficientes fusiones a los patrones comunes de cada idioma. El tokenizador de Llama 3 se entrenó explícitamente con datos multilingües más balanceados, mejorando la eficiencia de tokens para idiomas no ingleses en 2–3x comparado con Llama 2.