19 분 소요

0. Introduction

Paper link

Project page

ZPPO를 “teacher response를 prompt에 넣는 RL” 정도로 읽으면 핵심을 놓치기 쉽다. 이 논문이 실제로 다루는 문제는 teacher knowledge를 얼마나 많이 주입할 것인가가 아니다. 더 정확히는, small student가 아직 한 번도 맞히지 못하는 문제에 teacher guidance를 주면서도 policy gradient가 teacher trajectory를 직접 따라가지 않게 만드는 방법이다.

Group-based RL에서 모든 rollout이 틀린 문제는 학습하기 가장 필요한 문제처럼 보인다. 하지만 reward가 모두 같으면 relative advantage가 0이 되어 update에서 사라진다. 반대로 teacher의 정답 trajectory를 student response처럼 gradient에 넣으면 hard question은 살릴 수 있지만 on-policy assumption이 깨진다. ZPPO는 이 두 문제 사이에서 teacher를 target이 아니라 prompt-side scaffold로 바꾼다.

한 줄 요약: ZPPO는 correct teacher trace와 wrong student trace를 prompt 안의 비교 재료로 제공하는 BCQ, student의 collective failure를 모아 보여주는 NCQ, hard question을 반복 학습시키는 prompt replay buffer를 결합해, teacher token을 gradient target으로 사용하지 않고도 small student RL의 all-wrong blind spot을 줄인다.

이 논문을 지금 볼 가치가 있는 이유는 다음과 같음.

  • Small model RL에서 all-wrong rollout group이 왜 구조적으로 학습 signal을 잃는지 명확하게 짚는다.
  • Knowledge distillation과 RL을 단순히 섞지 않고, teacher information이 gradient boundary의 어느 쪽에 있어야 하는지 설계 문제로 다룬다.
  • BCQ, NCQ, prompt replay buffer를 각각 분리한 ablation으로, prompt reformulation과 replay가 함께 있을 때 왜 효과가 커지는지 보여준다.
  • Qwen3.5 0.8B, 2B, 4B, 9B student와 27B teacher를 사용해 scale에 따라 teacher-positive signal과 self-negative signal의 역할이 어떻게 바뀌는지 분석한다.
  • VLM training corpus로 학습한 뒤 16 VLM, 10 LLM, 5 Video benchmark에서 평가해, in-domain improvement와 cross-family generalization을 함께 본다.

이 논문은 distillation paper이면서 동시에 RL data interface paper에 가깝다. Teacher를 loss 안에 넣는 대신, student가 스스로 새 response를 만들 수 있는 input condition을 설계한다. 중요한 것은 더 강한 supervision이 아니라, supervision이 policy optimization에 들어오는 위치다.

1. Problem Setting

1-1. Small student distillation의 구조적 문제

Strong teacher에서 small student로 knowledge를 옮기는 가장 일반적인 방법은 teacher logits, hidden states, 또는 sampled response를 imitation target으로 사용하는 것이다. 그러나 teacher와 student의 capacity gap이 커질수록 이 방식은 brittle해질 수 있다.

논문이 강조하는 문제는 다음과 같다.

  • Small student는 teacher distribution 전체를 충분히 표현하지 못할 수 있다.
  • Logit matching은 teacher의 sharp mode에 student를 과도하게 집중시킬 수 있다.
  • Limited training corpus에서는 teacher answer를 잘 재현해도 benchmark family가 바뀌면 generalization이 약해질 수 있다.
  • On-policy distillation은 student trajectory 위에서 teacher distribution을 맞추므로 mismatch를 줄이지만, 결국 optimization target은 teacher logits다.

즉 distillation은 teacher가 무엇을 아는지 전달하는 데 강하지만, student가 자기 policy 안에서 새로운 reasoning path를 탐색하게 만드는 데는 제약이 있다.

1-2. GRPO의 all-wrong blind spot

GRPO-style RL은 같은 question에서 여러 response를 sampling하고, group 안의 상대적인 reward 차이를 advantage로 사용한다. 개념적으로는 다음처럼 볼 수 있다.

\[A_i = \frac{r_i - \bar{r}}{s_r + eps}\]

여기서 $r_i$는 rollout $i$의 reward, $\bar{r}$는 group reward mean, $s_r$는 group reward standard deviation이다.

문제는 group reward가 모두 같을 때다.

  • 모든 response가 맞으면 모든 numerator가 0이다.
  • 모든 response가 틀려도 모든 numerator가 0이다.
  • 두 경우 모두 question은 policy gradient에 유효한 signal을 주지 못한다.

All-correct group은 이미 쉬운 문제라서 버려져도 큰 문제가 아닐 수 있다. 그러나 all-wrong group은 다르다. Small student가 가장 도움을 필요로 하는 문제인데도, ordinary group-relative RL에서는 gradient가 0이라 학습에서 사라진다.

