Route-and-Reason (R2-Reasoner)

하임·2026년 1월 9일

Routing

목록 보기
32/44

https://arxiv.org/pdf/2506.05901


1) 논문이 풀려는 문제와 핵심 아이디어

이 논문은 “한 번에 강한 LLM으로 끝까지 추론”하는 방식이 비용(API cost)과 지연시간(latency) 측면에서 비효율적이라는 점에 주목합니다. 대신 입력 문제를 서브태스크(subtask)로 분해한 뒤, 각 서브태스크에 대해 모델 풀(model pool)에서 적절한 모델을 골라 순차 실행함으로써 정확도를 유지하면서 비용을 크게 절감하는 routing + reasoning 프레임워크를 제안합니다.

논문이 주장하는 큰 성과는, 여러 벤치마크에서 정확도는 비슷한 수준을 유지하면서 평균 API 비용을 크게 절감한다는 점입니다(예: 본문에서는 상당한 비용 절감을 강조).


2) 전체 프레임워크: R2-Reasoner 구성

R2-Reasoner는 크게 두 모듈로 구성됩니다.

  1. Task Decomposer (M_decomp)

    입력 task (T)를 (t1,,tkt_1,\dots,t_k) 형태의 서브태스크 시퀀스로 변환합니다.

  2. Subtask Allocator (M_alloc)

    생성된 각 서브태스크 (ti)에 대해 모델 풀 ($\mathcal{M}{pool})에서어떤모델(Mj)를붙일지결정하여할당()에서 어떤 모델 (M_j)를 붙일지 결정하여 할당 (M_A: t_i \mapsto M_j)$를 산출합니다.

테스트 시 실행 흐름(End-to-end)

(1) 질의 (Q_{user}) → (2) 분해 ({t_i}) → (3) 할당 (M_A) → (4) 각 서브태스크를 지정 모델로 순차 실행 → (5) 결과를 누적/통합해 최종 답을 만듭니다.

선택적 모듈: PRM(Procedural Review Mechanism)

예산/정확도 트레이드오프를 위해, “너무 약한 모델이 만든 서브태스크 결과”를 강한 모델로 검증/수정하는 옵션을 둡니다. 특정 임계 모델 (MthreshM_{thresh})보다 약한 모델이 생성한 결과는 강한 모델 (Mstrong)M_{strong})로 확인해 틀리면 교정합니다.


3) Task Decomposer: 데이터 생성(거절 샘플링)과 학습 목적

3.1 D_decomp 구성: 거절 샘플링(rejection sampling)

각 task에 대해 여러 후보 분해 (d)를 생성하고, 아래 기준을 합친 가중 점수(Score)로 “좋은 분해”를 선택합니다.

  • Conciseness: 서브태스크 개수 (k) (너무 쪼개지 않도록)
  • Practicality: 총 토큰 사용량(비용 proxy)
  • Coherence: 인접 서브태스크 간 논리적 연결성(끊긴 쌍의 개수)

Appendix에서 점수는 다음처럼 정식화됩니다.

[

Score(d)=wck+wpiTokens(ti,Meval)+wdCoepair(d)Score(d)= w_c\cdot k + w_p\sum_i Tokens(t_i,M_{eval}) + w_d\cdot Coepair(d)

]

또한 정답 가능성을 보장하기 위해, 분해 (d)로 실제 문제를 풀었을 때 맞으면 (C(d)=1)인 이진 신호를 두고, 가능한 한 (C(d)=1)인 후보 중 최저 점수 분해를 고릅니다.

3.2 학습

선택된 (T, d*) 쌍으로 표준 CE loss로 SFT를 수행합니다.


4) Subtask Allocator: “최소 비용 + 정답 유지” 할당 데이터 D_alloc 생성

4.1 목표

Allocator는 “정답(Accuracy=1)을 유지하면서 API 비용/시간을 최소화”하는 할당 (MA^*)를 찾는 것이 목표입니다. Appendix에서 이를 제약 최적화 형태로 제시합니다. [$M_A^ = \arg\min{MA} \mathbb{E}[C{Api}(MA)+C{Time}(M_A)]\quad s.t.\ Acc(M_A)=1$*]

4.2 Grouped Search Strategy로 D_alloc 만들기

할당 공간이 너무 커서 exhaustive search가 불가능하므로, 논문은 그룹 기반 탐색을 사용합니다. 핵심은 두 가지 “그룹화”입니다.

  1. 서브태스크 난이도 그룹화

    baseline 모델의 예측 신뢰(토큰 확률)를 기반으로 easy/medium/hard로 분류합니다(본문에서는 max token prob 기반 설명, Appendix에서는 α-quantile token prob 기반 정식화).

  2. 모델 풀 능력 그룹화

    모델 풀을 SLM/MLM/LLM 그룹으로 나누고, 난이도 그룹과 매칭(easy→SLM, medium→MLM, hard→LLM)합니다.

