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

Alan Zeichick | Estratega de contenido técnico | 19 de septiembre de 2023

La inteligencia artificial (IA) generativa destaca por su capacidad para producir respuestas de texto basadas en grandes modelos de lenguaje (LLM, por sus siglas en inglés), en los que la IA se entrena con un gran número de puntos de datos. La buena noticia es que el texto generado suele ser fácil de leer y proporciona respuestas detalladas y globalmente pertinentes a las preguntas planteadas a través del software, generalmente llamadas consultas.

La mala noticia es que la información utilizada para generar la respuesta se limita a aquella usada para entrenar la IA, por lo común un LLM general. Los datos del LLM pueden llevar semanas, meses o años obsoletos, y tal vez no incluyan información específica sobre los productos o servicios de la organización en el caso de un bot conversacional corporativo de IA. Esto puede generar respuestas incorrectas que menoscaban la confianza en la tecnología de clientes y empleados.

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

Ahí es donde entra en escena la generación aumentada de recuperación (RAG). La RAG permite optimizar los resultados de un LLM mediante información específica sin necesidad de modificar el modelo subyacente. Esa información particular puede estar más al día que el propio LLM, así como enfocarse en una organización o una industria en particular. Esto permite al sistema de IA generativa proporcionar respuestas contextualmente adecuadas a las consultas, así como basar dichas respuestas en datos extremadamente recientes.

La RAG llamó la atención de los desarrolladores de IA generativa tras la publicación de Retrieval-Augmented Generation for Knowledge-Intensive NLP Tasks ("Generación aumentada de recuperación para tareas de NLP que realizan un uso intensivo de información"), un artículo de 2020 publicado por Patrick Lewis y un equipo de Facebook AI Research. El concepto de RAG ha sido acogido con entusiasmo por muchos investigadores académicos y de la industria, que la ven como una forma de mejorar significativamente el valor de los sistemas de IA generativa.

En qué consiste la generación aumentada de recuperación

Tomemos el ejemplo de una liga deportiva que desea que los aficionados y medios de comunicación puedan usar el chat para consultar datos y obtener respuesta a sus preguntas sobre los jugadores, los equipos, la historia y las reglas del deporte, así como las estadísticas y clasificaciones actuales. Un LLM general podría responder a preguntas sobre la historia y las reglas o tal vez describir el estadio de un equipo en particular. Sin embargo, no podría comentar el partido de ayer por la noche ni proporcionar información actualizada sobre la lesión de un deportista en particular porque no dispondría de esa información y, dado que se necesita una potencia de computación significativa para volver a entrenar un LLM, no es factible mantener el modelo al día.

Además del LLM, grande y bastante estático, la liga deportiva posee o puede acceder a muchas otras fuentes de información, como bases de datos, almacenes de datos, documentos con biografías de los jugadores y fuentes de noticias que analizan cada partido en profundidad. La RAG permite a la IA generativa usar esta información. Ahora, el chat puede proporcionar información más oportuna, más adecuada al contexto y más precisa.

En pocas palabras, la RAG ayuda a los LLM a proporcionar respuestas más idóneas.

Conclusiones clave

  • La RAG es una técnica de inteligencia artificial relativamente nueva que mejora la calidad de la IA generativa al permitir a grandes modelos de lenguaje (LLM) aprovechar recursos de datos adicionales sin necesidad de volver a entrenarlos.
  • Los modelos RAG crean repositorios de conocimientos basados en los datos de la propia organización. Estos repositorios se pueden actualizar continuamente para ayudar a la IA generativa a brindar respuestas adaptadas al contexto y oportunas.
  • Los chatbots y otros sistemas conversacionales que utilizan el procesamiento del lenguaje natural pueden beneficiarse enormemente de la RAG y la IA generativa.
  • La implementación de RAG requiere tecnologías como bases de datos vectoriales, que permiten la codificación rápida de nuevos datos y la búsqueda en esos datos para alimentar el LLM.

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

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

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

RAG y grandes modelos de lenguaje (LLM)

Ahora, supongamos que un usuario final envía al sistema de IA generativa una consulta específica, por ejemplo: "¿Dónde se jugará el partido de esta noche, quiénes son los jugadores iniciales y qué dicen los periodistas sobre el enfrentamiento?" La pregunta se transforma en un vector y se utiliza para consultar la base de datos vectorial, que recupera la información pertinente en función del contexto de esa pregunta. Esa información contextual más la consulta original se introducen en el LLM, que genera una respuesta de texto basada tanto en su conocimiento generalizado (algo obsoleto) como en la información contextual, extremadamente oportuna.

