Zubnet AIAprenderWiki › BPE
Fundamentos

BPE

También conocido como: Byte Pair Encoding, Tokenización por subpalabras
El algoritmo más común para construir vocabularios de tokenizadores. BPE comienza con bytes o caracteres individuales y fusiona iterativamente el par adyacente más frecuente en un nuevo token. Después de miles de fusiones, las palabras comunes se convierten en tokens únicos ("the", "function") mientras que las palabras raras se dividen en piezas de subpalabras ("un" + "common"). Utilizado por GPT, Claude, Llama y la mayoría de los LLMs modernos.

Por qué importa

BPE es la razón por la que tu tokenizador funciona como lo hace. Explica por qué las palabras comunes son baratas (un token), por qué las palabras raras son caras (muchos tokens) y por qué el texto que no es en inglés cuesta más (menos fusiones asignadas a pares de caracteres no ingleses). Entender BPE te ayuda a predecir conteos de tokens, optimizar prompts y comprender por qué diferentes tokenizadores producen resultados diferentes para el mismo texto.

En profundidad

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

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.

El corpus de entrenamiento importa

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.

Conceptos relacionados

← Todos los términos