codificador ia

A medida que han ido aumentando sus capacidades, los modelos lingüísticos de gran tamaño (LLM) han encontrado numerosas aplicaciones en diversos ámbitos, como la respuesta a preguntas, la generación de textos y las tareas de análisis. Sin embargo, a pesar de su impresionante rendimiento, los LLM a menudo adolecen del problema de la alucinación, por el que generan textos que parecen coherentes y plausibles pero que contienen inexactitudes factuales o contradicen el conocimiento del mundo real. Esta limitación se debe a que el conocimiento de los LLM se deriva principalmente de los datos de texto con los que fueron entrenados, que pueden estar incompletos, desfasados o sesgados.

Para mitigar este problema de alucinación, ha surgido como solución prometedora la generación aumentada por recuperación (RAG). Los métodos RAG pretenden mejorar la precisión y la base de conocimiento de los LLM incorporando información relevante de bases de conocimiento o corpus externos a la entrada del modelo lingüístico durante el proceso de generación. Esta información externa sirve como fuente de conocimiento complementaria, lo que permite al LLM generar respuestas más precisas, actualizadas y basadas en el conocimiento del mundo real.

Sin embargo, aunque los métodos RAG han demostrado su eficacia para mejorar la precisión de los LLM, también introducen una sobrecarga computacional y una latencia adicionales. El propio proceso de recuperación, que implica consultar y recuperar información relevante de bases de conocimientos potencialmente grandes, puede consumir muchos recursos. Además, la integración de la información recuperada en la entrada del LLM aumenta la longitud total del token, lo que conlleva mayores costes computacionales durante la fase de generación.

Un aspecto crítico que afecta significativamente a la eficiencia y eficacia de los sistemas RAG es decidir cuándo activar el proceso de recuperación. Activar indiscriminadamente la recuperación para cada consulta, independientemente de su complejidad o de las capacidades de conocimiento interno del LLM, puede generar una sobrecarga y una latencia computacionales innecesarias, especialmente en el caso de consultas sencillas que el LLM podría responder sin información externa.

En el mundo real, los usuarios plantean una amplia gama de consultas con distintos niveles de complejidad, desde preguntas sencillas basadas en hechos hasta complejas tareas de razonamiento en varios pasos que requieren sintetizar información de múltiples fuentes. Por lo tanto, es crucial optimizar el tiempo de recuperación para equilibrar precisión y eficiencia, minimizando la sobrecarga computacional para las consultas sencillas y asignando más recursos para las tareas complejas y de conocimiento intensivo.

En este artículo analizaremos dos investigaciones recientes que proponen técnicas innovadoras para abordar el reto de optimizar el tiempo de recuperación en los sistemas RAG: Adaptive-RAG y DRAGIN. Estos enfoques pretenden mejorar la eficiencia y eficacia generales de la RAG adaptando dinámicamente la estrategia de recuperación en función de la complejidad de la consulta o de las necesidades de información en tiempo real del LLM, respectivamente.

generación
Una escena fantástica en la que un artista pinta un paisaje que incluye a otro artista más pequeño haciendo lo mismo, creando un patrón recursivo. Es una metáfora de las capas de la creatividad y la exploración infinita dentro de la mente artística.

Tabla de contenidos

El coste de la recuperación indiscriminada

Los sistemas de generación aumentada por recuperación (RAG) suelen constar de dos componentes principales: un recuperador y un modelo lingüístico. El recuperador se encarga de obtener la información pertinente de una base de conocimientos o un corpus externo, mientras que el modelo lingüístico genera el resultado final integrando y razonando sobre la información recuperada.

El proceso de recuperación en sí puede ser costoso desde el punto de vista informático, sobre todo cuando se trata de bases de conocimiento o corpus a gran escala. Varios factores contribuyen a la sobrecarga asociada a la recuperación:

  1. Tamaño del índex: Las grandes bases de conocimiento, como Wikipedia o los corpus de dominios específicos, pueden contener millones o miles de millones de documentos, lo que da lugar a índices masivos en los que es necesario realizar búsquedas eficientes.
  2. Procesamiento de consultas: Transformar la consulta de entrada en un formato adecuado para la recuperación, como codificarla en un vector denso o construir una consulta booleana, puede implicar pasos computacionales no triviales.
  3. Algoritmo de recuperación: Dependiendo del algoritmo de recuperación utilizado (por ejemplo, BM25, búsqueda de similitud de vectores densos o recorrido de grafos para grafos de conocimiento), la complejidad computacional puede variar significativamente, especialmente para consultas complejas que requieren múltiples rondas de recuperación o sofisticadas estrategias de clasificación y filtrado.
  4. Fusión y clasificación de resultados: En algunos casos, pueden ser necesarias múltiples rondas de recuperación o fuentes, lo que requiere pasos adicionales para fusionar y clasificar los resultados recuperados en función de la relevancia u otros criterios.

