Antes de que un modelo de lenguaje pueda leer algo, el texto debe dividirse en fragmentos que pueda contar. Estos fragmentos son tokens, y la tokenización es el proceso de división. Un token puede ser una palabra completa, un fragmento como "-ing" o "pre", un signo de puntuación o incluso un solo carácter. El modelo nunca ve el texto sin procesar; ve una secuencia de identificadores enteros asociados a esos tokens.
Los distintos métodos implican diferentes ventajas y desventajas. La tokenización a nivel de palabra conserva el significado, pero genera millones de palabras poco frecuentes y presenta problemas con los errores tipográficos. La tokenización a nivel de carácter tiene un vocabulario reducido, pero produce secuencias muy largas. Los métodos de subpalabras, como la codificación de pares de bytes, se sitúan en un punto intermedio: parten de caracteres y fusionan repetidamente los pares más frecuentes hasta alcanzar un tamaño de vocabulario objetivo.
Por qué es importante
- El tamaño del vocabulario determina la tabla de incrustación del modelo y el espacio en memoria que ocupa.
- El recuento de tokens establece la ventana de contexto y el costo de cada llamada a la API.
- Una tokenización deficiente divide las palabras de maneras que perjudican el rendimiento multilingüe.
- Los idiomas con alfabetos no latinos a menudo necesitan muchos más tokens por oración.
Una oración en inglés puede usar 20 tokens; la misma oración en tailandés o hindi puede requerir 60 o más con un analizador léxico occidental. Este desequilibrio afecta la velocidad, el precio y la precisión para miles de millones de hablantes.
Comments
No comments yet. Be the first to share a thought.
Leave a comment