ZPPO는 mean rollout accuracy가 0.5보다 낮은 question을 hard question으로 정의한다.

\[p_{succ}(q) < 0.5\]

이 threshold는 단순한 curriculum cutoff가 아니다. Binary reward에서 성공과 실패가 섞이는 0.5 부근은 group-relative signal이 가장 풍부한 영역이다. ZPPO는 0에 가까운 hard question을 prompt reformulation으로 이 학습 가능한 영역 쪽으로 옮기려 한다.

1-3. Teacher response를 gradient에 넣으면 왜 위험한가

All-wrong problem을 살리는 가장 직접적인 방법은 teacher의 correct response를 rollout group에 넣는 것이다. 그러면 reward variation이 생기고 advantage도 계산할 수 있다.

하지만 teacher response는 current student policy에서 sampling된 action sequence가 아니다. 이를 student rollout처럼 PPO objective에 넣으면 policy ratio와 advantage가 가정하는 data distribution이 깨진다. 특히 teacher와 student의 capacity gap이 큰 경우 teacher trajectory는 student policy support에서 멀리 떨어져 있을 수 있다.

Prefix 방식도 비슷한 주의가 필요하다. Teacher-generated prefix를 response 앞에 강제로 붙이고 이후 token만 student가 생성하면, gradient token 자체는 student-generated일 수 있다. 그래도 student는 teacher가 만든 trajectory의 중간 지점에서 continuation을 시작한다. 이 training state가 실제 inference의 state distribution과 다를 수 있다.

ZPPO의 질문은 그래서 다음과 같이 정리된다.

Teacher knowledge를 사용하되, gradient에 들어가는 모든 response token은 current student가 직접 생성하게 만들 수 있는가?

2. Core Idea

2-1. Teacher in prompts, not gradients

ZPPO의 가장 중요한 설계 원칙은 teacher information의 위치를 바꾸는 것이다.

  • Teacher response를 target distribution으로 맞추지 않는다.
  • Teacher response를 student action처럼 PPO loss에 넣지 않는다.
  • Teacher-derived text는 prompt 안의 context로만 제공한다.
  • Gradient가 계산되는 response token은 모두 current student가 새로 sampling한다.

논문은 이를 response-level on-policy라고 부른다. Prompt에는 teacher-derived content가 들어가지만, loss가 걸리는 action token은 student policy에서 생성된다.

이 구분은 중요하다. ZPPO는 teacher를 제거하지 않는다. 오히려 hard question에서 teacher를 적극적으로 호출한다. 다만 teacher의 역할을 answer target에서 learning environment designer로 바꾼다.

2-2. Zone of Proximal Policy Optimization

논문 이름은 Vygotsky의 zone of proximal development에서 가져온다. 학습자가 혼자서는 해결하지 못하지만 적절한 도움을 받으면 해결할 수 있는 task band를 뜻한다.

ZPPO는 이를 rollout accuracy로 다시 해석한다.

  • 이미 높은 accuracy를 가진 question은 student가 혼자 해결할 수 있다.
  • Teacher와 student 모두 실패하는 question은 현재 도움으로도 너무 어렵다.
  • Student alone으로는 실패하지만 teacher-side prompt scaffold를 보면 일부 rollout이 성공하는 question이 target zone이다.

ZPPO의 목적은 hard question을 teacher answer로 대체하는 것이 아니다. Question을 다시 표현해 student policy가 적어도 일부 correct rollout을 만들 수 있도록 하고, 그 순간부터 ordinary RL signal이 다시 작동하게 만드는 것이다.

2-3. BCQ: correct와 wrong을 비교하게 한다

Binary Candidate-included Question, 이하 BCQ는 한 hard question에 다음 두 candidate를 붙인다.

  1. Frozen teacher가 만든 correct response 하나
  2. Current student가 만든 wrong response 하나

두 response는 같은 teacher compression prompt와 같은 token cap으로 짧게 다시 작성된다. 이후 동일한 <candidate> tag 안에 넣고, correctness label을 지우고, 순서를 random shuffle한다. Student에게는 두 candidate 중 어느 쪽이 맞는지 직접 reasoning한 뒤 문제를 새로 풀도록 요청한다.

BCQ의 핵심은 positive teacher trace를 그대로 복사시키지 않는다는 점이다.

  • Correct candidate와 wrong candidate가 함께 있다.
  • 두 candidate는 anonymized되어 있다.
  • Student는 discrimination을 해야 한다.
  • Final response는 candidate continuation이 아니라 새 student rollout이다.

이 구조는 teacher answer를 labeled hint로 주는 것보다 부담이 크다. Student는 무엇이 맞는지 판단하고, 그 판단을 자기 response로 다시 구성해야 한다. 반대로 이 부담이 바로 generalizable signal이 될 수 있다.

2-4. NCQ: student failure를 collective signal로 바꾼다

