让模型"穿越回去"教自己:扩散语言模型的第一个自蒸馏框架 d-OPSD
用 10% 的训练步数追平甚至超过 RLVR,靠的是让 dLLM 把自己生成的"未来答案"当老师
如果你最近在折腾扩散语言模型(dLLM)的后训练,大概率被一个问题卡住过:这玩意儿到底该怎么 post-train?RLVR(强化学习 + 可验证奖励)那套在自回归模型上跑得很顺,diffu-GRPO 也证明了能 work,但训练步数动辄上千上万,sample efficiency 低得让人肉疼。SFT 又有暴露偏差(exposure bias)的老毛病。
自回归那边其实早就有更优雅的解法——on-policy self-distillation(OPSD,在线策略自蒸馏)。让一个模型同时当老师和学生,老师拿到一点"特权信息",学生从自己采样的轨迹里学,既有稠密监督,又是 on-policy。问题是,这套方法天生是为左到右生成设计的,搬到 dLLM 上水土不服。
这篇 6 月刚挂出来的论文(arXiv: 2606.18195)就在啃这块硬骨头。它提出的 d-OPSD,是第一个专门为 dLLM 设计的在线策略自蒸馏框架。我读完的第一反应是:这个"让模型穿越回去拿着标准答案教自己"的设定,听起来有点玄,但他们把它落到 dLLM 的双向生成特性上之后,逻辑居然非常自洽。
一、先说清楚:OPSD 是什么,为什么 dLLM 用不了现成的
在线策略自蒸馏的核心吸引力
先把背景顺一下。知识蒸馏(KD)大家都熟,大老师教小学生,学生学老师的软标签分布。但传统 KD 是 off-policy 的——学生学的是老师在老师自己的轨迹上的分布,跟学生实际生成时遇到的状态对不上,这就是暴露偏差。
OPD(on-policy distillation)的改进在于:让学生先自己采样轨迹,老师再在学生的轨迹上提供稠密的 token 级监督。这样既保留了稠密信号(比 RLVR 的稀疏 outcome reward 强太多),又避免了暴露偏差(比 SFT 强)。
但 OPD 要求有个更强的老师,现实里往往没有。于是就有了 OPSD:老师和学生是同一个模型,区别只在于老师拿到了"特权信息"这一点。比如把参考答案 \(y^*\) 直接拼到 prompt 后面,构造一个"开了天眼"的老师 prompt \(x^* = x + y^*\),老师的分布就是:
然后让学生去对齐老师,最小化 token 级 KL:
这套在自回归模型上跑得不错,能用更高的 sample efficiency 追平 RLVR。
但 dLLM 是另一个物种
问题来了。dLLM 不是左到右生成的,它把生成建模成一个迭代去噪过程:从全是 mask 的序列开始,每一步预测所有被 mask 位置的分布,只保留 top-k 最自信的几个揭开,剩下的继续 mask,迭代 T 步还原出完整答案。
这就带来两个根本性的不兼容:
第一,特权信息怎么注入? 自回归只能 prefix conditioning(前缀给条件),所以参考答案只能往前面拼。但 dLLM 有双向能力,能建模 \(p(\text{prefix}|\text{suffix})\)——这意味着特权信息可以作为后缀注入。这个区别看着小,其实打开了一扇新门。
第二,token 级监督还成立吗? 自回归靠 next-token prediction,token 级 KL 天然成立。但 dLLM 是 next-step prediction,每步同时预测所有 mask 位置、又只保留一部分,token 级监督的因子分解根本不存在。
所以作者抛出两个问题,也是全文的主线:
有没有专门为 dLLM 量身定制的 OPSD? 有。老师构造方式和监督粒度都能为 dLLM 重新设计。
OPSD 在 dLLM 上能打过 RLVR 吗? 能,而且在性能和 sample efficiency 上都更强。

图1:d-OPSD(我们的方法)与 RLVR 基线 diffu-GRPO 的对比。左侧是推理性能,右侧是收敛所需的优化步数——d-OPSD 用极少的步数就追平甚至超过了 RLVR。这张图基本就是全文的"封面卖点"。
二、核心方法:让模型学"自己的未来经验"
d-OPSD 的两个核心贡献,正好对应上面两个不兼容。先看整体框架。

