Los modelos de IA generativa no procesan el texto de la misma manera que lo hacen los humanos. Comprender sus entornos internos basados en “tokens” puede ayudar a explicar algunos de sus comportamientos extraños y sus persistentes limitaciones.
La mayoría de los modelos, desde los pequeños que se encuentran en el dispositivo como Gemma hasta el GPT-4o de OpenAI, líder en la industria, se basan en una arquitectura conocida como transformador. Debido a la forma en que los transformadores evocan asociaciones entre texto y otros tipos de datos, no pueden recibir ni generar texto sin formato, al menos no sin una enorme cantidad de procesamiento.
Entonces, por razones tanto pragmáticas como técnicas, los modelos de transformadores actuales funcionan con texto dividido en fragmentos más pequeños, llamados tokens, un proceso conocido como tokenización.
Los tokens pueden ser palabras, como “fantástico”, o sílabas, como “fan”, “tas” y “tic”. Según el tokenizador (el modelo que realiza la tokenización), incluso pueden ser caracteres individuales en palabras (por ejemplo, “f”, “a”, “n”, “t”, “a”, “s”, “t”, “i”, “c”).
Con este método, los transformadores pueden absorber más información (en el sentido semántico) antes de alcanzar un límite superior conocido como ventana de contexto. Pero la tokenización también puede introducir sesgos.
Algunos tokens tienen un espaciado extraño, lo que puede hacer descarrilar un transformador. Un tokenizador podría codificar «érase una vez» como «una vez», «sobre», «una», «tiempo», por ejemplo, mientras que codifica «érase una vez » (que tiene un espacio en blanco final) como «una vez», «sobre», «una», » «. Dependiendo de cómo se le indique al modelo (con «érase una vez» o «érase una vez ,») los resultados pueden ser completamente diferentes, porque el modelo no entiende (como lo haría una persona) que el significado es el mismo.
Los tokenizadores también tratan las mayúsculas y minúsculas de forma diferente. “Hola” no es necesariamente lo mismo que “HOLA” para un modelo; “hola” suele ser un token (según el tokenizador), mientras que “HOLA” puede ser hasta tres (“HE”, “El” y “O”). Es por eso que muchos transformadores no superan la prueba de las letras mayúsculas.
“Resulta un tanto difícil eludir la cuestión de qué debería ser exactamente una 'palabra' para un modelo de lenguaje, e incluso si consiguiéramos que los expertos humanos se pusieran de acuerdo sobre un vocabulario de tokens perfecto, los modelos probablemente seguirían encontrando útil 'fragmentar' las cosas aún más”, dijo a TechCrunch Sheridan Feucht, estudiante de doctorado que estudia la interpretabilidad de modelos de lenguaje de gran tamaño en la Universidad de Northeastern. “Mi suposición sería que no existe nada parecido a un tokenizador perfecto debido a este tipo de imprecisión”.
Esta “falta de claridad” crea aún más problemas en idiomas distintos del inglés.
Muchos métodos de tokenización suponen que un espacio en una oración denota una palabra nueva. Esto se debe a que fueron diseñados teniendo en cuenta el inglés. Pero no todos los idiomas utilizan espacios para separar palabras. El chino y el japonés no lo hacen, ni tampoco el coreano, el tailandés o el jemer.
Un estudio de Oxford de 2023 concluyó que, debido a las diferencias en la forma en que se tokenizan los idiomas distintos del inglés, un transformador puede tardar el doble de tiempo en completar una tarea formulada en un idioma distinto del inglés que la misma tarea formulada en inglés. El mismo estudio (y otro) concluyó que los usuarios de idiomas menos «eficientes en cuanto a tokens» probablemente vean un peor rendimiento del modelo y, sin embargo, paguen más por su uso, dado que muchos proveedores de IA cobran por token.
Los tokenizadores suelen tratar cada carácter de los sistemas de escritura logográficos (sistemas en los que los símbolos impresos representan palabras sin relación con la pronunciación, como el chino) como un símbolo distinto, lo que da lugar a un elevado número de símbolos. De forma similar, los tokenizadores que procesan idiomas aglutinantes (idiomas en los que las palabras están formadas por pequeños elementos significativos denominados morfemas, como el turco) tienden a convertir cada morfema en un símbolo, lo que aumenta el número total de símbolos. (La palabra equivalente a «hola» en tailandés, สวัสดี, es de seis símbolos).
En 2023, Yennie Jun, investigadora de inteligencia artificial de Google DeepMind, realizó un análisis en el que comparaba la tokenización de diferentes idiomas y sus efectos posteriores. Utilizando un conjunto de datos de textos paralelos traducidos a 52 idiomas, Jun demostró que algunos idiomas necesitaban hasta 10 veces más tokens para capturar el mismo significado en inglés.
Más allá de las desigualdades lingüísticas, la tokenización podría explicar por qué los modelos actuales son malos en matemáticas.
En raras ocasiones los dígitos se tokenizan de manera consistente. Debido a que no saben realmente qué son los números, los tokenizadores pueden tratar “380” como un solo token, pero representar “381” como un par (“38” y “1”), destruyendo de manera efectiva las relaciones entre los dígitos y los resultados en ecuaciones y fórmulas. El resultado es una confusión de transformadores; un artículo reciente mostró que los modelos tienen dificultades para comprender los patrones numéricos repetitivos y el contexto, en particular los datos temporales. (Véase: GPT-4 piensa que 7.735 es mayor que 7.926).
Esa es también la razón por la que los modelos no son buenos para resolver problemas de anagramas o invertir palabras.
Por lo tanto, la tokenización presenta desafíos claros para la IA generativa. ¿Se pueden resolver?
Tal vez.
Feucht señala modelos de espacio de estado a “nivel de byte” como MambaByte, que pueden ingerir muchos más datos que los transformadores sin una penalización de rendimiento al eliminar por completo la tokenización. MambaByte, que trabaja directamente con bytes sin procesar que representan texto y otros datos, es competitivo con algunos modelos de transformadores en tareas de análisis de lenguaje, al tiempo que maneja mejor el “ruido” como palabras con caracteres intercambiados, espaciado y caracteres en mayúsculas.
Sin embargo, modelos como MambaByte aún están en las primeras etapas de investigación.
“Probablemente sea mejor dejar que los modelos observen los caracteres directamente sin imponer la tokenización, pero en este momento eso es computacionalmente inviable para los transformadores”, dijo Feucht. “Para los modelos de transformadores en particular, el cálculo se escala cuadráticamente con la longitud de la secuencia, por lo que realmente queremos usar representaciones de texto cortas”.
A menos que se produzca un gran avance en la tokenización, parece que las nuevas arquitecturas de modelos serán la clave.