Una vez recuperada la información pertinente, hay que integrarla en la entrada del modelo lingüístico para su generación. Este proceso de integración también puede introducir costes computacionales adicionales:

  1. Aumento de la longitud de los tokens: La incorporación de la información recuperada a la secuencia de entrada puede aumentar significativamente la longitud total de los tokens, lo que repercute directamente en la complejidad computacional del proceso de generación del modelo lingüístico. Las secuencias de entrada más largas requieren más cálculos de atención y un mayor uso de la memoria, que aumenta cuadráticamente con la longitud de la secuencia en las arquitecturas Transformer estándar.
  2. Estrategia de integración: Las distintas estrategias de integración de la información recuperada, como la concatenación, el preanexado o métodos más sofisticados como los modelos lingüísticos de memoria aumentada (MALM), pueden tener distintos requisitos computacionales.

Activar indiscriminadamente el proceso de recuperación para cada consulta, independientemente de su complejidad o de las capacidades internas de conocimiento del modelo lingüístico, puede dar lugar a importantes ineficiencias y a una sobrecarga computacional innecesaria. En el caso de las consultas sencillas que pueden responderse únicamente con los conocimientos paramétricos del modelo lingüístico, los costes adicionales de recuperación e integración pueden no aportar ningún beneficio tangible, lo que se traduce en un desperdicio de recursos informáticos y un aumento de la latencia.

Esta ineficacia se acentúa aún más en escenarios reales en los que los usuarios plantean una amplia gama de consultas, desde preguntas sencillas basadas en hechos hasta complejas tareas de razonamiento en varios pasos que requieren sintetizar información procedente de múltiples fuentes. Tratar todas las consultas por igual y aplicar la misma estrategia de recuperación aumentada puede conducir a un rendimiento subóptimo, tanto en términos de precisión como de eficiencia.

Para hacer frente a estas ineficiencias, es crucial optimizar el momento de la recuperación en los sistemas RAG, activando selectivamente el proceso de recuperación sólo cuando sea necesario y pueda mejorar potencialmente el rendimiento del modelo lingüístico. Al determinar de forma inteligente el momento de la recuperación en función de la complejidad de la consulta o de las necesidades de información en tiempo real del modelo lingüístico, los sistemas RAG pueden lograr un equilibrio entre precisión y eficiencia, minimizando la sobrecarga computacional en las consultas sencillas y asignando más recursos a las tareas complejas que requieren un uso intensivo de conocimientos.

Adaptive-RAG: adaptar las estrategias de recuperación a la complejidad de la consulta

Reconociendo la ineficacia de la recuperación indiscriminada y la necesidad de un enfoque adaptativo que adapte la estrategia de recuperación a la complejidad de cada consulta, los investigadores propusieron Adaptive-RAG (Adaptive Retrieval-Augmented Generation).

El núcleo de Adaptive-RAG es un componente novedoso denominado «clasificador de complejidad de consultas», que es un modelo lingüístico más pequeño entrenado específicamente para predecir el nivel de complejidad de las consultas entrantes. Este clasificador desempeña un papel crucial en la naturaleza adaptativa del marco.

El clasificador de la complejidad de las consultas las clasifica en tres niveles distintos:

  1. Nivel «A»: Consultas que pueden ser respondidas únicamente por el modelo lingüístico, sin necesidad de recuperación externa.
  2. Nivel «B»: Consultas que requieren un proceso de recuperación de un solo paso, en el que la información relevante se recupera de la base de conocimientos y se integra en la entrada del modelo lingüístico.
  3. Nivel «C»: Consultas más complejas que requieren un proceso de recuperación en varios pasos, con rondas iterativas de recuperación y razonamiento para sintetizar la información procedente de múltiples fuentes.

Para entrenar el clasificador de la complejidad de la consulta, Adaptive-RAG emplea un proceso automatizado que aprovecha los resultados reales previstos de diferentes estrategias LLM de recuperación aumentada y los sesgos inductivos inherentes presentes en los conjuntos de datos de referencia.