图2:左边 AR-style 是把参考答案当前缀拼到 prompt 后面(红字部分),右边 d-OPSD 是把学生自己生成的"未来答案"中的部分 token 直接揭开作为后缀特权信息。蓝色是已解码 token,粉色是自生成的未来 token,灰色是 mask,黄色虚线框是 top-k 最自信的 token。
贡献一:老师构造——学"自己的未来",而不是别人的标准答案
这是我觉得最有意思的设计。作者管它叫 "learning from self-future experience",并打了个特别接地气的比方:就像人总幻想"要是能回到十年前,知道接下来会发生什么就好了"这种心情。
具体怎么做?给定 prompt \(x\),学生先用当前模型完整采样一条去噪轨迹:
其中 \(y_T\) 是全 mask 序列,\(y_0\) 是最终答案。然后在每个去噪步 \(t\),学生的输入就是当前的带噪序列 \(y_{\text{student},t} = y_t\)。
老师的输入则不一样——从最终答案 \(y_0\) 里随机揭开一部分 token,塞回当前步的序列里:
这里 \(\mathcal{S}_t\) 是按一个固定保留比例 \(\rho_{\text{teacher}}\) 随机选出来的揭示位置集合。说人话:老师偷看了学生自己最终会写出的答案里的一小部分,然后基于这点"剧透"去指导当前这一步的学生。
注意两个关键点,这也是它跟自回归方案的本质区别:
- 所有数据都是学生自己生成的——揭开的"未来答案"来自学生 on-policy 采样,不是静态数据集的 ground truth。这一点把它跟 d3LLM、Cd4LM 这些用真实答案构造老师的 off-policy 方法彻底区分开了。
- 特权信息是后缀条件——利用了 dLLM 的 \(p(\text{prefix}|\text{suffix})\) 能力,自回归根本做不到。
贡献二:从 token 级监督换成 step 级监督
第二个改动同样是对症下药。既然 dLLM 是 next-step prediction,那监督粒度也该是 step 级的。
在每个去噪步 \(t\),老师和学生各自算出全序列分布:
但不是所有位置都参与这一步的状态转移。dLLM 每步只揭开 top-k 最自信的 mask 位置,所以只在这个 top-k 子集 \(\mathcal{K}_t\) 上算 KL:
把整条轨迹的 step 级损失平均起来,就是最终目标:
有个细节值得一提:\(\mathcal{K}_t\) 这个 top-k 子集可以从学生分布选,也可以从老师分布选。消融实验(后面会讲)显示从老师分布选效果更好,因为这会强迫学生去对齐老师最自信的那些位置,学习信号更强。
一个工程上的小心思:保证轨迹质量
作者还发现学生轨迹 \(Y\) 的质量会影响最终效果。所以他们用了类似 pass@k 的采样策略:对每个 prompt 反复采样,直到出现正确答案,或者采样次数达到阈值 k(默认 k=8)。
值得注意的是,这个采样策略跟 RLVR 的 group-k rollout 计算开销是一样的,所以不算"作弊"。而且后面消融会看到,即便 k=1,d-OPSD 也已经超过了用 group k=8 rollout 的 RLVR 基线——这个对比挺能说明问题。
三、实验:先验证"老师够不够格",再看主结果
Toy Verification:自构造的老师真的够强吗?
在跑全套实验前,作者先回答了一个前置问题:这个靠揭开部分答案构造的自老师,本身够不够强,能不能引导蒸馏?
他们从每个任务训练集随机抽 500 题,用基座模型生成答案(取 Pass@8),按不同保留比例 \(\rho_{\text{teacher}}\) 构造老师输入,再让模型基于这些老师输入重新生成。结果如下:
| 方法 | GSM8K | Math500 | Countdown | Sudoku |
|---|---|---|---|---|
| Pass@1(学生) | 81.3 | 36.8 | 18.2 | 7.2 |
| Pass@8 | 95.5 | 53.6 | 59.2 | 27.7 |
| 自老师 \(\rho=0.10\) | 85.6 | 40.8 | 29.6 | 11.0 |
| 自老师 \(\rho=0.25\) | 93.4 | 46.2 | 45.4 | 13.5 |
| 自老师 \(\rho=0.50\) | 94.8 | 47.4 | 48.2 | 15.4 |
结论很清楚:哪怕只揭开 10% 的答案 token,自老师就已经明显强于学生本身;揭到 50% 时,性能几乎追平 Pass@8 的上限。这说明揭开一点点"未来"就能把模型的能力拉上一个台阶——自老师确实够格。
主结果:四个推理任务上的全面对比
基座模型用的是 LLaDA-8B-Instruct(一个还没做过 post-training 的 SOTA dLLM)。任务覆盖数学推理(GSM8K、MATH500)和规划(Countdown 3 数、4×4 Sudoku)。
| 模型 / 序列长度 | GSM8K 256 | GSM8K 512 | MATH500 256 | MATH500 512 | Countdown 128 | Countdown 256 | Sudoku 128 | Sudoku 256 |
|---|---|---|---|---|---|---|---|---|
| LLaDA-8B-Instruct(基座) | 76.0 | 79.5 | 31.8 | 36.2 | 20.3 | 19.1 | 11.5 | 6.9 |
| SFT Variant | 78.8 | 81.1 | 32.6 | 34.8 | 20.3 | 14.5 | 16.5 | 8.5 |
| d3LLM(off-policy 自蒸馏) | 72.7 | 76.4 | 30.6 | 37.0 | 36.7 | 12.5 | 9.1 | 6.6 |
| diffu-GRPO(RLVR) | 79.8 | 81.9 | 37.2 | 39.2 | 33.2 | 31.3 | 18.4 | 12.9 |
| VRPO(RLVR) | 80.1 | 81.5 | 35.6 | 34.8 | 21.9 | 21.1 | 12.8 | 9.6 |
| d-OPSD(本文) | 81.0 | 82.2 | 37.2 | 37.8 | 37.9 | 32.3 | 23.9 | 20.6 |
d-OPSD 在 8 个设置里拿下了 6 个最优,尤其是 Sudoku 这种规划任务上提升明显(256 长度下从基座的 6.9 涨到 20.6,三倍多)。唯一被 diffu-GRPO 反超的是 MATH500 512 长度那一栏,但差距很小。
Sample Efficiency:这才是真正的杀手锏
如果说性能只是"追平",那 sample efficiency 就是"碾压"了:
| 方法 / 收敛步数 | GSM8K | Math500 | Countdown | Sudoku |
|---|---|---|---|---|
| diffu-GRPO | 7700 | 6600 | 5000 | 3800 |
| d-OPSD | 425 | 100 | 175 | 425 |
差距大到有点夸张——Math500 上 diffu-GRPO 要 6600 步,d-OPSD 只要 100 步。整体看大概只需要 RLVR 约 10% 的优化步数就收敛了。作者把这归因于老师分布提供的稠密监督,这跟自回归那边 OPSD 的结论是一致的。
说实话,看到 100 步这个数我愣了一下,又特意回去确认了下确实是 gradient updates(梯度更新步数)而不是别的口径。考虑到每步的计算开销跟 RLVR 一样(都是 group-k rollout),这个效率优势是实打实的。
四、为什么 d-OPSD 的老师构造更好?一个很巧的分析
这部分我觉得是全文最有洞察力的地方。作者没有满足于"我的方法更好",而是去刨根问底:为什么把"自己的未来答案"当后缀,比把参考答案当前缀更有效?
他们先做了一个对照实验——AR-style OPSD:严格按自回归那套,把参考答案当前缀拼到 prompt 前面提供特权信息,但保持 step 级监督不变。
| 方法 | GSM8K | Math500 |
|---|---|---|
| LLaDA-8B-Instruct | 76.0 | 31.8 |
| AR-style OPSD | 78.4 | 33.4 |
| d-OPSD(本文) | 81.0 | 37.2 |
d-OPSD 明显更强。但光有结果还不够,作者定义了一个叫 Overlap Top-K 的指标来解释机制:在每个去噪步,统计学生和老师在 top-k 子集位置上,词表 Top-K 分布的重叠比例(实践中 K=20)。
直觉上,这个重叠度衡量的是老师到底能给学生带来多少新知识。如果老师和学生的分布几乎完全重叠,那老师其实没教什么新东西。

