Articulo de referencia

Generación aumentada por recuperación

La generación aumentada por recuperación ( RAG ) es una técnica que permite a los grandes modelos de lenguaje (LLM) recuperar e incorporar nueva información de fuentes de datos ...

La generación aumentada por recuperación ( RAG ) es una técnica que permite a los grandes modelos de lenguaje (LLM) recuperar e incorporar nueva información de fuentes de datos externas. [ 1 ] Con RAG, los LLM primero consultan un conjunto específico de documentos y luego responden a las consultas del usuario. Estos documentos complementan la información de los datos de entrenamiento preexistentes del LLM . [ 2 ] Esto permite a los LLM utilizar información específica del dominio y/o actualizada que no está disponible en los datos de entrenamiento. [ 2 ] Por ejemplo, esto permite a los chatbots basados ​​en LLM acceder a datos internos de la empresa o generar respuestas basadas en fuentes autorizadas. La técnica se propuso por primera vez en 2020 y desde entonces se ha convertido en un enfoque ampliamente adoptado en los sistemas de IA modernos.

RAG mejora los LLM al incorporar la recuperación de información antes de generar respuestas. [ 3 ] A diferencia de los LLM que dependen de datos de entrenamiento estáticos, RAG extrae texto relevante de bases de datos, documentos cargados o fuentes web. [ 1 ] Según Ars Technica , "RAG es una forma de mejorar el rendimiento de los LLM, esencialmente al combinar el proceso de LLM con una búsqueda web u otro proceso de búsqueda de documentos para ayudar a los LLM a ceñirse a los hechos". Este método ayuda a reducir las alucinaciones de la IA , [ 3 ] que han provocado que los chatbots describan políticas que no existen o recomienden casos legales inexistentes a abogados que buscan citas para respaldar sus argumentos. [ 4 ]

RAG también reduce la necesidad de volver a entrenar los LLM con nuevos datos, lo que ahorra costos computacionales y financieros. [ 1 ] Además de las mejoras en la eficiencia, RAG también permite que los LLM incluyan fuentes en sus respuestas, de modo que los usuarios puedan verificar las fuentes citadas. Esto proporciona mayor transparencia, ya que los usuarios pueden contrastar el contenido recuperado para garantizar su precisión y relevancia.

El término generación aumentada por recuperación (RAG) se introdujo en un artículo de 2020 que describía la combinación de un modelo de lenguaje paramétrico con una memoria externa no paramétrica a la que se accedía mediante recuperación en el momento de la inferencia. [ 3 ]

Limitaciones de RAG y LLM

Los LLM pueden proporcionar información incorrecta. Por ejemplo, cuando Google presentó por primera vez su herramienta LLM " Google Bard " (posteriormente renombrada como Gemini), el LLM proporcionó información incorrecta sobre el Telescopio Espacial James Webb . Este error contribuyó a una caída de 100 mil millones de dólares en el valor de las acciones de Google . [ 4 ] RAG se utiliza para prevenir estos errores, pero no resuelve todos los problemas. Por ejemplo, los LLM pueden generar desinformación incluso cuando extraen información de fuentes objetivamente correctas si malinterpretan el contexto. MIT Technology Review da el ejemplo de una respuesta generada por IA que afirma: "Estados Unidos ha tenido un presidente musulmán, Barack Hussein Obama". El modelo extrajo esta información del título retórico del capítulo "¿Barack Hussein Obama: el primer presidente musulmán de Estados Unidos?" en el libro Faith in the New Millennium: The Future of Religion and American Politics . [ 5 ] El LLM no "conocía" ni "entendía" el contexto del título, generando una afirmación falsa. [ 2 ]

Los modelos de lenguaje natural (LLM) con RAG están programados para priorizar la información nueva. Esta técnica se conoce como "relleno de indicaciones". Sin relleno de indicaciones, la entrada del LLM la genera el usuario; con relleno de indicaciones, se añade contexto relevante a esta entrada para guiar la respuesta del modelo. Este enfoque proporciona al LLM información clave al inicio de la indicación, lo que le anima a priorizar los datos proporcionados sobre el conocimiento de entrenamiento preexistente. [ 6 ]

