En un reciente artículo, OpenAI abunda en el consabido problema de las alucinaciones de los modelos avanzados de lenguaje (LLMs). Recuerden: por alucinaciones nos referimos a las respuestas erróneas, falsas o directamente inventadas que el modelo ofrece como válidas al usuario final.

Preguntas sobre el título de la tesis doctoral de un amigo y, el modelo, que no tiene ni idea, devuelve ni corto ni perezoso, sin variar el gesto o en su caso sin torcer un sólo transistor, un título inventado. Todo ello, con un matiz importante, sobre el que no se advierte lo suficiente y a menudo pasamos por alto: el título de la tesis es plausible.

La respuesta es un título de tesis que suena bien y sin mucho ánimo de hacer comprobaciones podrías incluirla como referencia de tu siguiente artículo alimentando así la cadena de desinformación; hasta que un día tomando unas cañas, tu amigo, en un arranque de vanidad, te espeta el título de su tesis, del cual está orgulloso y que amén de ser más disparatado y alambicado, tiene otra cualidad: es real.

Es el título real de su tesis. El que él le puso, y con el cual se registró. Te guste más o menos. Es un hecho. El LLM te la ha colado y tú miras para otro lado, porque se te ha ido ya de las manos. Zanjas el asunto: “Otras dos cañas, por favor”.

Pero volvamos al artículo de OpenAI, porque es interesante entender por qué un LLM puede alucinar. ¿Cómo es esto posible? ¿Qué gana este bicho inventando respuestas plausibles? ¿Acaso hace uso de nuestra cámara para enseñar a otros modelos nuestras reacciones al ser vilmente engañados?

Bien, como me decía un magnífico profesor -y yo repito a mis alumnos cuando no andan en TikTok-: cuando tengas dudas sobre el comportamiento de un algoritmo de aprendizaje, examina cuidadosamente la función de coste.

Y dirán, ¿qué es esto de la función de coste? Pues la función de coste mide, en esencia, cómo de bien el algoritmo está funcionando sobre unos datos de aprendizaje/entrenamiento. Usamos la función de coste para durante el entrenamiento dirigir el modelo; a mayor coste peor está funcionando nuestro modelo, a menor coste más se aproxima a no tener errores.

Todo esto suena muy bien, pero de nuevo, los demonios siembran discordias y las sustentan, pues ese es su oficio, y además se esconden en los detalles, porque, ¿quién y cómo define el coste? ¿Qué significa no tener errores? ¿A qué le hemos llamado error?

A menudo algún alumno asustado por el devenir de los tiempos -no me extraña- me pregunta sobre la posibilidad de que sistemas de IA avanzados se conviertan en Skynet y no dejen piedra sobre piedra. Es una pregunta recurrente, y mi respuesta es siempre la misma: mira a ver bien la función de coste de ese Skynet. Si la función de coste del sistema maximiza disparar al mayor número de civiles posible, yo me preocuparía.

No es un tema de la máquina -que optimiza sin acritud-, es un tema del diseñador humano. No hace falta inteligencia artificial general maliciosa ni advenimientos extraterrestres, basta con que se haya entrenado con ese propósito. Y los diseñadores somos nosotros, no hay que buscar más culpables.

Pues bien, resulta que para medir lo bien que funciona un modelo LLM, que funciona prediciendo la siguiente palabra más plausible, se suele atender principalmente a los aciertos que tiene. Simplificando mucho, se va midiendo si las palabras que va produciendo para completar los textos son las mismas del texto de entrenamiento.

Pero he aquí el problema, ¿Qué pasa cuando el modelo no conoce la respuesta a una pregunta? Pues básicamente: improvisa, se la juega; porque es más fácil acertar aunque sea a ciegas que reconocer un “no tengo la respuesta”. Esto es fácil de entender, imagina que le preguntas al sistema por su fecha de cumpleaños y no la sabe.

En vez de decir: “Oiga, eso debería saberlo usted”, que contaría como un no acierto directo, puedes tirarte a la piscina y decir una fecha al azar. Al fin y al cabo, sea la que sea, tiene una posibilidad sobre 365 o 366 si naciste un 29 de febrero. Menos es nada, ¿no? Pues el modelo se arriesga.

Por tanto, habrá que incluir en la función de coste una penalización por improvisar o, mejor aún, una recompensa por responder con un sabio “no tengo información confiable” antes que inventar. Algunos modelos ya empiezan a hacerlo o al menos incluyen un “no sé” como una respuesta válida durante el entrenamiento.

El diseñador quizá no lo pensó de entrada, pero la forma de evaluar el sistema lleva al modelo a fabular cuando no sabe la respuesta, siempre de la manera más plausible posible (¡peligro!). No deberíamos olvidar los siglos de experiencia que nos han enseñado el valor de saber decir “no sé” en vez de responder a todo sin mucho juicio.

El ejemplo del cumpleaños que usa OpenAI en su artículo es bastante blanco. No tiene mucha maldad, pero reflexionemos sobre el conjunto para entender por qué Deepseek puede no preferir hablar de Tiananmen, GPT sobre algún aspecto de Trump, o en un futuro un modelo X nos cuente una milonga sobre cualquier hecho histórico y lo creamos a pies juntillas, pues es en un montón de hechos y verdades donde mejor se esconde la más burda de las mentiras.

Por eso conviene preguntarse quién diseñó la función de coste y cómo. ¿Se penaliza la invención? ¿Se premia el uso de fuentes confiables? ¿Qué ocurre si alguien logra inundar Internet con documentos falsos que acaban en el entrenamiento del modelo? ¿Y si un diseñador manipula deliberadamente el criterio de verdad?

Es decir, pensar si no va a estar más vigente que nunca tener pensamiento y espíritu crítico y no dar por hecho todo lo que nos cuentan o sale por la terminal de un modelo con apariencia de solvencia. La máquina, desengañaos, ni miente ni dice la verdad: optimiza su función de coste. Y tanto su diseño como supervisar y cuestionar sus respuestas depende enteramente de nosotros.

***Javier González es profesor en el Instituto de Empresa (IE)