[论文精读] U-OPSD: On-Policy Self-Distillation without Any Supervision
An unsupervised on-policy self-distillation method that replaces ground-truth solutions with majority-vote consensus, outperforming supervised OPSD by 3.2%/2.3% on Qwen3-4B/8B non-thinking mode.
U-OPSD: On-Policy Self-Distillation without Any Supervision
一、论文概述
| 项目 | 内容 |
|---|---|
| 标题 | On-Policy Self-Distillation without Any Supervision |
| 作者 | Yijiang Li (UC San Diego), Bingyang Wang (Georgia Tech), Yijun Liang (UMD), Yunjie Tian (ByteDance), Di Fu (ByteDance), Nuno Vasconcelos (UC San Diego) |
| 机构 | UC San Diego, Georgia Institute of Technology, University of Maryland, ByteDance |
| 论文 | arXiv:2608.06296 |
| 代码 | https://github.com/williamium3000/u-opsd |
| 项目页 | https://williamium3000.github.io/u-opsd/ |
| 发布 | 2026年8月9日 |
二、核心思想
本文提出了 u-OPSD(Unsupervised On-Policy Self-Distillation),一种无需任何外部监督的 on-policy 自蒸馏方法。核心洞察是:虽然单次 rollout 可能不可靠,但多次独立采样 rollouts 之间的一致性(consensus)提供了内生的置信度信号,从而可以从模型自身的 rollout 中构建 teacher reference 和 student trajectories。
问题定义:现有 OPSD/OPD 方法仍严重依赖外部监督——ground-truth solution、环境反馈或更强 teacher model——因此并非真正的”self”-distillation。u-OPSD 的核心问题是:OPSD 中的 teacher 是否需要 ground-truth solution?
解决方案:
- 采样:对每个 unlabeled prompt,采样 G=8 个独立 rollout
- 投票:提取每个 rollout 的答案,通过多数投票得到 pseudo-answer
- 蒸馏:将 agreeing rollout 作为 pseudo-solution(teacher context),对 disagreeing rollouts 进行 token-level distillation
关键创新:用 majority vote consensus 替代 ground-truth solution,实现完全无监督的 on-policy 自蒸馏。
三、技术架构
整体框架
图 1. u-OPSD 方法对比:OPSD/SDFT 需要 ground-truth 或 ICL(左),SDPO 需要环境反馈(中),u-OPSD 完全无监督(右)

图 2. u-OPSD 整体流程:多 rollout 投票生成 pseudo-label,teacher 条件化于 pseudo-solution,student 在 disagreeing 路径上蒸馏