Proceso

La generación aumentada por recuperación (RAG) mejora los modelos de lenguaje grandes (LLM) al incorporar un mecanismo de recuperación de información que permite a los modelos acceder y utilizar datos adicionales más allá de su conjunto de entrenamiento original. Ars Technica señala que "cuando se dispone de nueva información, en lugar de tener que volver a entrenar el modelo, todo lo que se necesita es aumentar la base de conocimiento externa del modelo con la información actualizada" ("aumento"). [ 4 ] IBM afirma que "en la fase generativa, el LLM se basa en la solicitud aumentada y en su representación interna de sus datos de entrenamiento para sintetizar" una respuesta. [ 1 ]

Etapas clave RAG

Descripción general del proceso RAG, que combina documentos externos y la entrada del usuario en una solicitud LLM para obtener un resultado personalizado.

Normalmente, los datos a los que se hace referencia se convierten en incrustaciones LLM , representaciones numéricas en forma de un gran espacio vectorial. RAG se puede utilizar con datos no estructurados (generalmente texto), semiestructurados o estructurados (por ejemplo, grafos de conocimiento ). Estas incrustaciones se almacenan en una base de datos vectorial para permitir la recuperación de documentos .

Dada una consulta de usuario, primero se llama a un recuperador de documentos para seleccionar los documentos más relevantes que se utilizarán para ampliar la consulta. [ 2 ] [ 3 ] Esta comparación se puede realizar utilizando diversos métodos, que dependen en parte del tipo de indexación utilizado. [ 1 ]

El modelo alimenta esta información recuperada relevante al LLM a través de la ingeniería inmediata de la consulta original del usuario. Implementaciones más recientes ( a partir de 2023) también puede incorporar módulos de aumento específicos con capacidades tales como expandir las consultas a múltiples dominios y utilizar la memoria y la auto-mejora para aprender de recuperaciones anteriores.

Finalmente, el LLM puede generar resultados basados ​​tanto en la consulta como en los documentos recuperados. [ 2 ] [ 3 ] Algunos modelos incorporan pasos adicionales para mejorar los resultados, como la reclasificación de la información recuperada, la selección de contexto y el ajuste fino .

Aplicaciones

La generación aumentada mediante recuperación de información se utiliza en aplicaciones donde las respuestas generadas deben basarse en información externa o que se actualiza con frecuencia.

En el ámbito sanitario, se ha estudiado RAG como una forma de fundamentar los resultados de grandes modelos de lenguaje en fuentes externas de conocimiento médico, aunque las revisiones han señalado desafíos continuos en torno a la evaluación, la ética y la fiabilidad clínica. [ 7 ]

mejoras

Las mejoras al proceso básico descrito anteriormente pueden aplicarse en diferentes etapas del flujo RAG.

Codificador

Estos métodos se centran en la codificación de texto como vectores densos o dispersos. Los vectores dispersos , que codifican la identidad de una palabra, suelen tener la longitud de un diccionario y contienen principalmente ceros. Los vectores densos , que codifican el significado, son más compactos y contienen menos ceros. Diversas mejoras pueden optimizar la forma en que se calculan las similitudes en los almacenes de vectores (bases de datos). [ 8 ]

  • El rendimiento mejora al optimizar cómo se calculan las similitudes vectoriales. Los productos escalares mejoran la puntuación de similitud, mientras que las búsquedas de vecinos más cercanos aproximados (ANN) mejoran la eficiencia de recuperación en comparación con las búsquedas de k vecinos más cercanos (KNN). [ 9 ]
  • La precisión puede mejorarse con interacciones tardías, que permiten al sistema comparar palabras con mayor exactitud después de la recuperación. Esto ayuda a refinar la clasificación de documentos y a mejorar la relevancia de la búsqueda. [ 10 ]
  • Se pueden utilizar enfoques vectoriales híbridos para combinar representaciones vectoriales densas con vectores one-hot dispersos , aprovechando la eficiencia computacional de los productos escalares dispersos sobre las operaciones vectoriales densas. [ 8 ]
  • Otras técnicas de recuperación se centran en mejorar la precisión refinando la selección de documentos. Algunos métodos de recuperación combinan representaciones dispersas, como SPLADE, con estrategias de expansión de consultas para mejorar la precisión y la exhaustividad de la búsqueda. [ 11 ]

