Reasoning model을 Agent활용
Prompt로 서치를 언제할지 컨트롤함: 3.3 Agentic Retrieval-Augmented Generation Mechanism
예시 작성함: Knowledge Refinement via Reason-in-Documents
https://github.com/sunnynexus/Search-o1
Abstract
Large Reasoning Model(LRM)은 뛰어난 추론 능력을 보여주지만, 지식 부족으로 인한 한계가 있음. 이를 해결하기위해 다음과 같은 프레임워크를 제시함.
- Search-o1: LRM을 agentic RAG방법과 Reason-in-documents모듈로 강화
- 추론 과정에서 search와 통합. 불확실한 지식에서 외부 지식의 동적 검색 가능. 검색된 정보를 심층 분석 후 추론 체인에 주입
Introduction
- LRM의 발전: o1, QwQ, DeepSeekR1등 추론 능력이 뛰어난 모델들이 개발
- LRM한계: 과도한 사고, 지식 부족의 한계가 있음.
- 도전적인 문제에서는 perhaps와 같은 불확실한 단어(fig1)를 추론 과정에서 평균 30회 이상 하는 것을 발견함.
- 이러한 불확실성 및 지식 부족은 오류를 더 크게만들고, 전체 추론 체인을 방해함.
- 제안: Search-o1 - 자율적인 검색을 통해 성능 향상.
- 표준 RAG:
- 한계: 관련 지식을 한번 검색
- 극복: 지식이 부족하면 능동적으로 검색 쿼리 생성.
- 검색 정보 통합:
- 한계: 검색된 문서의 중복 처리 문제가 있음. -> Reasoning Model의 Context 제한과 연관 있음.
- 극복: Reason in documents모듈 도입 - 메인 추론 체인과 독립적으로 검색된 문서 분석 및 정제
- 표준 RAG:
- 기여:
- 최초 통합 프레임워크: 추론모델을 agentic search 워크플로우에 통합하여 자율적으로 지식 보완
- 효과적 지식 통합: 추론 과정을 agentic RAG 메커니즘과 지식 정제 모델과 결합하여 논리적 흐름 유지
- 좋은 성능
Related Work
- Large Reasoning Models
- 전통적 LLM: 모델 크기 확장이나 학습 데이터 확장을 통해 훈련 에서 확장성 달성
- 추론 모델: 추론에서 확장성을 달성하여 성능 향상
- o1과 같은 추론 능력 달성 방법:
- 추론시에서 Monte Carlo Tree Search (MCTS)와 함께 정책 및 리워드 모델 결합
-> 허나 이는 모델 자체에 추론 능력을 내재화 하는 것은 아님. - 훈련 데이터 증류를 통한 능력 향상
- 추론시에서 Monte Carlo Tree Search (MCTS)와 함께 정책 및 리워드 모델 결합
- 한계: 내부 지식이 불충분할 때 외부 세계 지식을 활용할 수 없음
- o1과 같은 추론 능력 달성 방법:
- Retrieval-Augmented Generation (RAG)
- RAG 시스템 향상: 쿼리 전처리, 문서 압축, 노이즈 제거, 정제, 지시 따르기 등
- 발전된 접근법: 엔드 투 엔드 모델 훈련을 통한 RAG 시스템 구현, 지식 그래프 기반 RAG 시스템
Agentic RAG 시스템: 모델이 자율적으로 검색 시기와 내용 결정 - 한계: 기존 RAG 접근법은 o1과 같은 모델의 강력한 추론 능력과 결합되지 않음
Methodology
3.1 Problem Formulation
- 목표: 두가지 요소 생성
- R: 논리적 추론 체인
- a: 최종 답변
- 입력:
- I: 작업 지시사항(instruction)
- q: 질문(query, question)
- D: 검색된 외부 지식(Data)
- 수학적 표현
- 설계: 입력(I,q,D) -> 출력(R,a)로 매핑을 하는 것
- 확률적으로 모델링하면 아래처럼 표현 가능
-> 앞에 있는 수식인 추론 과정을 먼저 생성하고, 이후 Answer부분을 만들어낸다.
3.2 Overview of the Search-o1 Framework
- search-o1 목적: LRM의 지식 부족 문제를 해결하기 위함.
- 세가지 접근 방식:
- Vanila Reasoning Pattern(a): 정확한 정보 접근이 어려우면, 모델은 가정에 의존해야함. 연쇄 오류를 발생시킴
- Agentic RAG(b): 모델이 자율적으로 외부 지식 접근 할 수 있도록함. 그러나 길고 관련없는 정보 포함하면 추론 흐름 방해함.
- Search-o1(c): agentic RAG확장판, 외부 지식을 통합하며 추론 체인의 논리적 흐름을 유지하며 하는 추론.
3.3 Agentic Retrieval-Augmented Generation Mechanism
- Agentic RAG: 추론 과정 중에 자율적으로 외부 지식을 검색한 시기를 결정할 수 있음.(Appendix A.1)
- 자율적인 검색 쿼리 생성
- 조건: 모델이 추론 중 지식이 불확실할 때
- 구현: <|begin_search_query|> 및 <|end_search_query|> 사이에 검색 쿼리를 생성
- 식: (2)
- 검색 호출
- 호출 시점: 모델이 <|end_search_query|> 토큰을 생성하는 순간
- 과정: 추론 일시 중지 -> 검색 쿼리 추출 -> 검색 함수 호출
- 식: (3)
- 검색 결과 통합
- 위치: 특수 기호 <|begin_search_result|> 및 <|end_search_result|> 사이
- 방법: 추론 체인 $R^{i-1}$에 검색 결과 삽입
- 처리: 모델이 삽입된 검색 결과를 참고해 추론 계속 진행
- 정리:
- 모델이 지식이 부족함을 느끼면
- <|begin_search_query|>생성
- 검색하려는 쿼리를 생성
- <|end_search_query|> 생성
- <|begin_search_query|>와 <|end_search_query|> 사이에 있는 텍스트를 추출하여 검색 쿼리로 사용
- 자율적인 검색 쿼리 생성
- Search
- 검색 결과로 나온 i개의 가장 관련있는 문서를 선택하고, <|begin_search_result|>와 <|end_search_result|> 사이에 추론 체인 $R^{i-1}$에 삽입되어, 외부 지식을 활용하여 추론 과정을 계속할 수 있게 함.
3.4 Knowledge Refinement via Reason-in-Documents
- 이 단계의 목적:
- 검색된 문서의 정보는 중복: 길고 중복된 정보는 -> 일관성 및 노이즈 들어갈 수 있음.
- 긴 문서 이해 제한: lost in the middle, limited context length
- 작동방식:
- 입력: (이전 까지의 추론, 현재 검색 쿼리, 검색된 문서)
- 처리 방법(Appendix A.1):
- 중간 추론 시퀀스 생성(식4): retrieve 정보를 추론, 논리 체인의 일관성을 유지하면서 정제된 지식으로 변환
더보기문제: trans-cinnamaldehyde가 methylmagnesium bromide와 반응하여 생성물 1을 형성했습니다. 이후 여러 단계의 반응 후 최종 생성물 3의 탄소 원자 수는 몇 개인가요?
1. 초기 추론 단계:
이 화학 반응 문제를 해결하기 위해 단계별로 접근해보겠습니다. 먼저 trans-cinnamaldehyde와 methylmagnesium bromide의 반응을 이해해야 합니다. methylmagnesium bromide는 Grignard 시약으로 카르보닐 화합물에 친핵성 공격을 합니다. 그러나 trans-cinnamaldehyde의 정확한 구조를 모르겠습니다
2. 검색 쿼리 생성
<|begin_search_query|>structure of trans-cinnamaldehyde<|end_search_query|>
3. 검색 결과
Wikipedia: "Trans-cinnamaldehyde (또는 (E)-cinnamaldehyde)는 분자식 C9H8O를 가진 방향족 알데히드로, 페닐 고리에 연결된 propenal 그룹으로 구성되어 있습니다..."
화학 교육 사이트: "Trans-cinnamaldehyde의 구조는 페닐 고리(C6H5)가 이중 결합으로 알데히드 그룹에 연결된 형태입니다..."
4. 중간 추론 시퀀스 r_docs생성
검색된 웹 페이지를 분석해보니, trans-cinnamaldehyde의 구조에 대한 정보를 얻을 수 있습니다. 이 화합물은 분자식 C9H8O를 가지며, 페닐 고리가 이중 결합으로 알데히드 그룹에 연결된 형태입니다. 이 정보는 현재 추론 단계에서 필요한 trans-cinnamaldehyde의 구조를 이해하는 데 도움이 됩니다. 특히 탄소 원자 수가 9개라는 점이 중요합니다
5. 4번의 추론 시쿼스로 -> 정제된 지식 생성 r_final
(근데 이 과정이 왜 필요한지는 모르겠음)
Trans-cinnamaldehyde(또는 (E)-cinnamaldehyde)는 분자식 C9H8O를 가집니다. 페닐 고리가 이중 결합을 통해 propenal 그룹에 연결된 구조로, 분자는 평면형입니다. 이 구조는 9개의 탄소 원자, 8개의 수소 원자, 1개의 산소 원자로 구성되어 있으며, 기능기는 화학적 변환에서의 반응성을 나타냅니다.
6. 추론 체인에 통합 (R^1)
이 화학 반응 문제를 해결하기 위해 단계별로 접근해보겠습니다. 먼저 trans-cinnamaldehyde와 methylmagnesium bromide의 반응을 이해해야 합니다. methylmagnesium bromide는 Grignard 시약으로 카르보닐 화합물에 친핵성 공격을 합니다. 그러나 trans-cinnamaldehyde의 정확한 구조를 모르겠습니다.
<|begin_search_query|>structure of trans-cinnamaldehyde<|end_search_query|>
<|begin_search_result|>Trans-cinnamaldehyde(또는 (E)-cinnamaldehyde)는 분자식 C9H8O를 가집니다. 페닐 고리가 이중 결합을 통해 propenal 그룹에 연결된 구조로, 분자는 평면형입니다. 이 구조는 9개의 탄소 원자, 8개의 수소 원자, 1개의 산소 원자로 구성되어 있으며, 기능기는 화학적 변환에서의 반응성을 나타냅니다.<|end_search_result|>
이제 trans-cinnamaldehyde의 구조를 알았으니, 반응을 계속 분석할 수 있습니다. Trans-cinnamaldehyde는 9개의 탄소 원자를 포함합니다. Methylmagnesium bromide가 알데히드 카르보닐 그룹을 공격하면 메틸 그룹(-CH3)이 추가되어 생성물 1에는 10개의 탄소 원자가 포함됩니다...
- 중간 추론 시퀀스 생성(식4): retrieve 정보를 추론, 논리 체인의 일관성을 유지하면서 정제된 지식으로 변환
3.5 Search-o1 Inference Process
- 단일 질문에 대한 추론 로직:
- 초기화: 지시사항(I), 질문(q)를 연결해 초기 인풋 생성
- 추론 및 검색 쿼리 생성: 1의 인풋으로 추론 체인 R생성 시작. 지식이 부족하면 모델이 자율적으로 특정 토큰 생성.
- 검색 수행: <|end_search_query|> 태그 감지 시 추론 일시 중지, 검색 쿼리 추출, 외부 검색 및 문서(D)획득
- 문서 정제: Reason-in-Documents모듈로 검색 문서 정제 -> r_ifnal생성
- 정제된 정보 통합: r final을 <|begin_search_result|> 및 <|end_search_result|> 태그 사이에 삽입, 추론체인 R에 통합.
- (2-5)과정을 필요에 따라 반복함.
- 배치 추론 메커니즘: 여러 질문을 동시에 처리하기 위함: 자세한 설명 생략
Experiments
4.1 Tasks and Datasets
- 수학 과학, 코딩 문제: GPQA, MATH500, AMC2023, AIME2024, LiveCodeBench
- 오픈 도메인 QA
4.2 Baselines
- Direct Reasoning (w/o Retrieval)
- RAG Reasoning:
- Standard RAG: 10개 문서 검색하고, 추론 및 답변 생성
- RAgent(RAG Agent): 검색 시점을 모델이 결정할 수 있 함. 검색된 문석의 길이를 관리하기 위해 ReAct에서 영감을 받아 추론 중에 먼저 상위 10개 스니팻을 검색함.
- Search-o1: QwQ-32B를 사용
- 눈여겨볼 것: Query에 모든 정보가 있는 Math는 QwQ-32B나 Search-o1이나 큰 성능차이가 없음. 허나 GPQA같은 경우는 성능차이가 유의미하게 나타나보임.
4.3 Implementation Details
- 모델: Search-o1의 백본으로 오픈 소스 QwQ-32B-Preview 사용
- 설정: 최대 32,768 토큰, 온도 0.7, top_p 0.8, top_k 20, 반복 패널티 1.05
- 검색 설정:Bing Web Search API 사용 (US-EN 지역 설정), 상위 10개 문서 검색, Jina Reader API로 웹 페이지 내용 가져오기
- 추가 전략:
- 최종 답변 미제공 시 직접 추론 결과를 사용하는 백오프 전략 적용
- Non reasoning 모델에는 간단한 Chain-of-Thought 프롬프팅 적용
4.4 Results on Challenging Reasoning Tasks
- Main Result
- QwQ-32B-Preview의 우수성: instruction LLM보다 일관되게 성능 우수
- RAgent-QwQ-32B의 장점: 대부분의 작업에서 표준 RAG 기반 모델과 직접 추론 QwQ-32B 모두 능가.
- Search-o1의 성능: Reason-in-Documents 전략으로 외부 지식을 통합하면서 원래 추론의 일관성 유지.
- Scaling Analysis on Number of Retrieved Documents.
- 효과적인 문서 활용: Search-o1은 검색된 문서 수가 증가함에 따라 복잡한 추론 작업 성능 향상
- 단일 문서의 효율성: 단 하나의 문서만 검색해도 10개 문서를 사용하는 직접 추론 및 표준 RAG 모델 능가
- 도메인별 성능: 물리학, 화학, 생물학, 전체 성능 모두에서 검색 문서 수 증가에 따른 일관된 개선
- Agentic search와 Reason-in-Documents 전략의 효과 확인
'DeepLearing > NLP(Agent)' 카테고리의 다른 글
[Agent] ShortCut (0) | 2025.04.19 |
---|---|
[논문리뷰](25.01) Agent-R: Training Language Model Agents toReflect via Iterative Self-Training (1) | 2025.04.19 |
[논문리뷰](25.03)ReasonFlux Hierarchical LLM Reasoning via Scaling Thought Templates (0) | 2025.03.17 |
[논문리뷰]MemGPT: Towards LLMs as Operating Systems (2) | 2024.11.05 |
[블로그 리뷰] What's LLM Agent (6) | 2024.11.04 |