图3:红线是 AR-style,重叠度高达 0.85~0.9 接近 1;绿线是 d-OPSD,稳定在 0.7 左右。重叠度越高,说明老师带来的新知识越少。
结果一目了然:AR-style 的重叠度几乎贴着 1,意味着把参考答案拼前缀,老师跟学生想的差不多,根本没带来新的思维模式。而 d-OPSD 的重叠度落在 0.7 这个"恰到好处"的区间——既不是完全不同(那样学生学不动),也不是几乎相同(那样没东西可学),而是有足够多的新知识可以从老师迁移给学生。
这个分析我很喜欢。它没有停留在"我的数更高",而是给出了一个可量化、可解释的视角去理解为什么 dLLM 该用后缀而非前缀。
五、消融实验:每个设计选择都有交代
作者的消融做得相当扎实,几乎把每个超参和设计选择都扫了一遍。挑几个关键的说。
散度目标:Reverse KL 完胜 Forward KL
| 方法 | GSM8K |
|---|---|
| 基座 | 76.0 |
| Forward KL | 77.9 |
| Reverse KL(默认) | 81.0 |
作者归因于 reverse KL 的 mode-seeking(寻峰)行为更鲁棒,而 forward KL 的 mode-covering(覆盖)行为容易被带偏。
保留比例 \(\rho_{\text{teacher}}\):不是越高越好
| 配置 | GSM8K |
|---|---|
| 基座 | 76.0 |
| diffu-GRPO | 79.8 |
| \(\rho=0.10\) | 80.5 |
| \(\rho=0.25\)(默认) | 81.0 |
| \(\rho=0.50\) | 79.8 |
这里有个反直觉的点:\(\rho=0.10\) 居然比 \(\rho=0.50\) 效果更好,尽管前者是个更弱的老师(回看 toy 实验,揭开越多老师越强)。作者的解读是:蒸馏效果不只由老师强弱决定。这其实呼应了 Overlap Top-K 的发现——老师太强(揭太多)反而可能让重叠度过高,新知识变少。
\(\mathcal{K}_t\) 选择:从老师分布选更好
| 方法 | GSM8K |
|---|---|
| 基座 | 76.0 |
| From Student | 78.6 |
| From Teacher(默认) | 81.0 |
采样策略 Pass@k:k=1 也够打
| 方法 | GSM8K | Countdown |
|---|---|---|
| 基座 | 76.0 | 20.3 |
| diffu-GRPO | 79.8 | 33.2 |
| k=1 | 80.4 | 34.0 |
| k=8(默认) | 81.0 | 37.9 |
前面提过,即便 k=1,也超过了用 group k=8 的 RLVR,而且 sample efficiency 还更高。
Clipping 很关键:不加 pointwise clipping,训练在 150 步左右就开始崩,到 500 步掉到 69.37。加了之后稳定在 81.0。clipping 阈值取 0.05。
失败模式:作者很坦诚
值得点赞的是,作者专门留了一节讲失败模式。d-OPSD 跟 RLVR 一样,在某些设置下会在达到性能峰值后发生策略崩溃(policy collapse),训练有时会灾难性退化。他们猜测这可能源于 reverse KL 的 mode-seeking 行为变得过于狭窄,阻碍了进一步学习。
这种透明度在论文里不算常见。承认方法有 collapse 风险,比硬吹"全面 SOTA 无懈可击"要可信得多。
六、我的判断:巧思扎实,但别忽略它的边界
聊完技术,说说我的看法。
这篇论文最值钱的地方,是把 dLLM 的双向生成特性真正用对了地方。 "self-future experience"这个 idea 听着像营销话术,但落到 \(p(\text{prefix}|\text{suffix})\) 上之后,逻辑是通的——自回归只能前缀注入,dLLM 能后缀注入,这是结构性的差异,不是包装。而 Overlap Top-K 那个分析更是点睛之笔,把"为什么后缀比前缀好"从玄学变成了可量化的"新知识传递量"。
Sample efficiency 的提升是真的能打。 10% 的步数追平 RLVR,对工业界训 dLLM 的人来说是实打实的成本节约。而且 k=1 就能超 RLVR,意味着哪怕不做多次采样,也有收益。
但有几点我得泼点冷水:
第一,实验规模偏小。只在 LLaDA-8B 一个基座、四个任务上验证。dLLM 本身生态还小,这可以理解,但能不能泛化到更大模型、更复杂任务(比如代码、多轮推理)还是问号。作者自己也没声称通用。
第二,policy collapse 这个坑没解决。作者很诚实地承认了,但既然 RLVR 也有这毛病,d-OPSD 在"稳定性"上并没有比 RLVR 有本质优势,只是 efficiency 更高。真要上生产,崩溃风险得有兜底机制。
第三,对"老师够强"的依赖。整套方法的前提是基座模型自己 Pass@8 能把答案做对(toy 实验里 GSM8K Pass@8 是 95.5,但 Sudoku 只有 27.7)。在基座本身就很弱的任务上,自老师可能压根构造不出有用的"未来"——Sudoku 上虽然涨了,但绝对值(20.6)还是很低,说明这个天花板是被基座能力卡住的。
一句话定位:这是一篇 idea 漂亮、分析扎实、实验诚实的工作,把自回归的 OPSD 范式干净利落地迁移到了 dLLM,并且给出了"为什么该这么迁移"的可解释证据。它不是颠覆性的底层突破,但在 dLLM 后训练这个相对空白的领域里,是一块踏实的奠基石。
如果你正在做 dLLM 的 post-training,被 RLVR 的训练成本劝退,这套思路绝对值得一试——尤其是 k=1 配置,几乎是"免费午餐"级别的收益。代码作者已经开源(GitHub: xingzhejun/d-OPSD),可以直接上手验证。
论文信息
- 标题:Learning from the Self-future: On-policy Self-distillation for dLLMs
- 作者:Yifu Luo, Zeyu Chen, Haoyu Wang, Xinhao Hu, Yuxuan Zhang, Zhizhou Sha, Shiwei Liu
- 机构:清华大学、慕尼黑工业大学、南洋理工大学、英属哥伦比亚大学、德州大学奥斯汀分校、ELLIS Institute Tübingen、马普智能系统研究所、图宾根 AI 中心
- arXiv:2606.18195(2026 年 6 月 16 日)
- 代码:https://github.com/xingzhejun/d-OPSD
觉得有启发的话,欢迎点赞、在看、转发。跟进最新AI前沿,关注我