Projected Distillation: On Learning to Solve Hard Problems from Close, Correct Targets
Organizations: University of Massachusetts · AWS AI Labs
Abstract
On-policy learning is central to post-training: training on a model's own generations limits distribution shift and helps preserve existing capabilities. On hard problems, however, on-policy RL provides no reward-based learning signal when all attempts fail. On-policy distillation provides next-token supervision from a teacher, but on hard problems, if a rollout goes wrong early, subsequent supervision is conditioned on prefixes that already contain the mistake. Correct behavior can instead come from a gold or teacher solution, but such off-policy targets can differ substantially from the model's generations and, as we show, may erode existing capabilities. We therefore treat on-policyness as a continuum and propose projected distillation, which minimally edits the student's failed attempts into correct targets. The method uses contrastive updates to favor corrections over failed attempts and refreshes these corrections as the student evolves, enabling near-on-policy learning even when all student attempts fail. Theoretically, we prove that the student's learning regret grows with the edit size: it scales linearly with the horizon under minimal correction, as in DAgger, and quadratically under full-answer replacement, as in behavior cloning. Empirically, across two students (Qwen3-8B and OLMo-2-7B) and five domains spanning math, code, science, and tool use, projected distillation gives the highest area under the specialization-retention frontier (best on 8 of 9 cells against GRPO and OPD, and 7 of 9 against SPOT and SODA). Our ablations highlight the importance of online corrections, the contrastive loss, and on-policyness: moving targets farther off-policy steadily worsens the specialization-retention trade-off, with retention falling from 0.916 to 0.744 when minimal corrections are replaced by student-agnostic gold solutions.
Figures & tables
| RLVR | same-family B teacher | black-box projector | |||||
| GRPO | OPD | Ours | SPOT | SODA | Ours | ||
| Qwen3-8B | GSM8K | 0.061 .011 | 0.145 .006 | 0.205 .012 | 0.209 .030 | 0.231 .016 | 0.262 .020 |
| MATH | 0.000 .000 | 0.003 .001 | 0.008 .002 | 0.145 .010 | 0.159 .009 | 0.035 .010 | |
| LCB | 0.000 .000 | 0.068 .018 | 0.138 .003 | 0.095 .005 | 0.091 .001 | 0.123 .006 | |
| SciKnow | 0.045 .008 | 0.027 .002 | 0.179 .005 | 0.124 .008 | 0.155 .013 | 0.124 .005 | |
| Tool | 0.248 .152 | 0.128 .004 | 0.676 .013 | 0.594 .010 | 0.635 .014 | 0.667 .015 | |
| MATH held-out, hard ( ) | Other benchmarks, hard ( ) | |||
| Method | pass@1 | pass@16 | pass@1 | pass@16 |
| Base | 0.013 | 0.150 | 0.011 | 0.114 |
| GRPO | 0.020 | 0.205 | 0.011 | 0.108 |
| SPOT | 0.020 | 0.197 | 0.012 | 0.114 |
| SODA | 0.031 | 0.291 | 0.016 | 0.127 |
| Ours | 0.056 | 0.354 | 0.020 | 0.154 |
| Method | BWT | SafeSpec 2% | SafeSpec 5% | |||
|---|---|---|---|---|---|---|
| GRPO | 0.114 0.034 | 0.826 0.048 | 0.058 | 0.221 0.057 | 0.035 0.012 | 0.056 0.022 |
| OPD | 0.118 0.022 | 0.951 0.031 | 0.043 | 0.136 0.041 | 0.101 0.019 | 0.135 0.026 |
| SPOT | 0.184 0.031 | 0.706 0.074 | 0.082 | 0.509 0.064 | 0.147 0.020 | 0.149 0.020 |
| SODA | 0.224 0.031 | 0.776 0.053 | 0.059 | 0.355 0.044 | 0.140 0.021 | 0.190 0.022 |
| Ours (32B) | 0.264 0.042 | 1.000 0.020 | 0.009 0.028 | 0.084 0.015 | 0.202 0.040 | 0.295 0.048 |
| Ours (bb) | 0.276 0.042 | 0.995 0.024 | 0.034 | 0.107 0.027 | 0.160 0.037 | 0.235 0.040 |
| Projector | Hard set | Held-out |
|---|---|---|
| none (untrained student) | 0.000 | 0.955 |
| the student itself | 0.219 0.012 | 0.924 0.021 |
| gold solution | 0.489 | 0.744 |
| black-box projector | 0.560 | 0.916 |
Appendix figures & tables27 assets
Supplementary material from the paper’s appendix.
Appendix
| Problem, student, verifier ( Sec. 3 ) | |
|---|---|
| problem / prompt (drawn from a problem distribution) | |
| answer: a token sequence of length | |
| student policy (autoregressive, parameters ) | |
| frozen initial student, used as the DPO reference | |
| verifier (marks an answer correct or not) | |
| set of correct answers | |
| Benchmark | Screened | Hard set | Hard % | Base sample acc. | Eval slice |
|---|---|---|---|---|---|
| GSM8K | 7,473 | 122 | 1.63 | 0.949 | 200 |
| MATH | 12,000 | 1,991 | 16.59 | 0.703 | 500 |
| SciKnowEval | 3,721 | 1,003 | 26.96 | 0.323 | 400 |
| ToolAlpaca | 3,584 | 467 | 13.03 | 0.845 | 300 |
| LiveCodeBench | — | 100 | — | — | 50 |
| Benchmark | Hard set | Eval slice |
|---|---|---|
| GSM8K | 230 | 200 |
| MATH | 4,046 | 200 |
| SciKnowEval | 493 | 200 |
| ToolAlpaca | 471 | 200 |
| LiveCodeBench | 810 | 131 |
| Student | Benchmark | Method | Hard | Held |
|---|---|---|---|---|
| Qwen3-8B | GSM8K | GRPO | 0.044 0.012 | 0.950 0.006 |
| OPD | 0.123 0.013 | 0.953 0.007 | ||
| Ours (32B) | 0.197 0.019 | 0.943 0.019 | ||
| SPOT | 0.090 0.005 | 0.216 0.039 | ||
| SODA | 0.246 0.021 | 0.604 0.140 | ||
| Ours (bb) | 0.273 0.022 | 0.943 0.009 |
| RLVR | same-family B teacher | black-box projector | |||||
| Student | Benchmark | GRPO | OPD | Ours | SPOT | SODA | Ours |
| Qwen3-8B | GSM8K | 0.006 | 0.007 | 0.019 | 0.039 | 0.140 | 0.009 |
| MATH | 0.003 | 0.017 | 0.015 | 0.028 | 0.002 | 0.006 | |
| LiveCodeBench | 0.000 | 0.018 | 0.013 | 0.027 | 0.041 | 0.007 | |
| SciKnowEval | 0.000 | 0.026 | 0.022 | 0.004 | 0.037 | 0.131 | |
| ToolAlpaca | 0.009 | 0.274 | 0.015 | 0.073 | 0.067 | 0.023 | |
| RLVR | same-family B teacher | black-box projector | |||||
| Student | Benchmark | GRPO | OPD | Ours | SPOT | SODA | Ours |
| Qwen3-8B | GSM8K | 0.020 0.006 | 0.016 0.007 | 0.030 0.015 | 0.751 0.039 | 0.362 0.140 | 0.024 0.009 |
| MATH | 0.001 0.001 | 0.030 0.012 | 0.027 0.015 | 0.533 0.030 | 0.133 0.004 | 0.010 0.006 | |
| LiveCodeBench | 0.000 0.000 | 0.073 0.029 | 0.047 0.018 | 0.040 0.020 | 0.070 0.038 | 0.053 0.007 | |
| SciKnowEval | 0.040 0.010 | 0.047 0.026 | 0.023 0.012 | 0.084 0.009 | 0.109 0.046 | 0.153 0.129 | |
| ToolAlpaca | 0.013 0.009 | 0.490 0.272 | 0.053 0.015 | 0.272 0.073 | 0.259 0.067 | 0.103 0.023 | |
| Method | GSM8K | MATH-500 | AMC23 | MMLU | HumanEval |
|---|---|---|---|---|---|
| Base (Qwen3-8B) | 0.934 0.003 | 0.709 0.005 | 0.433 0.030 | 0.702 0.002 | 0.821 0.002 |
| Ours | 0.915 0.001 | 0.749 0.003 | 0.492 0.036 | 0.765 0.001 | 0.787 0.000 |
| Ours -32B | 0.917 0.001 | 0.615 0.005 | 0.400 0.050 | 0.724 0.001 | 0.827 0.005 |
| Soda | 0.882 0.004 | 0.590 0.019 | 0.342 0.022 | 0.766 0.002 | 0.797 0.005 |
| Spot | 0.916 0.002 | 0.513 0.011 | 0.325 0.029 | 0.750 0.002 | 0.813 0.014 |
| GRPO | 0.932 0.004 | 0.700 0.008 | 0.425 0.029 | 0.702 0.002 | 0.821 0.002 |
| Method | GSM8K | MATH-500 | AMC23 | MMLU | HumanEval |
|---|---|---|---|---|---|
| Ours | |||||
| Ours -32B | |||||
| Soda | |||||
| Spot | |||||
| GRPO | |||||
| OPD |
| Sampled pass@1 | Greedy | ||||
|---|---|---|---|---|---|
| Benchmark | Hard | Base Ours | Change | pass@16 | change |
| OlympiadBench | 150 | 0.004 | 0.013 | ||
| Omni-MATH | 2,178 | 0.001 | 0.003 | ||
| AIME 1983–2023 | 199 | 0.003 | 0.010 | ||
| DAPO-Math | 358 | 0.004 | 0.010 | ||
| All four | 2,885 | 0.001 | 0.003 | ||
| MATH held-out, hard | Omni-MATH held-out, hard | others | |||
| Trained on | pass@1 | pass@16 | pass@1 | pass@16 | hard |
| Base | 0.013 | 0.150 | 0.009 | 0.092 | 0.016 |
| MATH | 0.056 ∗ | 0.354 | 0.018 ∗ | 0.128 | 0.024 ∗ |
| Omni-MATH | 0.045 ∗ | 0.362 | 0.022 ∗ | 0.146 | 0.030 ∗ |
| Arm | / | hard | held | ||
|---|---|---|---|---|---|
| minimal (ours) | / | 0.015 | 0.016 | 4 | |
| / | 0.065 | 0.067 | 67 | ||
| / | 0.021 | 0.069 | 35 | ||
| gold (anchor) | / | 0.090 | 0.016 | 2471 † |
| Arm | token diff | length change | |||
|---|---|---|---|---|---|
| minimal (ours) | |||||
| gold |
| Arm | hard | rel. | held |
|---|---|---|---|
| Diff-local DPO self-SFT | 0.005 | 0.002 | |
| Full-sequence DPO self-SFT | 0.022 | 0.014 | |
| SFT on projection self-SFT | 0.078 | 0.054 | |
| Full-sequence DPO | 0.026 | 0.002 | |
| Diff-local DPO | 0.015 | 0.014 | |
| RFT | 0.011 | 0.002 |
| Corrections | Student | ||||
|---|---|---|---|---|---|
| corr. (%) | edit | median | hard | held | |
| 0.2 | 70 | 1.8 | 0.023 | 0.014 | |
| 0.7 | 16 | 3.0 | 0.010 | 0.010 | |
| 1.1 | 24 | 4.8 | 0.021 | 0.006 | |
| Teacher | Correction enters as | Hard set | Held-out |
|---|---|---|---|
| none (base student) | – | 0.000 | 0.955 |
| the student itself | edited text | 0.219 0.012 | 0.924 0.021 |
| the student itself | token distribution | 0.046 0.010 | 0.937 0.003 |
| gold solution | full replacement | 0.489 | 0.744 |
| black-box projector | minimal edit | 0.560 | 0.916 |
| MATH(3,4,5) | AMC | MATH-500 | GSM8K | Avg. | Chemistry | MMLU | |
| Base (reported) | 0.315 | 0.133 | 0.245 | 0.579 | 0.318 | 0.283 | 0.651 |
| SFT | 0.243 | 0.100 | 0.168 | 0.455 | 0.241 | 0.222 | 0.648 |
| OPSD ( Zhao et al., 2026 ) | 0.267 | 0.084 | 0.332 | 0.524 | 0.302 | 0.242 | 0.652 |
| GRPO | 0.457 | 0.249 | 0.313 | 0.808 | 0.457 | 0.278 | 0.652 |
| UFT ( Liu et al., 2025 ) | 0.470 | 0.293 | 0.297 | 0.746 | 0.452 | 0.283 | 0.653 |
| Sampling SFT | 0.495 | 0.277 | 0.582 | 0.782 | 0.534 | 0.266 | 0.651 |
| Arm | Student FLOPs | Against Sampling SFT |
|---|---|---|
| Sampling SFT | ||
| Sampling SFT + RL | – | |
| Black-box projection + SFT | less | |
| Black-box projection + SFT + RL | – | |
| Ours, static pool | less | |
| Ours, online refresh | less |
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 508 papers