En concreto, el proceso de formación consta de los siguientes pasos:

  1. Muestreo de consultas de varios conjuntos de datos, incluidas pruebas comparativas de respuesta a preguntas de un solo salto y de varios saltos, para simular un escenario realista con consultas de distinta complejidad.
  2. Ejecutar estas consultas a través de tres estrategias diferentes de LLM con recuperación mejorada: sin recuperación (LLM solo), recuperación en un solo paso y recuperación en varios pasos.
  3. Etiquetar cada consulta en función de la estrategia que produjo la respuesta correcta, dando prioridad a las estrategias más sencillas. Por ejemplo, si la estrategia de no recuperación produce la respuesta correcta, la consulta se etiqueta como «A»; si la estrategia de un solo paso tiene éxito, se etiqueta como «B»; y si sólo tiene éxito la estrategia de varios pasos, se etiqueta como «C».
  4. Para las consultas que quedan sin etiquetar tras el paso anterior, se aprovechan los sesgos inductivos de los conjuntos de datos de referencia. Las consultas de conjuntos de datos de un solo salto se etiquetan como «B», y las de conjuntos de datos de varios saltos como «C».
  5. Entrenamiento del clasificador de complejidad de consulta en este conjunto de datos generado automáticamente de pares de consulta-complejidad utilizando la pérdida de entropía cruzada.

Una vez entrenado, el clasificador de complejidad de consultas puede predecir el nivel de complejidad de cualquier consulta entrante durante el tiempo de inferencia.

En función del nivel de complejidad previsto, Adaptive-RAG selecciona dinámicamente la estrategia más adecuada para gestionar la consulta:

  • Para las consultas de nivel «A», el modelo lingüístico genera directamente la respuesta sin recuperación externa, lo que minimiza la carga computacional.
  • Para las consultas de nivel «B», se activa un proceso de recuperación de un solo paso, que recupera la información pertinente de la base de conocimientos y la integra en la entrada del modelo lingüístico.
  • Para las consultas de nivel «C», se emplea un método de recuperación en varios pasos, que implica rondas iterativas de recuperación y razonamiento para sintetizar la información procedente de múltiples fuentes.

Esta naturaleza adaptativa permite a Adaptive-RAG alcanzar un equilibrio entre precisión y eficacia. Para consultas sencillas, minimiza la carga computacional evitando recuperaciones innecesarias, mientras que para consultas complejas, asigna más recursos para recuperar e integrar el conocimiento externo necesario, mejorando la precisión de los resultados del modelo lingüístico.

Mediante experimentos exhaustivos en varios conjuntos de datos de dominios abiertos de respuesta a preguntas, Adaptive-RAG demostró un rendimiento superior al de las líneas de base existentes, mostrando su capacidad para adaptar eficazmente las estrategias de recuperación en función de la complejidad de la consulta, lo que se traduce en una mejora de la eficiencia y la precisión generales.

DRAGIN: Optimización de la recuperación basada en las necesidades de información en tiempo real

DRAGIN (Dynamic Retrieval Augmented Generation based on the real-time Information Needs of Large Language Models) aborda el reto de optimizar cuándo y qué recuperar durante la recuperación-generación aumentada.

DRAGIN introduce dos componentes innovadores clave:

  1. Detección de Necesidades de Información en Tiempo Real (RIND).
  2. Formulación de consultas basada en la autoatención (QFS).

Detección de necesidades de información en tiempo real (RIND)

El componente RIND determina el momento óptimo para activar el módulo de recuperación durante el proceso de generación analizando las necesidades de información en tiempo real del modelo lingüístico. Para ello, tiene en cuenta tres factores para cada token generado:

  1. Incertidumbre: El RIND cuantifica la incertidumbre de cada token registrando la entropía de su distribución de probabilidad en el vocabulario. Una entropía más alta implica una mayor incertidumbre y la necesidad potencial de información externa.
  2. Importancia: RIND aprovecha el mecanismo de autoatención de los LLM basados en transformadores para asignar pesos a los tokens en función de su impacto en el contexto posterior. Los tokens con mayor atención se consideran más importantes.
  3. Importancia semántica: El RIND emplea un indicador semántico binario para filtrar las palabras vacías y centrarse en los tokens semánticamente significativos, ya que es menos probable que las palabras vacías requieran información externa.

Combinando estos tres factores, RIND calcula una puntuación global para cada token que representa la necesidad de información en tiempo real del modelo lingüístico. Si esta puntuación supera un umbral predefinido para cualquier token durante la generación, se activa el módulo de recuperación.

