ReAct는(reason, act)라는 패러다임으로, 자연어 추론을 통해 복잡한 문제를 해결하는 언어 모델을 가능하게 합니다!

MRKL 시스템과 같이 LLM이 외부 API와 상호작용하여 정보를 검색하는 등의 작업을 수행할 수 있고, 질문이 주어졌을 때, LLM은 정보를 검색하기 위해 작업을 수행하고, 검색된 정보에 기반하여 질문에 대답할 수 있는 것이죠!

ReAct 시스템은 수행 가능한 작업을 추론할 수 있는 기능을 추가로 갖춘 MRKL 시스템으로 생각할 수 있습니다.

Untitled

다음 이미지를 살펴보면, 상자 위의 질문은 복잡한 추론이 필요한 질문 답변 데이터 세트인 HotPotQA에서 가져온 것입니다.

  1. ReAct는 이 질문에 대한 추론(Thought 1)을 먼저 수행한 다음 작업(Act 1)을 수행하여 Google에 쿼리를 보냅니다.
  2. 관찰(Obs 1)을 받아들이고 이러한 추론, 작업, 관찰 루프를 Act 3에 도달할 때까지 계속합니다.

이처럼 알고리즘 강화학습에 대한 지식을 가진 독자라면, 상태, 액션, 보상, 상태...와 같은 클래식한 강화학습 루프와 유사한 프로세스임을 인식할 수 있을 것입니다! 🤠

#또 다른 사실!

구글은 ReAct와 함께 PaLM3 LLM을 사용하여 실험을 진행했습니다.

질문만 있는 기존 프롬프팅과 CoT, 그리고 다른 설정과 비교를 통해, ReAct의 성능은 복잡한 추론 작업에 대해 유망하기 때문이죠!