¿Qué es la generación con recuperación aumentada (RAG)?

Alan Zeichick | Estratega de contenido tecnológico | 19 de septiembre de 2023

La inteligencia artificial (IA) generativa se destaca en la creación de respuestas de texto basadas en grandes modelos de lenguaje (LLM), donde la IA se entrena con una gran cantidad de puntos de datos. La buena noticia es que el texto generado a menudo es fácil de leer y proporciona respuestas detalladas que son ampliamente aplicables a las preguntas realizadas al software, a menudo llamadas "prompts".

La mala noticia es que la información utilizada para generar la respuesta está limitada a la información utilizada para entrenar a la IA, a menudo un LLM general. Los datos del LLM pueden estar desactualizados semanas, meses o años y, en un chatbot de IA corporativa, es posible que no incluyan información específica sobre los productos o servicios de la organización. Eso puede llevar a respuestas incorrectas que afectan negativamente la confianza en la tecnología entre los clientes y empleados.

¿Qué es la generación con recuperación aumentada (RAG)?

Aquí es donde entra la generación con recuperación aumentada (RAG). La generación con recuperación aumentada proporciona una forma de optimizar la producción de un LLM con información específica sin modificar el modelo subyacente en sí; esa información específica puede ser más actualizada que el LLM y también específica para una organización y un sector en particular. Esto significa que el sistema de IA generativa puede proporcionar respuestas más adecuadas contextualmente a las solicitudes y basar esas respuestas en datos muy actuales.

La generación con recuperación aumentada llamó por primera vez la atención de los desarrolladores de IA generativa después de la publicación del artículo de 2020 "Retrieval-Augmented Generation for Knowledge-Intensive NLP Tasks", escrito por Patrick Lewis y un equipo de Facebook AI Research. El concepto de RAG ha sido adoptado por muchos investigadores académicos y de la industria, quienes lo ven como una forma de elevar significativamente el valor de los sistemas de IA generativa.

Explicación de la generación con recuperación aumentada

Imagina una liga deportiva que desea que los fanáticos y los medios de comunicación puedan usar el chat para acceder a los datos y responder preguntas sobre jugadores, equipos, la historia y reglas del deporte, con estadísticas y clasificaciones actuales. Un LLM general podría responder preguntas sobre la historia y las reglas o tal vez describir el estadio de un equipo en particular. No podría discutir el partido de la noche anterior ni proporcionar información actual sobre la lesión de un atleta en particular, porque el LLM no poseería esa información, y dado que reentrenar un LLM requiere una gran potencia informática, no sería factible mantener el modelo actualizado.

Además del gran LLM, la liga deportiva posee o puede acceder a muchas otras fuentes de información, como bases de datos, almacenes de datos, documentos que contienen biografías de jugadores y noticias detalladas sobre cada juego. La generación con recuperación aumentada permite que la IA generativa ingiera esta información. Ahora, el chat puede proporcionar información más oportuna, adecuada contextualmente y precisa.

En pocas palabras, la generación con recuperación aumentada ayuda a los LLM a dar mejores respuestas.

Conclusiones clave

  • La RAG es una técnica de inteligencia artificial relativamente nueva que puede mejorar la calidad de la IA generativa al permitir que los grandes modelos de lenguaje (LLM) accedan a recursos de datos adicionales sin necesidad de un nuevo entrenamiento.
  • Los modelos de RAG crean repositorios de conocimientos basados en los propios datos de la organización, y los repositorios se pueden actualizar continuamente para ayudar a la IA generativa a proporcionar respuestas contextuales y oportunas.
  • Los chatbots y otros sistemas conversacionales que utilizan procesamiento de lenguaje natural pueden beneficiarse en gran medida de la RAG y de la IA generativa.
  • La implementación de la RAG requiere tecnologías como bases de datos vectoriales, que permiten la codificación rápida de nueva información, y búsquedas en esos datos para alimentar el LLM.

¿Cómo funciona la generación con recuperación aumentada?