Negative Candidate-included Question, 이하 NCQ는 teacher correct response를 사용하지 않는다. 같은 question에서 나온 student의 wrong rollouts를 모두 모아 하나의 prompt에 넣고, parsed wrong answers도 함께 보여준다. 그리고 나열된 reasoning이 모두 틀렸다는 조건 아래 새 정답을 생성하게 한다.

Ordinary rollout group에서는 각 failed trajectory가 서로 독립적이다. 한 rollout은 다른 rollout이 어떤 실수를 했는지 볼 수 없다. NCQ는 처음으로 같은 question의 실패들을 한 context에 모은다.

이때 student가 배울 수 있는 것은 개별 오답보다 failure pattern이다.

  • 여러 rollout이 같은 계산 실수를 반복했는가
  • 서로 다른 reasoning path가 같은 wrong answer로 수렴했는가
  • Image evidence를 공통으로 잘못 읽었는가
  • 특정 assumption을 모든 rollout이 공유했는가

BCQ가 teacher-positive contrast를 제공한다면, NCQ는 student-negative aggregation을 제공한다. 둘은 같은 prompt augmentation처럼 보이지만 learning signal의 성격이 다르다.

2-5. Prompt replay buffer: 한 번의 도움을 curriculum으로 바꾼다

BCQ와 NCQ만 한 번 적용하면 hard question이 바로 해결된다는 보장은 없다. 그래서 ZPPO는 question-level replay buffer를 둔다.

Buffer는 response를 저장하지 않는다. Image와 text question만 저장한다.

  • Plain rollout mean accuracy가 0.5보다 낮으면 buffer에 admit한다.
  • 이후 new question과 replay question을 섞어 다시 sampling한다.
  • 매 방문마다 teacher rollout과 student rollout을 새로 생성해 BCQ와 NCQ candidate를 갱신한다.
  • Mean rollout accuracy가 0.5 이상이 되면 graduate시켜 buffer에서 제거한다.
  • Capacity를 넘으면 오래된 entry를 FIFO로 evict한다.

이 설계에서 중요한 것은 replayed answer가 아니라 replayed learning opportunity다. 같은 question을 다시 보더라도 candidate set은 매번 달라진다. 따라서 buffer가 fixed teacher exemplar cache로 굳는 것을 피한다.

2-6. 세 component는 독립적 add-on이 아니다

논문의 핵심 empirical claim은 BCQ, NCQ, replay를 각각 붙이면 조금 좋아진다는 수준이 아니다.

  • Replay만 있으면 같은 hard question을 반복하지만 새 signal이 부족하다.
  • Reformulation만 있으면 한 번의 도움으로 끝나 hard problem을 충분히 흡수하지 못할 수 있다.
  • Replay와 reformulation을 같이 쓰면 같은 hard question을 fresh candidate와 함께 여러 번 연습한다.

즉 replay는 frequency를 늘리고, BCQ/NCQ는 quality of signal을 바꾼다. 두 축이 결합되면서 super-additive effect가 나온다.

3. Architecture / Method

3-1. Overview

Item Description
Goal Small student의 all-wrong RL group에서 usable learning signal 복구
Student family Qwen3.5 0.8B, 2B, 4B, 9B
Teacher Frozen Qwen3.5 27B
Base optimizer GRPO backbone with DAPO and REINFORCE++ recipe
Teacher interface Prompt-side candidate generation and compression
Positive scaffold BCQ with one correct teacher trace and one wrong student trace
Negative scaffold NCQ with aggregated wrong student traces
Curriculum state Question-only prompt replay buffer
Admission Plain rollout mean accuracy below 0.5
Graduation Plain rollout mean accuracy reaches 0.5
Gradient boundary Every gradient-counted response token is student-generated
Evaluation 16 VLM, 10 LLM, 5 Video benchmarks

3-2. End-to-end training loop

전체 ZPPO step은 다음 흐름으로 볼 수 있다.

1) Plain student rollouts

New question과 replayed question을 합친 batch에서 current student가 group rollouts를 생성한다. Binary correctness reward로 각 response를 평가하고 question별 mean rollout accuracy를 계산한다.

이 plain rollout은 두 역할을 한다.

  • Ordinary RL update에 들어간다.
  • Question이 hard한지, buffer에 admit하거나 graduate시킬지를 결정한다.

2) Teacher rollouts on hard questions

Hard question에 대해서만 frozen 27B teacher가 fresh rollouts를 생성한다. 같은 reward grader로 correct teacher response를 선별한다.

Teacher가 하나라도 맞히면 BCQ candidate pool을 만들 수 있다. Teacher도 모두 실패하면 BCQ는 만들지 못하고 NCQ만 가능하다.

3) Candidate compression

Teacher-correct response와 student-wrong response는 동일한 compression process를 거친다. 논문은 essential reasoning step과 final answer를 보존하고 exploratory text, retry, filler를 제거하도록 teacher에게 요청한다.

