ReAct: Synergizing Reasoning and Acting in Language Models (link, ICLR 2023)
배경지식
- LLM의 추론 능력 (reasoning) 연구
- 적절한 프롬프트를 활용한 LLM은 일련의 추론 단계를 거쳐 효과적으로 답을 생성
- e.g. chain-of-thought prompting
- 하지만 추론 단계에서 외부의 지식이 아니라 내부 파라미터에 저장된 지식을 활용한다는 점에서 한계 존재
- 환각(=그럴듯한 거짓말) 현상, 오류 전파 등의 문제 발생 가능
- LLM의 행동 능력 (acting) 연구
- 상호작용이 가능한 환경에서 LLM을 계획과 행동을 생성하는 데에 활용
- e.g. action plan generation
- 하지만 고차원적인 목표에 필요한 추론 능력을 사용하지 않으며, 행동을 지원하기 위해 메모리를 유지하지 않는 등의 한계 존재
문제
- LLM의 추론 능력과 행동 능력을 별도로 고려할 경우, 위와 같은 한계 존재
해결책
ReAct (Resoning + Acting) 핵심 아이디어
- 언어모델의 추론 능력과 행동 능력을 결합하여 시너지를 내는 방식
- LLM의 추론 능력이 모델로 하여금 행동 계획을 유도하고, 트래킹하고, 업데이트하도록 함과 동시에 예외를 처리하도록
- LLM의 행동 능력으로 하여금 외부 출처로부터 추가적인 정보를 가져와 추론에 도움을 주도록
- which allows the model to perform dynamic reasoning to create, maintain, and adjust high-level plans for acting (reason to act), while also interact with the external environments (e.g. Wikipedia) to incorporate additional information into reasoning (act to reason)
일반적인 Agent의 작용
- 일반적인 에이전트는 태스크를 해결하기 위해 아래와 같은 단계를 거침
- 에이전트는 환경으로부터 관측값(observation)을 얻음
- 정책(policy)에 따라 행동(action)을 선택
- 보통 이처럼 강화학습 플로우를 LLM에 적용한 경우, policy = model로 생각할 수 있음
- 이때, 맥락(context), 즉 지금까지 발생한 일련의 관측값과 행동을 기반으로 선택이 이루어짐
- 일반적인 Agent의 한계
- 복잡한 추론이 필요할 경우 올바른 결과를 내놓지 못할 수 있음
- 맥락 이해에 실패해 환각 현상을 발생시키기도 함
ReAct Agent의 작용
- 에이전트의 행동 공간(action space)이 언어를 포함하도록 확장됨
- 행동에 언어가 포함된다는 말은, 선택할 수 있는 행동의 범주에 생각(thought) 혹은 추론 과정(reasoning trace)이 포함된다는 의미
- 에이전트가 취할 행동으로 생각(thought)을 선택한 경우
- 외부 환경에 영향을 미치지 않아 관측이 이루어지지 않음
- 대신 현재 문맥을 바탕으로 추론을 진행하여, 문맥을 업데이트해 이후의 추론 혹은 행동을 보조
- e.g. 태스크 목표를 세분화하고 행동 계획을 생성
- e.g. 태스크 해결에 관련 있는 일반 상식을 주입
- e.g. 관측값으로부터 중요한 부분을 추출
- e.g. 진행 과정을 탐색하고 행동 계획을 전달
- e.g. 예외 처리 및 행동 계획을 조정
평가
- 평가 벤치마크
- 지식 집약적 태스크
- HotPotQA (QA)
- Fever (fact verification)
- 의사결정 태스크
- ALFWorld (text-based game)
- WebShop (webpage navigation)
- 평가지표
- 지식 집약적 태스크
- Exact Match (HotpotQA)
- Accuracy (Fever)
- 의사결정 태스크
- 태스크별 성공률 (AlfWorld)
- 점수 및 성공률 (WebShop)
- 모델
의의
- 거대한 언어모델의 추론 능력과 행동 능력을 결합하여 최근 Advanced RAG에서 대표적인 방법론으로 자리잡음