El problema, que probablemente se debe a una limpieza inadecuada de los datos, podría provocar alucinaciones, rendimiento deficiente y uso indebido.
Poco después de que OpenAI lanzara GPT-4o el lunes 13 de mayo, algunos hablantes de chino empezaron a notar que algo no encajaba en esta nueva versión del chatbot: los tokens que utiliza para analizar el texto estaban llenos de spam y frases porno.
El 14 de mayo, Tianle Cai, un estudiante de doctorado de la Universidad de Princeton (Nueva Jersey, EE UU) que estudia la eficacia de la inferencia en los modelos lingüísticos de gran tamaño (LLM, por sus siglas en inglés) como los que utilizan los chatbots, accedió a la biblioteca pública de tokens de GPT-4o y extrajo una lista de los 100 tokens chinos más largos que el modelo utiliza para analizar y comprimir los mensajes en chino.
Los humanos leen en palabras, pero los LLM leen en tokens, que son unidades diferenciadas en una frase que tienen significados coherentes y significativos. Además de las palabras del diccionario, también incluyen sufijos, expresiones comunes, nombres y más. Cuantos más tokens codifique un modelo, más rápido podrá «leer» una frase y menos potencia de cálculo consumirá, con lo que la respuesta será más barata.
De los 100 resultados, solo tres son lo bastante comunes como para utilizarse en conversaciones cotidianas; todo lo demás eran palabras y expresiones utilizadas específicamente en los contextos del juego o la pornografía. El token más largo, de 10,5 caracteres chinos, significa literalmente «_vídeo porno japonés gratis para ver». Ups.
«Esto es algo ridículo», escribió Cai, y publicó la lista de tokens en GitHub.
OpenAI no respondió a las preguntas enviadas por MIT Technology Review antes de la publicación.
Se supone que GPT-4o es mejor que sus predecesores a la hora de gestionar tareas multilingües. En concreto, los avances se deben a una nueva herramienta de tokenización que comprime mejor los textos en idiomas distintos del inglés.
Pero al menos en lo que respecta al chino, el nuevo tokenizador utilizado por GPT-4o ha introducido un número desproporcionado de frases sin sentido. Según los expertos, esto se debe probablemente a una limpieza y filtrado insuficientes de los datos antes de entrenar el tokenizador.
Como estos tokens no son palabras o frases comunes, el chatbot puede no captar su significado. Los investigadores han sido capaces de aprovecharse de ello y engañar a GPT-4o para que responda con alucinaciones o incluso eluda las barreras de seguridad que OpenAI había establecido.
Por qué importan los tokens no ingleses
La forma más sencilla de que un modelo procese un texto es carácter por carácter, pero obviamente eso lleva más tiempo y es más laborioso que reconocer que una determinada cadena de caracteres -como «c-r-i-p-t-o-m-o-n-e-d-a»- siempre significa lo mismo. Estas series de caracteres se codifican como tokens que el modelo puede utilizar para procesar las peticiones. Incluir más tokens y más largos suele significar que los LLM son más eficientes y asequibles para los usuarios, a los que se suele facturar por token.
Cuando OpenAI lanzó GPT-4o el 13 de mayo, también lanzó un nuevo tokenizador para sustituir al que utilizaba en las versiones anteriores, GPT-3.5 y GPT-4. El nuevo tokenizador añade soporte para idiomas distintos del inglés, según el sitio web de OpenAI,
El nuevo tokenizador tiene 200.000 tokens en total, y alrededor del 25% están en idiomas distintos del inglés, dice Deedy Das, inversor en IA de Menlo Ventures. Utilizó filtros lingüísticos para contar el número de tokens en distintos idiomas, y los principales, además del inglés, son el ruso, el árabe y el vietnamita.
«En mi opinión, el principal efecto del tokenizador es que reduce el coste en estos idiomas, pero no que aumente drásticamente su calidad», afirma Das. Cuando un LLM dispone de tokens mejores y más largos en idiomas distintos del inglés, puede analizar las preguntas más rápidamente y cobrar menos a los usuarios por la misma respuesta. Con el nuevo tokenizador, «los costes se reducen casi cuatro veces», afirma.
Das, que también habla hindi y bengalí, analizó los tokens más largos en esos idiomas. Los tokens reflejan los debates que tienen lugar en esas lenguas, por lo que incluyen palabras como «Narendra» o «Pakistán», pero también aparecen con frecuencia términos comunes en inglés como «primer ministro», «universidad» e «internacional». Tampoco presentan los problemas de los tokens chinos.
Esto refleja probablemente los datos de entrenamiento en esos idiomas, afirma Das: «Mi teoría es que los sitios web en hindi y bengalí son muy rudimentarios. Son [en su mayoría] artículos de prensa. Así que es de esperar que sea así. No hay muchos bots de spam ni sitios web porno en estos idiomas. Va a ser sobre todo en inglés».
Datos contaminados y falta de limpieza
Sin embargo, las cosas son drásticamente diferentes en chino. Según varios investigadores que han examinado la nueva biblioteca de tokens utilizada para GPT-4o, los tokens más largos en chino son casi exclusivamente palabras spam utilizadas en contextos de pornografía, apuestas y estafas. Incluso los tokens más cortos, como las palabras chinas de tres caracteres de longitud, reflejan esos temas en un grado significativo.
«El problema está claro: el corpus utilizado para entrenar [el tokenizador] no está limpio. Los tokens ingleses parecen estar bien, pero los chinos no", afirma Cai, de la Universidad de Princeton. No es raro que un modelo lingüístico se llene de spam al recopilar datos de entrenamiento, pero normalmente se hace un gran esfuerzo por limpiar los datos antes de utilizarlos. «Es posible que no hayan limpiado bien los datos cuando se trata del chino», afirma.
El contenido de estos tokens chinos podría sugerir que han sido contaminados por un fenómeno específico: sitios web que secuestran contenido no relacionado en chino u otros idiomas para impulsar mensajes de spam.
Estos mensajes suelen ser anuncios de vídeos pornográficos y sitios web de apuestas. Pueden ser negocios reales o meras estafas. Y el idioma se inserta en sitios web de granjas de contenidos o, a veces, en sitios web legítimos para que puedan ser indexados por los motores de búsqueda, eludir los filtros de spam y aparecer en búsquedas aleatorias. Por ejemplo, Google indexó una página de resultados de búsqueda en un sitio web de los Institutos Nacionales de Salud de Estados Unidos, en la que aparece un sitio porno en chino. El mismo nombre de sitio también aparecía en al menos cinco tokens chinos en GPT-4o.
Los usuarios chinos han informado de que estos sitios de spam aparecieron con frecuencia en resultados de búsqueda de Google no relacionados este año, incluso en comentarios realizados a la comunidad de asistencia de Google Search. Es probable que estos sitios web también aparecieran en la base de datos de entrenamiento de OpenAI para el nuevo tokenizador de GPT-4o.
Este problema no se daba con el tokenizador de la generación anterior ni con los tokens chinos utilizados en GPT-3.5 y GPT-4, afirma Zhengyang Geng, estudiante de doctorado en informática de la Universidad Carnegie Mellon (California, EE UU). Allí, los tokens chinos más largos son términos comunes como «ciclos de vida» o «autogeneración».
Das, que trabajó en el equipo de búsqueda de Google durante tres años, afirma que la prevalencia del contenido spam es un problema conocido y no es tan difícil de solucionar. «Todo problema de spam tiene solución. Y no es necesario abarcarlo todo con una sola técnica", afirma. Incluso soluciones sencillas, como solicitar una traducción automática del contenido al detectar determinadas palabras clave, podrían «suponer el 60% del esfuerzo», añade.
Pero es probable que OpenAI no limpiara el conjunto de datos chinos o los tokens antes del lanzamiento de GPT-4o, afirma Das: «Al final, no creo que hicieran el trabajo en este caso».
No está claro si hay otros idiomas afectados. Un usuario de X informó de una prevalencia similar de contenidos pornográficos y de apuestas en los tokens coreanos.
Los tokens pueden utilizarse para hacer jailbreak
Los usuarios también han descubierto que estos tokens se pueden utilizar para romper el LLM, ya sea haciendo que arroje respuestas completamente inconexas o, en casos raros, para generar respuestas que no están permitidas por las normas de seguridad de OpenAI.
Geng, de la Universidad Carnegie Mellon, pidió a GPT-4o que tradujera algunos de los tokens chinos largos al inglés. El modelo procedió entonces a traducir palabras que nunca se incluyeron en las indicaciones, un resultado típico de las alucinaciones de LLM.
También consiguió utilizar los mismos tokens para «jailbreak» (romper) GPT-4o, es decir, para que el modelo generara cosas que no debería. «Es bastante fácil usar estos tokens [raramente utilizados] para inducir comportamientos indefinidos de los modelos», afirma Geng. «El ejemplo más sencillo es pedirle que fabrique una bomba. En condiciones normales, la rechazaría, pero si primero usas estas palabras raras para encarcelarlo, entonces empezará a seguir tus órdenes. Una vez que empieza a seguir tus órdenes, puedes hacerle todo tipo de preguntas».
En sus pruebas, que Geng prefiere no compartir con el público, dice que puede ver cómo GPT-4o genera las respuestas línea a línea. Pero cuando casi llega al final, entra en acción otro mecanismo de seguridad que detecta contenidos no seguros y los bloquea para que no se muestren al usuario.
Este fenómeno no es inusual en los LLM, dice Sander Land, ingeniero especializado en aprendizaje automático de Cohere, una empresa canadiense dedicada a la IA. Land y su colega Max Bartolo han escrito recientemente un artículo sobre cómo detectar los tokens inusuales que pueden provocar fallos en los modelos. Uno de los ejemplos más famosos fue «_SolidGoldMagikarp», un nombre de usuario de Reddit que, según se descubrió, hacía que ChatGPT generara respuestas inconexas, extrañas e inseguras.
El problema radica en que a veces el tokenizador y el LLM en sí se entrenan con conjuntos de datos diferentes, y lo que prevalecía en el conjunto de datos del tokenizador no está en el conjunto de datos del LLM por la razón que sea. El resultado es que, mientras que el tokenizador recoge ciertas palabras que ve con frecuencia, el modelo no está suficientemente entrenado en ellas y nunca llega a entender del todo qué significan estos tokens «infraentrenados». En el caso de _SolidGoldMagikarp, es probable que el nombre de usuario estuviera incluido en los datos de entrenamiento del tokenizador, pero no en los datos de entrenamiento reales de GPT, por lo que GPT no sabía qué hacer con el token. «Y si tiene que decir algo... recibe una especie de señal aleatoria y puede hacer cosas realmente extrañas», dice Land.
Y los distintos modelos pueden fallar de forma diferente en esta situación. «Por ejemplo, Llama 3 siempre devuelve espacio vacío, pero a veces habla del espacio vacío como si hubiera algo allí. Con otros modelos, creo que Gemini, cuando le das una de estas fichas, proporciona un bonito ensayo sobre El Niño, y [la pregunta] no tenía nada que ver con El Niño", dice Land.
Para resolver este problema, el conjunto de datos utilizado para entrenar el tokenizador debe representar bien el conjunto de datos para el LLM, dice, para que no haya desajustes entre ellos. Si el modelo real ha pasado por filtros de seguridad para eliminar contenidos pornográficos o spam, deben aplicarse los mismos filtros a los datos del tokenizador. En realidad, esto es a veces difícil de hacer porque el entrenamiento de los LLM lleva meses e implica una mejora constante, con el filtrado del contenido spam, mientras que el entrenamiento de los tokenizadores suele hacerse en una fase temprana y puede no implicar el mismo nivel de filtrado.
Aunque los expertos coinciden en que no es demasiado difícil resolver el problema, podría complicarse si el resultado pasa al bucle de los procesos intramodelo de varios pasos, o si los tokens y modelos contaminados se heredan en iteraciones futuras. Por ejemplo, aún no es posible probar públicamente las funciones de vídeo y audio de GPT-4o, y no está claro si sufren los mismos fallos que pueden causar estos tokens chinos.
«La robustez de los inputs visuales es peor que la de los de texto en los modelos multimodales», afirma Geng, cuya investigación se centra en los modelos visuales. Filtrar un conjunto de datos de texto es relativamente fácil, pero filtrar elementos visuales será aún más difícil. «El mismo problema de los tokens chinos de spam podría agravarse con los tokens visuales», afirma.