그 다음,

  • 초기 할당은 “각 그룹의 중간급 모델(medium-capacity model)”로 시작하고
  • 현재 할당이 맞으면 더 싼 모델로 내리는(Downward) 시도, 틀리면 같은 그룹 내에서 업그레이드(Upward within-group), 더 이상 그룹 내 업그레이드가 불가하면 그룹을 넘어 업그레이드(between-group) 하는 식으로 반복 개선합니다.

이 절차를 통해 얻은 ((ti,MA){t_i}, M_A^*))를 모아 D_alloc을 구성하고, Allocator는 이를 모방 학습합니다.


5) 듀얼 모듈 RL 공동학습: “번갈아 고정하고 업데이트” + GRPO

SFT 이후 성능을 더 끌어올리기 위해, 논문은 두 모듈을 동시에 end-to-end로 미분하지 않고(두 LLM cascade의 비연속성/불안정성 회피), 한 번에 하나의 모듈만 업데이트하는 alternating RL을 합니다.

  • 보상: 최종 정답 여부에 대한 이진 보상 (RfinalR_{final}
  • 최적화: GRPO를 사용(클리핑 서러게이트 + KL 페널티 형태; PPO 계열)
  • 절차:
    • M_decomp 업데이트 시: decomposer가 서브태스크를 생성, allocator는 고정, 최종 정답으로 reward 산출 → decomposer 업데이트
    • M_alloc 업데이트 시: allocator가 할당 생성, decomposer 고정, 동일한 reward로 allocator 업데이트

6) 실험 설정

6.1 벤치마크

총 6개 벤치마크에서 평가합니다: P3, SCAN, MATH, CHAMP, CSQA, MuSiQue.

6.2 모델 풀과 학습 베이스

모델 풀은 Qwen2.5 계열(0.5B~72B), DeepSeek-V3, gpt-4o 등을 포함하며, 작은 일부는 로컬로 “무료 배치”, 큰 모델은 클라우드 유료 호출로 가정합니다. 또한 decomposer/allocator의 SFT+RL 베이스 모델로 Qwen2.5-7B-instruct를 사용합니다.

6.3 지표

  • Acc (정확도)
  • C_API: 태스크당 평균 API 비용(센트 단위)

7) 메인 결과: 정확도 유지 + 비용 급감

7.1 Table 1 요약(대표 포인트)

Table 1에서 R2-Reasoner는 여러 벤치마크에서 비용을 크게 줄이면서 정확도를 경쟁 베이스라인 대비 비슷하거나 더 높게 달성했다고 보고합니다. 예시로, MATH/SCAN 등에서 정확도 상승이 관찰되고, P3에서는 정확도 하락이 있지만 “수용 가능한 수준”이라고 서술합니다.

7.2 Ablation: SFT → SFT+RL의 추가 이득

Task Decomposer를 기준으로, base → SFT → SFT+RL로 갈수록 Acc가 전반적으로 상승하고 비용도 개선되는 양상을 Table 2로 제시합니다.

즉, 이 논문에서는 RL이 “정확도만 올리는 것”이 아니라 라우팅 안정화 및 비용 효율 개선에도 기여한다는 메시지를 강조합니다.

7.3 모델 풀 변경에 대한 일반화

일부 모델을 다른 동급 모델로 교체(예: Qwen2.5-7B→GLM-4-9B-Chat, DeepSeek-V3→Kimi-K2-Instruct)해도, 재학습 없이 성능이 크게 붕괴하지는 않는다는 결과를 Table 3로 보고합니다. 단, 일부 벤치마크에서는 정확도 하락이 있고 비용이 증가할 수 있음을 함께 언급합니다.


8) 비용–정확도 트레이드오프와 지연시간(Latency)

8.1 트레이드오프 곡선(Pareto frontier)

라우팅 임계값을 조정해 예산-성능을 조절할 수 있으며, MATH/SCAN에서 DoT, DataShunt 대비 새 Pareto frontier를 형성한다고 주장합니다.

본문에서는 예로 “MATH에서 70%+ 정확도를 0.08¢ 이하 비용으로 달성” 같은 정량 설명도 제공합니다.

8.2 Latency 측정 방식

지연시간 비교는 네트워크 환경을 동일하게 두고, 단일 스레드에서 모든 API 호출을 순차 실행해(동시성 효과 제거) 측정했다고 명시합니다.

이 점은 실제 시스템 설계 관점에서 “병렬 호출/파이프라이닝을 허용하면 결과가 달라질 수 있음”을 시사합니다.


profile
NLP 공부합니당

0개의 댓글