이 단계의 설계 이유는 두 가지다.

  • Long candidate가 prompt budget을 과도하게 쓰는 것을 막는다.
  • Teacher trace와 student trace의 length와 style 차이가 correctness cue가 되는 것을 줄인다.

Compression 자체도 teacher-side operation이며 gradient path 밖에 있다.

4) BCQ and NCQ construction

Hardness가 높은 question부터 BCQ와 NCQ를 만든다.

  • BCQ는 teacher-correct 1개와 student-wrong 1개가 모두 있어야 한다.
  • NCQ는 student-wrong rollout이 있어야 한다.
  • Combined reformulated prompt 수에는 per-step cap을 둔다.
  • 같은 question에 BCQ와 NCQ가 모두 가능하면 별도 rollout group으로 다룬다.

5) Reformulated student rollouts

Student가 BCQ prompt와 NCQ prompt에서 새 response group을 생성한다. Candidate text는 input이지만 response token은 current student가 생성한다.

Plain, BCQ, NCQ rollout은 서로 다른 group key를 사용한다. 각 group 안에서 reward variation과 advantage를 계산한다.

6) Policy update

ZPPO는 GRPO 위에 다음 recipe를 사용한다.

  • DAPO clip-higher
  • Token-level policy gradient loss
  • Reference policy KL penalty 제거
  • REINFORCE++ two-step advantage normalization
  • Zero-advantage group을 batch normalization statistic에서 제외
  • Rollout step마다 4회 gradient update

마지막 항목은 사소해 보이지만 중요하다. Update 수가 너무 적으면 matched step budget에서 undertraining이 생기고, 너무 많으면 같은 rollout batch를 반복 사용하면서 in-step policy drift가 커진다. 논문은 4 updates가 LLM, VLM, Video 세 family에서 가장 좋은 trade-off를 보였다고 보고한다.

Zero-advantage group 제외도 단순 구현 detail이 아니다. All-correct와 all-wrong group의 advantage는 0이지만, 이 0들을 batch standard deviation 계산에 넣으면 실제 signal을 가진 group의 normalized advantage scale이 왜곡될 수 있다. ZPPO는 trivial group을 loss signal뿐 아니라 normalization statistic에서도 분리한다.

7) Buffer refresh

Policy update 뒤에는 plain rollout accuracy만 사용해 replay buffer를 갱신한다.

  • 아직 0.5 미만이면 admit 또는 retain한다.
  • 0.5 이상이면 graduate한다.
  • Capacity를 넘으면 FIFO eviction한다.

BCQ/NCQ accuracy를 graduation criterion으로 쓰지 않는 점도 중요하다. Helped prompt에서만 잘 풀고 original question에서는 여전히 실패할 수 있기 때문이다. Graduation은 original condition의 plain rollout 기준이다.

3-3. Response-level on-policy를 어떻게 읽어야 하는가

ZPPO의 on-policy claim은 정확하게 읽어야 한다.

Teacher-derived candidate가 prompt에 들어가므로 state distribution은 teacher guidance의 영향을 받는다. 그러나 policy gradient가 계산되는 response token은 모두 current student가 해당 prompt condition에서 직접 sampling한다. 논문은 이 의미에서 response-level on-policy라고 정의한다.

따라서 ZPPO가 teacher influence를 완전히 제거했다고 말하면 부정확하다. 더 정확한 표현은 다음과 같다.

  • Teacher는 action target을 만들지 않는다.
  • Teacher는 input state를 구성한다.
  • Student action은 current policy에서 생성된다.
  • Learning signal은 student response reward로 계산된다.

이 boundary가 ZPPO를 teacher response imitation이나 forced prefix continuation과 구분한다.

4. Training / Data / Recipe

4-1. Model configuration

논문은 Qwen3.5 family의 네 student scale을 사용한다.

Role Model scale Training role
Student 1 0.8B Smallest deployment-oriented regime
Student 2 2B Small model regime
Student 3 4B Mid-scale compact model regime
Student 4 9B Stronger student regime
Teacher 27B Frozen rollout, candidate compression, prompt-side guidance

모든 model은 base checkpoint에서 시작해 논문의 multimodal pipeline으로 VLM post-training된다. 따라서 결과를 text-only LLM의 일반적 RL result로 바로 해석하면 안 된다.

4-2. ZPPO-77K training corpus

Training corpus는 ZPPO-77K라는 multimodal RL dataset이다. 각 sample은 image, text question, short gold answer로 구성된다. Public source인 Vero-600K와 MMFineReason-SFT-586K에서 수집하며, STEM, chart, OCR, diagram, VQA, counting, grounding 등 여러 category를 포함한다.

Dataset construction에서 중요한 점은 hard-example bias다.

  • Multimodal reasoning과 직접 연결되는 STEM, chart, OCR source를 우선한다.
  • Overlapping source는 canonical mapping으로 정리한다.
  • MMFineReason에서는 smaller annotator model이 자주 맞히는 example을 제거해 easy prompt 비중을 줄인다.
  • Rule-based reward를 쓰기 위해 short gold answer가 있는 sample을 중심으로 구성한다.

