Zubnet AIAprenderWiki › BPE
Fundamentos

BPE

Também conhecido como: Byte Pair Encoding, Tokenização por Subpalavras
O algoritmo mais comum para construir vocabulários de tokenizadores. O BPE começa com bytes ou caracteres individuais e mescla iterativamente o par adjacente mais frequente em um novo token. Após milhares de mesclagens, palavras comuns se tornam tokens únicos ("the", "function") enquanto palavras raras são divididas em pedaços de subpalavras ("un" + "common"). Usado por GPT, Claude, Llama e a maioria dos LLMs modernos.

Por que isso importa

O BPE é a razão pela qual seu tokenizador funciona da forma como funciona. Ele explica por que palavras comuns são baratas (um token), por que palavras raras são caras (vários tokens) e por que texto em idiomas além do inglês custa mais (menos mesclagens alocadas para pares de caracteres não-ingleses). Entender o BPE ajuda a prever contagens de tokens, otimizar prompts e compreender por que tokenizadores diferentes produzem resultados diferentes para o mesmo texto.

Em profundidade

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

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.

O Corpus de Treinamento Importa

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.

Conceitos relacionados

← Todos os termos
← BLEU & ROUGE Bria →