Diseño de aplicaciones

Una visión general de la generación aumentada por recuperación (RAG)

Lectura de 6 minutos

¿Qué es la generación aumentada por recuperación?

No hay duda de que modelos de lenguaje de gran tamaño (LLMs) han transformado el procesamiento del lenguaje natural, pero a veces pueden ser inconsistentes, aleatorias o incluso completamente erróneas en las respuestas que proporcionan a una pregunta. Si bien esto puede sin duda provocar algunas risas, no es ideal cuando dependemos de los LLMs para obtener información precisa y verificable.

Muchos equipos técnicos están trabajando para mejorar la precisión de los grandes modelos de lenguaje. Un método que ha surgido en respuesta a este esfuerzo es la generación mejorada mediante recuperación (RAG). Concebido por un grupo de personas Desde el equipo Fundamental Artificial Intelligence Research (FAIR) de la University College London (UCL) y la New York University (NYU), la generación aumentada por recuperación (RAG) se refiere a una técnica que ayuda a mejorar la precisión de los modelos de lenguaje grande al permitir que el modelo tenga acceso a datos externos.

¿Cómo funciona RAG? 

Por lo general, los grandes modelos de lenguaje (LLM) toman la entrada del usuario y proporcionan respuestas basadas en la información en la que se han entrenado (que a veces puede estar desactualizada o incorrecta). RAG combina esta información con datos adicionales como la base de conocimientos de una empresa o documentos relevantes, lo que le permite proporcionar respuestas de forma objetiva y relevante en función del contexto.

Búsqueda semántica vs. RAG

La búsqueda semántica ofrece resultados relevantes mediante el procesamiento del lenguaje natural para comprender el propósito de la consulta de un usuario. Sin embargo, los motores de búsqueda semánticos son tan buenos como los datos y los algoritmos en los que se basan. 

Como se mencionó anteriormente, RAG es tan eficaz porque utiliza técnicas de recuperación y generación de inteligencia artificial y incorpora fuentes externas confiables fuera de sus datos de entrenamiento para generar contenido relevante., exacto respuestas. 

Casos de uso de RAG

La generación mejorada mediante recuperación tiene muchos casos de uso. Algunos ejemplos de estos incluyen:

Creación de un sistema de preguntas y respuestas

RAG permite a los usuarios introducir preguntas y recibir respuestas detalladas y relevantes. En comparación con los modelos o sistemas tradicionales de preguntas y respuestas, RAG ofrece una mayor precisión y un conocimiento más profundo.

Sistemas conversacionales

Al crear chatbots, RAG puede ayudar a proporcionar una variedad de respuestas informativas y relevantes a las consultas de los usuarios, especialmente cuando las conversaciones abarquen múltiples temas o requieran acceso a grandes cantidades de información. Consideremos un chatbot de seguros. Estos chatbots deberían poder responder a preguntas que van desde la incorporación hasta el procesamiento de reclamaciones, además de ofrecer muchos otros tipos de soporte al cliente. 

Sistemas educativos

RAG se puede utilizar en diversos sistemas educativos. No solo proporciona respuestas a las preguntas, sino que también proporciona información de fondo sobre cómo llegar a las respuestas y crea material de aprendizaje basado en las preguntas de los estudiantes. RAG puede mejorar la experiencia de aprendizaje tanto para estudiantes de la guardería como para estudiantes de universidades y más allá. 

Generación de contenido y informes

RAG puede ayudar a crear informes basados en información relevante e incluso a generar contenido, como artículos, publicaciones en redes sociales y guiones de vídeo. El uso de RAG para estos materiales puede reducir el tiempo de investigación y planificación de ideas para los creadores de contenido y aumentar su productividad. 

Cómo implementar RAG

La implementación de RAG implica los siguientes pasos: 

  1. Comienza con un modelo de lenguaje pre-entrenado