Curiosamente, aunque el proceso de entrenamiento del LLM general lleva mucho tiempo y es costoso, este no es para nada el caso de las actualizaciones del modelo RAG. Los nuevos datos se pueden cargar en el modelo de lenguaje embebido y transformar en vectores de forma continua y gradual. De hecho, las respuestas de todo el sistema de IA generativa se pueden incorporar al modelo RAG para mejorar su rendimiento y precisión, porque, de este modo, sabe cómo ha respondido a una pregunta similar anteriormente.

Un beneficio adicional de la RAG es que al utilizar la base de datos vectorial, la IA generativa puede indicar cuál es la fuente de datos citada en su respuesta, algo que los LLM no pueden hacer. Por lo tanto, si el resultado de la IA generativa es inexacto, el documento que contiene esa información errónea se puede identificar y corregir rápidamente, y a continuación la información corregida se puede introducir en la base de datos vectorial.

En resumen, la RAG aporta pertinencia, contexto y precisión a la IA generativa, al ir más allá de lo que el LLM puede hacer.

Generación aumentada de recuperación frente a 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 entender el significado de una consulta mediante una comprensión profunda de las palabras y frases específicas de la pregunta.

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

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

Uso de la RAG en aplicaciones de chat

Cuando una persona desea una respuesta instantánea a una pregunta, resulta difícil superar la inmediatez y la facilidad de uso de un chatbot. La mayoría de los bots están entrenados para un número finito de intenciones, es decir, tareas o resultados deseados por el cliente, y responden a esas intenciones. Las funcionalidades de la RAG pueden mejorar los bots actuales al permitir que el sistema de IA proporcione respuestas en lenguaje natural a preguntas que no formen parte de la lista de intenciones.

El paradigma de "hacer una pregunta, obtener una respuesta" hace que los chatbots sean un caso de uso perfecto para la IA generativa, por muchas razones. A menudo, las preguntas requieren un contexto específico para generar una respuesta precisa, y dado que las expectativas de los usuarios de chatbots en cuanto a la pertinencia y la precisión a menudo son elevadas, queda clara la utilidad de las técnicas de RAG. De hecho, para muchas organizaciones, los chatbots pueden ser el punto de partida para el uso de la RAG y la IA generativa.

Para ofrecer una respuesta precisa a una pregunta, por lo general se requiere un contexto específico. Las respuestas a las consultas de los clientes sobre un producto recién lanzado, por ejemplo, no son útiles si los datos se refieren al modelo anterior. De hecho, hasta podrían 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 concreto en esa fecha específica.

Beneficios de la generación aumentada de recuperación

Las técnicas de RAG se pueden utilizar para mejorar la calidad de las respuestas de un sistema de IA generativa a las consultas, más allá de lo que un LLM por sí solo puede ofrecer. Los beneficios son los siguientes:

  • La RAG tiene acceso a información que puede ser más reciente que los datos utilizados para entrenar el LLM.
  • Los datos del repositorio de conocimientos de la RAG se pueden actualizar continuamente sin incurrir en costes significativos.
  • El repositorio de conocimientos de la RAG puede contener datos más contextuales que los datos de un LLM general.
  • La fuente de la información de la base de datos vectorial de la RAG puede ser identificada. Y como se conoce el origen de los datos, se puede corregir o suprimir la información incorrecta de la RAG.

Retos de la generación aumentada de recuperación

Como la RAG es una tecnología relativamente nueva, lanzada en 2020, los desarrolladores de IA aún están aprendiendo a implementar mejor sus mecanismos de recuperación de información en la IA generativa. Estos son algunos de los desafíos clave:

  • Mejorar el conocimiento y la comprensión de la RAG en las organizaciones, dada su novedad.
  • Incremento de costes: pese a que la IA generativa con RAG es más cara de implementar que un LLM por sí solo, esta opción resulta menos onerosa que volver a entrenar el LLM frecuentemente.
  • Determinar la mejor forma de modelar los datos estructurados y no estructurados de la biblioteca de conocimientos y la base de datos vectorial.
  • Desarrollar los requisitos para que un proceso envíe datos de forma gradual al sistema RAG.
  • Establecer procesos para gestionar los informes de imprecisiones y corregir o eliminar esas fuentes de información en el sistema RAG.

Ejemplos de generación aumentada de recuperación

