ReAct(reason, act) - это парадигма, позволяющая языковым моделям решать сложные задачи с помощью рассуждений на естественном языке. ReAct предназначен для задач, в которых LLM разрешено выполнять определенные действия. Например, как в системе MRKL, LLM может иметь возможность взаимодействовать с внешними API для получения информации. Когда ЛЛМ задают вопрос, он может выбрать действие для получения информации, а затем ответить на вопрос на основе полученной информации.
Системы ReAct можно рассматривать как системы MRKL, с дополнительной способностью рассуждать о действиях, которые они могут выполнять.
Рассмотрите следующее изображение. Вопрос в верхнем поле взят из HotPotQA, набора данных для ответов на вопросы, требующих сложных рассуждений. ReAct способен ответить на вопрос, сначала обдумав его (Thought 1), а затем выполнив действие (Act 1) по отправке запроса в Google. Затем он получает наблюдение (Obs 1) и продолжает цикл "мысль, действие, наблюдение". пока не придет к заключению (действие 3).
Читатели, знакомые с обучением подкрепления, могут распознать этот процесс как похожий на классический цикл RL: состояние, действие, вознаграждение, состояние, .... ReAct предлагает некоторую формализацию этого процесса в своей статье.
В экспериментах с ReAct компания Google использовала LLM PaLM. Сравнение со стандартным промтингом (только вопрос), CoT и другими конфигурациями показало, что производительность ReAct многообещающа для сложных задач рассуждения. Google также проводит исследования на наборе данных FEVER, который охватывает извлечение и проверку фактов.
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. ↩