PROGRAMMATIC SPAIN

View Original

‘Contra las alucinaciones, RAG (Retrieval-Augmented Generation)’, por Pepe Cerezo

Faltan apenas dos semanas para el gran evento NxtBigThing organizado por PROGRAMMATIC SPAIN en el que abordaremos las oportunidades y riesgos que presenta la IA Generativa en el ámbito de la información, el marketing y la publicidad.

Uno de los riesgos que genera más desconfianza en el uso de la IA Generativa es la prevalencia de errores o de invenciones, lo que en el argot se denominan alucinaciones del modelo. Para mitigar estos fallos, se ha desarrollado una técnica denominada Generación Aumentada por Recuperación o RAG (Retrieval-Augmented Generation), que ofrece un enfoque innovador que no solo mejora la precisión de los modelos de IA, sino que también transforma su aplicabilidad en contextos específicos. En este artículo, exploraré los fundamentos de RAG, su funcionamiento y cómo puede convertirse en una herramienta clave para construir un futuro más confiable en el uso de inteligencia artificial.

Los modelos de IA generativa, conocidos como LLM (Large Language Models), se entrenan utilizando algoritmos de Deep Learning sobre grandes volúmenes de datos. A través de este proceso de entrenamiento, los algoritmos identifican patrones y son capaces de generar respuestas a las preguntas o prompts que se les formulan. Sin embargo, estos modelos presentan riesgos. Como hemos indicado anteriormente, los más recurrentes son las llamadas "alucinaciones", que se producen cuando generan texto incorrecto, incoherente o desconectado de la realidad, es decir, inventado.

Se estima que la prevalencia de alucinaciones en los LLM, como ChatGPT, puede oscilar entre el 15% y el 20%, lo que tiene implicaciones importantes para la reputación de los usuarios o las empresas que los utilizan y también en la fiabilidad de los propios modelos. Las alucinaciones ocurren cuando el modelo produce información "no fundamentada", ya sea porque altera los datos que tenía o porque añade información que no estaba presente originalmente. Esto sucede porque los LLM generan texto prediciendo el siguiente token (unidad de texto que puede ser una palabra, parte de palabra o un carácter) en una secuencia, basándose en representaciones vectoriales de estos tokens.

El modelo asigna puntuaciones probabilísticas a los vectores de los tokens, lo que le permite predecir la palabra más probable en la secuencia. Esto da lugar a texto que, aunque tiene sentido gramatical, no siempre es preciso o verdadero. Dado que los LLM son modelos probabilísticos, siempre existe una pequeña posibilidad de que generen información incorrecta, especialmente cuando el modelo carece de datos fiables o específicos sobre un tema en concreto.

Cuanto más grande y de mejor calidad sea el conjunto de datos con el que se ha entrenado el modelo, menor será la probabilidad de que genere contenido incorrecto. Los modelos actuales, que se han entrenado principalmente con datos disponibles en internet, funcionan bien para proporcionar información general, pero tienen más probabilidad de fallar cuando se les solicita información más precisa o especializada.

Aquí es donde entra en juego la técnica RAG (Retrieval-Augmented Generation), diseñada para hacer que los modelos de lenguaje sean más precisos y específicos. Debido a que los LLM no tienen acceso en tiempo real a información actualizada o especializada (su conocimiento se basa en el corpus con el que fueron entrenados, que no se actualiza automáticamente) las empresas están recurriendo a RAG y al ajuste fino (fine-tuning) para mejorar el rendimiento de estos modelos en contextos específicos.

RAG es una técnica que recupera información de fuentes externas, como bases de datos o documentos especializados, para garantizar que los LLM devuelvan respuestas precisas y actualizadas. Un sistema RAG típico incluye un LLM, una base de datos vectorial que almacena información estructurada en forma de vectores, y un conjunto de consultas o comandos. De manera simplificada, cuando un usuario hace una pregunta en lenguaje natural a un asistente como ChatGPT, RAG recupera la información relevante de fuentes externas y la incorpora al contexto del modelo, lo que le permite generar respuestas más pertinentes y precisas.

El proceso de RAG se puede descomponer en dos etapas:

  1. Recuperación y pre-procesamiento: Se emplean algoritmos avanzados de búsqueda para consultar datos externos (como páginas web, bases de conocimiento, bases de datos empresariales, etc.). Una vez obtenida la información relevante, se pre-procesa mediante tokenización (dividir un texto en unidades más pequeñas, conocidas como “tokens”, que pueden ser palabras, frases o incluso caracteres, dependiendo del enfoque específico), así como otras técnicas que eliminan datos irrelevantes y optimizan la entrada al modelo.

  2. Generación: La información pre-procesada se integra con el LLM, lo que enriquece el contexto en el que el modelo opera. Esto mejora la comprensión del tema y permite generar respuestas más informativas, coherentes y precisas.

Es fundamental para que las técnicas RAG sean eficaces por una parte partir de fuentes de datos confiables.  Para ello es necesario utilizar datos de alta calidad y de fuentes confiables que mejoran la precisión de la información recuperada y por otra parte la diversidad de datos. Incorporar datos variados ayuda a cubrir diferentes contextos y temáticas mejorando la capacidad del modelo para generalizar.

Además es muy importante la interacción con los usuarios para refinar las consultas y mejorar los resultados y la retroalimentación continua. En este sentido, hay que implementar mecanismos de retroalimentación que permitan ajustar y mejorar tanto los modelos de recuperación como los de generación con el tiempo.

En resumen, la técnica RAG representa un avance significativo para reducir las alucinaciones en los LLM al proporcionarles acceso a información especializada y actualizada. Esto hace que los modelos sean más útiles y confiables, especialmente en aplicaciones donde la precisión y la fiabilidad son cruciales.

*Este artículo se ha realizado con la ayuda de ChatGPT.

Pepe Cerezo, fundador de Digital Journey y board member de PROGRAMMATIC SPAIN