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.
Después de leer este artículo podrás:
Copiar el enlace del artículo
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.
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.
Ventajas del uso de la RAG para ajustar un LLM:
Algunas de las posibles desventajas:
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.
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í.
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.