¿Qué es la generación aumentada por recuperación (RAG) en la IA?

La generación aumentada por recuperación (RAG) es un método para agregar una nueva fuente de datos a un modelo lingüístico grande (LLM) sin volver a entrenarlo.

Metas de aprendizaje

Después de leer este artículo podrás:

  • Comprender la generación aumentada por recuperación (RAG) en la IA
  • Explicar cómo RAG mejora los LLM
  • Comprender los bots de chat RAG y AutoRAG

Copiar el enlace del artículo

¿Qué es la generación aumentada por recuperación (RAG) en la IA?

La generación aumentada por recuperación (RAG) es el proceso de optimización de un modelo lingüístico grande (LLM) para usar en un contexto específico sin volver a entrenarlo, al darle acceso a una base de conocimientos relevante para ese contexto. La RAG es una forma rentable de adaptar rápidamente un LLM a un caso de uso especializado. Es uno de los métodos que los desarrolladores pueden utilizar para ajustar un modelo de inteligencia artificial (IA).

Los LLM están entrenados con enormes cantidades de datos, pero es posible que no puedan generar la información específica que se necesita en algunos entornos. Tienen una comprensión general de cómo funciona el lenguaje humano, pero no siempre tienen experiencia específica en un área temática determinada. La RAG es una forma de corregir esto.

Imagina que un mecánico de autos se pone a trabajar en un Chevy de 1964. El mecánico puede tener mucha experiencia general en el mantenimiento de automóviles después de miles de horas de práctica, pero aún necesita el manual del propietario para reparar el automóvil de manera efectiva. El mecánico no necesita volver a obtener una certificación como mecánico, simplemente puede leer el manual y luego aplicar el conocimiento general de autos que ya tiene.

La RAG es similar. Le da a un LLM un "manual", o una base de conocimiento, para que el LLM pueda adaptar su conocimiento general al caso de uso específico. Por ejemplo, un LLM general puede generar contenido sobre cómo funcionan las consultas API, pero no necesariamente puede decirle a un usuario cómo consultar la API de una aplicación específica. Pero con la RAG, ese LLM podría adaptarse al uso de esa aplicación al vincularlo a la documentación técnica de la aplicación.

¿Cómo funciona la RAG?

Normalmente, cuando un LLM recibe una consulta, la procesa de acuerdo con sus parámetros y entrenamiento preexistentes.

La RAG permite que el LLM consulte "datos externos", una base de datos no incluida en el conjunto de datos de entrenamiento del LLM. A diferencia de la forma normal en que funciona un LLM, un LLM con la RAG utiliza datos externos para mejorar sus respuestas, de ahí el nombre de generación (crea una respuesta) aumentada (mejora las respuestas con estos datos) por recuperación (obtiene datos externos primero).

Supongamos que el mecánico de automóviles del ejemplo anterior quisiera utilizar un LLM en lugar de consultar directamente los manuales del propietario. Con la RAG, el LLM podría incorporar la consulta de los manuales del propietario directamente en sus procesos. A pesar de que es probable que el LLM no haya recibido capacitación sobre los manuales de automóviles clásicos, o, si dicha información se incluyó en sus datos de capacitación, probablemente solo fuera un pequeño porcentaje — el LLM puede usar la RAG para generar consultas relevantes y precisas.

Para que el LLM pueda utilizar y consultar la fuente de datos externa (como los manuales de los autos), los datos se convierten primero en vectores y luego se almacenan en una base de datos vectorial. Este proceso utiliza modelos de aprendizaje automático para generar representaciones matemáticas de los elementos de un conjunto de datos. (Cada "vector" es una matriz de números, como [-0.41522345,0.97685323...]).

Cuando un usuario envía una instrucción, el LLM convierte esa instrucción en un vector y luego busca en la base de datos vectorial creada a partir de la fuente de datos externa para encontrar información relevante. Agrega esa información como contexto adicional para las instrucciones y luego ejecuta las instrucciones aumentadas a través de su modelo típico para generar una respuesta.

¿Cuáles son las ventajas y desventajas de la RAG en la IA?

Ventajas del uso de la RAG para ajustar un LLM:

  • Mayor precisión en el caso de uso: es más probable que un LLM brinde una respuesta correcta si tiene acceso a una base de conocimientos relacionada con las instrucciones, al igual que es más probable que un mecánico repare un automóvil correctamente si tiene el manual.
  • Forma económica de adaptar un modelo: como no es necesario volver a entrenar, es menos costoso desde el punto de vista informático y requiere menos tiempo empezar a utilizar un LLM en un nuevo contexto.
  • Flexibilidad: como los parámetros del modelo no se ajustan, el mismo modelo se puede mover rápidamente entre varios casos de uso.

Algunas de las posibles desventajas:

  • Tiempos de respuesta más lentos: si bien RAG no requiere un nuevo entrenamiento, la inferencia — el proceso de razonamiento y respuesta a las instrucciones — puede llevar más tiempo, ya que el LLM ahora tiene que consultar varios conjuntos de datos para generar una respuesta.
  • Inconsistencias entre los conjuntos de datos: es posible que la base de conocimiento externa no se integre a la perfección con el conjunto de datos de entrenamiento del modelo, al igual que dos enciclopedias pueden describir eventos históricos de manera ligeramente diferente. Esto puede generar respuestas incoherentes con respecto a las consultas.
  • Mantenimiento manual: cada vez que se actualiza la base de conocimiento externa, por ejemplo, cuando salen nuevos modelos de automóviles, los desarrolladores tienen que iniciar manualmente el proceso de conversión de los nuevos datos en vectores y actualizar la base de datos vectorial. (Cloudflare desarrolló AutoRAG para ayudar a los desarrolladores a evitar este proceso manual — más información a continuación).

¿Qué es un bot de chat RAG?

Un bot de chat RAG es un bot de chat basado en LLM que se ha especializado para casos de uso específicos a través de RAG, es decir, conectado a una o más fuentes de datos externos que son relevantes para el contexto en el que opera el bot de chat. Un bot de chat RAG para usar en un taller de automóviles tendría acceso a la documentación del automóvil; esto sería más útil para los mecánicos del taller que hacer preguntas a un bot de chat LLM de uso general.

RAG vs. adaptación de bajo rango (LoRA)

La adaptación de bajo rango (LoRA) es otra forma de ajustar un modelo, es decir, adaptarlo a un contexto específico sin volver a entrenarlo por completo. LoRA, sin embargo, implica ajustar los parámetros del modelo, mientras que RAG no altera en absoluto los parámetros del modelo. Más información sobre LoRA aquí.

¿Qué es AutoRAG?

AutoRAG configura y gestiona las canalizaciones de RAG para los desarrolladores. Conecta las herramientas necesarias para la indexación, la recuperación y la generación, y mantiene todo actualizado con la sincronización periódica de los datos con el índice. Una vez configurado, AutoRAG indexa el contenido en segundo plano y responde a las consultas en tiempo real. Más información sobre cómo funciona AutoRAG.