이 dataset은 ZPPO의 method와 잘 맞는다. BCQ와 NCQ는 correct/wrong outcome을 구분할 수 있어야 하므로, reliable grader가 있는 problem이 필요하다.

4-3. Reward and judging

정답 형태가 명확한 문제에는 rule-based binary reward를 사용한다. Boxed answer를 추출한 뒤 numerical equivalence와 LaTeX equivalence를 처리한다.

OCR, open-ended VLM, free-form derivation처럼 strict parsing이 안전하지 않은 문제는 shared LLM-as-a-judge로 보낸다. 중요한 점은 모든 baseline과 ZPPO가 같은 grader pipeline을 사용한다는 것이다.

그래도 binary reward quality는 method의 전제다. Judge false positive나 false negative가 많으면 BCQ candidate pool, NCQ failure set, buffer admission 모두 오염될 수 있다.

4-4. Baselines

논문은 다음 baseline을 같은 dataset과 evaluation pipeline에서 비교한다.

  1. Off-policy distillation
    • Fresh teacher rollout을 correctness filtering한 뒤 teacher trajectory에서 JSD imitation을 수행한다.
  2. On-policy distillation
    • Student가 trajectory를 생성하고 teacher가 같은 prefix에서 target logits를 제공한다.
  3. GRPO
    • BCQ, NCQ, replay buffer를 제거한 RL backbone이다.
  4. GRPO + Replay
    • Prompt replay buffer만 추가하고 BCQ와 NCQ는 사용하지 않는다.
  5. Hint
    • Correct teacher trace를 answer-free hint로 바꾸어 prompt에 붙인다.
  6. Prefix
    • Correct teacher trace의 일부를 forced prefix로 주고 student가 continuation을 생성한다.

이 baseline 설계는 꽤 보수적이다. Distillation도 cached teacher pool이 아니라 매 step fresh teacher sample을 사용하고, replay variant도 같은 buffer policy를 적용한다. 따라서 ZPPO gain을 teacher freshness 하나로 설명하기 어렵다.

4-5. Systems and reproducibility notes

Teacher rollout, candidate compression, free-form judge는 student rollout과 병렬로 실행된다. 논문 구현에서는 teacher-side work를 student critical path와 overlap해 wall-clock overhead를 줄인다.

다만 이를 compute-free라고 해석하면 안 된다.

  • Teacher generation FLOPs가 추가된다.
  • BCQ와 NCQ student rollout이 추가된다.
  • Reformulated rollout에도 multiple gradient updates가 적용된다.
  • Parallel overlap을 위해 별도 teacher-side inference capacity가 필요하다.

Project page 기준으로 2026-06-18 현재 code와 model은 internal-use only이며 public release는 coming soon으로 표시되어 있다. 2026-08-14 발행 전에 release status를 다시 확인할 필요가 있다.

5. Evaluation

5-1. VLM main results

먼저 16 VLM benchmark의 macro average를 보면 scale-dependent pattern이 선명하다.

Student Base GRPO GRPO + Replay ZPPO ZPPO gain over GRPO + Replay
0.8B 41.0 43.8 45.4 50.3 +4.9
2B 56.8 58.7 59.2 62.0 +2.8
4B 66.9 68.2 68.7 70.9 +2.2
9B 70.2 71.2 71.4 73.0 +1.6

ZPPO는 모든 scale에서 가장 높은 VLM average를 기록한다. 동시에 gain은 student가 작을수록 크다.

이 결과는 논문의 motivation과 맞는다. Small student일수록 all-wrong question이 많고, teacher가 풀 수 있지만 student는 못 푸는 zone도 넓다. 따라서 BCQ와 replay가 작동할 공간이 더 많다.

반대로 9B student에서는 이미 plain rollout으로 풀 수 있는 문제가 많고, 남은 hard question은 27B teacher도 실패할 가능성이 높다. Teacher-correct candidate pool이 줄어들면서 BCQ gain도 작아진다.

5-2. Generalization beyond the VLM training corpus

논문에서 더 중요한 결과는 LLM과 Video benchmark다. Training은 multimodal image-question corpus에서 이루어지지만, held-out benchmark family에서도 ZPPO가 개선되는지를 본다.

Student Family Base Best distillation GRPO + Replay ZPPO
0.8B LLM 25.2 23.2 28.7 33.1
0.8B Video 48.3 45.8 50.5 52.8
2B LLM 45.3 43.7 47.3 50.4
2B Video 60.6 59.2 61.9 63.2

여기서 Best distillation은 표에 보고된 off-policy와 on-policy distillation 중 높은 값이다.