Ten en cuenta toda la información que una organización tiene: bases de datos estructuradas, PDF no estructurados y otros documentos, blogs, fuentes de noticias, transcripciones de chat de sesiones anteriores de servicio al cliente. En la RAG, esta gran cantidad de datos dinámicos se traduce a un formato común y se almacena en una biblioteca de conocimiento a la que el sistema de IA generativa puede acceder.

Los datos en esa biblioteca de conocimiento se procesan en representaciones numéricas con un tipo especial de algoritmo, llamado modelo de lenguaje incrustado, y se almacenan en una base de datos vectorial, que se puede buscar y utilizar rápidamente para recuperar la información contextual correcta.

La RAG y grandes modelos de lenguaje (LLM)

Ahora, supongamos que un usuario final envía al sistema de IA generativa un comando específico, por ejemplo, "¿Dónde se jugará el partido de esta noche? ¿Quiénes son los jugadores titulares y qué dicen los reporteros sobre el enfrentamiento?" La consulta se transforma en un vector y se utiliza para explorar la base de datos vectorial, que recupera información relevante para el contexto de esa pregunta. Esa información contextual junto con el comando original se ingresan al LLM, que genera una respuesta de texto basada tanto en su conocimiento generalizado y algo desactualizado como en la oportuna información contextual.

Curiosamente, mientras que el proceso de entrenamiento del LLM general es largo y costoso, las actualizaciones del modelo de la RAG son lo opuesto. Los nuevos datos se pueden cargar en el modelo de lenguaje incrustado y traducirse a vectores de forma continua e incremental. De hecho, las respuestas de todo el sistema de IA generativa se pueden retroalimentar en el modelo de la RAG, mejorando su rendimiento y precisión, porque, en efecto, sabe cómo ha respondido anteriormente a una pregunta similar.

Un beneficio adicional de la RAG es que, al utilizar la base de datos vectorial, la IA generativa puede proporcionar la fuente específica de los datos citados en su respuesta, algo que los LLM no pueden hacer. Por lo tanto, si hay alguna inexactitud en la salida de la IA generativa, el documento que contiene esa información errónea puede identificarse y corregirse rápidamente, y luego la información corregida puede introducirse en la base de datos vectorial.

En resumen, la RAG proporciona actualidad, contexto y precisión respaldados por evidencia a la IA generativa, superando lo que el propio LLM puede proporcionar.

Generación con recuperación aumentada vs. búsqueda semántica

La RAG no es la única técnica utilizada para mejorar la precisión de la IA generativa basada en LLM. Otra técnica es la búsqueda semántica, que ayuda al sistema de IA a delimitar el significado de una consulta al buscar una comprensión profunda de las palabras y frases específicas en la consulta.

La búsqueda tradicional se centra en las palabras clave. Por ejemplo, una consulta básica sobre las especies de árboles nativos de Francia podría buscar la base de datos del sistema de IA utilizando "árboles" y "Francia" como palabras clave y encontrar datos que contengan ambas, pero el sistema podría no comprender verdaderamente el significado de los árboles en Francia y, por lo tanto, podría recuperar demasiada información, muy poca o incluso información incorrecta. Esa búsqueda basada en palabras clave también podría omitir información porque la búsqueda de palabras clave es demasiado literal: los árboles nativos de Normandía podrían omitirse, aunque estén en Francia, porque falta esa palabra clave.

La búsqueda semántica va más allá de la búsqueda de palabras clave al determinar el significado de las preguntas y los documentos fuente y utilizar ese significado para recuperar resultados más precisos. La búsqueda semántica es parte integral de la RAG.

Uso de la RAG en aplicaciones de chat

Cuando una persona quiere una respuesta instantánea a una pregunta, es difícil superar la inmediatez y la usabilidad de un chatbot. La mayoría de los bots están entrenados en un número finito de intenciones, es decir, las tareas u objetivos deseados por el cliente, y responden a esas intenciones. Las capacidades de RAG pueden mejorar los bots actuales, al permitir que el sistema de IA proporcione respuestas en lenguaje natural a preguntas que no están en la lista de intenciones.