Métodos centrados en el recuperador

Estos métodos tienen como objetivo mejorar la calidad de la recuperación de documentos en bases de datos vectoriales:

  • Preentrenar el recuperador usando la Tarea de Cloze Inversa (ICT), una técnica que ayuda al modelo a aprender patrones de recuperación prediciendo texto enmascarado dentro de los documentos. [ 12 ]
  • La optimización supervisada del recuperador alinea las probabilidades de recuperación con la distribución de verosimilitud del modelo generador. Esto implica recuperar los k vectores principales para una consigna dada, puntuar la perplejidad de la respuesta generada y minimizar la divergencia KL entre las selecciones del recuperador y las verosimilitudes del modelo para refinar la recuperación. [ 13 ]
  • Las técnicas de reclasificación pueden mejorar el rendimiento del recuperador al priorizar los documentos recuperados más relevantes durante el entrenamiento. [ 14 ]

Modelo de lenguaje

Modelo de lenguaje retro para RAG. Cada bloque retro consta de capas de atención, atención cruzada segmentada y retroalimentación. Los recuadros con letras negras muestran los datos que se están modificando, y las letras azules muestran el algoritmo que realiza los cambios.

Al rediseñar el modelo de lenguaje teniendo en cuenta el recuperador, una red 25 veces más pequeña puede obtener una perplejidad comparable a la de sus contrapartes mucho más grandes. [ 15 ] Debido a que se entrena desde cero, este método (Retro) conlleva el alto costo de las ejecuciones de entrenamiento que el esquema RAG original evitaba. La hipótesis es que, al proporcionar conocimiento del dominio durante el entrenamiento, Retro necesita menos atención al dominio y puede dedicar sus recursos de peso más pequeños solo a la semántica del lenguaje. El modelo de lenguaje rediseñado se muestra aquí.

Se ha informado que Retro no es reproducible, por lo que se realizaron modificaciones para lograrlo. La versión más reproducible se llama Retro++ e incluye RAG en contexto. [ 16 ]

Agrupación

La segmentación implica diversas estrategias para dividir los datos en vectores, de modo que el programa de recuperación pueda encontrar detalles en ellos.

Los diferentes estilos de datos presentan patrones que pueden aprovecharse mediante una correcta segmentación.

Existen tres tipos de estrategias de segmentación:

  • Longitud fija con solapamiento. Es rápido y sencillo. El solapamiento de fragmentos consecutivos ayuda a mantener el contexto semántico entre ellos.
  • Los fragmentos basados ​​en la sintaxis pueden dividir el documento en oraciones. Bibliotecas como spaCy o NLTK también pueden ser de ayuda.
  • Fragmentación basada en el formato de archivo. Algunos tipos de archivo incorporan fragmentos de código, y es recomendable respetarlos. Por ejemplo, los archivos de código se fragmentan y vectorizan como funciones o clases completas. Los archivos HTML deben dejar intactos los elementos <table> o <img> codificados en base64 . Se deben tener en cuenta consideraciones similares para los archivos PDF. Bibliotecas como Unstructured o LangChain pueden ser útiles para este método.