이 결과는 ZPPO의 핵심 주장을 지지한다.

  • Distillation은 VLM training family에서는 base 근처를 유지하지만 LLM과 Video average를 떨어뜨릴 수 있다.
  • GRPO + Replay는 base보다 좋아지지만 hard question을 다시 보여주는 것만으로는 제한적이다.
  • ZPPO는 teacher response를 target으로 모방하지 않으면서 held-out family에서도 gain을 유지한다.

특히 0.8B LLM average가 28.7에서 33.1로 오른 결과는 VLM score 상승보다 더 의미 있게 볼 수 있다. Prompt reformulation이 narrow VLM answer pattern을 외우게 한 것이 아니라, candidate discrimination과 failure avoidance behavior를 강화했을 가능성을 보여주기 때문이다.

다만 이 해석은 benchmark-family generalization이다. 완전히 새로운 deployment distribution이나 task format에 대한 guarantee는 아니다.

5-3. Component ablation

0.8B와 2B VLM average의 ablation은 method interaction을 잘 보여준다.

Method 0.8B 2B
GRPO 43.8 58.7
GRPO + Replay 45.4 59.2
GRPO + BCQ + NCQ, no replay 45.2 58.9
GRPO + Replay + BCQ 48.6 60.8
GRPO + Replay + NCQ 46.2 60.1
Full ZPPO 50.3 62.0

세 가지를 읽어야 한다.

1) Replay alone is not enough

0.8B에서 GRPO 43.8이 Replay 추가 후 45.4가 된다. Improvement는 있지만 full ZPPO 50.3과는 큰 차이가 있다. Hard question을 반복하는 것과 그 question을 학습 가능하게 바꾸는 것은 다른 문제다.

2) Reformulation alone is not enough

BCQ와 NCQ를 넣되 replay하지 않으면 0.8B 45.2, 2B 58.9다. One-shot scaffold는 도움을 주지만, hard question이 original condition에서도 풀리도록 충분히 internalize되기 전에 지나갈 수 있다.

3) Replay plus reformulation is super-additive

BCQ 또는 NCQ에 replay를 결합하면 isolated component보다 gain이 커진다. Fresh candidate를 가진 repeated practice가 핵심이다.

5-4. BCQ와 NCQ의 역할은 scale에 따라 바뀐다

0.8B에서는 Replay + BCQ가 48.6, Replay + NCQ가 46.2다. Weak student는 teacher-correct candidate와 student-wrong candidate를 직접 비교하는 positive contrast에서 더 큰 도움을 받는다.

4B와 9B에서는 pattern이 달라진다.

  • 4B: Replay + BCQ 69.6, Replay + NCQ 69.9
  • 9B: Replay + BCQ 72.0, Replay + NCQ 72.5

Student가 강해질수록 자기 실패들을 모아 공통 error를 분석하는 NCQ의 상대적 기여가 커진다. 논문은 이를 다음처럼 해석한다.

  • Weak student는 teacher candidate가 없으면 failure pattern을 충분히 해석하지 못할 수 있다.
  • Stronger student는 teacher positive answer보다 자기 wrong trajectories의 차이를 분석하는 데 더 강하다.
  • Student scale이 커질수록 teacher와 student의 capability gap이 줄어 BCQ가 가능한 question도 감소한다.

이 scale-dependent role shift는 ZPPO의 가장 흥미로운 결과 중 하나다. Teacher guidance의 최적 형태가 student capacity에 따라 달라질 수 있음을 보여준다.

5-5. Hint와 Prefix보다 BCQ가 강한 이유

Hint는 teacher knowledge를 prompt에 넣으므로 response token은 student-generated다. 그런데도 BCQ보다 transfer가 약하다.

논문이 제시하는 차이는 signal structure다.

  • Hint는 positive direction만 준다.
  • Prefix는 known-good path에서 continuation하게 만든다.
  • BCQ는 correct와 wrong을 비교해야 한다.
  • NCQ는 multiple wrong path를 동시에 피해야 한다.

즉 ZPPO는 answer clue보다 discrimination task를 제공한다. Student가 왜 한 candidate가 다른 candidate보다 나은지 판단하게 만드는 것이 held-out LLM과 Video benchmark로 더 잘 transfer된다는 해석이다.

5-6. Statistical evidence를 과하게 읽지 말아야 한다

논문은 benchmark-level cluster bootstrap으로 ZPPO와 baseline의 macro-average delta가 benchmark selection에 얼마나 robust한지 확인한다.

하지만 이 confidence interval은 다음을 의미하지 않는다.

  • Multiple training seed variance
  • Per-example uncertainty
  • Decoding stochasticity variance
  • Independent reproduction uncertainty

Resampling unit은 training run이 아니라 benchmark다. 따라서 paper result가 특정 benchmark subset에만 의존하는지를 보는 evidence이지, training stability를 증명하는 evidence는 아니다.

