Estado actual de la tecnología de generación aumentada por recuperación (RAG) para modelos de lenguaje de gran escala
(discuss.pytorch.kr)PyTorchKR
-
Junto con la popularidad de los LLM, también está creciendo el interés por RAG. En la comunidad de usuarios de PyTorch en Corea, resumieron el artículo de encuesta sobre la tecnología RAG presentado en los principales artículos de ML de la semana del 18/12 al 24/12.
-
Como el contenido es algo extenso, lo publicaron dividido en 2 artículos: en la parte 1 se resumen los paradigmas de la tecnología RAG, y en la parte 2 se organizan los componentes principales, la evaluación y los retos de investigación a futuro.
A continuación se presenta solo una selección de los puntos principales, centrada en el índice
Introducción a la tecnología de generación aumentada por recuperación (RAG)
Los modelos de lenguaje de gran escala (LLM) muestran capacidades sobresalientes, pero para su uso real deben superar problemas como las alucinaciones, la lenta actualización del conocimiento y la falta de transparencia en las respuestas. RAG (Retrieval-Augmented Generation) es una técnica propuesta para resolver estos problemas.
RAG es un método en el que, antes de generar una respuesta o texto en un modelo de lenguaje de gran escala (LLM), se busca información relevante dentro de un amplio conjunto de documentos y se utiliza para generar la respuesta. Su enfoque está en resolver problemas existentes de los LLM, como el desfase del conocimiento, la falta de conocimiento en dominios específicos y la falta de transparencia en las respuestas.
Este tipo de RAG mejora significativamente la precisión de las respuestas y, en particular, ayuda a reducir las alucinaciones del modelo en tareas intensivas en conocimiento. Los usuarios pueden verificar la exactitud de la respuesta citando las fuentes, lo que aumenta la confianza en la salida del modelo. Además, facilita la actualización del conocimiento y la incorporación de conocimiento de dominios específicos.
Además de RAG, también se puede usar el fine-tuning para hacer que un modelo de lenguaje de gran escala se enfoque en conocimiento específico. Sin embargo, este fine-tuning tarda en reflejar información que se actualiza en tiempo real y consume recursos adicionales para volver a entrenar el modelo. En contraste, RAG es similar a proporcionar al LLM un "libro de consulta" con el que puede buscar información para una consulta específica.
Los 3 principales paradigmas de RAG - Panorama general
Los paradigmas de investigación de la tecnología RAG evolucionan constantemente con el tiempo. Los principales paradigmas son 3: RAG básico, RAG avanzado y RAG modular. El RAG básico de las primeras etapas era rentable y ofrecía mejor rendimiento que usar solo un LLM, pero tenía muchas limitaciones. La aparición de RAG avanzado y RAG modular buscó resolver defectos específicos del RAG básico.
Los 3 principales paradigmas de RAG - RAG básico (Naive RAG)
El RAG básico se refiere a la metodología inicial de investigación en RAG, e incluye procesos tradicionales de indexación, recuperación y generación. El RAG básico se centra principalmente en un enfoque simple de recuperación y generación, y es importante para explicar el concepto y los principios fundamentales de RAG.
Sin embargo, pueden surgir repeticiones innecesarias, información inexacta e integración de contextos incorrectos debido a problemas como baja precisión en la recuperación, baja calidad en la generación de respuestas y dificultades en el proceso de aumento. Por ello, puede no ser adecuado usar RAG básico en escenarios complejos o desafiantes.
Los 3 principales paradigmas de RAG - RAG avanzado (Advanced RAG)
El RAG avanzado es un paradigma desarrollado para mejorar las carencias del RAG básico. Incluye principalmente métodos previos y posteriores a la recuperación para mejorar la calidad tanto de la recuperación como de la generación. En términos generales, el RAG avanzado puede dividirse en tres etapas: proceso previo a la recuperación (Pre-Retrieval Process), proceso posterior a la recuperación (Post-Retrieval Process) y optimización del pipeline de RAG (RAG Pipeline Optimization):
Los 3 principales paradigmas de RAG - RAG modular (Modular RAG)
El RAG modular es una forma evolucionada del RAG avanzado; va un paso más allá del framework RAG existente e integra diversos módulos y funciones para ofrecer mayor diversidad y flexibilidad. Este enfoque incluye varios módulos y patrones nuevos que permiten ajustar el sistema RAG a distintos escenarios y requisitos.
Componentes principales de la tecnología RAG: recuperador (Retriever)
El recuperador (Retriever) cumple una función clave de búsqueda de información dentro del sistema, al grado de representar la letra R al inicio del acrónimo RAG. El recuperador se encarga de encontrar información relevante dentro de grandes conjuntos de datos y preparar los datos para la generación de texto. Estos recuperadores se usan para cerrar la brecha entre el conocimiento general del LLM y la necesidad de contar con información actual y contextualmente precisa. Esto es especialmente importante en escenarios que requieren datos en tiempo real, conocimiento especializado de un dominio o verificación de hechos.
Componentes principales de la tecnología RAG: generador (Generator)
Si la función del recuperador (Retriever), vista antes, era extraer documentos candidatos a partir de la entrada del usuario, la función del generador (Generator) es crear la respuesta que se ofrecerá al usuario utilizando los resultados recuperados. Para aprovechar de forma eficaz la información recuperada y generar respuestas precisas y altamente relevantes, realiza procesos de posprocesamiento para comprimir la información y volver a ordenar su relevancia, así como procesos de optimización que se adaptan a los datos de entrada.
Componentes principales de la tecnología RAG: métodos de aumento (Augmentation Methods)
En este capítulo se revisan los métodos de aumento en RAG desde los siguientes 3 aspectos.
- etapa del aumento (the stage of augmentation)
- aumento de las fuentes de datos (augmentation data sources)
- proceso de aumento (the process of augmentation)
Evaluación de RAG (RAG Evaluation)
La evaluación de RAG (RAG Evaluation) consiste en medir qué tan eficazmente funciona RAG. A grandes rasgos, la evaluación se divide en 2 tipos: una evaluación independiente (independent evaluation) de cada uno de los módulos, como el recuperador o el generador, y una evaluación end-to-end (end-to-end evaluation; evaluación de extremo a extremo) que valora todo el proceso desde la entrada hasta la salida. Revisaremos los métodos de evaluación, las métricas (metric) y los frameworks (framework) que pueden utilizarse.
Perspectivas futuras de RAG (Future Prospects)
Se abordan la optimización vertical y la expansión horizontal de RAG, así como contenidos relacionados con el ecosistema de RAG.
⚠️Publicidad: ¿Te resultó útil este artículo resumido por la comunidad de usuarios de PyTorch en Corea? Si te registras como miembro, te enviaremos por correo electrónico los artículos principales. (Por defecto es Weekly, pero también puedes cambiarlo a Daily.)
2 comentarios
Muchas gracias por compartir este buen material.
¡Ah, gracias por leer!
Si mientras leen encuentran algo extraño o incorrecto, les agradecería que me lo hicieran saber. ^^;