En ocasiones, las búsquedas en bases de datos vectoriales ( también conocidas como técnicas de búsqueda semántica ) pueden pasar por alto información clave necesaria para responder a la pregunta del usuario. Una forma de mitigar esto es realizar una búsqueda de texto tradicional ( también conocida como búsqueda de texto completo ), combinar esos resultados con los fragmentos de texto vinculados a los vectores recuperados de la búsqueda vectorial e introducir el texto híbrido resultante (utilizando puntuación efectiva o puntuación de reclasificación) en el modelo de lenguaje para su generación. [ 17 ]

Desafíos

RAG no previene las alucinaciones en LLM. Según Ars Technica , "No es una solución directa porque el LLM aún puede alucinar en torno al material fuente en su respuesta". [ 4 ]

Si bien RAG mejora la precisión de los modelos de lenguaje grandes (LLM), no elimina todos los desafíos. Una limitación es que, aunque RAG reduce la necesidad de reentrenar el modelo con frecuencia, no la elimina por completo. Además, los LLM pueden tener dificultades para reconocer cuándo carecen de información suficiente para proporcionar una respuesta fiable. Sin un entrenamiento específico, los modelos pueden generar respuestas incluso cuando deberían indicar incertidumbre. Según IBM , este problema puede surgir cuando el modelo carece de la capacidad de evaluar sus propias limitaciones de conocimiento. [ 1 ]

Envenenamiento por RAG

Los sistemas RAG pueden recuperar fuentes objetivamente correctas pero engañosas, lo que lleva a errores de interpretación. En algunos casos, un modelo LLM puede extraer afirmaciones de una fuente sin considerar su contexto, lo que resulta en una conclusión incorrecta. Además, ante información contradictoria, los modelos RAG pueden tener dificultades para determinar qué fuente es precisa. El peor escenario de esta limitación es que el modelo puede combinar detalles de múltiples fuentes, produciendo respuestas que fusionan información obsoleta y actualizada de manera engañosa. Según la MIT Technology Review , estos problemas ocurren porque los sistemas RAG pueden malinterpretar los datos que recuperan. [ 2 ]

