Los LLM han demostrado capacidades increíbles, pero tienen problemas con el aprendizaje continuo y las alucinaciones, por lo que ha evolucionado un nuevo paradigma denominado generación aumentada de recuperación (RAG). La RAG encuentra la información y se la proporciona a la LLM. Esto ha hecho posible, con un coste mínimo, proporcionar información detallada y reciente al LLM.
Recientemente, la necesidad de la RAG se ha visto cuestionada por la llegada de los LLM de contexto largo (LC-LLM). Los defensores de estos modelos sugieren que si todo el contexto cabe en el prompt no necesitamos un sistema que encuentre la información. Otros, sin embargo, afirman que, aunque en teoría los LC-LLM pueden ser mejores que un RAG ingenuo, no son mejores que otros sistemas más avanzados.
Si uno y otro son mejores sigue siendo objeto de controversia y faltan comparaciones serias. Recientemente, este artículo ha intentado investigar el tema:
En este trabajo, comparamos sistemáticamente RAG y LC en varios conjuntos de datos públicos, obteniendo una comprensión exhaustiva de sus pros y sus contras y, en última instancia, combinándolos para obtener lo mejor de ambos mundos. – fuente
Los autores decidieron investigarlo en dos conjuntos de datos dedicados a textos largos:
- LongBench, que contiene textos con una media de 7K.
- ∞Bench, que contiene textos de unas 100.000 palabras.
A continuación, evaluaron Gemini1.5-Pro, GPT-4O y GPT-3.5-Turbo, todos ellos con diferentes longitudes de contexto (1M, 128K y 16k respectivamente). A continuación, construyeron un trapo utilizando dos recuperadores (Contriever y Dragon). A continuación, intentaron forzar al modelo a responder utilizando sólo el contexto para evitar que LLM ya hubiera visto la respuesta a la consulta («basándose sólo en el pasaje proporcionado»).
Los resultados muestran que el contexto largo obtiene mejores resultados para cada modelo (es decir, proporcionando todo el contexto en la consulta) que el RAG.
fuente de la imagen: aquí
Una conclusión interesante parece ser que ambos sistemas hacen predicciones similares e incluso cometen los mismos errores (al menos en la mayoría de los casos).
fuente de la imagen: aquí
Los autores proponen un método alternativo, según el cual se proporciona al LLM el contexto encontrado por el GAR y la consulta. El LLM tiene que decidir, basándose en este contexto (autorreflexión), si puede responder a la consulta o no («Escribe unanswerable si la consulta no puede responderse basándose en el texto proporcionado»). Si el modelo decide que la consulta puede responderse con el contexto, el sistema utiliza RAG. Si no, se proporciona todo el contexto al LLM y se utiliza en la configuración de contexto largo. Los autores denominan a este enfoque Auto-ruta. Este enfoque (como se ve en la tabla anterior) supera a RAG y lo acerca a LC.
Los tres LLM dirigen sistemáticamente más de la mitad de las consultas hacia RAG, como se muestra en las filas *-4. En el caso de Gemini-1.5-Pro, el porcentaje de respuestas alcanza incluso el 81,74% (filas 1-4). Esto indica que RAG puede responder a la mayoría de las consultas sin necesidad de LC, lo que confirma nuestra motivación inicial. – fuente
Entrar en más detalles aumentando el número de chunks parece mejorar el rendimiento (o al menos hasta cierto punto, luego se estanca). A medida que entran más trozos en el contexto, el rendimiento mejora gradualmente casi tanto como el del contexto largo. Obviamente, esto aumenta el coste del sistema, ya que más tokens procesados significa un mayor coste (de hecho, los LC-LLM son bastante caros en este sentido).
fuente de la imagen: aquí
Para los autores, hay cuatro razones por las que RAG no consigue resolver algunas consultas:
- La consulta requiere un razonamiento en varios pasos, por lo que los resultados de los pasos anteriores son necesarios para resolver los pasos posteriores.
- La consulta es general y, por tanto, es difícil encontrar trozos.
- La consulta es larga y compleja, por lo que es difícil que el recuperador la entienda y encuentre los trozos relevantes.
- La consulta es implícita y requiere comprender todo el contexto.
fuente de la imagen: aquí
Este artículo presenta una comparación exhaustiva de RAG y LC, destacando las compensaciones entre rendimiento y coste computacional. Aunque LC demuestra un rendimiento superior en la comprensión de contextos largos, RAG sigue siendo una opción viable debido a su menor coste y a sus ventajas cuando la entrada supera considerablemente el tamaño de la ventana de contexto del modelo. – fuente
Este artículo afirma que el contexto largo es superior a la RAG. Para los autores, el contexto largo supera a la RAG a un coste mayor.
fuente de la imagen: aquí
Ciertamente, en condiciones ingenuas de RAG, el contexto largo es superior. Los autores muestran cómo el enrutamiento aumenta las capacidades del modelo. De hecho, este estudio muestra interesantes casos límite de RAG. En tareas como el resumen o las consultas complejas, la RAG en su versión básica no es suficiente. Hoy en día existen varios componentes que permiten superar estas limitaciones, una comparación justa debería tener esto en cuenta. Además, en condiciones reales, la cantidad de datos es enorme y no se puede contextualizar todo. Sin embargo, este trabajo demuestra que ambos pueden coexistir.
¿Qué opinaS? ¿Cuál es para TI el futuro del RAG?
Si te ha parecido interesante:
Puedes buscar mis otros artículos, y también puedes conectar o ponerte en contacto conmigo en LinkedIn. Consulta este repositorio con noticias actualizadas semanalmente sobre ML e IA. Estoy abierto a colaboraciones y proyectos y puedes contactar conmigo en LinkedIn. También puedes suscribirte gratuitamente para recibir notificaciones cuando publique un nuevo artículo.
Referencias
Esta es la lista de las principales referencias que he consultado para escribir este artículo, sólo se cita el nombre de un artículo.
- Li, 2024, ¿Generación aumentada de recuperación o LLM de contexto largo? A Comprehensive Study and Hybrid Approach, enlace
- An, 2024, L-Eval: Instituting Standardized Evaluation for Long Context Language Models, enlace
- Chen, 2023, Frugalgpt: Cómo utilizar modelos lingüísticos de gran tamaño reduciendo el coste y mejorando el rendimiento, enlace