Last updated on August 7, 2024
ReAct (razão, ação) é um paradigma que permite que modelos de linguagem resolvam tarefas complexas usando raciocínio em linguagem natural. O ReAct é projetado para tarefas em que o LLM pode realizar certas ações. Por exemplo, em um sistema MRKL, um LLM pode ser capaz de interagir com APIs externas para recuperar informações. Quando questionado, o LLM poderia escolher realizar uma ação para recuperar informações e, em seguida, responder à pergunta com base nas informações recuperadas.
Os sistemas ReAct podem ser considerados como sistemas MRKL, com a capacidade adicional de raciocinar sobre as ações que podem realizar.
Examine a imagem à seguir. A pergunta na caixa superior é proveniente do HotPotQA, um conjunto de dados de resposta a perguntas que requer raciocínio complexo. O ReAct é capaz de responder à pergunta, primeiro raciocinando sobre a pergunta (Pensamento 1) e depois realizando uma ação (Ação 1) para enviar uma consulta ao Google. Ele então recebe uma observação (Obs 1) e continua com esse ciclo de pensamento, ação e observação até chegar a uma conclusão (Ação 3).
Leitores com conhecimento de aprendizado por reforço podem reconhecer este processo como semelhante ao clássico loop RL de estado, ação, recompensa, estado,... ReAct fornece alguma formalização tal caso em seu artigo.
O Google usou o PaLM LLM em experimentos com ReAct. Comparações com prompts padrão (de apenas pergunta), Cadeia de Pensamento e outras abordagens mostram que o desempenho de ReAct é promissor para tarefas de raciocínio complexo. O Google também realiza estudos no conjunto de dados FEVER, que abrange extração e verificação de fatos.
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. ↩