Last updated on August 7, 2024
ReAct (razonamiento, acción) es un paradigma para permitir que los modelos de lenguaje resuelvan tareas complejas utilizando el razonamiento del lenguaje natural. ReAct está diseñado para tareas en las que el LLM tiene permitido realizar ciertas acciones. Por ejemplo, como en un sistema MRKL, un LLM puede interactuar con APIs externas para obtener información. Cuando se le hace una pregunta, el LLM podría elegir realizar una acción para recuperar información, y luego responder la pregunta basándose en la información recuperada.
Los sistemas ReAct se pueden pensar como sistemas MRKL, con la capacidad adicional de razonar sobre las acciones que pueden realizar.
Examinemos la siguiente imagen. La pregunta en el cuadro superior proviene de HotPotQA, un conjunto de datos de preguntas y respuestas que requiere un razonamiento complejo. ReAct puede responder la pregunta primero razonando sobre ella (Pensamiento 1), y luego realizando una acción (Acción 1) para enviar una consulta a Google. Luego recibe una observación (Obs 1) y continúa con este ciclo de pensamiento, acción, observación hasta que llega a una conclusión (Acción 3).
Los lectores con conocimientos de aprendizaje por refuerzo pueden reconocer este proceso como similar al ciclo clásico de RL de estado, acción, recompensa, estado,.... ReAct proporciona una formalización para esto en su artículo.
Google utilizó el LLM PaLM en experimentos con ReAct. Las comparaciones con la solicitud estándar (solo pregunta), CoT y otras configuraciones muestran que el rendimiento de ReAct es prometedor para tareas de razonamiento complejas. Google también realiza estudios en el conjunto de datos fever, que cubre la extracción y verificación de hechos.
Yao, S., Zhao, J., Yu, D., Du, N., Shafran, I., Narasimhan, K., & Cao, Y. (2022). ↩
Yang, Z., Qi, P., Zhang, S., Bengio, Y., Cohen, W. W., Salakhutdinov, R., & Manning, C. D. (2018). HotpotQA: A Dataset for Diverse, Explainable Multi-hop Question Answering. ↩
Chowdhery, A., Narang, S., Devlin, J., Bosma, M., Mishra, G., Roberts, A., Barham, P., Chung, H. W., Sutton, C., Gehrmann, S., Schuh, P., Shi, K., Tsvyashchenko, S., Maynez, J., Rao, A., Barnes, P., Tay, Y., Shazeer, N., Prabhakaran, V., … Fiedel, N. (2022). PaLM: Scaling Language Modeling with Pathways. ↩
Thorne, J., Vlachos, A., Christodoulopoulos, C., & Mittal, A. (2018). FEVER: a large-scale dataset for Fact Extraction and VERification. ↩