El paradigma "hacer una pregunta y obtener una respuesta" hace que los chatbots sean un caso de uso perfecto para la IA generativa, por muchas razones. Las preguntas a menudo requieren un contexto específico para generar una respuesta precisa, y dado que las expectativas de los usuarios de chatbots sobre relevancia y precisión suelen ser altas, es evidente cómo se aplican las técnicas de la RAG. De hecho, para muchas organizaciones, los chatbots pueden ser el punto de partida para el uso de la RAG y la IA generativa.

Las preguntas a menudo requieren un contexto específico para entregar una respuesta precisa. Las consultas de los clientes sobre un producto recién lanzado, por ejemplo, no son útiles si los datos se refieren al modelo anterior y, de hecho, pueden ser engañosas. Y un excursionista que quiere saber si un parque está abierto este domingo espera información oportuna y precisa sobre ese parque específico en esa fecha específica.

Beneficios de la generación con recuperación aumentada

Las técnicas de generación con recuperación aumentada (RAG) se pueden utilizar para mejorar la calidad de las respuestas del sistema de IA generativa a las preguntas, más allá de lo que un LLM por sí solo puede ofrecer. Los beneficios incluyen lo siguiente:

  • La RAG tiene acceso a información que puede ser más reciente que los datos utilizados para entrenar el LLM.
  • Los datos en el repositorio de conocimientos de la RAG se pueden actualizar continuamente sin incurrir en costos significativos.
  • El repositorio de conocimientos del RAG puede contener datos más contextuales que los datos en un LLM general.
  • Se puede identificar la fuente de la información en la base de datos de vectores de la RAG. Y debido a que se conocen las fuentes de datos, la información incorrecta en la RAG se puede corregir o eliminar.

Desafíos de la generación con recuperación aumentada

Debido a que la RAG es una tecnología relativamente nueva, propuesta por primera vez en 2020, los desarrolladores de IA todavía están aprendiendo la mejor manera de implementar sus mecanismos de recuperación de información en la IA generativa. Algunos desafíos clave son:

  • Mejorar el conocimiento y la comprensión organizativos de la RAG porque es nueva.
  • Aumento de los costos; si bien la IA generativa con RAG será más cara de implementar que un LLM por sí solo, este enfoque es menos costoso que entrenar con frecuencia al LLM.
  • Determinar la mejor manera de modelar los datos estructurados y no estructurados dentro de la biblioteca de conocimientos y la base de datos de vectores.
  • Desarrollar requisitos para un proceso para alimentar datos de manera incremental en el sistema de RAG.
  • Establecer procesos para manejar informes de errores y corregir o eliminar esas fuentes de información en el sistema de RAG.

Ejemplos de generación con recuperación aumentada

Existen numerosos ejemplos posibles de inteligencia artificial generativa mejorada mediante RAG.

Cohere, líder en el campo de la inteligencia artificial generativa y RAG, ha escrito sobre un chatbot que puede proporcionar información contextual sobre un alquiler vacacional en las Islas Canarias, incluyendo respuestas basadas en hechos sobre la accesibilidad de la playa, la presencia de socorristas en las playas cercanas y la disponibilidad de canchas de voleibol a poca distancia.

Oracle ha descrito otros casos de uso para la RAG, como el análisis de informes financieros, la asistencia en la búsqueda de gas y petróleo, la revisión de transcripciones de interacciones con clientes en centros de llamadas y la búsqueda en bases de datos médicas de documentos de investigación relevantes.

Futuro de la generación con recuperación aumentada

En la actualidad, en las primeras fases de la RAG, la tecnología se utiliza para proporcionar respuestas oportunas, precisas y contextuales a las consultas. Estos casos de uso son apropiados para chatbots, correo electrónico, mensajes de texto y otras aplicaciones conversacionales.