Hay muchos ejemplos de los usos posibles de IA generativa aumentada con RAG.

Cohere, líder en el campo de la IA generativa y la RAG, ha escrito sobre un chatbot que puede proporcionar información contextual sobre un alquiler vacacional en las Islas Canarias, con respuestas factuales sobre la accesibilidad a las playas, 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 de la RAG, como el análisis de informes financieros, la asistencia en la detección de gas y petróleo, la revisión de las transcripciones de las interacciones con los clientes de centros de llamadas y la búsqueda de estudios pertinentes en bases de datos médicas.

El futuro de la generación aumentada de recuperación

Hoy en día, en las primeras fases de la RAG, esta tecnología se está utilizando para proporcionar respuestas oportunas, precisas y contextuales a consultas. Estos casos de uso son adecuados para chatbots, correo electrónico, mensajes de texto y otras aplicaciones conversacionales.

En el futuro, las posibles orientaciones para la tecnología RAG serán ayudar a la IA generativa a tomar las medidas adecuadas en función de la información contextual y de las peticiones de los usuarios. Por ejemplo, un sistema de IA aumentada por RAG podría identificar el alquiler vacacional de playa mejor calificado en las Islas Canarias y luego iniciar la reserva de un bungalow de dos dormitorios a poca distancia de la playa durante un torneo de voleibol.

La RAG también podría ser capaz de ayudar con tipos de solicitudes más sofisticadas. Hoy en día, la IA generativa puede informar a un empleado sobre la política de reembolso de matrículas en cursos de formación de su empresa. La RAG permite agregar más datos contextuales para indicarle al empleado qué centros cercanos ofrecen cursos que se ajusten a esa política y tal vez recomendarle programas adecuados en función de la formación y los puestos previos del empleado. Tal vez incluso podría ayudarle a inscribirse en esos programas e iniciar una solicitud de reembolso.

IA generativa de Oracle

Oracle ofrece una variedad de servicios avanzados de IA 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 los datos únicos de tu organización y en nuestro conocimiento de tu sector. Los datos del cliente no se comparten con los proveedores de LLM ni los ven otros clientes, y los modelos personalizados entrenados con datos de un cliente solo pueden ser utilizados por este.

Asimismo, Oracle está incorporando la IA generativa a su amplia gama de aplicaciones en la nube, y las funcionalidades de IA generativa están disponibles para los desarrolladores que utilizan OCI, así como en toda su cartera de bases de datos. Además, los servicios de IA de Oracle ofrecen un rendimiento y unos precios predecibles mediante clústeres de IA de inquilino único dedicados a tu uso.

La potencia y las posibilidades de los LLM y la IA generativa son ampliamente conocidos y aceptados. De hecho, han sido objeto de un sinfín de titulares de noticias durante el último año. La generación aumentada de recuperación amplía los beneficios de los LLM al hacerlos más pertinentes, más precisos y más contextuales. En el caso de las aplicaciones empresariales de la IA generativa, la RAG es una tecnología importante para monitorizar, analizar y pilotar.

¿Por qué Oracle es la mejor opción en cuanto a IA generativa?

Oracle ofrece una plataforma de datos moderna e infraestructura de IA de bajo coste y alto rendimiento. Factores adicionales, como modelos potentes y de alto rendimiento, seguridad de datos sin igual y servicios de IA integrados, demuestran por qué la oferta de IA de Oracle está realmente diseñada para las empresas.

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

¿Es la RAG lo mismo que la IA generativa?

No. La generación aumentada de recuperación es una técnica que puede proporcionar respuestas más precisas a las consultas que un gran modelo generativo de lenguaje por sí solo porque la RAG utiliza información externa a los datos de los que ya dispone el LLM.

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

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

¿Cómo utiliza la RAG la IA generativa?

Datos de fuentes empresariales se incorporan a un repositorio de conocimientos y, a continuación, 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 la información contextual pertinente. Esta información contextual, junto con la consulta, se envía al LLM, que aprovecha el contexto para crear una respuesta más pertinente, precisa y adaptada.

¿Puede una RAG proporcionar referencias de los datos que recupera?

Sí. Las bases de datos vectoriales y los repositorios de conocimientos utilizados por la RAG contienen información específica sobre las fuentes de datos. Esto significa que las fuentes pueden ser citadas, por lo que, si una de ellas presenta un error, este se puede corregir o eliminar rápidamente para que las consultas posteriores no devuelvan esa información incorrecta.