Logotipo de Zephyrnet

Recuperación de generación aumentada: donde la recuperación de información se une a la generación de texto – KDnuggets

Fecha:

Recuperación de generación aumentada: donde la recuperación de información se encuentra con la generación de texto
Imagen creada por el autor usando Midjourney
 

Introducción a RAG

En el mundo de los modelos de lenguaje en constante evolución, una metodología firme de particular interés es la Generación Aumentada de Recuperación (RAG), un procedimiento que incorpora elementos de Recuperación de Información (IR) en el marco de un modelo de lenguaje de generación de texto para generar textos similares a los humanos. texto con el objetivo de ser más útil y preciso que el que se generaría únicamente con el modelo de lenguaje predeterminado. Introduciremos los conceptos elementales de RAG en esta publicación, con miras a construir algunos sistemas RAG en publicaciones posteriores.

Descripción general de RAG

Creamos modelos de lenguaje utilizando vastos conjuntos de datos genéricos que no se adaptan a sus datos personales o personalizados. Para hacer frente a esta realidad, RAG puede combinar sus datos particulares con el "conocimiento" existente de un modelo de lenguaje. Para facilitar esto, lo que se debe hacer, y lo que hace RAG, es indexar sus datos para que se puedan buscar. Cuando se ejecuta una búsqueda compuesta por sus datos, la información relevante e importante se extrae de los datos indexados y se puede usar dentro de una consulta contra un modelo de lenguaje para devolver una respuesta relevante y útil realizada por el modelo. Cualquier ingeniero de inteligencia artificial, científico de datos o desarrollador interesado en crear chatbots, sistemas modernos de recuperación de información u otros tipos de asistentes personales, es de vital importancia comprender RAG y saber cómo aprovechar sus propios datos.

En pocas palabras, RAG es una técnica novedosa que enriquece los modelos de lenguaje con funcionalidad de recuperación de entradas, lo que mejora los modelos de lenguaje al incorporar mecanismos de IR en el proceso de generación, mecanismos que pueden personalizar (aumentar) el "conocimiento" inherente del modelo utilizado con fines generativos.

En resumen, RAG implica los siguientes pasos de alto nivel:

  1. Recupere información de sus fuentes de datos personalizadas
  2. Agregue estos datos a su mensaje como contexto adicional
  3. Haga que el LLM genere una respuesta basada en el mensaje aumentado

 
RAG ofrece estas ventajas sobre la alternativa del ajuste fino del modelo:

  1. No se realiza ninguna capacitación con RAG, por lo que no hay costos ni tiempo de ajuste
  2. Los datos personalizados son tan actualizados como usted los crea, por lo que el modelo puede permanecer actualizado de manera efectiva.
  3. Los documentos de datos personalizados específicos se pueden citar durante (o después) del proceso, por lo que el sistema es mucho más verificable y confiable.

Una Mirada más Cercana

Tras un examen más detallado, podemos decir que un sistema RAG pasará por 5 fases de funcionamiento.

1. carga: Recopilar los datos de texto sin procesar (de archivos de texto, PDF, páginas web, bases de datos y más) es el primero de muchos pasos, colocar los datos de texto en el proceso de procesamiento, lo que lo convierte en un paso necesario en el proceso. Sin cargar datos, RAG simplemente no puede funcionar.

2. índice: Los datos que tiene ahora deben estructurarse y mantenerse para su recuperación, búsqueda y consulta. Los modelos de lenguaje utilizarán incrustaciones de vectores creadas a partir del contenido para proporcionar representaciones numéricas de los datos, además de emplear metadatos particulares para permitir resultados de búsqueda exitosos.

3 Tienda: Después de su creación, el índice debe guardarse junto con los metadatos, lo que garantiza que no sea necesario repetir este paso con regularidad, lo que permite un escalado más sencillo del sistema RAG.

4. Consulta: Con este índice implementado, el contenido se puede recorrer utilizando el indexador y el modelo de lenguaje para procesar el conjunto de datos de acuerdo con varias consultas.

5. Evaluar: Es útil evaluar el rendimiento frente a otros posibles pasos generativos, ya sea cuando se modifican procesos existentes o cuando se prueba la latencia inherente y la precisión de sistemas de esta naturaleza.

 

Proceso de recuperación de generación aumentada
Imagen creada por el autor
 

Un breve ejemplo

Considere la siguiente implementación RAG simple. Imaginemos que se trata de un sistema creado para responder a las consultas de los clientes sobre una tienda online ficticia.

1. Cargando: El contenido surgirá de la documentación del producto, reseñas de usuarios y comentarios de los clientes, almacenados en múltiples formatos, como tableros de mensajes, bases de datos y API.

2. Indexación: Producirá incrustaciones de vectores para documentación de productos y reseñas de usuarios, etc., junto con la indexación de metadatos asignados a cada punto de datos, como la categoría de producto o la calificación del cliente.

3. Almacenamiento: El índice así desarrollado se guardará en un almacén de vectores, una base de datos especializada para el almacenamiento y recuperación óptima de vectores, que es como se almacenan las incrustaciones.

4. Consulta: Cuando llega la consulta de un cliente, se realizará una búsqueda en las bases de datos del almacén de vectores en función del texto de la pregunta y luego se emplearán modelos de lenguaje para generar respuestas utilizando los orígenes de estos datos precursores como contexto.

5. Evaluación: El rendimiento del sistema se evaluará comparándolo con otras opciones, como la recuperación del modelo de lenguaje tradicional, midiendo métricas como la corrección de las respuestas, la latencia de las respuestas y la satisfacción general del usuario, para garantizar que el sistema RAG se pueda modificar y perfeccionar para ofrecer una calidad superior. resultados.

Este tutorial de ejemplo debería darle una idea de la metodología detrás de RAG y su uso para transmitir la capacidad de recuperación de información en un modelo de lenguaje.

Conclusión

El tema de este artículo fue la introducción de la generación aumentada de recuperación, que combina la generación de texto con la recuperación de información para mejorar la precisión y la coherencia contextual de la salida del modelo de lenguaje. El método permite la extracción y el aumento de datos almacenados en fuentes indexadas para incorporarlos a la salida generada de los modelos de lenguaje. Este sistema RAG puede proporcionar un valor mejorado en comparación con el simple ajuste del modelo de lenguaje.

Los próximos pasos de nuestro viaje RAG consistirán en aprender las herramientas del oficio para poder implementar algunos de nuestros propios sistemas RAG. Primero nos centraremos en utilizar herramientas de LlamaIndex, como conectores de datos, motores y conectores de aplicaciones para facilitar la integración de RAG y su escalado. Pero esto lo guardamos para el próximo artículo.

En próximos proyectos construiremos sistemas RAG complejos y analizaremos usos y mejoras potenciales de la tecnología RAG. La esperanza es revelar muchas posibilidades nuevas en el ámbito de la inteligencia artificial y utilizar estas diversas fuentes de datos para construir sistemas más inteligentes y contextualizados.
 
 

Mateo Mayo (@mattmayo13) tiene una maestría en informática y un diploma de posgrado en minería de datos. Como editor jefe, Matthew tiene como objetivo hacer accesibles conceptos complejos de ciencia de datos. Sus intereses profesionales incluyen el procesamiento del lenguaje natural, los algoritmos de aprendizaje automático y la exploración de la IA emergente. Lo impulsa la misión de democratizar el conocimiento en la comunidad de ciencia de datos. Matthew ha estado codificando desde que tenía 6 años.

punto_img

Información más reciente

punto_img