DeepLearing/NLP(Agent)
[논문리뷰](25.03)ReasonFlux Hierarchical LLM Reasoning via Scaling Thought Templates
notdecidedyet
2025. 3. 17. 14:44
선호도 데이터셋을 아래와 같이 구하는것은 적용해볼만한 방법인 것 같다.
github: https://github.com/Gen-Verse/ReasonFlux
Abstract
- 위계적(hierachical) LLM 추론을 통해 추론 검색 공간을 효율적으로 최적화
- 세가지 특징
- 구조화되고 일반적인 reasoning 템플릿 라이브러리: 유사하거나 관련된 추론 문제로 일반화 가능한 약 500개의 고수준 사고 템플릿 포함
- 위계적 강화 학습: 원래 긴 CoT 데이터 대신 reasoning 템플릿 시퀀스에 대해 위계적 강화 학습 수행하여, 복잡한 문제를 점진적으로 처리하기 위한 최적 템플릿 궤적을 계획하도록 LLM을 최적화 시킴
- 추론 확장 시스템 : 추론시 reasoning 템플릿을 적용해 위계적 LLM추론을 가능하게 하는 추론 확장 시스템 제안
1. Introduction
- 기존 연구 한계 : 신중한 검색과 보상 모델 안내 방법으로 나뉨
- 신중한 검색 (ToT, GoT): 여러 추론 경로 탐색 및 자체 평가를 통한 최적 궤적 찾기
- 보상 모델 안내 (Best-of-N, PRM, MCTS): 보상 모델 활용하여 추론 단계 품질 평가 및 유망한 경로 안내
- 한계 : 높은 계산 비용, 최적 추론 궤적 식별 어려움, 수동 설계된 검색 전략 및 인스턴스/단계 수준 보상에 의존, 일반화 능력 제한, 탐색-활용 트레이드오프 균형 유지 어려움
- 템플릿 기반 추론의 한계:
- 템플릿 기반: RAG 활용 (BoT, SuperCorrect)
- 한계: 한 문제를 풀 때, 여러 샘플들을 불러오고 정보의 일부분만 적용해야 함
2. Related Work
- Learning from Preferences for Language Models: LLM을 인간의 기대와 인식에 맞게 조정하는 데 필수적
(Step-DPO와 Cross-DPO처럼 중간 추론이나 반성 단계를 대상으로 하는 더 세밀한 최적화에 초점)
한계 : 기존 방법들은 인스턴스나 일부 보상에 의존함. 인간 처럼 (해결하는 과정에 포함된)높은 수준의 인지 과정을 포착하지 못함.- 이 연구에서는: RL기반 최적화를 도입. 고수준 reasoning 템플릿을 구성하도록 모델을 encourage함.
- Retrieval-Augmented Generation for Language Models:
- 장점 : 대규모 외부 지식 소스에서 관련 문서 검색하여 응답 생성 정보 제공, 질문-답변에서 뛰어난 성능, 적은 매개변수로도 우수한 성능 달성 등
- 단점 : 수학과 코드와 같은 복잡한 추론 작업에서 어려움 발생, 표준 임베딩 유사성 검색을 통해 관련 가이드라인이나 템플릿 검색 어려움
- 이 연구에서는: 복잡한 추론 문제를 대상으로 효율적이고 정확한 검색을 위한 구조화되고 컴팩트한 템플릿 라이브러리 설계
- Inference Scaling for LLM Reasoning: 복잡한 문제 해결을 위해 더 많은 토큰 생성 필요.
- 기존 연구 : CoT, ToT, GoT, Best of N, MCTS, PRM, BoT.
- 한계 : 템플릿 기반 접근법에 대한 탐색-활용 트레이드오프에 대한 깊은 이해 부족
- 이 연구에서는: 복잡한 작업에 대한 추론 정확도를 크게 향상시키면서 탐색과 활용 간의 전략적 균형을 맞추는 위계적 템플릿 RAG
3. ReasonFlux: Scaling Thought Templates for Hierarchical LLM Reasoning
3.1 Constructing Structured Thought Template Library
- 배경:
- RAG: 인간이 복잡한 추론 문제 해결 시 외부 자원을 찾으며 해결하는 것에서 영감을 받음.
- BoT: LLM추론을 위한 높은 수준의 reasoning 버퍼 생성 및 효율적인 RAG추론 시스템 구축 시도. 종합적인 템플릿 라이브러리를 구축해 문제를 해결하려 해도, 템플릿 크기 문제가 있음.
- 이 연구는: 명확한 검색이 가능하도록하고, 확장성 문제를 완화하는 템플릿 구성(structured thought template library)
- 도전적인 수학적 추론 문제들을 선택: 강건성, 광범위한 적용 가능성을 보장하기 위해
- 내용:
- LLM을 사용해 (명시적 해결책 뒤에 있는)reasoning 과정을 분석.
- 문제 해결 전략의 간결한 요약을 생성.
- 공통된 패턴 식별
- 템플릿 예: name, tag, description, scope, application step들로 구성되어 있음.
검색은 tag, name을 활용
3.2. Hierarchical Reinforcement Learning on Thought Template Trajectory
- 훈련: 이 라이브러리를 활용하여 문제를 해결하기 위한 방법을 배우기 위해 모델을 훈련함.
- 위게적 강화학습 수행 -> ReasonFlux
- Structure-based Finetuning: LLM이 템플릿의 이름과 태그를 보고 그 템플릿의 설명과 적용 범위를 생성할 수 있도록 훈련
- 데이터: 구조화된 템플릿 $D_{temp}$에서 훈련 데이터셋 $D_{train}$구성.
예) ($T_{name}, T_{tag}, T_{des}, T_{sco}$) - 훈련: $L_{struct} = -E_{D_{train}}[logπ(T_{des},T_{sco} | T_{nam}, T_{tag}]$
-> next token prediction의 변형. 이름과 태그로 설명 및 scope을 예측하도록 훈련
- 데이터: 구조화된 템플릿 $D_{temp}$에서 훈련 데이터셋 $D_{train}$구성.
- Preference Learning on Thought Template Trajectory:
- 파인튜닝 모델: 파인튜닝된 LLM인 πstruct는 입력 문제를 분석하고 적절한 사고 템플릿 시퀀스를 계획
-> 입력 문제를 분석하고 적절한 템플릿 시퀀스를 계획하는 것을 직접적으로 훈련하지는 않았음... 논문에서 비약이 있는 듯?
-> 혹은 preference 파인튜닝을 했는데 언급을 안했나? - 궤적 생성:
- 문제 x가 주어지면, πstruct는 문제의 수학적 특성을 분석 -> 사고 템플릿 시퀀스(궤적) $T_{traj} = {s_1, s_2, ..., s_n}$을 계획(각 단계 $s_i는 라이브러리에서 검색된 특정 템플릿 T_i와 연결된다.$)
- 인스턴스 만들기:
- LLM은 각 템플릿에 입력 문제 x에 맞춰 적당한 구체적인 문제를 만듬.
-
더보기추상 템플릿:
1. 피적분 함수 f(x) = √(R²-x²)에서 R 값을 식별
2. x = R·sin(θ) 치환을 적용
3. dx = R·cos(θ)dθ로 변환
4. √(R²-x²) = √(R²-R²sin²(θ)) = √(R²(1-sin²(θ))) = √(R²cos²(θ)) = R·|cos(θ)|로 변환
5. 적분을 θ에 대한 적분으로 재구성
인스턴스 템플릿:
1. 피적분 함수 √(4-x²)에서 R=2 확인
2. x = 2·sin(θ) 치환 적용
3. dx = 2·cos(θ)dθ 변환
4. √(4-x²) = √(4-4sin²(θ)) = √(4cos²(θ)) = 2·cos(θ) (θ ∈ [-π/2, π/2]에서 cos(θ) ≥ 0)
5. 따라서 적분은 ∫√(4-x²) dx = ∫2·cos(θ) · 2·cos(θ)dθ = ∫4cos²(θ)dθ
실제 문제 해결:
∫√(4-x²) dx = ∫4cos²(θ)dθ = ∫2(1+cos(2θ))dθ = 2θ + sin(2θ) + C
이제 θ를 x로 다시 표현해야 합니다.
sin(θ) = x/2이므로, θ = arcsin(x/2)
또한 삼각함수 공식에서 sin(2θ) = 2sin(θ)cos(θ) = 2·(x/2)·cos(θ) = x·cos(θ)
cos(θ) = √(1-sin²(θ)) = √(1-(x/2)²) = √(4-x²)/2
따라서 sin(2θ) = x·√(4-x²)/2
최종적으로:
∫√(4-x²) dx = 2·arcsin(x/2) + x·√(4-x²)/2 + C
- 파인튜닝 모델: 파인튜닝된 LLM인 πstruct는 입력 문제를 분석하고 적절한 사고 템플릿 시퀀스를 계획
- 주어진 궤적의 일반화 능력을 평가하기 위해, 아래와 같은 식을 통해서 일반화 성능을 측정. 문제x와 비슷한 문제들의 집합을 불러오고, 추 생성된 궤적을 활용해 각 유사문제를 풀고, 정확도가 보상이 된다.
-> 보상: 이 궤적이 얼마나 좋은지 측정하는 품질 값으로 사용된다.
-> 여기서 나오는 inf모델은 Qwen2.5-32B-Instruct
- 선호도 쌍 구성:
- 모델 출력 샘플링을 여러개하고, 여러개의 다른 템플릿을 생성함.
- 각 궤적에 대해 R(Traj)을 계산함
- (x, 더 높은 보상의 궤적, 더 낮은 보상의 궤적) 데이터셋을 구성함
- 아래와 같이 DPO와 비슷한 Loss function으로 모델을 훈련함.
3.3 Inference Scaling with Scaling Thought Templates
3.1, 3.2과정이 끝난 모델을 ReasonFlux로 명명함.
- 사고 템플릿 확장(추론 확장 제안): 추론 확장: MCTS, BoN과 같은 방법
- 문제x에 대해서 ReasonFlux는 최적의 궤적을 생성함.
$T*_{traj} = {s*_1, s*_2, s*_3, ... }$
이때 궤적에 있는 s_i는 효율적인 검색을 위해 특정 템플릿 이름, 태그와 연관된다. - ReasongFlux로 관련 있는 템플릿 불러옴 : $T_{rag} = ReasonFlux({T^i_{nam}, T^i_{tag}}^n_{i=1}, D_{temp})$
i=1~n까지로 되어 있는데, ReasonFlux가 생성한 궤적n에 대응하는 템플릿임. - inf모델로 하여, 각 단계 s_i와 템플릿을 참고해, 문제x에 맞게 인스턴스화함.
$ŝ_i = π_{inf}(x_i, s_i, T_i)$ - $ŝ_i$는 ReasonFlux에 평가되고 분석됨.
$δ_i = ReasonFlux(T_{traj}, ŝ_i)$ - 평가된 분석에 기반해, ReasonFlux는 궤적을 조정할지 여부를 결정함. 후속 단계를 조정하거나 대안이 되는 템플릿을 검색함.
-> 조정하는 것은 ReasonFlux가 배우지 않았는데, 이게 가능한가?
-> agent처럼 작동하는것으로 보임. ReasonFlux는 어떤 방향으로 풀어나가는것이 좋다 라는 지식을 배웠으니, 매 스탭마다 생성을 멈추고, ReasonFlux보고 궤적을 수정하도록 하는것으로 보임.
- 문제x에 대해서 ReasonFlux는 최적의 궤적을 생성함.
4. Experiment