턴으로 최적화하고, 토큰으로 나눈다: Multiscale Policy Optimization (MPO) — 장기 LLM 에이전트 RL의 크레딧 할당
원문 정보
- 제목: Multiscale Policy Optimization for Long-Horizon LLM Agents
- 저자: Tao Ren, Hui Yang, Jia Deng, Tingyang Chen, Qiyao Wang, Shuo Tang, Ziyang Zeng, Yuhua Jiang, Guanghao Li, Huatong Song, Yining Li, Yifan Luo, Kunbao Ding, Feng Chang, Chuan Hao, Ran Tao, Bryan Dai, Jiafeng Liang, Jinyang Jiang (IQuest / IQuestLab, Hugging Face 페이지 표기 기준)
- 출처: arXiv preprint
2610.35013[cs.AI] (arxiv.org) · Hugging Face Papers (huggingface.co)- 발행: 2026-10-26 (arXiv v1) · 학회/저널 게재 정보 없음(프리프린트) · 본문 7장 + 부록 A–D 구성
- 원문 링크: https://huggingface.co/papers/2610.35013
에이전트를 RL로 학습시킬 때 “보상을 어느 단위로 나눠 줄 것인가”라는 오래된 질문을, critic 가치의 분산 구조라는 경험적 관찰과 TRPO식 정책 개선 경계로 다시 묻는 논문이라 ML-Theory에 담는다.
한 줄 요약 (TL;DR)
멀티턴 LLM 에이전트에서 critic 가치는 토큰 안이 아니라 턴과 턴 사이에서 주로 변한다. 그러니 크레딧 전파와 정책 업데이트(importance ratio)는 턴 단위로 하고, 토큰에게는 턴 평균을 보존하는 범위에서만 국소적으로 크레딧을 재분배하자 — 이것이 MPO이고, 4B·30B-A3B 모델의 Search·Claw-Eval·Automation Bench에서 GRPO·GSPO·PPO·VAPO·SAO보다 높은 점수를 보고한다.
한눈에 보기
flowchart LR
O["① 관찰<br/>critic 가치 분산의 대부분<br/>(중앙값 89.5%)이 턴 간 차이"]
T["② 이론<br/>토큰 surrogate에는<br/>within-turn 분포 이동<br/>페널티가 추가로 붙는다"]
subgraph M["③ 방법: MPO"]
direction TB
M1["턴 단위 GAE<br/>(턴 축 크레딧 전파)"]
M2["MAE<br/>턴 평균 보존<br/>토큰 재분배"]
M3["턴 단위 IS<br/>+ stop-gradient"]
M1 --> M2 --> M3
end
R["④ 결과<br/>4B · 30B-A3B ×<br/>Search · Claw-Eval · Automation Bench<br/>베이스라인 대비 향상"]
O -->|"턴을 macro action으로"| T
T -->|"턴 해상도로 설계"| M
M --> R
왜 이 글을 골랐나
LLM RL의 표준 도구는 크게 둘로 갈린다. PPO 계열(PPO, VAPO 등)은 critic을 두고 토큰마다 GAE로 advantage를 계산한다. GRPO 계열(GRPO, GSPO)은 critic 없이 시퀀스 전체에 하나의 advantage를 뿌린다. 한쪽은 너무 잘게, 다른 쪽은 너무 크게 자른다. 그런데 에이전트는 “도구 호출 한 번 = assistant 턴 하나”라는 중간 단위로 세상과 상호작용한다.
이 위키의 CS336 17강 — 정책 경사와 GRPO 직접 구현과 16강 — RLVR와 추론 모델에서 단일 응답 RL의 기본기를 다뤘다면, 이 논문은 그 다음 질문 — 긴 상호작용 궤적에서 “시간 축”을 어떻게 나눌 것인가 — 에 답한다. 추론 모델 학습 로드맵을 다룬 추론 모델을 밑바닥부터의 RLVR/GRPO 파트를 에이전트로 확장한 문제의식이기도 하다.
핵심 내용
1. 관찰: critic 가치는 턴 사이에서 움직인다
저자들은 search 에이전트 학습 run 하나에서 8개 체크포인트 배치, 2,048개 궤적 · 16,323개 턴의 critic 값을 측정했다. 결과는 다음과 같다(원문 수치).
- 궤적 내부의 (토큰 가중) critic 가치 분산 중 턴 평균 간 차이가 차지하는 비율의 중앙값이 89.5%.
- 93.8%의 궤적에서 턴 간 분산이 턴 내 분산보다 크다.
즉 critic이 보기에 “상황이 좋아졌다/나빠졌다”는 판단은 대부분 턴 경계에서 일어난다. 한 턴 안의 토큰들은 거의 같은 가치 수준에 놓인다. 이것이 “턴을 macro action으로 보고 최적화하되, 토큰 간 크레딧은 세밀하게 나눌 여지를 남기자”는 설계의 출발점이다.
2. 설정: 턴을 macro decision으로
- 각 assistant 턴은 하나의 macro action이고, 그 안의 토큰은 한 글자씩 생성되는 micro action이다.
- 보상은 terminal reward 하나이며 마지막 토큰에 놓인다. 할인율은
γ = 1. - 토큰 TD residual:
δ_{t,i} = r_{t,i} + V_{t,i+1} − V_{t,i}(턴의 끝에서는 경계 값으로 다음 턴의 첫 토큰 값V_{t+1,1}을 쓴다).
3. 이론: 턴 단위 surrogate vs 토큰 단위 surrogate
4장은 TRPO식 TV-distance 분석으로 두 surrogate를 비교한다.
- Theorem 1: 턴 단위 정책 개선의 하한(경계)을 준다.
- Theorem 2: (exact advantage, 같은 KL 제약 하에서) 토큰 단위 surrogate를 쓰면 여기에 턴 내부의 분포 이동(within-turn distribution shift) 페널티가 추가로 붙는다는 것을 보인다(4.2절 “Additional Cost of Token Surrogates”).
저자들은 Theorem 1의 조건이 개선을 보장하는 충분조건일 뿐 필요조건은 아니라고 명시하고(부록 A.2), 고정된 턴 horizon을 가정한다. Theorem 2의 메커니즘을 원문 설명대로 풀면 이렇다. 턴 ratio(토큰 ratio의 곱)는 턴 전체의 출력 분포를 보정한다. 반면 토큰 ratio 하나는 옛 정책이 만든 prefix에서의 다음 토큰 분포만 보정한다. 턴(macro) surrogate는 정확한 토큰 advantage들을 새 정책의 prefix 분포 위에서 평균하는데, 토큰 surrogate는 이를 옛 정책의 prefix 분포 위에서 평균하게 된다. 이 턴 내부 prefix 분포의 어긋남이 바로 추가 페널티 항이다. 즉 이 정리는 advantage가 정확하다고 가정한 상태에서 surrogate의 분포 보정 방식 차이를 다루는 것이며, PPO의 clipping은 정리의 일부가 아니다.
4. 방법: Multiscale Policy Optimization
MPO는 세 부품으로 이루어진다(5장).
(a) 턴 단위 크레딧 전파 — 턴 축의 GAE. 한 턴의 토큰 residual을 모두 더하면 중간 값들이 telescoping으로 상쇄되어 턴 residual이 된다.
δ_t^turn = 1{t=T}·R(τ) + V_{t+1,1} − V_{t,1}
A_t^turn = δ_t^turn + λ · A_{t+1}^turn
GAE를 토큰이 아니라 턴 축에서 돌리는 셈이다. 수백~수천 토큰짜리 턴이 이어지는 궤적에서도 λ-감쇠가 “턴 수”만큼만 일어난다.
(b) 턴 내부 크레딧 할당 — MAE (Multiscale Advantage Estimation). 턴 경계에서 잘리는 국소 trace를 만들고,
A_{t,i}^intra = Σ_{j≥i} λ_intra^{j−i} · δ_{t,j} (턴 경계에서 절단)
A_{t,i}^MAE = A_t^turn + β · (A_{t,i}^intra − mean_i(A_{t,i}^intra))
턴 평균을 빼 주기 때문에 각 턴의 평균 advantage는 정확히 A_t^turn으로 보존된다. 원문은 이것을 “턴 평균을 A_t^turn으로 고정하는 least-squares projection의 해”로 설명한다. β = 0이면 턴 advantage를 그 턴의 모든 토큰에 그대로 뿌리는(turn broadcasting) 방식으로 돌아간다. critic 자체는 VAPO의 decoupled GAE를 따라 λ_critic = 1로 terminal return에 직접 회귀한다.
(c) 턴 단위 importance sampling. 토큰 ratio ρ_{t,i} = π_θ(a_{t,i}|h_{t,i}) / π_old(a_{t,i}|h_{t,i})를 턴 안에서 곱해 턴 ratio ρ_t = Π_i ρ_{t,i}를 만든다. 핵심은 stop-gradient 트릭이다.
ρ̃_{t,i} = ρ_{t,i} · sg[ Π_{j≠i} ρ_{t,j} ]
- forward 값은 턴 ratio
ρ_t와 같다 → clipping이 턴 전체의 정책 이동을 기준으로 걸린다. - gradient는
ρ_t · ∇log π(a_{t,i}|h_{t,i})가 된다 → 각 토큰은 자기 MAE advantage를 그대로 유지한다.
목적함수는 PPO식 clipped surrogate min(ρ̃·A, clip(ρ̃, 1−ε, 1+ε)·A)를 배치 내 유효 assistant 토큰에 대해 평균한 것이고, advantage는 배치 단위로 한 번 정규화한다.
5. 실험 설정
- 모델: Qwen3-4B-Thinking, Qwen3-30B-A3B-Instruct.
- 과제: Search(300 step), Claw-Eval(300 step), Automation Bench(200 step). Search 평가는 BrowseComp-Plus, GAIA, HLE(WebThinker text-only subset).
- 베이스라인: Base, GRPO, GSPO, PPO, VAPO, SAO, 그리고 “MPO w/ token IS”(MAE는 쓰되 ratio는 토큰 단위).
- 프로토콜: run마다 best 체크포인트를 5회 평가한 평균. Search pass@1/pass@3은 과제당 32 rollout으로 추정. Claw-Eval은 3회 시도의 pass@3과 pass³, Automation Bench는 pass@1.
6. 주요 결과
원문 Table 1에서 Search 세 벤치마크의 pass@1만 옮기면 다음과 같다(높을수록 좋음). Base와 GRPO 행은 생략했다 — 어느 열에서도 최강 베이스라인이 아니어서 아래 향상폭 계산에 영향을 주지 않는다.
| 모델 | 방법 | BrowseComp-Plus | GAIA | HLE |
|---|---|---|---|---|
| 4B | GSPO | 38.56 | 34.34 | 9.26 |
| 4B | PPO | 40.85 | 31.71 | 7.22 |
| 4B | VAPO | 43.23 | 33.91 | 7.54 |
| 4B | SAO | 43.75 | 35.62 | 8.19 |
| 4B | MPO w/ token IS | 45.72 | 36.35 | 8.89 |
| 4B | MPO | 48.08 | 39.47 | 9.92 |
| 30B-A3B | GSPO | 40.22 | 35.25 | 8.61 |
| 30B-A3B | PPO | 45.20 | 35.70 | 8.31 |
| 30B-A3B | VAPO | 46.73 | 38.33 | 9.25 |
| 30B-A3B | SAO | 45.36 | 39.62 | 9.91 |
| 30B-A3B | MPO w/ token IS | 48.27 | 41.23 | 9.45 |
| 30B-A3B | MPO | 50.32 | 43.42 | 10.03 |
- 원문에 따르면 MPO는 두 스케일 모두에서 9개 지표 전부 최고점이다. Claw-Eval pass@3은 4B에서 66.91(SAO 64.52), 30B에서 73.22(SAO 72.72), Automation Bench pass@1은 4B 13.33(SAO 12.06), 30B 15.00(SAO 14.20)이다.
- 열마다 가장 강한 비-MPO 베이스라인 대비 pass@1 향상폭은 4B에서 BrowseComp-Plus/GAIA/HLE 각각 4.33/3.85/0.66점(기준: SAO/SAO/GSPO), 30B에서 3.59/3.80/0.12점(기준: VAPO/SAO/SAO)이다. HLE에서의 향상은 작다.
- 턴 IS의 효과: ratio만 토큰 단위로 바꾸면(MPO w/ token IS) 4B Search pass@1이 2.36/3.12/1.03점, 30B에서 2.05/2.19/0.58점 떨어진다.
- 학습 동역학: MPO는 학습 후반 critic explained variance가 PPO보다 높다. 다만 저자들 스스로 explained variance는 return 분산과 각 정책의 rollout에 의존하므로 critic 정확도 향상의 인과적 증거가 아니라고 단서를 단다.
- Test-time scaling (4B, pass@32): 75.90/69.90/34.00으로 GRPO·PPO 중 강한 쪽보다 3.61/5.82/5.80점 높다. MPO의 엔트로피가 더 낮은데도 pass@k가 높으므로, 엔트로피만으로 collapse를 판단할 수 없다고 지적한다.
7. Ablation (4B Search, 설정당 1 run)
기준 설정은 (λ, λ_intra, β) = (0.80, 0.95, 1.00).
- β (Table 3): BrowseComp-Plus pass@1 기준 β=0.0 → 41.80, 0.5 → 44.13, 1.0 → 48.08, 1.5 → 46.23, 2.0 → 45.14. 턴 내부 할당을 없앤 β=0(턴 GAE + 턴 IS, 토큰 재분배 없음)도 PPO(40.85)를 Search 6개 지표 모두에서 넘지만, pass@1 차이는 BrowseComp-Plus/GAIA/HLE 각각 0.95/2.49/0.66점으로 작다. 반면 β=0 → 1.0으로 가면 pass@1이 6.28/5.27/2.04점 오르고, 원문은 국소 할당을 없애면 성능이 “substantially” 떨어진다고 쓴다. β를 1.0보다 더 키우면 평균이 보존되는데도 점수가 다시 떨어진다.
- λ: 0.80이 sweet spot이고, 0.60이나 0.85 모두 낮아진다.
- λ_intra: 시험한 값(0.90, 0.95, 1.00) 중 0.95가 가장 좋다.
8. 결론
저자들은 상호작용 수준(interaction-level)의 크레딧과 생성 수준(generation-level)의 크레딧은 서로 다른 horizon으로 다뤄야 한다고 결론짓는다.
분석과 인사이트
여기부터는 원문 요약이 아니라 내 해석이다.
1) “적절한 시간 해상도”를 데이터로 고른 것이 핵심이다. 이 논문에서 가장 좋은 부분은 알고리즘보다 89.5%라는 관찰이다. “토큰이냐 시퀀스냐”를 취향으로 고르지 않고, critic이 실제로 어디서 가치를 바꾸는지 측정한 뒤 그 해상도에 맞췄다. 계층적 RL의 options/macro action 관점이 LLM 에이전트에서 자연스럽게 다시 등장하는 모습이기도 하다. “도구 호출 한 번”이 에이전트의 진짜 의사결정 단위라는 직관에 수치를 붙인 셈이다.
2) MAE의 β는 “평균 보존 국소 보정”의 세기다. β=0은 critic 기반 턴 GAE advantage를 턴의 모든 토큰에 그대로 뿌리는 방식이다(critic 없이 시퀀스 전체에 하나의 advantage를 주는 GRPO와는 다르다). β를 키운다고 PPO식 토큰 GAE로 돌아가는 것도 아니다 — intra trace는 턴 경계에서 잘리고, 턴 평균은 언제나 A_t^turn으로 고정된다. 그래서 β는 두 알고리즘 사이의 보간 계수라기보다, 턴 간 크레딧 신호를 건드리지 않은 채 턴 안에서 토큰별 편차를 얼마나 세게 얹을지 정하는 국소 보정 강도로 읽는 것이 정확하다. 그리고 β ablation의 숫자는 이 국소 보정이 핵심임을 보여 준다. β=0만으로도 PPO를 넘긴 하지만 그 폭은 pass@1 기준 0.95/2.49/0.66점으로 작고, β=0 → 1.0의 향상(6.28/5.27/2.04점)이 훨씬 크다. 즉 향상의 대부분은 β≈1의 평균 보존 턴 내부 토큰 재분배에서 오고, 턴 GAE만으로 얻는 몫은 작은 편이다. (설정당 1 run이라는 단서는 그대로 남는다.)
3) stop-gradient 트릭은 실무적으로 가장 가져다 쓰기 쉬운 부분이다. forward에서는 턴 ratio로 clip 여부를 판단하고 backward에서는 토큰별 advantage를 살리는 구성은, 기존 PPO 구현에서 ratio 계산 몇 줄만 바꾸면 된다. 시퀀스 단위 ratio를 쓰는 GSPO와 문제의식이 닮았지만, 단위를 “시퀀스 전체”가 아니라 “턴”으로 잡았다는 점이 다르다. 다만 수백~수천 토큰짜리 턴에서 토큰 ratio를 곱하면 값이 쉽게 폭주하거나 0에 가까워질 수 있는데, 원문은 이 수치 안정성 문제(예: log-space 계산, 길이 정규화 여부)를 다루지 않는다. Hugging Face 페이지 댓글에서도 긴 턴의 ratio 폭주를 막으려 clipping을 과제마다 다시 튜닝해야 한다면 그것은 배포 비용이며, 40토큰짜리 호출과 6,000토큰짜리 읽기처럼 턴 길이가 크게 다를 때 턴 ratio의 분산을 따로 검증해야 한다는 우려가 제기됐다.
4) 결과는 인상적이지만 통계적 신뢰도에는 단서가 필요하다. 원문에서 확인되는 한계를 정리하면 다음과 같다.
- 각 방법·각 ablation 설정이 단일 run이다(HF 페이지 댓글에서도 분산을 알 수 없다는 지적이 있다). BrowseComp-Plus·GAIA처럼 4점 안팎의 차이는 의미 있어 보이지만, HLE의 0.12~0.66점 차이는 seed 노이즈 안에 있을 가능성을 배제할 수 없다.
- critic 분산 관찰이 search 에이전트 run 하나에서 나왔다. 턴이 짧고 많은 automation 과제에서도 같은 구조가 유지되는지는 별도 확인이 필요하다.
- ablation은 4B Search에서만 했다. λ=0.80, β=1.0이라는 sweet spot이 다른 과제·스케일로 옮겨 가는지는 알 수 없다.
- 이론은 고정 턴 horizon과 충분조건 경계에 기대므로, “왜 턴 IS가 실제로 더 좋은가”에 대한 완결된 설명이라기보다는 방향을 정당화하는 근거로 읽는 것이 맞다.
5) 에이전트 엔지니어에게 주는 함의. 하니스를 설계하는 쪽에서는 “턴”의 경계를 어떻게 긋느냐(도구 호출 단위인지, 사고+호출 묶음인지)가 단지 UX나 로깅 문제가 아니라 학습 신호의 단위가 된다는 점이 흥미롭다. Codex의 agent loop처럼 턴 구조가 명확한 하니스는 이런 턴 단위 RL과 자연스럽게 맞물린다.
적용 포인트
- 멀티턴 에이전트를 RL로 학습시킨다면 먼저 critic 가치의 턴 간/턴 내 분산 비율을 측정해 보자. 내 과제에서도 턴 간 분산이 지배적이라면 MPO식 턴 단위 설계가 유력한 후보다.
- β=0(턴 GAE + 턴 broadcasting)은 출발점일 뿐, 목표가 아니다. 원문의 β=0 설정도 턴 단위 IS를 함께 썼고, 그래도 PPO 대비 향상은 작았다(BrowseComp-Plus pass@1 0.95점). 단계적으로 도입하더라도 “턴 축 GAE + 턴 IS”로 파이프라인을 검증한 뒤 β≈1의 MAE 재분배까지 넣어야 원문이 보고한 주된 향상을 기대할 수 있다.
- ratio를 턴 단위로 묶되 gradient는 토큰별로 유지하는 stop-gradient 구성을 시도해 보자. 원문에서 토큰 IS 대비 pass@1 0.6~3.1점 차이를 만든 부품이다.
- 엔트로피 하락만 보고 collapse로 판단하지 말자. pass@k 같은 탐색 지표를 함께 본다.
- 비교 실험에서는 seed를 여러 개 돌려 분산을 보고하자. 이 논문의 가장 큰 약점이 단일 run이라는 점을 반면교사로 삼는다.
- 하니스 설계 시 턴 경계를 명시적으로 기록해 두면, 나중에 턴 단위 크레딧 할당·평가로 확장하기 쉽다.
마무리
MPO는 “에이전트 RL에서 시간 축을 어떤 해상도로 자를 것인가”라는 질문에 턴으로 전파하고, 턴으로 업데이트하고, 토큰에는 평균을 지키며 나눠 준다는 깔끔한 답을 내놓는다. 89.5%라는 관찰에서 출발해 GAE·importance sampling·이론적 경계까지 같은 해상도로 일관되게 맞춘 설계가 설득력 있다. 다만 단일 run과 단일 과제 ablation이라는 한계 때문에, 수치 자체보다는 “크레딧의 단위를 데이터로 고른다”는 방법론과 턴 IS stop-gradient 트릭을 가져가는 것이 이 논문을 읽는 가장 실용적인 방법이라고 본다.
더 읽어보기
- 원문 — Multiscale Policy Optimization for Long-Horizon LLM Agents (Hugging Face Papers)
- 원문 — arXiv:2610.35013
- CS336 17강 — 정책 경사와 GRPO 직접 구현 — GRPO의 시퀀스 단위 advantage를 직접 구현해 보는 기초. MPO가 어디서 갈라지는지 비교하기 좋다
- CS336 16강 — RLVR와 추론 모델 — terminal reward 기반 RL의 배경
- CS336 15강 — SFT와 RLHF — PPO 기반 RLHF의 출발점
- 추론 모델을 밑바닥부터 (Sebastian Raschka) — RLVR/GRPO 실습 로드맵, 단일 응답 RL에서 에이전트 RL로 넘어가기 전 단계
- Codex의 agent loop를 펼쳐 보기 — “턴”이 실제 하니스에서 어떻게 구성되는지
- The Principles of Deep Learning Theory — 같은 ML-Theory 카테고리의 이론 글