O algoritmo: (1) comece com um vocabulário base de bytes individuais (256 entradas) ou caracteres, (2) escaneie o corpus de treinamento e conte cada par adjacente de tokens, (3) mescle o par mais frequente em um novo token e adicione-o ao vocabulário, (4) repita os passos 2–3 até o vocabulário atingir o tamanho alvo (tipicamente 32K–128K). A ordem de mesclagem define uma prioridade: "th" pode ser a mesclagem #50 enquanto "ing" é a mesclagem #200, significando que "th" é uma unidade mais fundamental neste tokenizador.
SentencePiece (Google) é uma implementação popular de BPE que trata a entrada como bytes brutos em vez de palavras pré-tokenizadas. Isso significa que pode lidar com qualquer idioma sem pré-processamento específico — sem necessidade de segmentação de palavras em chinês ou análise morfológica em turco. A maioria dos LLMs modernos usa SentencePiece ou uma variante similar de BPE em nível de bytes. A alternativa, WordPiece (usada pelo BERT), é similar mas usa um critério de mesclagem ligeiramente diferente.
As mesclagens do BPE refletem as estatísticas do corpus de treinamento. Um tokenizador treinado em código em inglês obtém mesclagens eficientes para "function", "return" e "const" mas fragmenta texto em hindi ou árabe. É por isso que tokenizadores multilíngues precisam de corpora de treinamento balanceados — a tabela de mesclagens deve alocar mesclagens suficientes para os padrões comuns de cada idioma. O tokenizador do Llama 3 treinou explicitamente com dados multilíngues mais balanceados, melhorando a eficiência de tokens em idiomas não-ingleses em 2–3x comparado ao Llama 2.