En este artículo, analizamos uno de los algoritmos de tokenización más conocidos llamado codificación de par de bytes (BPE). Se utiliza en muchos modelos de lenguajes grandes de última generación, como la familia BERT, BART y GPT.
Empecemos.
La codificación de pares de bytes (BPE) es una tokenización de subpalabras basada en corpus algoritmo. Es basado en corpus porque utiliza el corpus de entrenamiento para aprender caracteres (o símbolos) frecuentes y fusionarlos en un solo símbolo. Y es un tokenizador de subpalabras porque divide el texto en unidades menores (o iguales) que las palabras.
La siguiente imagen muestra la tokenización de subpalabras en la oración “está lloviendo”. Tenga en cuenta que “eso” y “es” son símbolos de palabras completas; “lluvia” y “ing” son subpalabras de “lloviendo”.
El algoritmo BPE tiene dos partes principales: aprendiz de token y segmentador de token.
1- Alumno de fichas: esto toma un corpus de texto y crea un vocabulario que contiene tokens. Este corpus actúa como corpus de entrenamiento.
2- Segmentador de tokens: esto toma un fragmento de texto, como una oración, y lo segmenta en tokens. Este texto son los datos de prueba. Usamos el aprendizaje que obtuvimos en el paso anterior para tokenizar los datos de prueba en este paso.
Vale la pena mencionar que,
“La codificación de pares de bytes (BPE) (Gage, 1994) es una antigua técnica de compresión de datos que reemplaza iterativamente el par de bytes más frecuente en una secuencia con un único byte no utilizado”.[1]
El algoritmo BPE actual que conocemos para tokenización adapta este algoritmo pero en lugar de fusionar pares frecuentes de bytes, fusiona caracteres frecuentes (o…