u-OPSD 算法流程(Algorithm 1):
输入: prompt x, student πθ, detached teacher π̄, rollouts G, threshold τ
1: sample y^(1), ..., y^(G) ~ π̄(·|x) # on-policy sampling at training temperature
2: a^(g) ← Ans(y^(g)) for all g # extract answer from \boxed{...}
3: ã(x) ← plurality of {a^(g)} # majority vote, tie-break randomly
4: Yx⁺ ← {y^(g): a^(g) = ã(x)} # agreeing rollouts
Yx⁻ ← {y^(g): a^(g) ≠ ã(x)} # disagreeing rollouts
5: if c(x) < τ or Yx⁻ = ∅ then return # skip if vote not trusted or nothing to correct
6: select y⁺ ∈ Yx⁺ and Bx⁻ ⊆ Yx⁻ # pick teacher ref and distillation targets
7: minimize (1/|Bx⁻||y⁻|) Σ D_β(π̄(·|x,y⁺,y⁻<ₜ) ∥ πθ(·|x,y⁻<ₜ))
核心公式
u-OPSD Loss(公式 5):
其中 是 agreeing 中最长的 rollout(pseudo-solution), 是 disagreeing rollouts 的子集, 是广义 Jensen-Shannon divergence( 为 forward KL)。
自一致性分数:,当 时跳过该 prompt。
与 OPSD/GRPO 的对比:
- GRPO:稀疏信号(sequence-level reward),需要 gold answer
- OPD:密集信号但需要 external teacher
- OPSD:无 external teacher,但仍需要 GT solution
- u-OPSD:完全无监督,teacher reference 由 majority vote 构造
训练流程
- 采样阶段:对每个 prompt,以 temperature=1.1 采样 G=8 个独立 rollout
- 投票阶段:提取每个 rollout 的 boxed 答案,多数投票得到 pseudo-answer
- 过滤阶段:检查自一致性分数 (默认 ),过滤低置信度 prompt
- 蒸馏阶段:对 disagreeing rollouts 的每个 token position,计算 teacher(conditioned on pseudo-solution)vs student 的 divergence,使用 forward KL + per-token clipping
- 参数更新:使用 LoRA(rank=64, ),LR=,gradient clipping=0.1
四、核心创新
| 创新点 | 说明 | 理论/实验依据 |
|---|---|---|
| Majority Vote Pseudo-Label | 用 G=8 rollouts 的多数投票替代 GT solution,无外部监督 | 94.0% prompt 达到 ,86.7% pseudo-label 与 gold 一致 |
| Disagreement-Based Distillation | 仅在 disagreeing rollouts 上进行蒸馏,集中在模型的”competence frontier” | 仅 <10% valid rollouts 与 vote 不一致,蒸馏目标小而集中 |
| Self-Consistency Threshold | 通过 自动过滤低质量 prompt,形成 curriculum | 最佳(58.59 avg), 为默认平衡点 |
| Full-Vocabulary Logit Distillation | 对完整 vocabulary 计算 token-level divergence,而非 sampled-token | 比 sampled-token 高 13.7%,top-100 截断是实用优化 |
五、代码实现分析
代码仓库: https://github.com/williamium3000/u-opsd
实现细节:
- 基于 OPSD 原始代码修改,使用相同的训练 recipe
- Forward KL divergence () over full vocabulary with per-token pointwise clipping
- Teacher 固定为初始 policy(frozen),与 OPSD 设置保持一致
- LoRA rank=64, on all attention and MLP projections
- 训练温度 1.1, top-p 0.95, top-k 20
- 最大 completion length 从 1024 增加到 4096 tokens(需要 rollout 到达 boxed answer)
- 训练 150 steps,每 25 steps 保存 checkpoint
六、实验结果
基准测试
硬件配置:未明确说明,使用标准 A100/H100 集群 训练数据:OpenThoughts 的 30k subset(仅 problem statements,不使用 solution field) 评估基准:AIME24, AIME25, HMMT25, MATH500, AMC23 解码设置:vLLM, temperature=1.0, max length=38k tokens
Non-thinking mode(Qwen3-4B):
| Method | AIME24 | AIME25 | HMMT25 | MATH500 | AMC23 | Avg. |
|---|---|---|---|---|---|---|
| Base | 25.83 | 17.78 | 10.83 | 84.10 | 66.25 | 40.96 |
| + SFT | 26.67 | 19.72 | 13.06 | 84.85 | 69.38 | 42.73 |
| + GRPO | 25.00 | 22.50 | 15.00 | 86.20 | 80.62 | 45.86 |
| + OPSD | 32.22 | 20.83 | 16.39 | 85.75 | 76.25 | 46.29 |
| + U-OPSD | 37.50 | 27.78 | 14.44 | 86.50 | 81.25 | 49.49 |
Non-thinking mode(Qwen3-8B):
| Method | AIME24 | AIME25 | HMMT25 | MATH500 | AMC23 | Avg. |
|---|---|---|---|---|---|---|
| Base | 27.50 | 23.33 | 13.61 | 84.05 | 69.38 | 43.57 |
| + OPSD | 41.67 | 28.06 | 18.33 | 87.15 | 85.00 | 52.04 |
| + U-OPSD | 45.56 | 34.72 | 18.61 | 89.55 | 83.12 | 54.31 |
关键结果:u-OPSD 在 non-thinking mode 下平均超越 OPSD 3.2%(4B)和 2.3%(8B),超越 base model 8.5%-10.7%。
图 11. Qwen3-8B non-thinking 性能表:u-OPSD vs SFT/GRPO/OPSD/TTRL/RENT/Intuitor

Thinking mode(Qwen3-4B):u-OPSD 达到 77.05 avg,与 OPSD(76.20)相当,超越 GRPO(76.35)0.7%。
Thinking mode(Qwen3-8B):u-OPSD 达到 77.99 avg,与 OPSD(77.97)持平,超越 GRPO(76.92)1.1%。 Instruction-tuned models:Qwen3-30B-A3B-Instruct-2507 从 75.77 提升到 77.46;Qwen3-4B-Instruct-2507 从 67.00 提升到 68.78。
训练曲线
图 3. Qwen3-4B thinking(左)和 non-thinking(右)模式下的训练曲线(AIME24, AIME25, MATH500)

