ReAct, Reasoning and Acting aumenta LLMs con herramientas!
ReAct aumenta LLMs con herramientas!
Introducción
Abreviado como Razonamiento y Actuación, este artículo presenta un nuevo concepto que mejora el rendimiento de los LLM y también nos proporciona mayor capacidad de explicación e interpretación.
El objetivo de la IA general (AGI, por sus siglas en inglés) podría ser uno de los objetivos más importantes para que la civilización humana lo logre. Imagina crear una inteligencia artificial que pueda generalizar para resolver muchos problemas. Hay muchas interpretaciones de lo que es una AGI, ¿y cuándo podemos decir que lo hemos logrado?
El método más prometedor para la AGI en las últimas décadas fue el aprendizaje por refuerzo, más específicamente lo que DeepMind pudo lograr en tareas difíciles, como AlphaGo, AlphaStar y muchos otros avances…
- Revolucionando la Visión por Computadora Avances, Desafíos y Direcc...
- Dentro de DSPy El nuevo marco de programación del modelo de lenguaj...
- WavJourney Un viaje al mundo de la generación de historias de audio
Sin embargo, ReAct supera a los métodos de imitación y de aprendizaje por refuerzo con una tasa de éxito absoluta del 34% y el 10% respectivamente, con solo uno o dos ejemplos en contexto.
Con este tipo de resultados (por supuesto, siempre y cuando no haya fuga de datos y podamos confiar en los métodos de evaluación proporcionados en el artículo), ya no podemos ignorar el potencial de los LLM para razonar y dividir tareas complejas en pasos lógicos.
La Motivación detrás del Artículo
Este artículo comienza con la idea de que hasta ahora los LLM son impresionantes en la comprensión del lenguaje, se han utilizado para generar CoT (Cadena de pensamiento) para resolver algunos problemas, y también se han utilizado para la actuación y la generación de planes.
Aunque estos dos aspectos se han estudiado por separado, el artículo tiene como objetivo combinar tanto el razonamiento como la actuación de manera intercalada para mejorar el rendimiento de los LLM.
La razón detrás de esta idea es que si piensas en cómo te comportas como humano para ejecutar alguna tarea.
El primer paso es que utilizarás “Habla interna” o escribirás o te comunicarás contigo mismo de alguna manera, diciendo “¿Cómo ejecuto la tarea X? Para hacer la tarea X, primero debo hacer el paso 1 y luego hacer el paso 2, y así sucesivamente”
Más concretamente, si estuvieras cocinando un plato en la cocina, podrías ReAct algo así:
“Ahora que todo está cortado, debería calentar la olla de agua”), para manejar excepciones o ajustar el plan según la situación (“No tengo sal, así que usaré salsa de soja y pimienta en su lugar”) y para darse cuenta cuando se necesita información externa (“¿cómo preparo la masa? Déjame buscar en Internet”).
También puedes actuar (abrir un libro de cocina para leer la receta, abrir la nevera, verificar los ingredientes) para respaldar el razonamiento y responder preguntas (“¿Qué plato puedo hacer ahora mismo?”).
Esta combinación de razonamiento y actuación es lo que permite a los humanos aprender y lograr tareas incluso en circunstancias antes no vistas o cuando se enfrentan con incertidumbres de información.
Enfoque Solo de Razonamiento
Trabajos anteriores han demostrado las capacidades de los LLM para razonar, por ejemplo, la Generación de Cadena de Pensamiento demostró que el modelo podía idear planes para responder preguntas de aritmética, sentido común y razonamiento simbólico.
Sin embargo, el modelo aquí sigue siendo una “caja negra estática” porque utiliza su representación interna del lenguaje para responder estas preguntas, y esta representación puede no ser siempre precisa o actualizada, lo que lleva a alucinaciones de hechos (inventar hechos propios) o propagación de errores (un error en la cadena de pensamientos se propaga a una respuesta incorrecta).
Sin la capacidad de realizar alguna acción y actualizar su conocimiento, el modelo está limitado.
Enfoque Solo de Actuación
También ha habido estudios que emplearon LLM para realizar acciones basadas en el lenguaje, estos estudios suelen tomar entradas multimodales (audio, texto e imágenes), convertirlas en texto, usar el modelo para generar acciones pertinentes al dominio y luego usar un controlador para realizar estas acciones.
Sin la capacidad de planificar algunos pasos y razonar sobre qué hacer, el modelo simplemente producirá acciones incorrectas.
Combinando ambos en ReAct
La propuesta de este artículo es combinar ambos métodos mencionados anteriormente. ReAct hace que los LLM generen trazas de razonamiento verbal y acciones relacionadas con una tarea de manera intercalada, lo que permite que el modelo realice un razonamiento dinámico para crear, mantener y ajustar planes de alto nivel para la actuación (razonar para actuar), mientras interactúa con entornos externos (por ejemplo, Wikipedia) para incorporar información adicional en el razonamiento (actuar para razonar).
Esto se muestra en la figura siguiente:
El Espacio de Acción
Para mejorar la generación de preguntas, diseñan un espacio de acción, lo que significa que el modelo tiene permitido utilizar tres acciones al responder preguntas.
Esto se logra a través de una API de Wikipedia que proporciona lo siguiente:
- search[entidad]: devuelve las primeras 5 oraciones de la página wiki correspondiente a la entidad si existe, de lo contrario sugiere las 5 entidades similares principales del motor de búsqueda de Wikipedia
- lookup[cadena], lo que devuelve la siguiente oración en la página que contiene la cadena, simulando la funcionalidad de Ctrl+F en el navegador
- finish[respuesta], lo que finaliza la tarea actual con la respuesta
Algo que no es común aquí es que existen herramientas de recuperación de información mucho más poderosas que las mencionadas anteriormente.
El objetivo detrás de esto es simular el comportamiento humano y cómo una persona interactuaría con Wikipedia y razonaría para encontrar una respuesta.
Generación de Preguntas
Además de las herramientas proporcionadas, necesitamos generar adecuadamente preguntas al LLM, para proporcionar razonamiento y encadenar acciones correctamente.
Para lograr esto, utilizan una combinación de pensamientos que descomponen una pregunta como (“Necesito buscar x, encontrar y, luego encontrar z”), extraen información de las observaciones de Wikipedia (“x fue iniciado en 1844”, “El párrafo no menciona x”), realizan sentido común (“x no es y, por lo tanto z debe ser…”) o razonamiento aritmético (“1844 < 1989"), guían la reformulación de la búsqueda ("tal vez pueda buscar/consultar x en su lugar") y sintetizan la respuesta final ("…entonces la respuesta es x")
Finalmente, los resultados se ven algo así:
Resultados
Los conjuntos de datos elegidos para la evaluación son los siguientes:
HotPotQA: es un conjunto de datos de preguntas y respuestas que requiere razonamiento sobre una o dos páginas de Wikipedia.
FEVER: una referencia de verificación de hechos donde cada afirmación está anotada como APOYA, REFUTA o NO HAY SUFICIENTE INFORMACIÓN, según si existe un pasaje de Wikipedia para verificar la afirmación.
ALFWorld: Juego basado en texto que incluye 6 tipos de tareas que el agente debe realizar para lograr un objetivo de alto nivel.
Un ejemplo sería “examinar el papel debajo de la lámpara de escritorio” navegando e interactuando con un hogar simulado a través de acciones de texto (por ejemplo, ir a la mesa de café 1, tomar el papel 2, usar la lámpara de escritorio 1)
WebShop: un entorno de sitio web de compras en línea con 1.18 millones de productos del mundo real e instrucciones humanas de 12,000 con mucha más variedad y complejidad.
Requiere que un agente compre un producto en función de las instrucciones del usuario. Por ejemplo, “Estoy buscando una mesita de noche con cajones. Debe tener un acabado de níquel y tener un precio inferior a $140”, el agente necesita lograr esto a través de interacciones web.
Por lo tanto, los resultados muestran que ReAct siempre supera a Act, lo que demuestra que la parte de razonamiento es extremadamente importante para mejorar las acciones.
Por otro lado, ReAct supera a CoT en Fever (60.9 vs. 56.3) y se queda un poco atrás de CoT en HotPotQA (27.4 vs. 29.4). Por lo tanto, para el conjunto de datos FEVER, actuar para obtener conocimiento actualizado está demostrando dar el impulso necesario para tomar la decisión correcta de APOYO o REFUTAR.
Cuando se compara CoT vs ReAct en HotPotQA y se examina por qué el rendimiento es comparable, se encontraron las siguientes observaciones clave:
- La alucinación es un problema grave para CoT, por lo que sin forma de actualizar su conocimiento, CoT tiene que imaginar y alucinar cosas, lo cual es un gran obstáculo.
- Mientras que la intercalación de pasos de razonamiento, acción y observación mejora la fundamentación y confiabilidad de ReAct, esta restricción estructural también reduce su flexibilidad para formular pasos de razonamiento. ReAct puede forzar al LLM a realizar acciones cuando a veces solo hacer CoT es suficiente.
- Para ReAct, recuperar conocimiento informativo de manera exitosa a través de la búsqueda es crítico. Si la búsqueda recupera información incorrecta, cualquier razonamiento basado en esa información falsa también será incorrecto, por lo que obtener la información correcta es crucial.
Espero que este artículo te haya ayudado a entender este documento. Puedes consultarlo aquí https://arxiv.org/pdf/2210.03629.pdf
Ya existen implementaciones de ReAct aquí y aquí.
Mohamed Aziz Belaweid es un Ingeniero de Aprendizaje Automático / Datos en SoundCloud. Está interesado tanto en la Investigación como en la Ingeniería. Le gusta leer artículos y llevar su innovación a la vida real. Ha trabajado en el entrenamiento de modelos de lenguaje desde cero en dominios específicos. Extracción de información de texto utilizando el Reconocimiento de Entidades Nombradas, sistemas de búsqueda multimodales, clasificación y detección de imágenes. También ha trabajado en el lado operativo, como la implementación de modelos, la reproducibilidad, la escalabilidad y la inferencia.
Original. Vuelto a publicar con permiso.