6. Limitations

  1. Teacher-bounded zone
    • BCQ는 teacher가 correct rollout을 만들어야 구성할 수 있다.
    • Teacher와 student가 모두 실패하면 NCQ만 남고, 논문에서도 NCQ alone의 gain은 더 제한적이다.
    • Teacher capability 밖의 question으로 zone을 확장하는 방법은 열린 문제다.
  2. Response-level on-policy의 범위
    • Gradient token은 student-generated이지만 prompt state는 teacher-derived candidate에 condition된다.
    • 실제 inference에서는 candidate가 없을 수 있으므로, training state distribution과 deployment state distribution의 차이가 완전히 사라지는 것은 아니다.
    • 논문은 plain rollout graduation으로 이를 줄이지만, prompt-conditioned learning이 얼마나 internalize되는지는 더 직접적인 analysis가 필요하다.
  3. Additional compute and infrastructure
    • Teacher rollout, candidate compression, judge, BCQ/NCQ rollout이 추가된다.
    • Parallel execution으로 wall-clock을 숨길 수 있어도 total FLOPs와 cluster complexity는 증가한다.
    • Mobile deployment를 motivation으로 들지만 post-training 자체는 multi-pool GPU infrastructure를 요구한다.
  4. Reliable outcome reward가 필요하다
    • ZPPO는 correct teacher candidate와 wrong student candidate를 구분해야 한다.
    • Reward grader가 틀리면 BCQ가 wrong teacher trace를 positive side에 넣거나, NCQ가 실제 correct reasoning을 wrong으로 취급할 수 있다.
    • Open-ended dialogue, subjective preference, social interaction에는 그대로 적용하기 어렵다.
  5. Dynamic sampling과의 tension
    • 일반 dynamic sampling은 all-wrong과 all-correct question을 제거한다.
    • ZPPO는 all-wrong question을 오히려 buffer에 보존한다.
    • 두 방법을 naive하게 결합하면 hard question을 살릴지 삭제할지 policy가 충돌한다.
  6. Scope is single-turn reasoning accuracy
    • Multi-step agent, tool use, multi-turn dialogue, robustness, upstream perception, inference efficiency는 평가 범위 밖이다.
    • 31 benchmark가 넓어 보여도 task axis는 verifiable single-turn reasoning에 집중되어 있다.
  7. Public reproducibility is incomplete
    • ArXiv v1과 project page는 method와 evaluation detail을 많이 공개한다.
    • 그러나 2026-06-18 현재 code와 model checkpoint는 public release 전이다.
    • Full reproduction은 release 이후 다시 확인해야 한다.
  8. Run-to-run variance가 분리되지 않는다
    • Cluster bootstrap은 benchmark subset sensitivity를 본다.
    • Multiple seed training result가 아니므로 small score gap, 특히 saturated 9B Video result는 보수적으로 해석해야 한다.
  9. Candidate cue leakage 가능성
    • 논문은 teacher와 student trace를 같은 teacher로 압축하고 anonymize해 surface cue를 줄인다.
    • 그래도 reasoning quality, factual density, wording pattern이 teacher origin을 암시할 수 있다.
    • Student가 진짜 correctness를 판단한 것인지 teacher-like style을 고른 것인지 완전히 분리하기는 어렵다.

7. My Take

7-1. Gradient boundary를 method design constraint로 본 점

ZPPO의 가장 재사용 가치가 큰 아이디어는 BCQ prompt format 자체보다 gradient boundary를 명시적으로 설계한 점이다.

Teacher를 쓰는 방법은 보통 세 가지로 나뉜다.

  • Teacher output을 label로 삼는다.
  • Teacher distribution을 loss target으로 삼는다.
  • Teacher trajectory 일부를 student action sequence에 섞는다.

ZPPO는 네 번째 선택을 보여준다.

  • Teacher는 evidence와 contrast를 만든다.
  • Student는 그 evidence를 보고도 자기 action을 생성한다.
  • Reward는 student action에만 걸린다.

이 구조는 teacher를 answer oracle이 아니라 curriculum compiler로 보는 관점이다. Teacher가 직접 정답을 주는 대신, student가 풀 수 있는 형태로 task interface를 바꾼다.

7-2. Hard example mining보다 한 단계 더 나간다

많은 RL pipeline은 hard prompt를 더 자주 sampling한다. 하지만 all-wrong prompt는 반복해도 계속 zero-advantage일 수 있다. ZPPO는 frequency만 바꾸지 않고 prompt geometry를 바꾼다.

이 차이는 실무적으로 중요하다.

  • Hard mining은 어떤 example을 다시 볼지 결정한다.
  • ZPPO는 그 example을 어떤 representation으로 다시 보여줄지 결정한다.
  • Replay buffer는 capability threshold에 따라 example lifecycle을 관리한다.

즉 static difficulty score보다 learner-relative curriculum에 가깝다. 같은 question도 student가 성장하면 graduate하고, 아직 못 풀면 candidate가 바뀐 상태로 다시 등장한다.

7-3. Reuse potential