Referencias

  1. 1 2 3 4 5 6 "¿Qué es la generación aumentada por recuperación?" . IBM . 22 de agosto de 2023 . Consultado el 7 de marzo de 2025 .
  2. 1 2 3 4 5 6 "Por qué las reseñas de IA de Google se equivocan" . MIT Technology Review . 31 de mayo de 2024. Recuperado el 7 de marzo de 2025 .
  3. 1 2 3 4 5 Lewis, Patrick; Perez, Ethan; Piktus, Aleksandra; Petroni, Fabio; Karpukhin, Vladimir; Goyal, Naman; Küttler, Heinrich; Lewis, Mike; Yih, Wen-tau; Rocktäschel, Tim; Riedel, Sebastian; Kiela, Douwe (2020). "Generación aumentada por recuperación para tareas de PLN intensivas en conocimiento" . Advances in Neural Information Processing Systems . 33. Curran Associates, Inc.: 9459–9474 . arXiv : 2005.11401 .
  4. 1 2 3 4 "¿Puede una tecnología llamada RAG evitar que los modelos de IA inventen cosas?" . Ars Technica . 6 de junio de 2024 . Consultado el 7 de marzo de 2025 .
  5. Goetz, Rebecca Anne (2015). «Barack Hussein Obama: ¿El primer presidente musulmán de Estados Unidos?». En Sutton, Matthew Avery; Dochuk, Darren (eds.). Fe en el nuevo milenio: El futuro de la religión y la política estadounidense . Oxford University Press. doi : 10.1093/acprof:oso/9780199372690.003.0006 . ISBN 9780199372737.
  6. "Mitigación de las alucinaciones de LLM en la síntesis de textos" . BBC . 20 de junio de 2024. Consultado el 7 de marzo de 2025 .
  7. Amugongo, Lameck Mbangula; Mascheroni, Pietro; Brooks, Steven; Doering, Stefan; Seidel, Jan (2025-06-11). "Recuperación aumentada de generación para grandes modelos de lenguaje en atención médica: una revisión sistemática" . PLOS Digital Health . 4 (6) e0000877. doi : 10.1371/journal.pdig.0000877 . PMC 12157099 . 
  8. 1 2 Luan, Yi; Eisenstein, Jacob; Toutanova, Kristina; Collins, Michael (26 de abril de 2021). "Representaciones dispersas, densas y atencionales para la recuperación de texto" . Transactions of the Association for Computational Linguistics . 9 : 329–345 . arXiv : 2005.00181 . doi : 10.1162/tacl_a_00369 . Recuperado el 15 de marzo de 2025 .
  9. "Recuperación de información" . Microsoft . 10 de enero de 2025. Consultado el 15 de marzo de 2025 .
  10. Khattab, Omar; Zaharia, Matei (2020). "ColBERT: Búsqueda de pasajes eficiente y efectiva mediante interacción tardía contextualizada sobre BERT" . Actas de la 43.ª Conferencia Internacional ACM SIGIR sobre Investigación y Desarrollo en Recuperación de Información . págs. 39–48 . doi : 10.1145/3397271.3401075 . ISBN  978-1-4503-8016-4.
  11. Wang, Yup; Conroy, John M.; Molino, Neil; Yang, Julia; Green, Mike (2024). "Laboratorio de Ciencias Analíticas en la pista de Generación Aumentada de Recuperación de TREC 2024" . NIST TREC 2024. Recuperado el 15 de marzo de 2025 .
  12. ^ Lee, Kenton; Chang, Ming-Wei; Toutanova, Kristina (2019). ""Recuperación latente para la respuesta a preguntas en dominios abiertos con supervisión débil"" (PDF) .
  13. Shi, Weijia; Min, Sewon; Yasunaga, Michihiro; Seo, Minjoon; James, Rich; Lewis, Mike; Zettlemoyer, Luke; Yih, Wen-tau (junio de 2024). "REPLUG: Modelos de lenguaje de caja negra aumentados con recuperación" . Actas de la Conferencia de 2024 del Capítulo Norteamericano de la Asociación de Lingüística Computacional: Tecnologías del lenguaje humano (Volumen 1: Artículos largos) . págs. 8371–8384 . arXiv : 2301.12652 . doi : 10.18653/v1/2024.naacl-long.463 . Recuperado el 16 de marzo de 2025 . 
  14. ^ Ram, Ori; Levine, Yoav; Dalmedigos, Italia; Muhlgay, Dor; Shasúa, Amnón; Leyton-Brown, Kevin; Shoham, Yoav (2023). "Modelos de lenguaje aumentados de recuperación en contexto" . Transacciones de la Asociación de Lingüística Computacional . 11 : 1316–1331 . arXiv : 2302.00083 . doi : 10.1162/tacl_a_00605 . Consultado el 16 de marzo de 2025 .
  15. Borgeaud, Sebastian; Mensch, Arthur (2021). "Mejora de los modelos de lenguaje mediante la recuperación de información de billones de tokens" (PDF) .
  16. Wang, Boxin; Ping, Wei; Xu, Peng; McAfee, Lawrence; Liu, Zihan; Shoeybi, Mohammad; Dong, Yi; Kuchaiev, Oleksii; Li, Bo; Xiao, Chaowei; Anandkumar, Anima; Catanzaro, Bryan (2023). "¿Deberíamos preentrenar modelos de lenguaje autorregresivos con recuperación? Un estudio exhaustivo" . Actas de la Conferencia de 2023 sobre Métodos Empíricos en Procesamiento del Lenguaje Natural . págs. 7763–7786 . doi : 10.18653/v1/2023.emnlp-main.482 . 
  17. Bruch, Sebastian; Gai, Siyu; Ingber, Amir (2023). "Análisis de funciones de fusión para recuperación híbrida". ACM Transactions on Information Systems . 42 (1): 1– 35. arXiv : 2210.11934 . doi : 10.1145/3596512 .