Formulación de consultas basadas en la autoatención (QFS)

Una vez que RIND determina el momento óptimo para la recuperación, entra en juego el componente QFS para formular una consulta eficaz que permita recuperar información relevante de bases de conocimiento o corpus externos.

A diferencia de los enfoques existentes, que se basan únicamente en tokens u oraciones recientes para formular consultas, QFS aprovecha el mecanismo de autoatención para captar las necesidades de información del modelo lingüístico en todo el contexto. Para ello:

  1. Evaluando los pesos de la atención en toda la secuencia de tokens precedente para la posición de recuperación identificada.
  2. Prioriza los tokens en función de sus puntuaciones de atención y selecciona los n tokens con las puntuaciones más altas.
  3. Construye la consulta a partir de las palabras correspondientes a estas n palabras principales, ordenadas en el orden original de la secuencia de entrada.

Este enfoque garantiza que la consulta refleje los aspectos más relevantes del contexto determinados por el mecanismo de autoatención del modelo lingüístico, capturando las necesidades de información en tiempo real de forma más exhaustiva que los métodos que sólo tienen en cuenta los tokens o las frases recientes.

Mediante experimentos exhaustivos en varios conjuntos de datos de generación intensiva de conocimiento, como 2WikiMultihopQA, HotpotQA, IIRC y StrategyQA, DRAGIN demostró un rendimiento superior al de las líneas de base existentes, incluidos los enfoques de recuperación adaptativa.

Al optimizar tanto el momento de la recuperación (a través de RIND) como el proceso de formulación de la consulta (a través de QFS), DRAGIN equilibra eficazmente la precisión y la eficiencia en la generación de recuperación aumentada. Minimiza la recuperación innecesaria de tokens o contextos en los que el modelo lingüístico tiene conocimientos suficientes, al tiempo que prioriza la recuperación y formula consultas eficaces cuando las necesidades de información en tiempo real exigen conocimientos externos.

Los innovadores componentes de DRAGIN, RIND y QFS, aprovechan el funcionamiento interno de los LLM basados en Transformer, como las distribuciones de probabilidad de los tokens y los mecanismos de autoatención, para adaptar dinámicamente el proceso de recuperación a las necesidades de información en tiempo real del modelo lingüístico, lo que se traduce en una mejora del rendimiento general en tareas de generación intensivas en conocimiento.

La importancia de optimizar el momento de la recuperación

Los esfuerzos de investigación de Adaptive-RAG y DRAGIN ponen de relieve la importancia primordial de optimizar el momento de la recuperación a la hora de poner en funcionamiento los sistemas de generación de recuperación aumentada. Al determinar de forma inteligente cuándo activar el proceso de recuperación en función de la complejidad de la consulta o de las necesidades de información en tiempo real del LLM, estos enfoques evitan una sobrecarga computacional y una latencia innecesarias para las consultas sencillas, al tiempo que asignan más recursos para las tareas complejas y de conocimiento intensivo.

A medida que los LLM sigan encontrando aplicaciones en diversos ámbitos, desde la respuesta a preguntas hasta las tareas de generación abiertas, la capacidad de integrar de forma eficiente y eficaz el conocimiento externo será cada vez más crucial. Las técnicas como las propuestas en Adaptive-RAG y DRAGIN no sólo mejoran la precisión y la eficiencia general de los sistemas basados en LLM, sino que también allanan el camino para un despliegue más práctico y escalable de la generación aumentada por recuperación en escenarios del mundo real.

Aunque estos esfuerzos de investigación han dado pasos significativos, aún quedan vías para seguir mejorando. Los trabajos futuros podrían explorar clasificadores más avanzados de la complejidad de las consultas, incorporar fuentes de información multimodales o investigar métodos de optimización integral de los procesos de recuperación y generación. Además, a medida que los LLM sigan evolucionando y se vuelvan más capaces, los límites entre las consultas simples y complejas pueden cambiar, lo que requerirá técnicas adaptativas que puedan ajustarse sin problemas a estos paisajes cambiantes.

En conclusión, la optimización de la sincronización de la recuperación es un aspecto crítico de la puesta en funcionamiento de los sistemas de generación aumentados por recuperación. Al adaptar la estrategia de recuperación a la complejidad o a las necesidades de información de cada consulta, enfoques como Adaptive-RAG y DRAGIN demuestran el potencial para mejorar tanto la precisión como la eficiencia de los sistemas basados en LLM, allanando el camino para despliegues más prácticos y escalables en diversas aplicaciones del mundo real.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *