-
[논문 리뷰] KnowAgent: Knowledge-Augmented Planning for LLM-Based AgentsPaper Reviews 2024. 4. 15. 00:02
KnowAgent: Knowledge-Augmented Planning for LLM-Based Agents
[2403.03101] KnowAgent: Knowledge-Augmented Planning for LLM-Based Agents (arxiv.org)
이번에 소개드릴 KnowAgent는 arxiv 에 발행되었을 당시, 각종 온라인 커뮤니티에서 주목을 받았었던 논문입니다.
LLM이 내부 지식을 활용하여 Chain-of-Thought (CoT) 으로 각종 task에 대해 뛰어난 성능을 보여주고는 있지만, 여전히 out-of-domain, 또는 학습되지 않은 in-domain의 최신 지식을 활용하기 위해서는 지속적으로 신규 학습 데이터에 대해 학습을 진행해주어야한다는 단점이 있습니다.
LLM이 외부 환경과 상호 작용하여 이러한 한계점을 뛰어 넘거나 스스로 진화하는 AGI에 이르려면, 언젠가는 외부 데이터와 상호 작용하는 방법을 알아내야할 것입니다. 이러한 상호 작용에 대한 방법론에 대한 연구가 openAI의 WebGPT 를 필두로 Google Brain의 ReAct 등 지속적으로 이루어져오고 있습니다. KnowAgent 역시 이런 방법론에 대해 이야기 하고 있는 새로운 논문이라 할 수 있습니다.
Introduction
위 그림은 HotpotQA라는 openQA 태스크에서의 action knowlede base가 어떤 것들이 될 수 있는지에 대해 보여주고 있습니다. HotpotQA는 여러가지 도메인 상의 다양한 질문 (ex: 양쯔강이 더 길어, 아니면 나일강이 더 길어?) 에 정확한 답을 해야하는 과제로서 LLM 내부에 질문의 답변을 할 수 있는 지식이 있다면 쉽게 답을 할 수 있겠지만, 그렇지 않은 경우 Search / Retrieve / Lookup 등의 action을 통해 wikipedia등 외부 지식에서 정보를 활용해야 할 것입니다.
이 논문에서는 Large Language Model (LLM)이 복잡한 planning이나 여러 단계의 step들이 필요한 문제를 해결하지 못하는 원인을 외부 데이터로부터 부족한 정보를 얻을 때 필요한 action knowledge를 충분히 학습하지 못했기 때문이라고 주장합니다. ReAct 등의 분석을 살펴 보면, ReAct 방법론의 실패 원인 중 하나가, 이런 planning 과정에서의 잘못된 부분, 즉 planning hallucination 때문에 task에 성공하지 못한다고 보고하고 있습니다.
위는 워싱턴 D.C.에서 국립 아동 의학 센터가 더 클까? 아니면 MedStar 워싱턴 병원 센터가 더 클까? 에 대한 질문에 대해 ReAct 가 planning hallucination을 범한 사례입니다. 국립 아동 의학 센터에 대해 Search라는 action을 해야 Lookup (Ctrl + F, 찾기에 해당) action을 할 수 있을텐데, 무작정 Lookup부터 시도하고 있네요.
Knowagent는 이러한 문제에 대해 1) 어떤 action을 취할 수 있는지에 대해 상세히 서술한 action knowledge base를 구축한 뒤, 2) "knowledge self-learning" 를 활용해 모델에게 어떻게 action들을 연결하여 성공적으로 task를 수행할 수 있는지 반복적으로 자가 학습하도록 설계하여 이런 문제점을 극복하였다고 설명하고 있습니다.
아래에서는 각각의 step을 조금 더 자세히 알아보도록 하겠습니다.
KnowAgent
✅ Step1: Action Knowledege to Text
task-specific action knowledge를 텍스트 설명으로 서술하는 단계
말 그대로 각각의 task에서 어떤 action을 쓸 수 있는지, 각 action들은 어떤 역할을 하는지, 그리고 해당 action 다음에는 어떤 action들이 올 수 있는지 action들 사이의 relation을 말로 풀어 서술하는 과정입니다. 여러 말보다는 HotpotQA에 대한 action knowledge base를 한 번 살펴보겠습니다.
여기에는 Start / Retrieve / Search / Lookup / Finish 각 action들에 대한 자세한 내용과 함께 few-shot prompting을 위한 sample까지 담겨있는 것을 확인할 수 있습니다. 각각의 task 별 prompt 구성은 아래 그림과 같이 형식화 되어 있습니다
✅ Step2: Planning Path Generation
prompt들을 활용하여 LLM이 action planning path를 설계하는 단계
step1에서 만들어진 prompt를 이용해 LLM이 trajectory를 생성하게 됩니다. ReAct 등 기존 연구와의 차별점은 trajectory에 action path를 포함시켰다는 점인데, action path는 여태까지 수행한 action들이 어떤 것들이었는지를 모아 모델에게 다시 한번 알려주는 과정으로 위 그림 중 Figure 6에 나타나 있습니다.
Trajectory는 Figure 6에 제안된 대로 action path ➡️ thougts ➡️ action ➡️ obsesrvation 으로 더 길어진 형태를 띄게 됩니다.
✅ Step3: Knowledgeable Self-Learning
LLM이 생성한 planning trajectory들을 반복적으로 최적화하며 성능을 향상시키는 단계
이 단계에서는 LLM이 반복적인 fine-tuning을 통해 action knowledge를 좀 더 잘 이해하도록 하기 위해, 1) Filtering과 2) Merging 2가지 세부 스텝들을 통해 모델을 자가 학습시킵니다.
Filtering은 step2에서 생성된 trajectory 중 올바르게 정답을 이끌어낸 trajectory만 추출하여 학습 데이터셋으로 활용하는 방법이며, Merging은 여러 iteration에서 생성된 trajectory중 가장 효율적인 (shorter path) trajectory만 추출하여 학습 데이터셋에 포함시키는 과정입니다. LLM은 스스로 생성해낸 trajectory를 활용해 fine-tuning되기 때문에 이 과정을 self-learning이라 부를 수 있습니다.
Experiments & Results
KnowAgent vs Prompt-based Methods
먼저, 이 논문에서는 Llama-2 모델을 활용한 실험 결과를 공개했는데요, CoT / ReAct 등 fine-tuning 없이 prompting만으로 접근한 방법론들보다는 self-learning을 통해 fine-tuning까지 마친 KnowAgent가 더 높은 점수를 얻는 것을 관찰할 수 있습니다. (당연한 결과)
KnowAgent vs Fine-tuning Methods
흥미로운 부분은 FiReAct와의 비교 결과 입니다. FiReAct는 GPT-4로부터 얻어진 500개의 올바른 trajectory로부터 LLM을 fine-tuning한 모델이라고 합니다. KnowAgent는 똑같이 500개의 trajectory를 활용은 하되, self-learning을 위해 filtering된 100~200개의 trajectory만을 활용해 fine-tuning을 했다고 합니다. 작은 LLM에서 시작한 self-learning 방법으로도 GPT-4 같은 고급 모델을 활용하는 방법 그 이상의 성능을 얻어낼 수 있었다는 점이 재미있는 포인트라고 볼 수 있습니다.
Analysis
위 실험 외에도 논문에서는 몇 가지 분석 결과를 제시하고 있는데, 주요한 내용은 아래와 같습니다.
Prompt 에 Action KB를 추가한 실험과 아닌 실험을 itertion 별로 성능을 비교하였습니다. Action KB가 데이터에 추가되어 있는 경우가 그 대조군보다 score가 항상 높았고, self-learning iteration이 진행될 수록 그 갭이 커지는 것을 관찰할 수 있습니다. 저자들은 action knowledge를 prompt에 포함하는 것과 self-learning 사이에 시너지가 있다고 본다고 합니다. Action KB를 prompt에 추가하였을 때 모델은 더 고품질의 trajectory를 생성하고, 고품질의 trajectory는 모델로 하여금 Action KB를 더 잘 학습할 수 있도록 만들어 성능 향상을 이끌어 낸다는 분석입니다.
위 도표에서 보다시피, 모델 종류 (Llama-2 / Vicuna) 와 사이즈 (7b / 13b) 와 무관하게 self-learning은 iteration4까지 진행되어도 지속적으로 성능이 향상되는 모습을 보여줍니다. 이를 통해 모델 종류나 사이즈와 무관하게 self-learning 기법이 효과적임을 확인할 수 있습니다.
Conclusion
논문은 짧은 편이지만, LLM이 AGI로 거듭나기 위한 주요 개념에 대해 다뤘다고 생각합니다. LLM 내부적으로 부족한 지식을 외부 data source로부터 가져와 내재화 하기 위해 필요한 action planning, self-learning 에 대해 다루었으며, self-learning을 통한 LLM 성능의 지속적인 향상을 보여주고 있기 때문입니다. 앞으로 이미지, 영상, 음성 등 data source의 다각화와 더불어 외부와의 상호작용과 추론 능력 향상에 대한 연구가 어떤 진행을 보여줄지 기대가 됩니다!
'Paper Reviews' 카테고리의 다른 글
[논문 리뷰] Direct Preference Optimization (DPO) Explained! (0) 2024.01.05 초거대 LLM 24배 빠르게 서빙하기 (0) 2023.11.02 상용화된 LLM에서 얻은 피드백 활용 방법 (0) 2023.10.31 LLAMA2를 무해한 모델로 만들기 위한 노력 (0) 2023.08.24 LEVER: Learning to Verify Language-to-Code Generation with Execution 논문 리뷰 (0) 2023.08.16