Modelos y plataformas de IA
Mejorando los Modelos de Lenguaje con Recuperación: Razonamiento Propio y Mejora Adaptativa para Sistemas Conversacionales

Por
Aayush Mittal Mittal
Los grandes modelos de lenguaje a menudo luchan para proporcionar información precisa y actualizada, especialmente en tareas complejas basadas en conocimientos. Para superar estos obstáculos, los investigadores están explorando métodos para mejorar estos modelos integrándolos con fuentes de datos externas.
Dos nuevos enfoques que han surgido en este campo son marcos de razonamiento propio y generación mejorada adaptativa para sistemas conversacionales. En este artículo, profundizaremos en estas técnicas innovadoras y exploraremos cómo están ampliando los límites de lo que es posible con los modelos de lenguaje.
La Promesa y las Limitaciones de los Modelos de Lenguaje con Recuperación
Comencemos a entender el concepto de Modelos de Lenguaje con Recuperación (RALMs). La idea central detrás de los RALMs es combinar el vasto conocimiento y la comprensión del lenguaje de los modelos de lenguaje preentrenados con la capacidad de acceder e incorporar información externa actualizada durante la inferencia.
Aquí hay una ilustración simple de cómo podría funcionar un RALM básico:
- Un usuario hace una pregunta: “¿Cuál fue el resultado de los Juegos Olímpicos de 2024?”
- El sistema recupera documentos relevantes de una base de conocimiento externa.
- El modelo de lenguaje procesa la pregunta junto con la información recuperada.
- El modelo genera una respuesta basada en su conocimiento interno y los datos externos.
Este enfoque ha demostrado gran promesa para mejorar la precisión y la relevancia de las salidas de los modelos de lenguaje, especialmente para tareas que requieren acceso a información actual o conocimiento específico de dominio. Sin embargo, los RALMs no están exentos de desafíos. Dos cuestiones clave con las que los investigadores han estado luchando son:
- Confiabilidad: ¿Cómo podemos garantizar que la información recuperada sea relevante y útil?
- Rastreabilidad: ¿Cómo podemos hacer que el proceso de razonamiento del modelo sea más transparente y verificable?
La investigación reciente ha propuesto soluciones innovadoras a estos desafíos, que exploraremos en profundidad.
Razonamiento Propio: Mejorando los RALMs con Trayectorias de Razonamiento Explícitas
Esta es la arquitectura y el proceso detrás de los modelos de lenguaje con recuperación, centrándose en un marco llamado Razonamiento Propio. Este enfoque utiliza trayectorias para mejorar la capacidad del modelo para razonar sobre los documentos recuperados.
Cuando se plantea una pregunta, se recuperan documentos relevantes y se procesan a través de una serie de pasos de razonamiento. El mecanismo de Razonamiento Propio aplica procesos de análisis de evidencia y trayectoria para filtrar y sintetizar la información antes de generar la respuesta final. Este método no solo mejora la precisión de la salida, sino que también garantiza que el razonamiento detrás de las respuestas sea transparente y rastreable.
En los ejemplos proporcionados, como determinar la fecha de lanzamiento de la película “Atrapa a un ladrón” o identificar a los artistas que pintaron el techo de la catedral de Florencia, el modelo filtra efectivamente a través de los documentos recuperados para producir respuestas precisas y contextualmente respaldadas.
Esta tabla presenta un análisis comparativo de diferentes variantes de modelos de lenguaje, incluidos modelos LLaMA2 y otros modelos con recuperación, en tareas como NaturalQuestions, PopQA, FEVER y ASQA. Los resultados se dividen entre líneas base sin recuperación y aquellas mejoradas con capacidades de recuperación.
Esta imagen presenta un escenario en el que un modelo de lenguaje se encarga de proporcionar sugerencias basadas en consultas de usuario, demostrando cómo el uso de conocimiento externo puede influir en la calidad y la relevancia de las respuestas. El diagrama destaca dos enfoques: uno en el que el modelo utiliza un fragmento de conocimiento y otro en el que no. La comparación subraya cómo la incorporación de información específica puede adaptar las respuestas para que se ajusten mejor a las necesidades del usuario, proporcionando profundidad y precisión que podría faltar en un modelo generativo puro.
Un enfoque innovador para mejorar los RALMs es la introducción de marcos de razonamiento propio. La idea central detrás de este método es aprovechar las capacidades del modelo de lenguaje para generar trayectorias de razonamiento explícitas, que luego se pueden utilizar para mejorar la calidad y la confiabilidad de sus salidas.
Desglosemos los componentes clave de un marco de razonamiento propio:
- Proceso de Conciencia de Relevancia (RAP)
- Proceso Selectivo Consciente de la Evidencia (EAP)
- Proceso de Análisis de Trayectoria (TAP)
Proceso de Conciencia de Relevancia (RAP)
El RAP está diseñado para abordar uno de los desafíos fundamentales de los RALMs: determinar si los documentos recuperados son realmente relevantes para la pregunta dada. Aquí está cómo funciona:
- El sistema recupera un conjunto de documentos potencialmente relevantes utilizando un modelo de recuperación (por ejemplo, DPR o Contriever).
- El modelo de lenguaje luego se instruye para juzgar la relevancia de estos documentos con respecto a la pregunta.
- El modelo genera explícitamente razones que explican por qué los documentos se consideran relevantes o irrelevantes.
Por ejemplo, dado el pregunta “¿Cuándo se construyó la Torre Eiffel?”, el RAP podría producir una salida como esta:
Relevante: Verdadero
Razón de relevancia: Los documentos recuperados contienen información específica sobre las fechas de construcción de la Torre Eiffel, incluido su comienzo en 1887 y finalización en 1889.Este proceso ayuda a filtrar la información irrelevante al comienzo del proceso, mejorando la calidad general de las respuestas del modelo.
Proceso Selectivo Consciente de la Evidencia (EAP)
El EAP lleva la evaluación de relevancia un paso más allá, instruyendo al modelo para identificar y citar piezas específicas de evidencia de los documentos relevantes. Este proceso imita cómo los humanos podrían abordar una tarea de investigación, seleccionando oraciones clave y explicando su relevancia. Aquí está lo que la salida del EAP podría parecerse:
Contenido citado: "La construcción de la Torre Eiffel comenzó el 28 de enero de 1887 y se completó el 31 de marzo de 1889."
Razón para citar: Esta oración proporciona las fechas exactas de inicio y finalización de la construcción de la Torre Eiffel, respondiendo directamente a la pregunta sobre cuándo se construyó.Al citar explícitamente fuentes y explicar la relevancia de cada pieza de evidencia, el EAP mejora la rastreabilidad y la interpretación de las salidas del modelo.
Proceso de Análisis de Trayectoria (TAP)
El TAP es la etapa final del marco de razonamiento propio, donde el modelo consolida todas las trayectorias de razonamiento generadas en los pasos anteriores. Analiza estas trayectorias y produce un resumen conciso junto con una respuesta final. La salida del TAP podría parecerse a esto:
Análisis: La Torre Eiffel se construyó entre 1887 y 1889. La construcción comenzó el 28 de enero de 1887 y se completó el 31 de marzo de 1889. Esta información está respaldada por múltiples fuentes confiables que proporcionan fechas consistentes para el período de construcción de la torre.
Respuesta: La Torre Eiffel se construyó de 1887 a 1889.
Este proceso permite al modelo proporcionar tanto una explicación detallada de su razonamiento como una respuesta concisa, atendiendo a diferentes necesidades del usuario.
Implementando el Razonamiento Propio en la Práctica
Para implementar este marco de razonamiento propio, los investigadores han explorado varios enfoques, incluyendo:
- Instruir modelos de lenguaje preentrenados
- Ajustar modelos de lenguaje con técnicas eficientes de parámetros como QLoRA
- Desarrollar arquitecturas neuronales especializadas, como modelos de atención multi-cabeza
Cada uno de estos enfoques tiene sus propias compensaciones en términos de rendimiento, eficiencia y facilidad de implementación. Por ejemplo, el enfoque de instrucción es el más simple de implementar, pero puede no producir resultados consistentes en todos los casos. El ajuste con QLoRA ofrece un buen equilibrio entre rendimiento y eficiencia, mientras que las arquitecturas especializadas pueden ofrecer el mejor rendimiento, pero requieren más recursos computacionales para entrenar.
Aquí hay un ejemplo simplificado de cómo podrías implementar el RAP utilizando un enfoque de instrucción con un modelo de lenguaje como GPT-3:
import openai
<p>def proceso_consciente_de_relevancia(pregunta, documentos):
prompt = f"""
Pregunta: {pregunta}
Documentos recuperados:
{documentos}
Tarea: Determinar si los documentos recuperados son relevantes para responder a la pregunta.
Formato de salida:
Relevante: [Verdadero/Falso]
Razón de relevancia: [Explicación]
Análisis:
"""
respuesta = openai.Completion.create(
engine="text-davinci-002",
prompt=prompt,
max_tokens=150
)
return respuesta.choices[0].text.strip()
<p># Ejemplo de uso
pregunta = "¿Cuándo se construyó la Torre Eiffel?"
documentos = "La Torre Eiffel es una torre de rejilla de hierro forjado en el Campo de Marte en París, Francia. Lleva el nombre del ingeniero Gustave Eiffel, cuya empresa diseñó y construyó la torre. Construida desde 1887 hasta 1889 como el arco de entrada a la Exposición Mundial de 1889, inicialmente fue criticada por algunos de los artistas e intelectuales más destacados de Francia por su diseño, pero se ha convertido en un icono cultural global de Francia."
resultado = proceso_consciente_de_relevancia(pregunta, documentos)
print(resultado)
Generación Mejorada Adaptativa para Sistemas Conversacionales
Mientras que el marco de razonamiento propio se centra en mejorar la calidad y la interpretación de las respuestas individuales, otra línea de investigación ha estado explorando cómo hacer que la generación mejorada sea más adaptativa en el contexto de los sistemas conversacionales. Este enfoque, conocido como generación mejorada adaptativa, tiene como objetivo determinar cuándo se debe utilizar conocimiento externo en una conversación y cómo incorporarlo de manera efectiva.
La idea clave detrás de este enfoque es que no todas las vueltas en una conversación requieren la mejora del conocimiento externo. En algunos casos, depender demasiado de la información recuperada puede llevar a respuestas poco naturales o demasiado verbosas. El desafío, entonces, es desarrollar un sistema que pueda decidir dinámicamente cuándo utilizar conocimiento externo y cuándo confiar en las capacidades inherentes del modelo.
Componentes de la Generación Mejorada Adaptativa
Para abordar este desafío, los investigadores han propuesto un marco llamado RAGate, que consiste en varios componentes clave:
- Un mecanismo de puerta de conocimiento binario
- Un proceso de conciencia de relevancia
- Un proceso selectivo consciente de la evidencia
- Un proceso de análisis de trayectoria
El Mecanismo de Puerta de Conocimiento Binario
El núcleo del sistema RAGate es una puerta de conocimiento binario que decide si se debe utilizar conocimiento externo para una vuelta de conversación determinada. Esta puerta tiene en cuenta el contexto de la conversación y, opcionalmente, los fragmentos de conocimiento recuperados para tomar su decisión.
Aquí hay una ilustración simplificada de cómo podría funcionar la puerta de conocimiento binario:
def puerta_de_conocimiento(contexto, conocimiento_recuperado=None): # Analiza el contexto y el conocimiento recuperado # Devuelve Verdadero si se debe utilizar conocimiento externo, Falso de lo contrario pass <p>def generar_respuesta(contexto, conocimiento=None): if puerta_de_conocimiento(contexto, conocimiento): # Utiliza generación mejorada con recuperación return generar_con_conocimiento(contexto, conocimiento) else: # Utiliza generación de modelo de lenguaje estándar return generar_sin_conocimiento(contexto)
Este mecanismo de puerta permite al sistema ser más flexible y consciente del contexto en su uso de conocimiento externo.
Implementando RAGate
Esta imagen ilustra el marco RAGate, un sistema avanzado diseñado para incorporar conocimiento externo en los modelos de lenguaje para una generación de respuestas mejorada. Esta arquitectura muestra cómo un modelo de lenguaje básico se puede complementar con contexto o conocimiento, ya sea a través de entrada directa o integrando bases de datos externas durante el proceso de generación. Este enfoque dual, que utiliza tanto las capacidades del modelo como los datos externos, permite al modelo de lenguaje proporcionar respuestas más precisas y contextualmente relevantes. Este método híbrido cubre la brecha entre la potencia computacional cruda y la experiencia específica del dominio.
Esta imagen muestra las métricas de rendimiento para varias variantes del modelo bajo el marco RAGate, que se centra en la integración de recuperación con ajuste eficiente de parámetros (PEFT). Los resultados destacan la superioridad de los modelos que integran contexto, particularmente aquellos que utilizan incrustaciones de ner-know y ner-source.
Los modelos RAGate-PEFT y RAGate-MHA demuestran mejoras sustanciales en precisión, recuerdo y puntuaciones F1, subrayando los beneficios de incorporar tanto contexto como conocimiento. Estas estrategias de ajuste permiten a los modelos funcionar más efectivamente en tareas intensivas en conocimiento, proporcionando una solución más robusta y escalable para aplicaciones del mundo real.
Para implementar RAGate, los investigadores han explorado varios enfoques, incluyendo:
- Utilizar grandes modelos de lenguaje con instrucciones cuidadosamente elaboradas
- Ajustar modelos de lenguaje utilizando técnicas eficientes de parámetros
- Desarrollar arquitecturas neuronales especializadas, como modelos de atención multi-cabeza
Cada uno de estos enfoques tiene sus propias fortalezas y debilidades. Por ejemplo, el enfoque de instrucción es relativamente simple de implementar, pero puede no producir resultados consistentes en todos los casos. El ajuste ofrece un buen equilibrio entre rendimiento y eficiencia, mientras que las arquitecturas especializadas pueden ofrecer el mejor rendimiento, pero requieren más recursos computacionales para entrenar.
Aquí hay un ejemplo simplificado de cómo podrías implementar un sistema similar a RAGate utilizando un modelo de lenguaje ajustado:
import torch
from transformers import AutoTokenizer, AutoModelForSequenceClassification
<p>class RAGate:
def __init__(self, nombre_del_modelo):
self.tokenizador = AutoTokenizer.from_pretrained(nombre_del_modelo)
self.modelo = AutoModelForSequenceClassification.from_pretrained(nombre_del_modelo)</p>
<p>def debe_utilizar_conocimiento(self, contexto, conocimiento=None):
entradas = self.tokenizador(contexto, conocimiento or "", return_tensors="pt", truncation=True, max_length=512)
with torch.no_grad():
salidas = self.modelo(**entradas)
probabilidades = torch.softmax(salidas.logits, dim=1)
return probabilidades[0][1].item() > 0.5 # Asumiendo clasificación binaria (0: no conocimiento, 1: usar conocimiento)</p>
<p>class SistemaDeConversacion:
def __init__(self, ragate, lm, recuperador):
self.ragate = ragate
self.lm = lm
self.recuperador = recuperador</p>
<p>def generar_respuesta(self, contexto):
conocimiento = self.recuperador.recuperar(contexto)
if self.ragate.debe_utilizar_conocimiento(contexto, conocimiento):
return self.lm.generar_con_conocimiento(contexto, conocimiento)
else:
return self.lm.generar_sin_conocimiento(contexto)</p>
<p># Ejemplo de uso
ragate = RAGate("ruta/al/modelo/ajustado")
lm = ModeloDeLenguaje() # Su modelo de lenguaje preferido
recuperador = RecuperadorDeConocimiento() # Su sistema de recuperación de conocimiento</p>
<p>sistema_de_conversacion = SistemaDeConversacion(ragate, lm, recuperador)</p>
<p>contexto = "Usuario: ¿Cuál es la capital de Francia?\nSistema: La capital de Francia es París.\nUsuario: Cuéntame más sobre sus famosos lugares de interés."
respuesta = sistema_de_conversacion.generar_respuesta(contexto)
print(respuesta)</p>
Este ejemplo demuestra cómo un sistema similar a RAGate podría implementarse en la práctica. La clase RAGate utiliza un modelo ajustado para decidir si se debe utilizar conocimiento externo, mientras que la clase SistemaDeConversacion orquesta la interacción entre la puerta, el modelo de lenguaje y el recuperador.
Desafíos y Direcciones Futuras
Aunque los marcos de razonamiento propio y la generación mejorada adaptativa muestran gran promesa, todavía hay varios desafíos que los investigadores están trabajando para abordar:
- Eficiencia Computacional: Ambos enfoques pueden ser intensivos en términos computacionales, especialmente al lidiar con grandes cantidades de información recuperada o generar trayectorias de razonamiento largas. Optimizar estos procesos para aplicaciones en tiempo real sigue siendo un área activa de investigación.
- Robustez: Garantizar que estos sistemas funcionen consistentemente en una amplia gama de temas y tipos de preguntas es crucial. Esto incluye manejar casos de borde y entradas adversarias que podrían confundir los mecanismos de juicio de relevancia o la puerta de conocimiento.
- Soporte Multilingüe y de Lenguaje Cruzado: Extender estos enfoques para que funcionen efectivamente en múltiples idiomas y para manejar la recuperación y el razonamiento de lenguaje cruzado es una dirección importante para el trabajo futuro.
- Integración con Otras Tecnologías de Inteligencia Artificial: Explorar cómo estos enfoques se pueden combinar con otras tecnologías de inteligencia artificial, como modelos multimodales o aprendizaje por refuerzo, podría conducir a sistemas aún más poderosos y flexibles.
Conclusión
El desarrollo de marcos de razonamiento propio y generación mejorada adaptativa representa un paso significativo hacia adelante en el campo del procesamiento de lenguaje natural. Al permitir que los modelos de lenguaje razonen explícitamente sobre la información que utilizan y adapten sus estrategias de mejora del conocimiento dinámicamente, estos enfoques prometen hacer que los sistemas de inteligencia artificial sean más confiables, interpretables y conscientes del contexto.
A medida que la investigación en este área continúa evolucionando, podemos esperar ver estas técnicas refinadas e integradas en una amplia gama de aplicaciones, desde sistemas de respuesta a preguntas y asistentes virtuales hasta herramientas educativas y ayudas de investigación. La capacidad de combinar el vasto conocimiento codificado en los grandes modelos de lenguaje con información dinámicamente recuperada y actualizada tiene el potencial de revolucionar la forma en que interactuamos con los sistemas de inteligencia artificial y accedemos a la información.
He dedicado los últimos cinco años sumergiéndome en el fascinante mundo de Machine Learning y Deep Learning. Mi pasión y experiencia me han llevado a contribuir a más de 50 proyectos de ingeniería de software diversos, con un enfoque particular en AI/ML. Mi curiosidad en curso también me ha llevado hacia el Procesamiento de Lenguaje Natural, un campo que estoy ansioso por explorar más a fondo.
Descubre más


¿Qué es la generación aumentada por recuperación (RAG)? Cómo la IA responde con conocimiento externo


El Problema de Memoria de la IA: Por Qué la Eficiencia del Contexto Largo Cambia Todo y Qué Se Necesita para Hacerlo Bien


Por qué su RAG biomédico oculta contradicciones de usted


La verdadera razón por la que su tubería RAG sigue alucinando


Predicción 2026 – El código abierto cabalgará la ola de la IA hacia su próxima edad de oro


El dilema del control de la IA: Riesgos y soluciones