在 non-thinking mode 下,u-OPSD 在每个 checkpoint 上都优于所有 baselines。在 thinking mode 下,所有方法都在 base model ±2% 范围内波动。
消融实验
Pseudo-label 质量:
- 96.3% rollout 能解析出 boxed answer
- 94.0% prompt 达到自一致性阈值
- 86.7% pseudo-label 与 gold answer 一致
- 仅 <10% valid rollouts 与 vote 不一致
自一致性阈值 :
图 4. 配置消融实验(Qwen3-8B non-thinking):自一致性阈值(左)、rollout 数量(中)、teacher update 方式(右)

- 最佳(58.59 avg), 为默认, 仅 44.40(14.2% 差距)
- 排名单调:
Rollout 数量 G:
- G=4 与 G=8 几乎相同(56.99 vs 57.10)
- G=12 提升 4.7%,G=16 回落一半
- 默认 G=8 与 OPSD 的 32 prompts × 1 rollout 预算匹配
Teacher Update:
- Fixed(冻结初始 policy)为默认
- EMA(0.995) 最佳,比 fixed 高 2.4%(best checkpoint)和 4.1%(step 150)
Teacher Reference vs Distillation Target:
图 5. Teacher reference vs distillation target 消融(Qwen3-8B non-thinking)

- 最佳配置:teacher condition on longest agreeing rollout,distill longest disagreeing rollout(59.00 avg)
- 仅用 boxed pseudo-label 作为 teacher context 会大幅下降 10.3%-15.8%
Divergence Computation Strategy:
| Variant | AIME24 | AIME25 | Avg. |
|---|---|---|---|
| Student token | 29.44 | 43.45 | 43.57 |
| Full-vocabulary | 53.89 | 57.10 | 57.10 |
| Top-20 | 49.17 | 56.94 | 56.94 |
| Top-50 | 48.06 | 55.85 | 55.85 |
| Top-100 | 53.89 | 59.01 | 59.01 |
| Top-200 | 51.67 | 58.11 | 58.11 |
Full-vocabulary 优于 sampled-token 13.7%,top-100 截断是实用优化。
Divergence Metrics:
图 9. Divergence strategy 消融:full vocabulary vs sampled token vs top-k

| Objective | AIME24 | AIME25 | Avg. |
|---|---|---|---|
| Forward KL () | 53.89 | 57.10 | 57.10 |
| Reverse KL () | 29.44 | 13.61 | 43.34 |
| JSD () | 84.05 | 69.38 | 69.38 |
Forward KL 最优,reverse KL 导致生成崩溃(长度增至 token ceiling)。
七、相关工作
- Self-rewarding RL:RLOO、ReST、self-certainty、predictive entropy 等方法用模型自身行为生成 reward,但仍是稀疏 scalar reward
- On-policy Distillation:OPD(外部 teacher)、OPSD(GT solution)、DistiLLM(skewed KL)、SDPO(environment feedback)
- Self-training & Consistency:Self-consistency majority voting、self-correction、iterative self-improvement
- u-OPSD 独特性:是唯一完全无监督的 on-policy self-distillation 方法,用 consensus 构建 teacher reference,用 disagreement 定位 correction target
八、总结
核心贡献
- 提出了 u-OPSD,首个完全无需外部监督的 on-policy self-distillation 方法
- 证明 majority vote consensus 可以有效替代 ground-truth solution 作为 teacher reference
- 在 5 个数学推理 benchmark 上,u-OPSD 超越 base model 8.5%-10.7%,超越 OPSD 3.2%-2.3%
技术影响
- 将 self-consistency 与 on-policy self-distillation 连接起来
- 证明了在无监督场景下,token-level distillation 比 scalar reward 更有效
- 为 LLM 推理能力增强提供了新的训练范式
局限性
- 仅验证了数学推理:扩展到开放域生成需要 softer consensus mechanism
- 非思考模式增益更大:thinking mode 下 base model 已很强,提升空间有限
- 依赖 base model 能力:pseudo-label 准确率受限于 base model 的单次 rollout 准确率(13.3% wrong)
- 未报告误差棒:seed-replicated error bars pending
九、参考资源
- 论文链接: https://arxiv.org/abs/2608.06296
- arXiv HTML: https://arxiv.org/html/2608.06296v2
- PDF: https://arxiv.org/pdf/2608.06296
- 代码: https://github.com/williamium3000/u-opsd
- 项目页: https://williamium3000.github.io/u-opsd/
- figures 目录:
docs/figures/uopsd/ - MinerU 原始输出:
docs/mineru_output/uopsd/