Kabosu - Creando cosas

Logo de la página. Gato esférico con colores verdoso.

La IA (de OpenAI) va a peor

Publicado: 2025-01-31

Etiquetas: IA, Proyectos, Python


En su día hablé del bot de traducción para Telegram que tengo para la familia. Lo usamos prácticamente sin cambios desde hace casi 2 años. En el artículo enlazado antes comenté que internamente utilizaba OpenAI para traducir pero que quería cambiarlo en algún momento. El caso es que no lo he cambiado aún porque todavía me queda crédito en la cuenta. OpenAI ofrece su servicio a pérdidas y por eso cuesta poquísimo dinero. Creo que gastamos unos 10 céntimos al mes y la traducción con LLM funcionaba sorprendentemente bien cuando lo empezamos a usar.

Aunque me interesan los LLMs y la ciencia que hay detrás, no sigo las noticias sobre el tema y no estoy al tanto de los modelos gigantescos que van sacando las grandes empresas entrenando con todo el contenido que encuentran en internet. Lo único que he ido haciendo es actualizar de vez en cuando el bot para que use el modelo más nuevo que ofrece la API de OpenAI. Empecé con gpt-3.5-turbo, luego gpt-4 y ahora gpt-4o.

Cada vez son modelos más grandes, entrenados con más datos y que, a mí personalmente, cada vez me funcionan peor. En el artículo en el que hablé del bot me quejaba un poco de que a veces alucinaba. Se equivocaba de vez en cuando con los géneros de las palabras y a veces se inventaba algún dato que no estaba en la frase pero ahí se acababa la cosa. Nada especialmente grave. Nos reíamos de lo que soltaba el bot y ya está.

En cambio ahora, el bot con la versión más potente del modelo de OpenAI que hemos estado usando los últimos meses funciona de pena. No es que alucine traduciendo lo que no hemos dicho, es que la mitad de las veces ni traduce. Devuelve la misma a frase en el idioma original como mucho cambiando alguna palabra. Tantos datos de entrenamiento, tanta energía consumida, tantos millones gastados para que cada vez funcione peor o directamente que ni funcione.

Actualizando el bot

Estoy trasteando con un modelo ejecutado en mi servidor casero Slimbook Zero pero aún no lo he añadido al bot. Mientras tanto le he dado una última oportunidad a OpenAI porque aún tengo algo de crédito en mi cuenta. He escrito al ChatGPT diciéndole que estoy usando su API y cada vez va peor, que cómo lo podía solucionar.

Este era mi prompt original del bot:

PROMPT = '''
If the text provided is in {language1} translate it to {language2}.
If it is in {language2} translate it to {language1}.
Don't write anything else. Just the translation.
The text:
{text}
'''

Me ha dicho que mi prompt no era demasiado bueno porque le faltaba precisión. Me ha escrito un montón de texto contándome cómo mejorarlo y finalmente me ha sugerido que usase este:

PROMPT = '''
Identify the language of the provided text.
If it is in {language1}, translate it into {language2}.
If it is in {language2}, translate it into {language1}.
Focus only on the text provided and ensure to translate accordingly.

Ensure that:
1. The text is checked for its language.
2. If the text is in {language1}, it should only be translated into {language2}.
3. If the text is in {language2}, it should only be translated into {language1}.

Don't write anything else. Just the translation:
{text}
'''

Quizá mi prompt no era del todo bueno pero si la versión de GPT del año 2020 lo procesaba correctamente ¿porqué los modelos posteriores no? ¿porqué tengo que "mejorar" un prompt que funcionaba hace casi 2 años? Al parecer están haciendo IAs cada vez más tontas. No entiendo cómo las empresas quieren que esto sea el futuro.

Al final he puesto en el bot el prompt tal cual me ha recomendado ChatGPT. Lo he probado un rato y de momento parece que traduce siempre. Lo voy a dejar así un tiempo para ver cómo funciona pero ya estoy preparando mi IA local para sustituir la de OpenAI. No hay vuelta atrás.


Artículo anterior: Evitando publicar los metadatos de las fotos en el blog