En el futuro, posibles direcciones para la tecnología de RAG podrían ser ayudar a la inteligencia artificial generativa a tomar una acción apropiada basada en información contextual y solicitudes del usuario. Por ejemplo, un sistema de IA con RAG podría identificar el alquiler vacacional en la playa mejor valorado en las Islas Canarias y luego iniciar la reserva de una cabaña de dos habitaciones a poca distancia de la playa durante un torneo de voleibol.

La RAG también podría ayudar con líneas de cuestionamiento más sofisticadas. Hoy en día, la IA generativa podría informar a un empleado sobre la política de reembolso de matrícula educativa de la empresa. La RAG podría agregar datos contextuales para informar al empleado sobre las instituciones educativas cercanas que ofrecen programas acordes a esa política. También podría posiblemente recomendar programas que se adapten al trabajo del empleado y su formación previa, incluso ayudar a solicitar esos programas e iniciar una solicitud de reembolso.

IA generativa con Oracle

Oracle ofrece una variedad de servicios avanzados de inteligencia artificial basados en la nube, incluido el servicio OCI Generative AI que se ejecuta en Oracle Cloud Infrastructure (OCI). Las ofertas de Oracle incluyen modelos sólidos basados en datos y conocimiento único del sector de tu organización. Los datos de los clientes no se comparten con proveedores de LLM ni se muestran a otros clientes, y los modelos personalizados entrenados con datos de un cliente solo pueden ser utilizados por este mismo.

Además, Oracle está integrando la inteligencia artificial generativa en su amplia gama de aplicaciones en la nube, y las capacidades de IA generativa están disponibles para los desarrolladores que utilizan OCI y en su cartera de bases de datos. Además, los servicios de IA de Oracle ofrecen un rendimiento y precios predecibles mediante clusters de inteligencia artificial de un solo inquilino dedicados a tu uso.

El poder y las capacidades de los LLM y la inteligencia artificial generativa son ampliamente conocidos y comprendidos; han sido objeto de titulares de sorprendentes noticias durante el último año. La generación con recuperación aumentada aprovecha los beneficios de los LLM al hacerlos más oportunos, precisos y contextuales. Para las aplicaciones empresariales de inteligencia artificial generativa, la RAG es una tecnología importante para observar, estudiar y probar.

¿Qué hace que Oracle sea la mejor opción para la inteligencia artificial generativa?

Oracle ofrece una plataforma de datos moderna y una infraestructura de inteligencia artificial de alto rendimiento y bajo costo. Factores adicionales, como modelos potentes y de alto rendimiento, seguridad de datos incomparable y servicios de inteligencia artificial integrados, demuestran por qué la oferta de IA de Oracle está verdaderamente diseñada para las empresas.

Preguntas frecuentes sobre la generación con recuperación aumentada

¿RAG es lo mismo que la IA generativa?

No. La generación con recuperación aumentada es una técnica que puede proporcionar resultados más precisos a las consultas que un gran modelo de lenguaje generativo por sí solo, porque la RAG utiliza conocimientos externos a los datos ya contenidos en el LLM.

¿Qué tipo de información se utiliza en la RAG?

La RAG puede incorporar información de muchas fuentes, como bases de datos relacionales, repositorios de documentos no estructurados, flujos de datos de Internet, noticias en medios, transcripciones de audio y registros de transacciones.

¿Cómo la IA generativa usa la RAG?

Los datos de fuentes de datos empresariales se incorporan en un repositorio de conocimiento y luego se convierten en vectores, que se almacenan en una base de datos vectorial. Cuando un usuario final realiza una consulta, la base de datos vectorial recupera información contextual relevante. Esta información contextual, junto con la consulta, se envía al gran modelo de lenguaje, que utiliza el contexto para crear una respuesta más oportuna, precisa y contextualizada.

¿Puede una RAG citar referencias para los datos que recupera?

Sí. Las bases de datos de vectores y los repositorios de conocimientos utilizados por RAG contienen información específica sobre las fuentes de información. Esto significa que se pueden citar las fuentes y, si hay un error en una de esas fuentes, se puede corregir o eliminar rápidamente para que las consultas posteriores no den como resultado esa información incorrecta.