Tema

Tokenización por subpalabras

La codificación por pares de bytes construye el vocabulario fusionando de forma repetida el par de símbolos adyacentes más frecuente, de manera que las palabras comunes quedan enteras y las raras se escriben con piezas conocidas.

Nombre en inglés

Subword tokenization

Intuición

El vocabulario deja de ser una lista cerrada de palabras y pasa a ser un juego de piezas. Una palabra nunca vista como hiperparametrización se arma con fragmentos que sí aparecieron, motivo por el cual el modelo ya no necesita el símbolo de palabra desconocida y el tamaño del vocabulario se puede fijar de antemano.

Fórmula

fusión = argmax_{(x, y)} C(x y), repetida K veces hasta alcanzar el tamaño de vocabulario deseado

Ejemplo resuelto

Sea un corpus con bajo 3 veces, baja 2 veces y bajar 1 vez, partido en caracteres. El par más frecuente es b seguido de a, con 6 apariciones, y la primera fusión crea el símbolo ba. En la segunda vuelta el par ba seguido de j suma otra vez 6 y produce baj. Tras dos fusiones el vocabulario pasa de 5 símbolos a 7, y la palabra bajar se escribe con 3 piezas en lugar de las 5 letras iniciales.

Errores frecuentes

Ejercicio

Un texto en español de 1000 palabras produce 1850 tokens. ¿Cuántas palabras caben, en promedio, en una ventana de contexto de 8192 tokens?

Ver la solución

La razón se obtiene dividiendo 1850 entre 1000, lo que da 1.85 tokens por palabra. Con esa razón, la ventana admite 8192 / 1.85 = 4428 palabras, es decir unas 9 páginas de texto corrido. Conviene medir la razón sobre el idioma real de la aplicación, ya que un vocabulario entrenado sobre inglés parte más las palabras del español y encoge la ventana efectiva.

Respuesta: cerca de 4428 palabras

Temas relacionados

Cursos a los que prepara

Abrir el tema en la guía