Vector Policy Optimization: Training for Diversity Improves Test-Time Search
https://arxiv.org/abs/2605.22817
Ryan Bahlous-Boldi, Isha Puri, Idan Shenfeld, Akarsh Kumar, Mehul Damani, Sebastian Risi, Omar Khattab, Zhang-Wei Hong, Pulkit Agrawal | arXiv:2605.22817 | 2026년 5월
테스트타임 탐색이 표준 추론 방식으로 자리 잡으면, 후학습의 목표도 달라진다. 한 번의 응답을 가장 높은 점수로 밀어 올리는 정책은 샘플을 많이 뽑아도 비슷한 답만 반복하기 쉽고, 탐색기는 그 안에서 새로운 조합을 찾지 못한다. 이 논문은 그 병목을 보상 벡터와 후보 집합 최적화라는 두 축으로 다시 정의한다.
Vector Policy Optimization, 줄여서 VPO는 GRPO류 스칼라 강화학습의 대체물로 제안된다. 논문이 겨냥하는 상황은 코드 생성, 다중 홉 질의응답, 도구 호출, maze navigation처럼 하나의 정답 점수 뒤에 여러 세부 기준이 숨어 있는 과제다. 저자들은 이 세부 기준을 하나의 평균값으로 접어 넣으면 정책이 한 trade-off에 과도하게 붙고, 이후 best@k나 OpenEvolve 같은 탐색 절차가 추가 샘플에서 얻을 것이 줄어든다고 설명한다.
핵심 전환은 좋은 한 답을 직접 훈련하는 관점에서 서로 다른 좋은 답들의 집합을 훈련하는 관점으로 이동하는 것이다. VPO는 하나의 rollout 안에서 여러 후보 답을 생성하게 하고, 각 후보가 보상 벡터의 서로 다른 weighting에서 좋은 점수를 얻도록 학습시킨다. 따라서 추론 시점의 search budget이 커질수록 모델이 내놓은 후보 풀 안에서 더 좋은 조합을 고를 여지가 남는다.
1. 서론: 스칼라 보상 후학습이 테스트타임 탐색을 막는 이유
1.1 단일 보상 최적화와 후보 붕괴
현대 LLM 시스템은 모델 하나만으로 끝나지 않는다. 어려운 코딩 문제나 복잡한 추론 문제에서는 모델이 여러 후보를 만들고, verifier나 unit test, reward model, evolutionary search가 그 후보를 걸러내는 구조가 흔해졌다. 이때 모델의 역할은 단일 출력의 즉시 점수를 높이는 데서 멈추지 않는다. 탐색기가 비교할 수 있는 다양하고 유효한 후보군을 공급하는 능력이 전체 시스템의 성능을 좌우한다.
GRPO 같은 정책경사 후학습은 고정된 스칼라 보상 아래에서 현재 점수가 높은 응답의 확률 질량을 키운다. 이는 한 번만 답을 낼 때는 자연스러운 목표지만, k개의 샘플을 뽑아 고르는 test-time search에서는 부작용이 생긴다. 정책이 빠르게 좁아지면 샘플 수를 3개에서 30개로 늘려도 서로 다른 전략이 거의 나오지 않고, best@k 곡선은 초기에 개선된 뒤 평평해진다.
VPO 논문은 이 문제를 단순한 decoding temperature 문제로만 보지 않는다. 온도를 높이면 표면 형태는 흔들릴 수 있지만, 보상 기준의 다른 영역을 겨냥하는 고품질 후보가 자동으로 보존되는 것은 아니다. 필요한 것은 token-level 노이즈보다 reward component별로 다른 강점을 가진 해들의 분포다. 저자들이 말하는 다양성은 문체 다양성이나 의미적 paraphrase 수준을 넘어 reward-space diversity다.
예를 들어 코드 생성에서 테스트케이스별 정답 여부를 벡터로 보면, 어떤 후보는 edge case A에 강하고 다른 후보는 edge case B에 강할 수 있다. 다중 홉 QA에서는 각 hop의 근거 회수와 최종 F1이 분리될 수 있고, 도구 사용 과제에서는 format, tool name, argument key, argument value가 각기 다른 실패 모드를 만든다. 이처럼 세부 기준이 분해될 때, 평균 점수 하나만 최적화하면 아직 낮게 평가된 대안 전략이 너무 빨리 사라진다.
Figure 1: Vector Policy Optimization은 스칼라 GRPO가 한 해로 수렴하는 현상과 달리 여러 reward weighting을 동시에 고려해 테스트타임 탐색에 더 넓은 후보 풀을 제공한다.
Figure 1은 논문의 문제의식을 가장 압축적으로 보여 준다. GRPO는 하나의 스칼라 축을 따라 모든 후보를 같은 방향으로 끌고 가지만, VPO는 보상 weighting을 여러 방향으로 샘플링해 서로 다른 장점을 가진 후보를 유지한다. LiveCodeBench와 OpenEvolve에서 차이가 커지는 이유도 여기서 나온다. 탐색기가 후반에 더 좋은 해를 찾으려면 초기 후보 풀에 이미 서로 다른 실마리가 남아 있어야 한다. 즉 이 그림은 VPO가 best@1보다 search-ready candidate pool을 우선시한다는 점을 시각화한다.
1.2 탐색기가 착취를 맡을 때 훈련은 무엇을 해야 하는가
논문이 제안하는 관점은 역할 분담이다. 테스트타임 search가 exploitation을 담당한다면, RL post-training은 exploitation까지 혼자 해결하려고 하기보다 탐색 가능한 후보 공간을 보존하는 쪽에 집중해야 한다. 이 분담은 AlphaEvolve류 evolutionary search, rejection sampling, unit-test 기반 reranking처럼 이미 실무에서 쓰이는 구조와 잘 맞는다.
이 관점에서 best@k는 단순한 평가 metric을 넘어 훈련 목표의 방향을 바꾼다. best@1이 높은 정책은 단일 응답 품질이 좋다는 뜻이지만, best@30이 계속 올라가는 정책은 후보 분포가 넓고 유효하다는 뜻이다. 논문은 VPO가 바로 이 후자의 속성을 노린다고 말한다. 동일한 모델 크기와 유사한 compute budget에서 k가 커질수록 격차가 커진다면, 개선은 단순한 평균 점수 상승보다 search-compatible distribution의 차이로 해석할 수 있다.
이 문제의식은 최근 agent training 논의와도 이어진다. 기존 wiki에서 다룬 Contribution-Weighted GRPO나 Search Round Credit Assignment는 trajectory 내부 어느 단계에 reward advantage를 실을지 묻는다. VPO는 그보다 앞선 질문을 던진다. 애초에 policy가 search에 필요한 후보 다양성을 유지하지 못하면, 이후 credit assignment가 정교해져도 탐색기가 이용할 branch가 부족해진다.
2. 배경 및 관련 연구: 다양성, GRPO, 다목적 보상, 테스트타임 탐색
2.1 reward-space diversity의 의미
Reward-space diversity는 후보들이 서로 다른 보상 구성요소에서 장점을 보인다는 뜻이다. 두 답이 문장 구조는 다르지만 같은 테스트케이스만 통과한다면 탐색기 관점에서는 큰 차이가 없다. 반대로 두 답이 비슷한 형식이어도 하나는 long-hop retrieval에 강하고 다른 하나는 final answer grounding에 강하다면, search는 둘 사이의 차이를 활용할 수 있다.
논문은 이를 Pareto frontier 관점으로 설명한다. 보상 벡터 $r(x,y)=[r_1(x,y),\dots,r_d(x,y)]$가 있을 때, 고정된 weighting $w^*$만 보면 특정 점 하나가 좋아 보인다. 그러나 다른 weighting에서는 다른 후보가 더 낫다. 후보 집합이 이 trade-off 면을 넓게 덮으면, 최종 deployment weighting이 고정되어 있더라도 search가 더 좋은 조합을 발견할 확률이 올라간다.
중요한 점은 VPO가 사용자 preference가 알려지지 않았다고 가정하는 classical multi-objective RL과 조금 다르다는 것이다. 논문은 deployment objective가 알려진 상황에서도 reward diversity가 유용하다고 주장한다. 이유는 search가 개별 답보다 set을 보고, set 안의 부분 전략과 edge-case 해결 패턴이 최종 objective에서 더 나은 답으로 이어질 수 있기 때문이다.
2.2 GRPO와 scalar RLVR의 장점과 한계
GRPO는 group-relative advantage를 사용해 여러 rollout 사이의 상대 점수로 업데이트를 만드는 방식이다. 구현이 비교적 단순하고 verifier가 있는 수학·코딩·도구 과제에서 강하게 작동한다. 하지만 reward가 하나의 scalar로 정리되면, update는 결국 그 scalar에서 높은 답을 반복적으로 강화한다. 이때 low-entropy collapse가 발생하면 동일 prompt에서 여러 샘플을 뽑아도 후보가 거의 같은 mode로 몰린다.
논문이 비교하는 baselines도 이 한계를 드러내기 위해 설계되어 있다. GRPO, Random-w, Max-at-K, MaxRL, Multi-RLVR, goal-conditioned GRPO는 각각 더 많은 rollout, random scalarization, best-of-k 학습, multi-answer prompt 같은 대안을 포함한다. 저자들은 단순히 multi-answer prompt만 붙이거나, GRPO에 더 많은 compute를 주는 것만으로는 VPO가 만드는 set-level reward를 재현하지 못한다고 보고한다.
Table 1. 보상 벡터가 생기는 대표 과제와 스칼라 평균으로 접을 때 잃기 쉬운 정보.
| 과제 유형 | 보상 구성요소 예시 | 스칼라화의 위험 | VPO가 활용하는 신호 |
|---|---|---|---|
| 코드 생성 | 테스트케이스별 correctness | 초기에는 평균이 낮아도 특정 edge case를 푸는 후보가 사라질 수 있음 | 테스트케이스별 강점이 다른 후보를 유지 |
| 다중 홉 QA | hop1~hop4 근거 성공과 answer F1 | 최종 F1이 높지 않은 중간 근거 전략이 조기에 억제됨 | 각 hop을 다른 reward dimension으로 보존 |
| 도구 사용 | format, tool name, argument key, argument value | 형식만 맞거나 값만 맞는 후보가 평균에서 묻힘 | 부분 성공 패턴을 search 후보로 남김 |
| 선호학습/RLHF | 여러 reward model 또는 기준별 점수 | reward dimension이 서로 거의 같은 방향이면 다양성 이득이 제한됨 | dimension 간 각도와 variance를 diagnostic 대상으로 삼음 |
Table 1은 논문이 왜 vector reward를 강조하는지 보여 준다. 핵심은 reward component가 단순한 보조 설명에 그치지 않고 학습 신호의 구조 자체라는 점이다. 평균값 하나로 묶으면 update가 어떤 component를 희생하고 어떤 component를 얻었는지 보지 못한다. VPO는 그 내부 구조를 직접 objective에 넣어 후보 집합이 여러 component의 극단과 절충점을 동시에 보게 만든다.
2.3 테스트타임 탐색과 post-training 목표의 재정렬
test-time search가 강해질수록 후학습 목표는 best@1 중심에서 best@k 중심으로 옮겨 간다. 단일 응답에서 약간 높은 점수를 얻는 정책보다, 30개 후보 안에 매우 좋은 해를 포함할 확률이 높은 정책이 실전 시스템에 더 가치 있을 수 있다. 이 논문은 그런 시스템 관점의 변화가 RL objective에도 반영되어야 한다고 본다.
이때 VPO는 search algorithm 자체를 새로 만드는 논문이 아니다. OpenEvolve 같은 탐색기는 그대로 두고, 그 탐색기에 공급되는 model distribution을 바꾼다. 따라서 이 논문은 inference scaling 연구와 post-training 연구의 접점에 있다. 모델이 search-friendly한 candidate generator로 훈련되면, 동일한 search budget도 더 높은 효율을 낼 수 있다.
3. 방법론: Vector Policy Optimization
3.1 multi-answer chain: 한 rollout 안에서 후보 집합 만들기
VPO의 첫 번째 구성요소는 multi-answer chain이다. 모델은 prompt $x$에 대해 하나의 답 $y$만 출력하지 않고, delimiter로 구분된 여러 후보 $S=\{y_1,\dots,y_m\}$를 한 번의 autoregressive sequence 안에 만든다. 후보 $y_i$를 생성할 때는 앞서 생성된 $y_1,\dots,y_{i-1}$가 context에 들어 있으므로, 모델은 이미 제시한 전략을 보고 다른 영역을 시도할 수 있다.
이 방식은 독립 샘플링과 다르다. 독립 샘플링은 같은 conditional distribution에서 여러 번 뽑는 구조라서 policy가 한 mode로 몰린 뒤에는 후보가 비슷해진다. multi-answer chain은 sequence 내부에서 "앞선 후보가 이런 방향을 썼으니 다음 후보는 다른 route를 시도한다"는 식의 in-context exploration을 가능하게 한다. 논문은 이 능력만으로 충분하다고 보지는 않지만, VPO의 set-level reward가 작동할 수 있는 표현 형식을 제공한다고 본다.
3.2 stochastic scalarization과 set-level reward
두 번째 구성요소는 보상 weighting을 고정하지 않는 것이다. 각 후보 $y$는 $d$차원 reward vector $r(x,y)$를 받고, VPO는 Dirichlet 분포에서 여러 weighting $w$를 샘플한다. 그 다음 각 weighting에 대해 후보 집합 안에서 가장 높은 scalarized reward를 찾는다. 논문의 이상화된 objective는 $R(S)=\mathbb{E}_{w\sim\mathrm{Dir}(\alpha)}[\max_{y\in S} w^\top r(x,y)]$로 쓸 수 있다.
실제 학습에서는 weight sample $K$개를 사용해 $\hat R(S^{(g)})=\frac{1}{K}\sum_{k=1}^{K}\max_{s\in S^{(g)}} w^{(k)\top}r(x,s)$처럼 근사한다. 여기서 중요한 점은 reward가 candidate별 점수의 평균을 넘어 집합 전체가 여러 weighting을 얼마나 잘 덮는지를 본다는 것이다. 후보 하나가 모든 weighting에서 조금씩 괜찮은 것보다, 서로 다른 후보가 각 weighting에서 강한 구조가 보상을 받는다.
Figure 2: VPO의 알고리즘 개요. 하나의 prompt에서 여러 answer를 만들고, 각 answer의 reward vector를 평가한 뒤 Dirichlet weighting별 best candidate를 set reward로 사용한다.
Figure 2는 VPO가 GRPO의 advantage estimator를 어떻게 바꾸는지 보여 준다. 모델은 여러 답을 한 chain으로 생성하고, evaluator는 각 답을 scalar가 아닌 vector로 평가한다. 이후 여러 weighting을 뽑아 후보 집합의 best score를 계산하므로, 학습 신호는 특정 답 하나보다 후보 집합의 coverage를 보상한다. 이 구조 때문에 VPO는 기존 RLVR 파이프라인에 비교적 작게 삽입될 수 있다.
3.3 GRPO 대체물로서의 구현 해석
논문은 VPO를 완전히 별개의 RL framework로 포장하지 않는다. 오히려 GRPO류 post-training 안에서 advantage estimator를 set-level reward로 바꾸는 drop-in replacement에 가깝다고 설명한다. 즉 rollout 수집, verifier 평가, policy update의 큰 틀은 유지하되, 한 group의 점수를 계산하는 방식만 scalar answer reward에서 vector-aware set reward로 바뀐다.
이 설계는 실무적으로 중요하다. 새로운 inference engine이나 별도 search controller를 요구하지 않고도, 학습 단계에서 후보 분포를 바꿀 수 있기 때문이다. 이미 GRPO나 RLVR 파이프라인을 갖춘 팀이라면 reward vector를 어떻게 정의하고, multi-answer format을 어떻게 안정화하며, Dirichlet weighting 수를 어느 정도로 둘지가 주요 구현 질문이 된다.
Table 2. VPO 학습 절차를 구성하는 단계별 역할.
| 단계 | 입력 | 계산 | 훈련 신호의 의미 |
|---|---|---|---|
| 1. 후보 생성 | prompt x와 현재 policy | delimiter로 구분된 m개 답을 한 rollout에 생성 | 후보들이 서로를 context로 보며 다른 전략을 시도할 수 있음 |
| 2. vector 평가 | 각 후보 y_i | r(x,y_i)를 d차원으로 계산 | 부분 성공, criterion별 품질, 테스트케이스별 통과 여부를 보존 |
| 3. weighting 샘플 | Dirichlet 분포 | 여러 w를 뽑아 w^T r을 계산 | 하나의 preference만 강제하지 않고 여러 trade-off를 탐색 |
| 4. set reward | 후보 집합 S | 각 w에서 max candidate를 고르고 평균 | 집합이 reward simplex를 얼마나 넓게 덮는지 보상 |
| 5. policy update | set reward와 GRPO식 group 비교 | 좋은 coverage를 만든 sequence의 확률 증가 | 탐색기에 유용한 후보 분포를 학습 |
Table 2의 흐름을 보면 VPO는 "다양성을 reward에 넣는다"는 문장보다 더 구체적이다. 다양성은 별도 penalty로 더해지는 항에 머물지 않고, 여러 weighting에서 후보 집합의 best score를 보는 방식으로 objective 안에 들어간다. 그래서 중복 후보를 많이 만드는 policy는 일부 weighting에서만 점수를 얻고, 서로 다른 component를 커버하는 policy는 여러 weighting에서 반복적으로 보상을 받는다.
4. 실험 설정: 네 가지 과제와 비교 기준
4.1 데이터셋 및 벤치마크
논문은 VPO를 네 가지 주요 과제에서 평가한다. Maze는 navigation 과제로 completion, gold 획득, diamond 획득, lava 회피 같은 reward component를 가진다. MuSiQue는 multi-hop QA로 hop별 성공과 answer F1을 분리한다. EUREQA는 여러 entity 조건을 만족해야 하는 추론 과제이며, ToolRL은 tool call의 형식과 인자 정확도를 분리해 볼 수 있다.
추가로 논문은 LiveCodeBench와 OpenEvolve case study를 통해 VPO가 단순 benchmark curve를 넘어 실제 coding search loop에도 영향을 주는지 본다. 여기서 관심은 best@k와 pass@k가 k에 따라 어떻게 변하는지, 그리고 32개 hardest held-out problem처럼 표준 best@30에서도 양쪽이 0점을 받은 문제를 evolutionary search가 새로 풀 수 있는지다.
Table 3. 논문이 사용한 주요 과제와 reward vector 구성.
| 도메인 | 모델/분할 요약 | reward dimension | 평가 포인트 |
|---|---|---|---|
| Maze | Qwen3-4B, 100 held-out mazes | 4: completion, gold, diamond, avoid_lava | best@k가 k 증가에 따라 계속 오르는지 확인 |
| MuSiQue | Qwen3-1.7B, 300-question hop-stratified held-out split | 5: hop1~hop4와 answer F1 가중 | multi-hop evidence coverage와 최종 답 품질을 함께 평가 |
| EUREQA | Qwen3-8B, hard_5 held-out half, 4 seeds | 5: entity A~E 조건 만족 | entity별 partial success가 후보 다양성으로 이어지는지 확인 |
| ToolRL | Qwen3-1.7B, 80-prompt held-out split, 4 seeds | 4: format, tool_name, arg_key, arg_value | reward ceiling 근처에서 VPO의 이득이 제한되는지 관찰 |
| LiveCodeBench | Qwen2.5-Coder-7B-Instruct 기반 case study | 테스트케이스별 correctness | pass@k, best@k, OpenEvolve 반복 탐색에서 비교 |
4.2 베이스라인과 비교 설계
비교군은 단일 축으로만 구성되지 않는다. 기본 GRPO는 고정된 scalar reward를 최적화하고, Random-w는 weighting을 무작위화하지만 set-level objective는 갖지 않는다. Max-at-K와 MaxRL은 best-of-k를 직접 겨냥하는 방향이며, Multi-RLVR은 multi-answer prompt를 사용한다. Goal-conditioned GRPO는 weighting을 입력 조건으로 주는 대안이다.
이 비교 설계는 VPO의 성능 향상이 어느 요소에서 오는지 분리하기 위한 것이다. 만약 multi-answer prompt만으로 충분하다면 Multi-RLVR이 VPO에 가까워야 한다. 만약 random weighting만으로 충분하다면 Random-w가 비슷해야 한다. 만약 compute가 문제라면 GRPO/GDPO에 더 많은 rollout을 준 설정이 VPO를 따라잡아야 한다. 논문은 여러 표와 그림에서 이 세 가설이 충분하지 않다고 보고한다.
4.3 평가 지표
핵심 지표는 best@k다. prompt $x$에 대해 k개 후보 집합 $S_k(x)$를 만들고, deployment weighting $w^*$ 아래에서 가장 높은 점수를 가진 후보를 고른다. 수식으로는 $\mathrm{best}@k(x)=\max_{s\in S_k(x)} w^{*\top}r(x,s)$다. 코딩에서는 pass@k도 함께 사용되며, 이는 k개 후보 중 하나라도 정답을 통과할 확률에 가깝다.
또 하나의 중요한 지표는 reward-space diversity다. 논문은 rollout 후보들의 reward vector 사이 pairwise L1 distance를 추적한다. 이 값이 크다는 것은 후보들이 token surface 차이를 넘어 reward component 수준에서 서로 다른 trade-off를 구현한다는 의미다. VPO가 높은 best@k를 보이면서 이 diversity도 유지한다면, 성능 향상을 단순한 우연한 샘플링 효과로 보기 어렵다.
5. 주요 실험 결과: best@k와 pass@k에서 보이는 차이
5.1 MuSiQue와 EUREQA: k가 커질수록 벌어지는 격차
MuSiQue와 EUREQA 결과는 논문의 중심 메시지와 잘 맞는다. scalar GRPO는 초기 점수를 크게 올리지만 best@k 곡선이 빠르게 plateau에 들어간다. 반면 VPO는 k가 커질수록 추가 샘플에서 계속 이득을 얻는다. 이는 단일 응답의 평균 품질 개선을 넘어, 후보 집합 안에 서로 다른 근거 조합과 부분 정답 전략이 남아 있다는 신호다.
Figure 3: MuSiQue와 EUREQA의 test-time scaling. Scalar GRPO는 빠르게 plateau를 보이고, VPO는 k 증가에서 추가 이득을 유지한다.
Figure 3은 best@k 곡선의 모양을 통해 후보 붕괴를 보여 준다. GRPO는 낮은 k에서 이미 높은 점수를 얻지만, k를 늘려도 추가 개선이 작다. VPO는 초기 후보 하나만 보면 항상 압도적이지 않을 수 있으나, 후보 수가 증가할수록 더 좋은 답을 찾을 가능성이 커진다. 논문이 말하는 search-compatible post-training의 실험적 핵심이 이 곡선이다. 특히 plateau의 위치는 후보 분포가 얼마나 빨리 좁아지는지 보여 주는 운영 지표로 볼 수 있다.
Table 4. MuSiQue held-out split에서 보고된 대표 best@k 수치.
| 방법 | best@3 | best@5 | best@10 | best@30 | F1@30 | diversity |
|---|---|---|---|---|---|---|
| Qwen3-1.7B single-answer prompt | 0.310 | 0.339 | 0.373 | 0.423 | 0.161 | 0.634 |
| GRPO | 0.711 | 0.716 | 0.721 | 0.728 | 0.447 | 0.054 |
| Random-w | 0.712 | 0.716 | 0.721 | 0.728 | 0.445 | 0.061 |
| Max-at-K | 0.757 | 0.768 | 0.783 | 0.802 | 0.573 | 0.175 |
| Multi-RLVR | 0.599 | 0.616 | 0.627 | 0.633 | 0.498 | 0.814 |
| VPO | 0.779 | 0.787 | 0.799 | 0.816 | 0.594 | 0.730 |
Table 4에서 눈에 띄는 부분은 GRPO의 diversity가 0.054까지 작아지는 반면, VPO는 높은 best@k와 큰 reward-space diversity를 함께 유지한다는 점이다. Multi-RLVR은 diversity는 높지만 best@k가 낮아, 단순히 여러 답을 만들었다고 성능이 따라오지 않는다는 것을 보여 준다. VPO는 다답 생성과 set-level reward가 결합될 때 후보 다양성이 실제 task reward로 연결된다고 해석할 수 있다.
5.2 Maze와 ToolRL: 과제별 ceiling이 만드는 차이
Maze에서는 VPO의 장점이 뚜렷하다. GRPO는 best@3부터 best@30까지 거의 변하지 않아 후보가 빠르게 같은 전략으로 수렴한 모습이다. VPO는 best@3에서 이미 높고 best@30까지 추가 개선을 유지한다. reward component가 navigation의 서로 다른 목표를 나타내기 때문에, 다중 weighting 학습이 실제로 다른 경로 전략을 보존한 것으로 읽힌다.
Table 5. Maze held-out 100개에서 보고된 대표 best@k 수치.
| 방법 | best@3 | best@5 | best@10 | best@30 | diversity |
|---|---|---|---|---|---|
| Qwen3-4B single-answer prompt | 0.341 | 0.457 | 0.596 | 0.714 | 0.905 |
| GRPO | 0.432 | 0.432 | 0.432 | 0.432 | 0.003 |
| Random-w | 0.414 | 0.420 | 0.425 | 0.432 | 0.090 |
| Max-at-K | 0.526 | 0.552 | 0.568 | 0.577 | 0.671 |
| Multi-RLVR | 0.420 | 0.430 | 0.435 | 0.436 | 0.187 |
| VPO | 0.512 | 0.576 | 0.644 | 0.735 | 0.758 |
ToolRL은 다른 면을 보여 준다. 기본 GRPO도 reward ceiling에 가까운 성능을 얻기 때문에, VPO가 모든 setting에서 큰 차이를 만들지는 않는다. 논문은 이 경우 모든 방법이 높은 점수 근처에서 수렴한다고 설명한다. 이는 VPO가 보편적으로 항상 이기는 마법의 objective라기보다, reward dimension 사이에 실질적인 trade-off와 탐색 공간이 남아 있을 때 특히 강하다는 점을 시사한다.
Figure 4: Maze와 ToolRL의 test-time scaling. Maze에서는 VPO가 k 증가에서 이득을 유지하고, ToolRL에서는 reward ceiling 때문에 방법 간 차이가 줄어든다.
Figure 4는 VPO의 적용 조건을 이해하는 데 중요하다. Maze에서는 보상 구성요소가 다른 경로 선택을 유도해 VPO가 search budget을 활용한다. ToolRL에서는 이미 scalar RL이 높은 정확도에 도달하면서 후보 다양성의 한계효용이 작아진다. 즉 VPO의 강점은 reward vector가 충분히 비동일하고, search가 그 차이를 실제 성능으로 바꿀 수 있을 때 커진다. 과제별 ceiling과 residual error pattern을 함께 봐야 하는 이유가 여기서 드러난다.
5.3 LiveCodeBench와 OpenEvolve: search loop 안에서의 효과
LiveCodeBench case study는 VPO가 benchmark table에서만 좋아 보이는지, 실제 search loop에서도 도움이 되는지를 확인한다. 논문은 full 279-problem held-out split에서 k=1에서는 GRPO가 더 낫지만 k가 커지면 VPO가 따라잡고 넘는다고 보고한다. best@k에서는 VPO가 모든 k에서 우위이며, gap은 k 증가와 함께 커진다.
더 흥미로운 부분은 hardest 32개 문제에 대한 OpenEvolve 결과다. 두 방법이 표준 best@30에서는 0점을 받은 문제들을 대상으로 evolutionary search를 돌렸을 때, VPO는 200 iteration 동안 계속 새로운 해결책을 찾고 GRPO는 일찍 plateau에 들어간다. 이는 VPO가 단일 후보의 즉시 성능보다 search가 재조합할 수 있는 다양성을 더 잘 공급한다는 논문 주장과 직접 연결된다.
Figure 5: LiveCodeBench case study. VPO는 k 증가와 OpenEvolve 반복 탐색에서 GRPO보다 더 많은 추가 이득을 얻는다.
Figure 5는 VPO의 실용적 의미를 가장 잘 보여 준다. k=1에서는 GRPO가 유리한 구간도 있지만, search budget이 커질수록 VPO가 더 좋은 후보를 포함할 가능성이 높아진다. OpenEvolve hardest split에서는 표준 sampling으로 풀지 못한 문제에서 VPO가 새로운 해결 경로를 제공한다. 단일 policy score보다 search loop 전체의 해결률을 봐야 하는 이유가 여기에 있다. coding agent에서 후보 다양성이 실제 문제 해결로 이어지는 대표 사례다.
6. 추가 분석 및 Ablation Study: 다양성 보존이 어디서 오는가
6.1 더 많은 rollout만으로는 충분하지 않다
논문은 MuSiQue에서 GRPO와 GDPO에 3배 rollout, 즉 $n=24$를 주는 비교를 제시한다. 단순히 더 많은 sample을 학습에 넣으면 VPO와 비슷해지는지 확인하기 위해서다. 결과는 그렇지 않다. GRPO와 GDPO는 compute를 늘려도 VPO $n=8$의 best@3과 Dirichlet-averaged best@3을 따라잡지 못한다.
Table 6. MuSiQue에서 compute를 3배 늘린 GRPO/GDPO와 VPO 비교.
| 방법 | rollout 수 | best@3 | E_w[best@3] | 해석 |
|---|---|---|---|---|
| GRPO | n=8 | 0.741 | 0.830 | 기본 scalar RLVR |
| GDPO | n=8 | 0.737 | 0.832 | diversity-aware 계열 baseline |
| GRPO | n=24, 3배 LM compute | 0.763 | 0.841 | compute 증가에도 VPO 미달 |
| GDPO | n=24, 3배 LM compute | 0.765 | 0.850 | Dirichlet 평균에서도 VPO보다 낮음 |
| GRPO + random-w | n=24 | 0.755 | 0.839 | 무작위 weighting만으로 set reward를 대체하지 못함 |
| VPO | n=8 | 0.779 | 0.856 | 적은 rollout으로 더 높은 search-compatible set reward |
Table 6은 VPO의 장점이 "샘플을 많이 본다"는 단순한 설명으로 축소되지 않음을 보여 준다. 핵심은 sample budget의 크기보다 sample들이 어떤 objective 아래에서 유지되는가다. scalar GRPO는 rollout을 늘려도 결국 같은 보상 축으로 후보를 정렬하기 때문에, 후보 분포가 넓어지는 정도가 제한된다. VPO는 적은 rollout에서도 여러 weighting이 set reward를 만든다.
6.2 goal-conditioned GRPO와의 차이
한 가지 자연스러운 대안은 모델에 weighting $w$를 condition으로 넣고, 특정 preference에 맞는 답을 만들게 하는 goal-conditioned GRPO다. 하지만 Maze ablation에서 이 방식은 VPO를 따라가지 못한다. 논문은 weighting을 입력으로 주는 것만으로는 한 후보 집합 안에서 여러 trade-off를 동시에 덮는 압력이 충분하지 않다고 본다.
Table 7. Maze에서 goal-conditioned GRPO와 VPO 비교.
| 방법 | best@3 | best@6 | E_w[best@3] | E_w[best@6] |
|---|---|---|---|---|
| Goal-conditioned, w=w* | 0.205 | 0.205 | 0.201 | 0.201 |
| Goal-conditioned, w~Dir(1) | 0.205 | 0.205 | 0.201 | 0.201 |
| VPO | 0.512 | 0.576 | 0.512 | 0.584 |
이 결과는 conditioning과 set optimization의 차이를 분명히 한다. goal-conditioned 방식은 특정 weighting에 대한 response policy를 배우지만, VPO는 한 rollout의 후보 집합이 여러 weighting을 동시에 커버하도록 학습한다. test-time search가 보는 단위도 개별 조건부 응답보다 후보 pool에 가까우므로, 훈련 objective가 이 단위를 직접 다루는 편이 더 잘 맞는다.
6.3 reward-space diversity 추적
논문은 reward vector 사이의 pairwise L1 distance를 통해 다양성이 실제로 유지되는지 확인한다. VPO는 대부분 도메인에서 Multi-RLVR보다 높은 reward-space diversity를 지속한다. 흥미롭게도 EUREQA에서는 Multi-RLVR의 diversity가 VPO에 가까워지고, 이 도메인에서 Multi-RLVR의 best@k도 VPO에 비교적 근접한다. 이는 diversity 지표가 단순 장식을 넘어 성능 차이와 함께 움직일 수 있음을 보여 준다.
Figure 6: 훈련 중 reward-space diversity. VPO는 후보 reward vector 간 거리를 지속적으로 유지하며, Multi-RLVR보다 넓은 후보 분포를 보인다.
Figure 6은 VPO가 후보를 실제 reward component 수준에서 넓게 유지한다는 증거다. pairwise L1 distance는 문장 다양성이나 token entropy보다 각 후보가 어떤 부분 보상에서 강한지의 차이를 측정한다. VPO가 높은 best@k와 높은 reward-space diversity를 함께 보인다는 점은, 성능 향상이 단순 sampling 운으로 생긴 것이 아님을 뒷받침한다. diversity 지표가 task reward와 함께 움직이는지 확인하는 이유도 이 그림에 담겨 있다.
6.4 RLHF류 reward에서의 제한 사례
논문은 UltraFeedback과 ArmoRM-5 reward model 실험에서 VPO가 항상 absolute best@k를 이기지는 않는다고 보고한다. on-policy reward simplex가 near-collinear하면, 여러 reward dimension이 사실상 같은 방향을 가리키기 때문이다. 이 경우 vector reward를 여러 축으로 나눠도 실제 trade-off가 작고, VPO가 제공하는 diversity 이득은 제한된다.
Table 8. UltraFeedback에서 near-collinear reward simplex가 만든 제한 사례.
| 방법 | best@1 | best@5 | best@10 | best@20 | best@50 | 증가폭 |
|---|---|---|---|---|---|---|
| Qwen3-4B single-answer prompt | 0.700 | 0.724 | 0.730 | 0.735 | 0.741 | +0.041 |
| GRPO | 0.741 | 0.762 | 0.768 | 0.773 | 0.779 | +0.038 |
| GDPO | 0.737 | 0.759 | 0.765 | 0.770 | 0.776 | +0.039 |
| Goal-conditioned | 0.727 | 0.750 | 0.756 | 0.762 | 0.767 | +0.040 |
| Multi-RLVR | 0.730 | 0.763 | 0.770 | 0.775 | 0.780 | +0.050 |
| VPO | 0.700 | 0.755 | 0.763 | 0.769 | 0.776 | +0.076 |
Table 8은 VPO의 한계를 정직하게 보여 주는 부분이다. VPO는 증가폭은 크지만 absolute best@k에서는 GRPO나 Multi-RLVR보다 낮다. reward dimension이 거의 같은 방향이면 Dirichlet weighting을 샘플해도 실제로 다른 objective를 만드는 효과가 약하다. 따라서 VPO를 적용하기 전에는 reward vector가 충분히 비동일한지, 각 dimension이 정말 다른 실패 모드를 잡는지 진단해야 한다.
7. 한계점 및 향후 연구 방향: 벡터 보상 가정과 탐색 비용
7.1 reward vector를 얻을 수 있는 과제에 대한 의존
VPO의 가장 큰 전제는 reward를 의미 있는 벡터로 분해할 수 있다는 것이다. 코드 테스트케이스, multi-hop QA, structured tool call처럼 verifier가 세부 기준을 제공하는 과제에서는 이 전제가 비교적 자연스럽다. 하지만 open-ended dialogue나 creative writing, broad preference alignment에서는 reward dimension을 어떻게 나눌지 훨씬 어렵다. reward model 여러 개를 쓰더라도 서로 거의 같은 방향을 보거나, noise가 서로 얽혀 있으면 VPO의 objective가 원하는 diversity를 만들지 못할 수 있다.
이 문제는 단순 데이터 준비의 어려움보다 깊다. reward vector가 잘못 정의되면 VPO는 유용한 trade-off 대신 평가기의 취약한 축을 과도하게 탐색할 수 있다. 예를 들어 tool calling에서 format과 argument key만 분리해 놓고 semantic correctness를 약하게 잡으면, 후보 집합은 형식 variation만 넓어지고 실제 task success는 오르지 않을 수 있다. 따라서 VPO를 실전에 붙이려면 reward dimension 설계가 별도의 연구 주제가 된다.
7.2 multi-answer rollout의 비용과 길이 문제
multi-answer chain은 후보들 사이의 in-context exploration을 가능하게 하지만, sequence length와 compute cost를 증가시킨다. 한 rollout에 여러 답을 넣으면 앞선 후보가 뒤 후보의 context로 남기 때문에, 긴 reasoning이나 code generation에서는 token budget이 빠르게 커진다. 또한 뒤쪽 후보가 앞쪽 후보를 과하게 모방하거나, delimiter formatting에 민감해질 가능성도 있다.
논문은 VPO를 GRPO의 drop-in replacement로 설명하지만, 실무에서는 rollout packing, truncation, answer delimiter, 후보별 reward attribution, verifier latency가 모두 비용에 영향을 준다. 특히 long-context agent task에서는 candidate set을 한 sequence로 만들지, 독립 rollout을 만든 뒤 별도 set reward를 부여할지 선택지가 생긴다. VPO의 아이디어는 유지하되 구현은 과제와 infrastructure에 맞게 조정해야 한다.
7.3 search와 training objective의 공동 설계
VPO는 test-time search가 후보 집합에서 좋은 답을 고를 것이라고 가정한다. 하지만 어떤 search를 붙이는지에 따라 필요한 diversity의 형태가 달라질 수 있다. 단순 pass@k selection에는 테스트케이스별 partial coverage가 중요하고, evolutionary search에는 재조합 가능한 structural pattern이 중요할 수 있다. 따라서 다음 단계 연구는 VPO objective와 구체적 search algorithm의 상호작용을 더 자세히 봐야 한다.
예를 들어 OpenEvolve에서는 후보가 mutation과 selection을 거치므로, 단순히 점수가 높은 후보보다 다양한 partial solution과 reusable subroutine이 중요할 수 있다. 반면 verifier reranking에서는 최종 score가 높은 후보를 포함하는 확률이 핵심이다. VPO가 어떤 search primitive와 가장 잘 맞는지, weighting distribution을 search budget에 따라 조절할 수 있는지, 후보 집합 크기 m과 test-time k가 어떤 관계를 갖는지는 아직 열린 질문이다.
8. 내 해석: 후학습 목표를 단일 정답에서 후보 집합으로 바꾸는 관점
나는 이 논문을 GRPO의 단순 개선판보다 후학습 목적함수의 단위 변경으로 읽는 편이 더 정확하다고 본다. 기존에 리뷰했던 Contribution-Weighted GRPO나 Search Round Credit Assignment는 trajectory 내부 어느 step이 outcome에 기여했는지를 더 잘 나누려는 접근이었다. VPO는 그 질문과 나란히, 모델이 애초에 search가 비교할 만한 후보 집합을 내는가를 묻는다. 이 관점은 Self-Distilled Agentic RL에서 보았던 token-level 보조 신호와도 대비된다. 거기서는 teacher branch가 특정 token decision을 보정하지만, VPO는 여러 reward dimension을 커버하는 set distribution을 만든다.
내가 가장 설득력 있게 본 부분은 k가 커질수록 격차가 벌어지는 실험 곡선이다. best@1만 보면 scalar GRPO가 이기는 구간도 있고, 실제로 단일 답을 바로 내야 하는 제품에서는 그 특성이 중요할 수 있다. 하지만 coding agent, theorem search, tool-use planner처럼 후보를 여러 개 만들고 검증하는 시스템에서는 best@1보다 후보 풀의 tail quality가 더 중요해진다. VPO는 그 tail을 우연한 decoding에 맡기지 않고 학습 objective에 올린다.
약점도 분명하다. VPO가 강하게 작동하려면 reward vector가 신뢰할 만하고 서로 다른 실패 모드를 담아야 한다. 코드 테스트케이스나 structured tool call에서는 이 조건이 비교적 깔끔하지만, 실제 RLHF나 persona reward에서는 reward dimension이 noisy하고 non-stationary하며 서로 강하게 상관될 수 있다. UltraFeedback 실험에서 near-collinear reward simplex가 나오자 VPO가 absolute best@k에서 밀린 대목은 이 한계를 잘 보여 준다. reward vector를 만들었다고 해서 자동으로 유용한 탐색 축이 생기는 것은 아니다.
내가 확장한다면 먼저 rollout diversity audit와 reward-vector diagnostics를 붙여 볼 것 같다. 각 dimension의 variance, dimension 사이 cosine similarity, candidate set 내부 pairwise distance, search가 실제로 선택한 후보의 component profile을 함께 기록하면 VPO가 어느 축에서 탐색을 유지하는지 더 명확히 볼 수 있다. 이 진단이 있어야 reward dimension을 추가하거나 합치는 결정도 감에 기대지 않고 데이터로 할 수 있다. 특히 agent task에서는 tool format, evidence utility, reasoning correctness, final answer를 분리한 뒤 search success와 어떤 dimension이 연결되는지 추적하는 실험이 필요하다.
또 하나의 후속 제안은 VPO를 search algorithm별로 조정하는 것이다. OpenEvolve처럼 mutation 기반 탐색을 붙일 때는 후보의 syntactic variety와 reusable component가 중요할 수 있고, verifier reranking에서는 reward vector coverage가 더 직접적일 수 있다. 따라서 Dirichlet weighting을 고정 분포에서 샘플하기보다, search budget이나 domain별 failure profile에 따라 weighting distribution을 바꾸는 adaptive VPO가 가능해 보인다. 이 경우 VPO는 단순 RL algorithm을 넘어 search-aware post-training interface가 된다.
6.5 운영 관점에서 본 VPO 진단
운영 환경에서 VPO를 적용할 때는 학습 loss와 best@k만 보는 것으로 부족하다. 각 prompt마다 후보 집합의 reward vector가 어느 dimension에서 퍼져 있는지, search가 최종 선택한 후보가 어떤 component profile을 갖는지, rejected 후보 중 나중에 mutation source로 유용했던 패턴이 무엇인지 기록해야 한다. 이런 로그가 있어야 VPO가 실제로 유용한 다양성을 만들었는지, 혹은 evaluator의 빈틈을 넓힌 것인지 구분할 수 있다.
6.6 reward dimension 설계의 민감도
reward dimension은 많을수록 좋은 입력이 아니다. 서로 강하게 상관된 dimension을 많이 넣으면 Dirichlet weighting을 샘플해도 objective가 비슷한 방향으로만 움직인다. 반대로 너무 세분화된 dimension은 noise를 키워 policy가 작은 평가기 차이에 과적응하게 만들 수 있다. VPO의 실전 성패는 모델 algorithm 자체만큼이나 reward schema engineering에 달려 있다.
7.4 verifier와 search budget의 결합
VPO가 만드는 후보 집합은 verifier가 빠르고 신뢰할 때 더 큰 가치를 가진다. 코드 과제에서는 unit test가 후보를 명확히 걸러 주지만, 자연어 reasoning에서는 verifier가 불안정하면 search가 잘못된 다양성을 선택할 수 있다. 따라서 VPO를 긴 reasoning agent에 붙이려면 reward vector와 verifier confidence를 함께 다루는 calibration 절차가 필요하다.
7.5 negative transfer 가능성
다양성을 유지하는 objective는 어떤 setting에서는 단일 목표 수렴을 늦출 수 있다. deployment가 항상 작은 k를 쓰거나, latency 때문에 후보를 많이 생성할 수 없는 제품이라면 VPO의 장점이 충분히 드러나지 않을 수 있다. 논문에서도 k=1에서 GRPO가 나은 구간이 있다는 점은 이런 trade-off를 보여 준다. 결국 VPO는 search budget을 전제로 한 후학습 전략이다.
8.1 개발자 관점의 구현 체크리스트
내가 실제 파이프라인에 붙인다면 먼저 기존 verifier 출력을 vector 형태로 보존하는 logging부터 시작할 것이다. 그 다음 같은 prompt에서 GRPO와 VPO의 후보를 나란히 저장하고, 후보별 component score, 최종 선택 여부, search iteration 내 재사용 여부를 비교한다. 이 단계 없이 바로 online serving에 넣으면, 다양성 증가는 관측되지만 어떤 dimension이 비용 대비 성능을 만든 것인지 설명하기 어렵다.
8.2 agent 학습과의 접점
agent 과제에서는 하나의 최종 reward만으로는 planner, retriever, tool caller, verifier의 기여를 분리하기 어렵다. VPO는 각 모듈의 부분 성공을 reward vector로 남긴 뒤 후보 집합이 서로 다른 모듈 강점을 갖도록 만들 수 있다. 이는 Search Round Credit Assignment가 step contribution을 나누는 관점과 결합될 때 더 강해질 수 있다. step별 credit과 set-level diversity가 함께 있으면 long-horizon collapse를 줄일 여지가 생긴다.
8.3 실패 사례를 드러내는 방식
VPO의 장점은 성공률이 오른다는 결과보다 실패 사례를 더 해석 가능하게 만든다는 데도 있다. scalar GRPO에서 실패 후보들이 모두 같은 이유로 틀리면 다음 개선 방향을 찾기 어렵다. VPO에서 실패 후보들이 서로 다른 component에서 실패한다면, 어떤 dimension을 보강해야 하는지 더 선명해진다. 이 점은 model evaluation과 data curation에도 연결된다.
9.1 test-time scaling 시대의 post-training
test-time scaling은 단순히 추론 비용을 많이 쓰는 방식이 아니다. 좋은 후보가 공급될 때만 search budget이 성능으로 바뀐다. VPO는 이 사실을 post-training objective로 끌어올린다. 앞으로 모델 평가가 single answer accuracy에서 search-integrated success로 이동할수록, policy distribution의 폭과 구조를 다루는 알고리즘이 더 중요해질 가능성이 크다.
4.4 과제별 reward vector가 만드는 탐색 공간
Maze에서 reward vector는 단순한 길찾기 성공 여부를 넘어, 목표 위치 도달, gold 획득, diamond 획득, lava 회피 같은 서로 다른 행동 기준을 분리한다. 이 분리는 VPO가 작동하기 좋은 조건을 만든다. 한 경로가 빠르게 목표에 도달하더라도 부가 목표를 놓칠 수 있고, 다른 경로는 더 길지만 안전하거나 더 많은 보상을 챙길 수 있다. 스칼라 평균은 이 차이를 한 숫자로 접지만, VPO는 각 후보가 어떤 보상 component에서 강한지 유지한다.
MuSiQue는 다중 홉 QA의 성격 때문에 VPO의 메시지를 잘 보여 준다. 최종 F1만 보면 중간 hop이 어떻게 해결되었는지 사라지지만, hop별 성공을 reward vector로 나누면 후보가 서로 다른 evidence path를 탐색할 수 있다. 어떤 후보는 첫 두 hop의 근거를 안정적으로 잡고, 다른 후보는 후반 hop이나 answer span에 강할 수 있다. test-time search는 이런 부분 해를 조합하거나 선택하면서 best@k를 높일 수 있다.
EUREQA는 여러 entity 조건을 동시에 만족해야 하는 과제라서, reward component가 후보의 coverage를 직접 드러낸다. 모든 entity를 한 번에 맞히는 답이 초기부터 자주 나오지 않더라도, 특정 entity subset을 잘 다루는 후보가 남아 있으면 search가 추가 샘플에서 더 높은 조합을 찾을 수 있다. 이 설정은 VPO가 말하는 Pareto coverage를 직관적으로 설명한다. 각 후보는 하나의 완성 답이면서 동시에 다른 후보와 비교되는 partial coverage point가 된다.
ToolRL은 반대로 VPO가 언제 덜 빛나는지 보여 주는 과제다. format, tool name, argument key, argument value는 분명히 나뉘지만, 강한 scalar RL이 이미 대부분의 component를 높은 수준으로 맞추면 search가 얻을 추가 공간이 작아진다. 이 결과는 VPO를 적용하기 전에 과제의 reward ceiling과 residual error pattern을 봐야 한다는 실무적 교훈을 준다. 실패가 다양한 component에 흩어져 있을 때 VPO의 가치가 커진다.
4.5 구현 세부사항을 읽을 때 주의할 점
VPO의 구현을 읽을 때 가장 중요한 것은 set-level reward가 후보 각각의 평균 점수를 단순히 올리는 방식으로 끝나지 않는다는 점이다. 후보가 m개 있으면 각 후보를 독립적으로 reward하고 끝내는 대신, 여러 weighting에서 집합 안의 최고 후보를 고른다. 따라서 후보들이 서로 같은 장점을 공유하면 set reward가 빨리 포화되고, 서로 다른 장점을 가지면 여러 weighting에서 반복적으로 선택된다. 이 압력 때문에 diversity가 objective의 부가 항을 넘어 중심 항이 된다.
Dirichlet weighting을 쓰는 선택도 눈여겨볼 만하다. Dirichlet 분포는 simplex 위의 weighting을 샘플하므로, 보상 dimension 사이의 다양한 trade-off를 자연스럽게 순회한다. $\alpha$ 값은 weighting이 얼마나 균등한지 또는 극단적인지를 조절하는 손잡이가 된다. 극단 weighting이 많으면 각 component의 specialist 후보가 살아남고, 균등 weighting이 많으면 전체 균형이 좋은 후보가 선택된다. 논문은 이 구조를 통해 reward vector의 geometry를 학습 신호로 바꾼다.
candidate set을 한 autoregressive chain으로 만드는 선택은 단순 batching보다 의미가 크다. 뒤 후보는 앞 후보의 내용을 그대로 볼 수 있으므로, 모델 내부의 in-context planning 능력이 다양성 생성에 동원된다. 예컨대 첫 후보가 특정 reasoning route를 썼다면, 두 번째 후보는 다른 decomposition이나 다른 test case를 겨냥하는 코드를 시도할 수 있다. 이런 방식은 완전히 독립적인 sampling보다 search-friendly한 후보 묶음을 만들 여지가 크다.
다만 multi-answer chain은 prompt format 안정성에 민감하다. delimiter가 불명확하면 후보 경계가 깨지고, 뒤 후보가 앞 후보의 오류를 그대로 복사할 수 있다. 또한 답이 길어질수록 sequence budget이 빨리 소모된다. VPO를 production 환경에 적용한다면 후보 수 m, 최대 token 수, answer delimiter, verifier timeout을 함께 튜닝해야 한다. 논문은 알고리즘의 큰 원리를 제시하지만, 실제 운영에서는 이 주변 engineering이 성능의 상당 부분을 좌우할 수 있다.
5.4 표 결과를 읽는 방식: best@k와 diversity의 동시 해석
MuSiQue 표에서 GRPO는 best@3부터 best@30까지 개선 폭이 작다. 이는 낮은 k에서도 이미 높은 scalar reward 후보를 뽑지만, 후보를 더 늘렸을 때 새로운 evidence path가 충분히 나오지 않는다는 뜻이다. 반면 VPO는 best@3도 높고 best@30에서 더 올라간다. 이 조합은 단순히 후보가 다양하기만 한 상태와 구분된다. 다양성이 task reward로 연결되어야 하며, VPO는 그 연결을 set-level reward로 만든다.
Maze 표의 GRPO 행은 더 극단적이다. best@3, best@5, best@10, best@30이 모두 0.432로 같고 diversity가 0.003까지 떨어진다. 이는 추가 sample이 사실상 같은 reward profile을 반복한다는 신호다. VPO는 best@3에서 0.512, best@30에서 0.735로 올라가며 diversity도 높게 유지한다. 이런 결과는 search budget이 실제 성능으로 바뀌려면 후보 간 reward profile 차이가 필수임을 보여 준다.
compute 3배 비교는 실무자에게 특히 중요하다. 많은 팀은 새로운 objective보다 더 많은 rollout이나 더 큰 batch로 문제를 해결하려 한다. 그러나 MuSiQue ablation에서 GRPO와 GDPO가 n=24를 써도 VPO n=8에 미치지 못한다. 이는 후보를 많이 생성하는 것과 후보가 서로 다른 보상 영역을 덮도록 훈련하는 것이 다르다는 점을 보여 준다. 비용 증가가 objective mismatch를 자동으로 해결하지는 못한다.
Goal-conditioned GRPO 결과도 비슷한 메시지를 준다. weighting을 모델 입력에 넣는 것은 preference-conditioned generation에는 자연스럽지만, test-time search가 사용할 후보 집합을 만드는 문제와는 단위가 다르다. VPO는 한 set 안에서 여러 weighting의 best candidate가 존재하도록 압력을 준다. search가 실제로 보는 것도 여러 후보의 set이므로, 훈련 objective와 평가 단위가 더 잘 맞는다.
UltraFeedback 표는 좋은 경고다. reward model dimension이 near-collinear하면 VPO는 증가폭을 보이더라도 absolute best@k에서 scalar 방법을 넘지 못할 수 있다. reward vector의 dimension 수만 보고 VPO 적용을 결정하면 위험하다. dimension 사이의 상관, 실제 ranking disagreement, candidate profile의 spread를 먼저 봐야 한다. 이 진단을 하지 않으면 VPO는 복잡한 objective를 쓰면서도 기존 scalar RL보다 이득이 작을 수 있다.
5.5 LiveCodeBench 결과가 갖는 시스템적 의미
LiveCodeBench에서 k=1의 GRPO 우위는 VPO를 약하게 만드는 결과보다 사용 조건을 분명히 하는 결과다. 사용자가 단 하나의 답만 받고 verifier나 search를 쓰지 않는 제품이라면 scalar GRPO의 sharpness가 더 유리할 수 있다. 하지만 코딩 agent는 보통 여러 patch를 만들고 test를 돌리며 실패한 patch를 고친다. 이 setting에서는 k가 커질수록 VPO의 후보 pool이 더 큰 가치를 만든다.
OpenEvolve hardest split은 특히 중요하다. 표준 best@30에서 두 방법이 모두 실패한 문제에 대해 evolutionary search를 반복했을 때 VPO가 새 해결책을 찾는다면, 차이는 단순한 sampling lucky draw를 넘어선다. search가 후보의 partial structure를 변형하고 조합할 수 있으려면, 초기 pool 안에 서로 다른 구조적 실마리가 있어야 한다. VPO는 그 실마리를 더 많이 남기는 훈련 방식으로 해석된다.
이 결과를 agent 시스템에 옮기면, VPO는 planner가 여러 plan을 만들고 executor/verifier가 선택하는 구조에 잘 맞는다. 한 plan이 모든 subgoal을 해결하지 못해도, 서로 다른 subgoal에 강한 plan들이 남아 있으면 search controller가 조합하거나 branch를 이어 갈 수 있다. 기존 agent RL에서 자주 보이는 mode collapse나 반복 행동 문제는 단일 reward가 plan distribution을 좁히는 데서도 발생한다. VPO식 set reward는 이 문제를 완화할 수 있는 한 경로다.
6.7 Random-w, Multi-RLVR, VPO를 구분하는 기준
Random-w는 weighting을 무작위화하지만, 후보 집합의 coverage를 직접 보상하지 않는다. 따라서 각 rollout은 다른 scalar objective를 볼 수 있어도, 한 prompt에서 생성된 후보들이 서로 보완적인지에 대한 압력은 약하다. VPO의 차별점은 weighting randomness가 candidate set의 max 연산과 결합된다는 데 있다. 여러 weighting에서 같은 후보만 선택된다면 set reward는 제한되고, 서로 다른 후보가 선택될수록 objective가 강해진다.
Multi-RLVR은 multi-answer format을 사용하지만, set reward의 방향이 VPO만큼 명확하지 않다. 여러 답을 만들게 하면 diversity의 표현 공간은 생기지만, 그 다양성이 어떤 reward dimension을 커버해야 하는지는 별도 objective가 알려줘야 한다. MuSiQue에서 Multi-RLVR의 diversity가 높아도 best@k가 낮은 행은 이 차이를 보여 준다. 다양성은 필요조건일 수 있지만, reward-aware diversity여야 search 성능으로 연결된다.
Max-at-K와 MaxRL은 best-of-k 성능을 직접 겨냥한다는 점에서 VPO와 가까워 보인다. 그러나 VPO는 best@k를 단일 deployment weighting의 최대값으로만 보지 않고, 여러 reward weighting에 대한 set coverage로 학습한다. 이 차이 때문에 VPO는 최종 weighting에서도 search가 쓸 후보를 더 넓게 보존한다. 즉 목표는 같은 best@k 개선이어도, 그 개선을 만드는 중간 구조가 다르다.
7.6 데이터 큐레이션과 evaluator 설계로 확장되는 문제
VPO를 잘 쓰려면 데이터 큐레이션도 바뀌어야 한다. scalar reward만 필요한 pipeline에서는 최종 점수와 정답 여부만 저장해도 학습이 가능하다. VPO에서는 각 후보가 어떤 component에서 성공하고 실패했는지 남겨야 한다. 이 말은 verifier가 더 자세한 trace를 출력해야 하고, dataset도 component-level label이나 자동 평가 기준을 포함해야 한다는 뜻이다. 후학습 알고리즘의 변화가 데이터 스키마 변화까지 요구한다.
evaluator 설계 역시 reward hacking 위험과 연결된다. 여러 dimension을 만들면 모델은 그 dimension 사이의 빈틈을 탐색할 수 있다. 예컨대 format 점수와 content 점수가 분리되어 있을 때 content가 약해도 format을 극대화하는 후보가 남을 수 있다. VPO는 다양한 후보를 유지하므로 이런 빈틈이 후보 pool 안에 오래 남을 가능성도 있다. 따라서 dimension별 score와 최종 task success의 correlation을 주기적으로 점검해야 한다.
이런 이유로 VPO의 practical recipe에는 reward-vector lint가 포함되어야 한다. dimension별 분산이 너무 낮은지, 특정 dimension이 항상 다른 dimension을 따라가는지, 고득점 후보들이 한 dimension만 exploit하는지, search가 실제로 선택한 후보의 profile이 훈련 중 보상 받은 profile과 일치하는지 확인해야 한다. 이 lint가 없으면 VPO는 더 복잡한 loss를 쓰는 GRPO 변형에 머무를 수 있다.
8.4 기존 위키 맥락과의 연결
기존에 정리한 Tree-GRPO Agent Training은 long-horizon rollout 중간을 fork해 sibling branch 사이 outcome 차이로 suffix action의 credit을 추정한다. 그 관점은 긴 trajectory에서 어느 branch가 좋은지 비교하는 데 강하다. VPO는 fork 이후의 credit보다는 fork될 후보가 애초에 서로 다른 reward trade-off를 담는지에 초점을 둔다. 두 접근은 경쟁 관계보다 보완 관계에 가깝다. VPO로 다양한 branch를 만들고, Tree-GRPO류 방법으로 branch 내부 credit을 더 정확히 줄 수 있다.
Contribution-Weighted GRPO는 search round의 retrieval utility와 reasoning correctness를 보고 advantage를 어느 round에 더 실을지 조절한다. VPO는 round-level contribution 대신 response set-level coverage를 본다. 검색 agent에 두 방법을 함께 쓰면, 한쪽은 후보 집합의 폭을 만들고 다른 한쪽은 그 후보를 만드는 내부 검색 단계의 공헌을 나눌 수 있다. 이는 RAG agent나 web search agent에서 특히 자연스러운 조합이다.
Self-Distilled Agentic RL은 privileged teacher branch를 이용해 student token의 보조 신호를 만든다. 이 방식은 inference-time dependency를 늘리지 않고 training-time signal만 강화한다는 장점이 있다. VPO도 inference-time search를 전제로 하지만, 학습 단계에서 candidate generator의 분포를 바꾼다는 점에서 비슷한 운영 장점을 가진다. 배포 시에는 별도 VPO controller 없이, 이미 훈련된 policy가 더 다양한 후보를 내는 구조가 된다.
RL Capability Elicitation 관점에서 보면 VPO는 under-exploration을 줄이는 도구로도 읽힌다. 위험 능력 평가나 코딩 능력 평가에서 낮은 점수가 실제 능력 부재인지, 모델이 탐색하지 않아서 나온 결과인지 구분하기 어렵다. VPO는 reward component별로 다른 시도를 유지하므로, 평가 시 더 넓은 후보를 뽑아 모델의 잠재 능력을 확인하는 데 도움이 될 수 있다. 물론 이 경우에도 reward vector가 evaluation target을 제대로 반영해야 한다.
7.7 VPO를 배포 전 평가에 넣는 절차
VPO를 배포 전에 평가한다면, 먼저 동일 prompt set에서 GRPO와 VPO가 만든 후보를 모두 저장하고 candidate-level score table을 만든다. 각 row에는 prompt id, candidate index, reward vector, scalar reward, 최종 verifier 선택 여부, search iteration에서의 재사용 여부를 넣는다. 이렇게 해야 best@k 상승이 어느 dimension에서 온 것인지 확인할 수 있다. 평균 best@k만 보면 모델이 실제로 더 넓게 탐색했는지, 특정 dimension의 score inflation만 얻었는지 구분하기 어렵다.
두 번째 단계는 reward vector의 geometry를 보는 것이다. dimension별 variance가 거의 0인 축은 학습에 유용한 차이를 주지 못하고, 서로 cosine similarity가 높은 축들은 사실상 같은 평가를 여러 번 반복할 수 있다. 반대로 서로 독립적인 축이 너무 많으면 sparse reward가 되어 학습이 불안정해질 수 있다. VPO는 reward vector를 강하게 활용하므로, 이 geometry 점검이 scalar GRPO보다 훨씬 중요하다.
세 번째 단계는 search budget별 운영 곡선을 그리는 것이다. k=1, 3, 5, 10, 30, 50처럼 비용 수준을 바꿔 best@k와 latency를 함께 봐야 한다. VPO가 큰 k에서만 이기고 작은 k에서 손해가 크다면, offline coding agent나 batch solver에는 적합하지만 실시간 chat product에는 맞지 않을 수 있다. 반대로 작은 k에서도 손해가 작고 큰 k에서 tail gain이 크다면, verifier가 있는 production route에 넣기 쉽다.
마지막 단계는 실패 후보의 다양성을 사람이 샘플링해 보는 것이다. 숫자 지표가 높아도 후보들이 사람이 보기에는 같은 오류를 반복할 수 있고, 반대로 reward vector distance는 크지만 실제 해결 전략은 비슷할 수 있다. 코드 과제라면 실패 테스트케이스별 패턴, QA라면 잘못된 hop의 위치, tool task라면 argument error 종류를 따로 라벨링해 보면 VPO가 만드는 다양성의 질을 더 잘 판단할 수 있다.
8.5 연구적으로 남는 질문
첫 번째 질문은 weighting distribution을 어떻게 정할 것인가다. 논문은 Dirichlet sampling을 사용하지만, 실제 과제에서는 모든 reward dimension이 같은 중요도를 갖지 않는다. 어떤 dimension은 safety나 correctness처럼 절대 놓치면 안 되고, 어떤 dimension은 optional bonus에 가깝다. 이런 경우 uniform Dirichlet보다 domain prior를 반영한 distribution이나 curriculum 형태의 distribution이 더 나을 수 있다. 초반에는 넓게 탐색하고 후반에는 deployment weighting 주변을 조밀하게 보는 방식도 가능하다.
두 번째 질문은 VPO가 모델의 내부 representation에 어떤 변화를 만드는가다. reward-space diversity가 출력 후보에서 보인다는 것은 분명하지만, 모델 내부에서 feature specialization이 생기는지, 특정 heads나 layers가 다른 reward component를 담당하는지, multi-answer chain의 뒤쪽 후보가 실제로 앞 후보를 참조해 새로운 방향을 선택하는지는 더 분석할 수 있다. 이런 분석은 VPO를 해석 가능한 후학습 방법으로 발전시키는 데 도움이 된다.
세 번째 질문은 VPO와 verifier learning의 공동 최적화다. 현재 설정에서는 reward vector가 주어져 있고 policy가 그 vector를 사용한다. 그러나 long-horizon agent에서는 verifier 자체도 불완전하다. policy가 다양한 후보를 만들면 verifier training data도 풍부해질 수 있고, 더 나은 verifier가 다시 VPO의 reward vector를 개선할 수 있다. 이 폐루프를 안정적으로 돌리는 방법은 아직 별도 연구가 필요하다.
네 번째 질문은 safety와의 관계다. 다양성을 보존하는 policy는 좋은 후보와 함께 원치 않는 전략도 더 오래 유지할 수 있다. 위험 능력 평가에서는 이 특성이 모델 능력 탐색에 유용하지만, 일반 배포에서는 guardrail과 함께 설계해야 한다. 따라서 VPO를 alignment setting에 적용할 때는 reward vector 안에 safety dimension을 명시적으로 넣고, search가 선택할 수 없는 후보를 초기에 차단하는 정책이 필요하다.
다섯 번째 질문은 distillation이다. VPO로 학습한 모델이 큰 k에서 강하다면, 그 search 결과를 다시 작은 k나 best@1 모델로 증류할 수 있는지 궁금하다. 즉 VPO policy가 만든 다양한 후보와 search-selected solution을 데이터로 삼아, latency가 낮은 serving model을 훈련할 수 있다. 이렇게 되면 VPO는 직접 배포되는 policy일 수도 있고, 더 sharp한 policy를 만들기 위한 exploration teacher일 수도 있다.
8.6 블로그 독자가 가져갈 실무적 결론
이 논문을 읽고 바로 적용할 수 있는 가장 작은 실험은 기존 GRPO 데이터에서 scalar reward를 만들기 전의 세부 점수를 버리지 않는 것이다. 테스트케이스별 통과 여부, hop별 evidence success, tool argument별 성공 여부를 모두 저장한 뒤, 같은 모델로 scalar GRPO와 VPO식 set reward를 나란히 돌려 보면 된다. 새 benchmark를 만들기보다 기존 verifier 로그를 vector 형태로 되살리는 것이 첫 단계다.
그 다음에는 k별 비용표를 작성해야 한다. VPO가 best@30에서 강하더라도 production path가 k=3만 허용한다면 의사결정은 달라진다. 반대로 offline coding repair나 nightly agent evaluation처럼 latency가 덜 중요한 환경에서는 k가 큰 tail gain이 매우 가치 있다. 이 논문은 모델 알고리즘만 설명하지만, 실제 채택 여부는 search budget, verifier cost, 실패 재시도 정책과 함께 결정된다.
마지막으로 VPO는 다양성을 좋은 단어로만 쓰지 않고 측정 가능한 대상으로 만든다는 점에서 유용하다. 후보가 서로 다른지 물을 때 token entropy나 n-gram distance만 보면 task와 직접 연결되지 않는다. reward vector distance, component별 best candidate, search-selected candidate profile을 함께 보면 다양성이 실제 문제 해결에 기여했는지 판단할 수 있다. 이 점은 연구 재현과 운영 모니터링에 함께 이어진다.
따라서 VPO의 실용적 메시지는 명확하다. verifier가 세부 점수를 낼 수 있고, 여러 후보를 뽑아 search할 수 있는 시스템에서는 후학습도 후보 집합 중심으로 설계해야 한다. 단일 scalar reward로 policy를 너무 빨리 좁히면 search budget을 써도 얻을 것이 줄어든다. 보상 벡터를 보존하고, 후보 집합의 coverage를 보상하며, 그 결과를 best@k와 diversity 지표로 함께 추적하는 절차가 필요하다.
9. 결론: 다양성을 훈련 대상으로 올려야 하는 이유
Vector Policy Optimization은 LLM 후학습에서 점점 중요해지는 질문을 정확히 짚는다. 모델이 한 번에 하나의 답만 내고 끝나는 환경에서는 scalar reward를 직접 높이는 전략이 합리적이다. 그러나 실제 시스템이 여러 후보를 만들고, verifier와 search가 그 후보를 고르는 구조로 이동하면, 정책은 단일 고득점 답을 반복하는 generator보다 search에 필요한 후보 분포를 공급하는 generator가 되어야 한다.
VPO의 핵심은 보상 벡터를 있는 그대로 학습 objective에 반영하는 것이다. 코드 테스트케이스, QA hop, tool-call component처럼 이미 세부 기준이 존재하는 과제에서 이 정보를 평균으로 접어 버리면, 후보가 어떤 방향으로 다른지 학습이 보지 못한다. Dirichlet scalarization과 set-level best reward는 이 정보를 활용해 후보 집합이 여러 trade-off를 덮도록 만든다.
실험적으로도 논문의 메시지는 일관된다. MuSiQue, Maze, LiveCodeBench에서는 k가 커질수록 VPO의 장점이 커지고, reward-space diversity도 함께 유지된다. ToolRL이나 UltraFeedback처럼 ceiling 또는 near-collinear reward가 있는 상황에서는 이득이 제한적이어서, VPO가 어떤 조건에서 잘 작동하는지도 드러난다. 이 균형 덕분에 논문은 과장된 만능 해법보다 실무 적용 조건이 분명한 후학습 제안에 가깝다.
앞으로 inference scaling이 더 표준화되면, post-training objective는 best@1의 즉시 점수만으로 평가되기 어려워진다. search budget이 큰 시스템에서는 후보 pool의 구조가 성능을 좌우하고, 그 구조는 decoding trick만으로 안정적으로 나오기 어렵다. VPO는 그 구조를 학습 단계에서 직접 다루자는 제안이며, GRPO 이후의 RLVR 연구가 탐색 친화적 분포를 어떻게 만들지 고민해야 한다는 신호로 읽힌다.
10. 요약 정리
- VPO는 스칼라 보상 하나를 높이는 후학습에서 벗어나, 여러 reward weighting을 커버하는 후보 집합을 학습 대상으로 삼는다.
- 핵심 수식은 후보 집합 $S$에 대해 $R(S)=\mathbb{E}_{w\sim\mathrm{Dir}(\alpha)}[\max_{y\in S}w^\top r(x,y)]$를 최적화하는 방식이다.
- multi-answer chain은 한 rollout 안에서 여러 답을 만들게 하여 뒤 후보가 앞 후보를 보고 다른 전략을 시도할 수 있게 한다.
- MuSiQue와 Maze에서는 VPO가 GRPO보다 k 증가에 따른 best@k 이득을 더 오래 유지하며, reward-space diversity도 높게 남긴다.
- LiveCodeBench와 OpenEvolve case study는 VPO가 실제 coding search loop에서 GRPO가 plateau에 들어간 뒤에도 새 해를 찾을 수 있음을 보여 준다.
- ToolRL처럼 reward ceiling에 가까운 과제나 UltraFeedback처럼 reward dimension이 near-collinear한 과제에서는 VPO의 이득이 제한될 수 있다.
- 실무 적용에서는 reward vector의 품질, dimension 간 상관, multi-answer rollout 비용, search algorithm과의 맞춤 설계가 핵심 체크포인트다.
- 기존 GRPO 계열 연구가 outcome credit을 어떻게 배분할지 묻는다면, VPO는 search가 활용할 후보 분포 자체를 어떻게 훈련할지 묻는 논문이다.
- 후속 연구로는 rollout diversity audit, reward-vector diagnostics, search budget에 따라 weighting distribution을 바꾸는 adaptive VPO가 유망하다.
'[논문 리뷰] > [최신 논문]' 카테고리의 다른 글
| [arXiv 2605.30343] RiM: LLM의 작업 기억을 열어 잠재 추론을 병렬화하는 방법 (0) | 2026.05.31 |
|---|---|
| [arXiv 2605.26114] MobileGym: 검증 가능한 병렬 모바일 GUI 에이전트 시뮬레이션 플랫폼 (0) | 2026.05.26 |
| [arXiv 2605.22866] BOHM: 계층형 라우팅 가중치로 복합 AI 시스템을 무비용 귀속하기 (0) | 2026.05.25 |
| [arXiv 2605.20948] Memory Grafting: 오프라인 조건부 메모리로 언어 모델 사전학습을 확장하기 (0) | 2026.05.22 |
| [arXiv 2605.20123] BiRD: 양방향 랭킹으로 RAG 포이즈닝을 걸러내는 방어 메커니즘 (0) | 2026.05.22 |