Teaching a Moving Student: Rethinking the Curriculum of On-Policy Distillation
Organizations: Tencent
Abstract
In on-policy distillation (OPD), the student determines which states receive teacher supervision. As its policy evolves, earlier response prefixes become less likely even though teacher-student disagreement on them persists. Under matched trajectory and optimization budgets, neither more queries nor more frequent rollout resampling is uniformly beneficial. Current-policy rollouts outperform initial-policy rollouts at shorter response budgets, but this ranking reverses at longer budgets. Replaying initial-policy rollouts after current-policy training improves accuracy, whereas replaying fixed recent rollouts does not reproduce the gain. We propose R-OPD, a gradient-triggered curriculum that adaptively selects when to revisit initial-student trajectories. When changes in mean gradients fall within minibatch-level variation for two consecutive comparisons, training switches from the next iteration onward to initial-policy replay. Across eight mathematics benchmarks and three training-data orders, R-OPD improves average accuracy over continued current-policy sampling by 2.25/4.44 percentage points at 16K/32K for a 0.6B student and 2.81/6.15 points for a 1.7B student. With a 30B-A3B teacher, it improves 8B accuracy by 4.05 points at 32K. At 32K, R-OPD exceeds a fixed schedule of 40 current-policy updates followed by 20 replay updates by 1.39/1.66/1.85 points for 0.6B/1.7B/8B. At the same generation cap, R-OPD also produces longer responses, suggesting that well-timed revisits help students use more of their reasoning capacity.
Figures & tables
| Training queries | Initial rollouts only | Resample every 11 steps | Resample every step |
|---|---|---|---|
| 8 | 21.16 | 24.09 | 23.61 |
| 48 | 20.18 | 24.40 | 24.22 |
| Full (14,080) | 19.05 | 24.51 | 25.57 |
| Teacher | Current-policy advantage at 16K | Initial-policy advantage at 32K | ||
|---|---|---|---|---|
| Acc. | pass@ | Extraction | Acc. | |
| Qwen3-4B | +0.99 | +10.38 | +38.87 | +4.39 |
| JustRL-1.5B | +6.15 | +16.09 | +39.52 | +2.07 |
| Comparison | Schedule | 16K | 32K | Tokens |
|---|---|---|---|---|
| Source | Current-policy sampling | 26.41 | 26.52 | 8,254 |
| Fixed recent bank | 26.12 | 26.21 | 7,997 | |
| Initial-policy replay | 27.13 | 29.37 | 12,116 | |
| Order | Current then initial | 27.77 | 30.55 | 13,015 |
| Initial then current | 26.16 | 27.24 | 11,369 |
| Student checkpoint / continuation | Initial-policy prefixes | prefixes |
|---|---|---|
| Common starting checkpoint ( ) | 0.448 | 0.427 |
| Continue current-policy sampling | 0.404 | 0.370 |
| Replay fixed recent rollouts | 0.404 | 0.370 |
| Replay initial-policy rollouts | 0.370 | 0.400 |
Appendix figures & tables20 assets
Supplementary material from the paper’s appendix.
Appendix
| Experiment | Queries | Evaluation | ||
|---|---|---|---|---|
| Query–sampling grid | 8 / 48 / Full | 14,080 | 110 | Three benchmarks |
| Matched rollout sources | 48 | 4,800 | 40 | Three and eight benchmarks |
| Source and order | 48 | 7,200 | 60 | Eight benchmarks |
| R-OPD (0.6B, 1.7B, 8B) | 48 | 7,200 | 60 | Eight benchmarks |
| Fixed-onset scan (0.6B) | 48 | 7,200 | 60 | Eight benchmarks |
| Main student | Qwen3-0.6B, non-thinking |
|---|---|
| Curriculum-transfer students | Qwen3-1.7B and Qwen3-8B, non-thinking |
| 8B curriculum teacher | Qwen3-30B-A3B-Instruct-2507 |
| Main teacher | Qwen3-4B-Instruct-2507 (shared tokenizer) |
| Secondary teacher | JustRL-DeepSeek-1.5B (cross-tokenizer) |
| Actor/ref parameters | FP32 |
| Teacher scoring | FP32 parameters, BF16 autocast |
| Benchmark | Questions | Responses per question | Total responses |
|---|---|---|---|
| AIME24 | 30 | 32 | 960 |
| AIME25 | 30 | 32 | 960 |
| AIME26 | 30 | 32 | 960 |
| AMC23 | 83 | 32 | 2,656 |
| HMMT25-Nov | 30 | 32 | 960 |
| HMMT26-Feb | 33 | 32 | 1,056 |
| Query set | Queries | Accuracy | pass@32 |
|---|---|---|---|
| Full | 14,080 | 25.57 | 58.11 |
| Difficulty-selected | 48 | 23.98 | 58.51 |
| Random | 48 | 24.22 | 59.22 |
| Metric | AIME24 | AIME25 | AMC23 | Avg. | ||
|---|---|---|---|---|---|---|
| Accuracy | 8 | 1 | 8.85 | 14.90 | 39.72 | 21.16 |
| 8 | 10 | 11.46 | 15.42 | 45.41 | 24.09 | |
| 8 | 110 | 10.83 | 15.42 | 44.58 | 23.61 | |
| 48 | 1 | 7.29 | 14.90 | 38.37 | 20.18 | |
| 48 | 10 | 11.98 | 15.31 | 45.90 | 24.40 | |
| 48 | 110 | 12.08 | 15.10 | 45.48 | 24.22 |
| AIME24 | AIME25 | AMC23 | Average | ||||||
| Rollout source | Acc. | pass@32 | Acc. | pass@32 | Acc. | pass@32 | Acc. | pass@32 | Extraction |
| Teacher: Qwen3-4B-Instruct-2507 | |||||||||
| Current-policy | 11.35 | 50.00 | 15.83 | 40.00 | 43.49 | 81.93 | 23.56 | 57.31 | 66.72 |
| Initial-policy | 8.44 | 40.00 | 17.08 | 30.00 | 37.27 | 63.86 | 20.93 | 44.62 | 26.57 |
| Teacher: JustRL-DeepSeek-1.5B | |||||||||
| Current-policy | 15.31 | 53.33 | 19.48 | 46.67 | 50.64 | 84.34 | 28.48 | 61.45 | 63.41 |
| Teacher | Benchmark | 4K | 8K | 16K | 24K | 32K | Length ratio at 32K |
|---|---|---|---|---|---|---|---|
| Qwen3-4B | AIME24 | -4.06 | -3.23 | -1.56 | +2.40 | +6.77 | |
| AIME25 | -4.06 | -3.85 | +1.25 | +3.65 | +5.94 | ||
| AIME26 | -3.12 | -2.60 | +0.94 | +1.04 | +2.71 | ||
| AMC23 | -11.11 | -6.36 | -4.48 | -0.94 | +4.33 | ||
| HMMT25-Nov | -1.25 | -1.15 | +0.10 | +2.50 | +4.06 | ||
| HMMT26-Feb | -2.75 | -3.22 | -2.37 | -0.28 | +2.08 |
| Start | Scoring student / continuation | Steps | Initial | ||
| — | Initial student | 0 | 0.774 | 0.624 | 0.628 |
| 20 | 0.548 | 0.505 | 0.523 | ||
| 40 | 0.448 | 0.409 | 0.427 | ||
| Continue current-policy sampling | 60 | 0.404 | 0.361 | 0.370 | |
| Replay fixed recent rollouts | 60 | 0.404 | 0.360 | 0.370 | |
| Replay initial-policy rollouts | 60 | 0.370 | 0.378 | 0.400 |
| Training history | 4K | 8K | 16K | 24K | 32K | Tokens |
|---|---|---|---|---|---|---|
| Initial initial | 12.85 | 18.66 | 25.24 | 28.93 | 30.31 | 21,357 |
| Initial current | 17.67 | 22.87 | 26.62 | 27.58 | 27.71 | 11,166 |
| Current initial | 14.23 | 20.71 | 27.13 | 30.06 | 29.37 | 12,116 |
| Current current | 17.94 | 23.06 | 26.41 | 26.52 | 26.52 | 8,254 |
| Current fixed recent | 18.15 | 23.10 | 26.12 | 26.20 | 26.21 | 7,997 |
| Benchmark | Initial then initial | Initial then current | Current then initial | Current then current |
|---|---|---|---|---|
| 16K retained prefixes | ||||
| AIME24 | 10.10 | 11.04 | 11.15 | 12.71 |
| AIME25 | 16.67 | 16.25 | 16.15 | 16.77 |
| AIME26 | 13.23 | 12.92 | 13.02 | 10.83 |
| AMC23 | 38.48 | 42.73 | 43.83 | 44.69 |
| HMMT26-Feb | 5.68 | 9.09 | 8.71 | 8.43 |
| Condition | Steps | 4K | 8K | 16K | 24K | 32K | Tokens |
|---|---|---|---|---|---|---|---|
| Current only | 40 | 17.28 | 21.86 | 25.86 | 27.18 | 27.44 | 12,011 |
| Replay after 20 steps | 40 | 11.20 | 17.10 | 24.40 | 28.89 | 32.02 | 22,343 |
| Benchmark | 4K | 8K | 16K | 32K |
|---|---|---|---|---|
| AIME24 | -1.67 | -1.77 | +1.46 | +4.90 |
| AIME25 | -4.69 | -2.29 | +1.04 | +0.94 |
| AIME26 | -3.54 | -1.67 | +2.40 | +3.33 |
| AMC23 | -6.40 | -3.84 | +2.52 | +6.59 |
| HMMT25-Nov | -0.31 | +1.04 | +1.46 | +2.29 |
| HMMT26-Feb | -1.42 | -1.04 | +0.76 | +2.27 |
| Continuation | 16K | 32K | Tokens at 32K |
|---|---|---|---|
| Full initial-policy replay | 24.40 | 32.02 | 22,343 |
| Equal-response mix | 26.38 | 28.25 | 12,346 |
| Source-balanced mix | 27.00 | 30.09 | 14,445 |
| Replay: no EOS | 25.07 | 31.88 | 22,111 |
| Replay: EOS only | 23.64 | 25.57 | 13,870 |
| Condition | exact | Cosine vs. current-policy |
|---|---|---|
| current-policy | — | |
| current-policy | — | |
| initial-policy | ||
| current-policy | — | |
| initial-policy |
| Quantity | Value |
|---|---|
| 0.6B / 1.7B teacher | Qwen3-4B-Instruct-2507 |
| 8B teacher | Qwen3-30B-A3B-Instruct-2507 |
| Query set | 48 random queries; ten occurrences each per iteration |
| Iterations / optimization steps | 15 / 60 |
| Responses per iteration / initial bank | 480 / five batches of 480 |
| Trigger threshold / persistence | / two consecutive comparisons |
| Student | Run | 16K accuracy (%) | 32K accuracy (%) | |||||
|---|---|---|---|---|---|---|---|---|
| Current | Fixed | R-OPD | Current | Fixed | R-OPD | |||
| 0.6B | 1 | 5 | 26.41 | 27.13 | 28.96 | 26.52 | 29.37 | 31.52 |
| 2 | 5 | 25.94 | 27.52 | 28.38 | 26.07 | 29.62 | 30.48 | |
| 3 | 7 | 26.77 | 27.49 | 28.53 | 26.91 | 29.68 | 30.83 | |
| 1.7B | 1 | 7 | 38.97 | 41.21 | 41.92 | 39.13 | 43.74 | 45.14 |
| 2 | 6 | 38.73 | 41.27 | 41.65 | 38.86 | 43.62 | 45.43 | |
| Student | Method | 4K | 8K | 16K | 24K | 32K | Tokens at 32K |
|---|---|---|---|---|---|---|---|
| 0.6B | Current | 17.94 | 23.06 | 26.41 | 26.52 | 26.52 | 8,254 |
| Fixed | 14.23 | 20.71 | 27.13 | 30.06 | 29.37 | 12,116 | |
| R-OPD | 14.72 | 21.61 | 28.96 | 31.28 | 31.52 | 13,842 | |
| 1.7B | Current | 29.06 | 35.59 | 38.97 | 39.13 | 39.13 | 6,887 |
| Fixed | 27.11 | 34.52 | 41.21 | 44.44 | 43.74 | 11,025 | |
| R-OPD | 26.77 | 34.66 | 41.92 | 44.61 | 45.14 | 11,980 |
| Student | Benchmark | 16K | 32K | ||||
|---|---|---|---|---|---|---|---|
| Current | Fixed | R-OPD | Current | Fixed | R-OPD | ||
| 0.6B | AIME24 | 12.71 | 11.15 | 13.33 | 12.71 | 15.10 | 16.56 |
| AIME25 | 16.77 | 16.15 | 18.44 | 16.88 | 16.88 | 19.90 | |
| AIME26 | 10.83 | 13.02 | 15.31 | 10.94 | 14.48 | 17.29 | |
| AMC23 | 44.69 | 43.83 | 46.69 | 44.88 | 48.61 | 51.77 | |
| HMMT25-Nov | 5.73 | 6.67 | 7.40 | 5.83 | 6.77 | 8.85 | |
Language Model Distillation
Language model distillation transfers a larger model’s capabilities to smaller or specialized models using outputs, probabilities, or internal representations.
See all 514 papers