Lo primero que necesitas hacer es elegir un modelo de lenguaje pre-entrenado. Estos modelos han sido entrenados con diversos datos y pueden generar texto coherente y relevante (aunque no siempre actualizado ni completamente exacto). También existen bibliotecas en línea que permiten a los desarrolladores acceder fácilmente a modelos de lenguaje pre-entrenados y utilizarlos (por ejemplo, Los Transformers de Hugging Face). 

  1. Recuperación de documentos

Luego, deberías implementar un sistema de recuperación para recuperar documentos relevantes basándose en la entrada del usuario. Hay la opción de crear o utilizar una variedad de documentos relevantes para tu industria o tarea. Alternativamente, existen métodos más tradicionales, como usar Okapi BM25 o Frecuencia de términos inversa a la frecuencia de documentos (TF-IDF), o modelos de recuperación neurales, como Recuperación de pasajes densos (DPR).

  1. Enmarcado contextualmente

Las incorporaciones contextuales ayudan a identificar el verdadero sentimiento de una palabra en función del texto circundante, lo que permite ofrecer una representación más precisa que las incorporaciones tradicionales de palabras. Las incorporaciones contextuales se pueden obtener utilizando modelos como Representaciones de codificador bidireccionales a partir de transformadores (En inglés:BERT para abreviar). 

  1. Combinación (Concatenación)

Una vez que hayas utilizado los embeddings contextuales, deberás combinarlos con el contexto. Puedes hacerlo combinando los embeddings del input con los embeddings de los documentos o utilizando mecanismos de atención para ponderar la importancia de los embeddings de cada documento en función del contexto del input.

  1. Ajustes finos

El ajuste fino es opcional pero puede mejorar el rendimiento del modelo. Puede utilizar el ajuste fino para acelerar el entrenamiento, abordar casos de uso específicos y mejorar la experiencia del usuario. 

  1. Hipótesis

Esta última etapa alimentará el contexto al modelo y recuperará los documentos relevantes utilizando el sistema de recuperación de documentos. También combinará las incorporaciones de entrada con las incorporaciones de documento y generará una respuesta utilizando el modelo combinado.

Afortunadamente, existen bibliotecas que proporcionan herramientas pre-entrenadas para implementar sistemas similares a RAG, lo que facilita todo el proceso y lo hace más accesible para los desarrolladores.

Beneficios de la generación aumentada por la recuperación

Uno de los mayores beneficios de la generación aumentada por la recuperación es la mejora de la calidad y la relevancia de las respuestas generadas gracias a que el modelo de lenguaje grande tiene acceso a información más precisa y relevante de la que podría tener de otro modo. 

Otra ventaja es la capacidad de RAG para proporcionar información específica del dominio. Dado que es posible ajustar los modelos de RAG para tareas o casos de uso específicos, pueden beneficiar a los usuarios al proporcionar información única para su situación particular. 

Dado que RAG no solo recupera información relevante sino que también genera una respuesta natural, las interacciones con estos modelos serán generalmente más conversacionales y fáciles de usar.

Principales puntos clave y recursos adicionales

La generación mejorada mediante recuperación ofrece una versión mejorada de los modelos de lenguaje grandes tradicionales al combinar las fortalezas de los LLMs con el acceso externo a información precisa y actualizada.  

Para seguir aprendiendo sobre temas relacionados con la generación mejorada por recuperación, consulta estos recursos:

Compartir este artículo

Autor

Caroline Kerns es Gerente de la Comunidad de Desarrolladores de Couchbase y cuenta con una década de experiencia en gestión de comunidades en la industria tecnológica. Ella ama conectar a las personas y ha trabajado en diversos equipos, donde disfruta fomentando la colaboración y construyendo comunidades sólidas.

Deja un comentario

Deje el desorden de las bases de datos en el pasado

Cada suma de pilas significa otra factura y más cosas que gestionar. Calcula cuánto podrías ahorrar en 2 minutos.