Los que habéis usado ChatGPT, Google Bard o similares, seguramente os hayáis encontrado con que algunas veces estos chatbots se inventan las respuestas a nuestras preguntas. Esto es lo que comúnmente se conoce como alucinaciones.
Para entender por qué ocurren, lo primero es entender a nivel muy básico cómo funcionan estos chatbots. La pieza fundamental que los compone son los modelos del lenguaje (o LLM por sus siglas en inglés, large language models). Estos modelos son entrenados con grandes cantidades de datos, como por ejemplo, las páginas web presentes en internet y los libros de dominio público, entre otros. La tarea de los LLM consiste en intentar predecir la siguiente palabra o secuencia de palabras, a partir de un texto que el usuario introduce. Por ejemplo, si le hacemos una pregunta, el modelo va prediciendo las palabras justo después de esa pregunta. Como el modelo ha sido entrenado con millones de documentos, seguramente en uno (o muchos) de esos documentos haya visto una pregunta similar, junto con la respuesta. A grandes rasgos, el LLM funciona como un modelo estadístico, por un lado durante su entrenamiento aprende la probabilidad de que dos o más palabras vayan juntas, y por otro lado durante su uso utiliza esta probabilidad para predecir la siguiente secuencia de palabras.
Por ejemplo, si le preguntamos: ¿De qué color es el cielo?
Durante su entrenamiento ha aprendido que la secuencia de palabras siguientes más probables son: El cielo es de color azul.
Sin embargo si le preguntamos por un planeta que no existe, podemos ver lo que ocurre:
En lugar de contestarnos que no existe el planeta, predice incorrectamente que el cielo es de color azul o negro. Esto se debe a que estadísticamente le parece que esas son las palabras con más probabilidad para seguir a la pregunta.
El problema se da porque estamos utilizamos los LLMs como si fuesen bases del conocimiento, cuando en realidad son modelos estadísticos que han sido entrenados con bases del conocimiento. Su función principal es predecir, no es consultar una base del conocimiento. Si el modelo ha visto durante el entrenamiento la respuesta a nuestra pregunta, seguramente será capaz de contestar correctamente, con su predicción. Pero en caso de no haberse encontrado una pregunta similar, ni información al respecto, el modelo alucinará.
Resolver el problema de las alucinaciones es uno de los grandes retos en el que están trabajando científicos de datos e ingenieros. Una de las aproximaciones que se está explorando con buenos resultados, es utilizar el modelo del lenguaje no para contestar la pregunta directamente, sino para traducirla en una consulta a una base de datos. De este modo ya no utilizamos el modelo como una base del conocimiento, sino que lo utilizamos como un intermediario capaz de entender el lenguaje natural y traducirlo a consultas a la base del conocimiento. ChatGPT por ejemplo está introduciendo extensiones (plugins, por su nombre en inglés) que entre otras cosas le permiten ir a las fuentes del conocimiento directamente, como Wikipedia.
Otro de los problema de los modelos actuales, es que sus entrenamientos son muy costosos y largos (se estima que entrenar GPT-4 costó más de 100 millones de dólares), por lo cual no es algo que se haga todos los días. Esto implica que muchas veces la información que devuelven no está actualizada. Sin embargo al utilizar bases del conocimiento externas, que son mucho más sencillas de actualizar, este problema se mitiga en gran medida.
Ahora la próxima vez que hables con una IA y aluciné, sabrás porqué lo hace. Y en el caso de que tenga acceso a fuentes externas, puedes guiarla para que busque las respuestas en esas fuentes, lo cual tendrá más probabilidad de éxito.
Fuentes
Youtube Conferencia ValgrAI – What’s wrong with LLMs and what we should be building instead?