1) Small reasoning model post-training

Math, code, chart QA처럼 verifier가 있는 domain에서 바로 재사용하기 좋다.

  • Teacher correct trace와 student wrong trace를 paired prompt로 만든다.
  • Original prompt accuracy로 admission과 graduation을 관리한다.
  • Teacher target imitation 없이 student-generated response만 update한다.

2) Coding agent training

Compile/test reward가 있는 coding task에서는 BCQ를 correct patch rationale와 failed student patch rationale의 비교로 확장할 수 있다. NCQ는 여러 failed patch의 공통 bug pattern을 모아 보여줄 수 있다.

다만 repository-level agent에서는 state와 tool history가 길다. Single question replay보다 environment snapshot, tool result, branch state까지 어떻게 저장할지가 추가 문제다.

3) Document AI and OCR reasoning

Table, chart, scanned document question에서 teacher-correct evidence path와 student-wrong evidence path를 비교하게 만들 수 있다. 특히 OCR value를 잘못 읽은 여러 rollout을 NCQ로 모으면 repeated perception error를 드러낼 수 있다.

여기서는 reward grader가 더 중요하다. OCR answer normalization과 document grounding judge가 안정적이지 않으면 candidate label이 쉽게 오염된다.

4) Agent memory curriculum

Prompt replay buffer의 admit and graduate pattern은 agent memory에도 적용할 수 있다.

  • 반복 실패하는 task state를 memory queue에 넣는다.
  • 매 replay마다 fresh critique와 candidate action을 만든다.
  • Original condition에서 일정 success threshold를 넘으면 제거한다.

단순 failure log 저장보다 capability-aware memory lifecycle에 가깝다.

5) Teacher budget allocation

Teacher를 모든 prompt에 호출할 필요는 없다. ZPPO는 hard question에 teacher compute를 집중한다. 실제 시스템에서는 다음 routing을 고려할 수 있다.

  1. Plain student rollouts로 uncertainty와 failure를 측정한다.
  2. All-wrong 또는 low-success question만 teacher route로 보낸다.
  3. Teacher가 성공하면 BCQ를 만든다.
  4. Teacher도 실패하면 NCQ 또는 multi-teacher escalation을 사용한다.

이 구조는 expensive teacher를 selective training service로 쓰는 방식과 잘 맞는다.

7-4. 추가로 보고 싶은 실험

  1. Multiple training seeds
    • Scale별 gain이 run variance보다 충분히 큰지 확인할 필요가 있다.
  2. Candidate origin classifier
    • Candidate text만 보고 teacher/student origin을 맞히는 classifier를 학습해 style leakage를 측정하면 좋다.
  3. No-teacher deployment transfer
    • BCQ/NCQ training 후 plain prompt에서 어떤 internal behavior가 바뀌었는지 mechanistic analysis가 필요하다.
  4. Multi-teacher zone expansion
    • Teacher 하나가 실패할 때 domain specialist ensemble이 BCQ pool을 얼마나 넓히는지 볼 수 있다.
  5. Long-horizon agent extension
    • Question replay가 아니라 environment state replay에서 response-level on-policy를 어떻게 정의할지 연구가 필요하다.
  6. Teacher cost matched comparison
    • 같은 teacher FLOPs budget에서 distillation, hint, BCQ, synthetic data generation을 비교하면 practical choice가 더 명확해진다.

7-5. Follow-up papers

  • DeepSeekMath: Pushing the Limits of Mathematical Reasoning in Open Language Models
  • DAPO: An Open-Source LLM Reinforcement Learning System at Scale
  • REINFORCE++: A Simple and Efficient Approach for Aligning Large Language Models
  • On-Policy Distillation of Language Models
  • StepHint and BREAD 계열의 teacher prefix 또는 hint scaffolding 연구

8. Summary

  • ZPPO는 small student RL의 all-wrong group이 zero advantage로 버려지는 문제를 겨냥한다.
  • Teacher response를 gradient target으로 쓰지 않고, BCQ와 NCQ prompt의 candidate material로만 사용한다.
  • BCQ는 correct teacher trace와 wrong student trace를 비교하게 하고, NCQ는 student의 collective failure를 한 prompt에 모은다.
  • Prompt replay buffer는 hard question을 plain rollout accuracy 0.5에 도달할 때까지 fresh candidate와 함께 반복 노출한다.
  • Replay와 reformulation은 따로 쓸 때보다 함께 쓸 때 효과가 크며, 0.8B처럼 작은 student에서 gain이 가장 크다.
  • Scale이 커질수록 BCQ 기여는 줄고 NCQ 기여는 커져, teacher-positive guidance와 self-negative analysis의 역할이 student capacity에 따라 바뀐다.
  • 핵심 메시지는 더 강한 teacher target이 아니라, teacher knowledge를 student-generated policy update와 양립하는 interface로 바꾸는 데 있다.

댓글남기기