On-Policy Delta Distillation:用「差量」而非「分布」蒸馏推理能力
- 关联论文:2607.15161
- 作者:flyP
- 更新:2026-07-20
一句话结论
OPD²(On-Policy Delta Distillation)把 on-policy distillation 的监督信号从「模仿 teacher 的输出分布」换成「teacher 与 base 之间的 delta 分布」,让 token 级监督直接对应「推理能力增量」,在数学、科学、代码推理 benchmark 上稳定优于传统 OPD,并能用更短 post-training 拿到强推理模型。
解决的真问题
推理大模型(reasoning LLM)的 post-training 有两条主线:
- RL with reward models:依赖奖励模型,但 RM 本身有上限,且 RL 训练不稳;
- On-policy distillation(OPD):让学生模型在自己采样轨迹上对齐 teacher 的 token 级分布。优势是绕过 RM 上限,劣势是——你到底在对齐什么?
传统 OPD 直接让学生模仿 teacher 的输出分布。但 teacher 是个「先 base → 后 reasoning-tuned」的产物,它在很多 token 上的行为和 base 模型几乎一样(比如普通聊天、模板话术),把推理「增量」淹没在「整段分布」里。学生被强制学的是「teacher 完整输出」,其中大部分信号对推理能力其实是冗余甚至有害的——会让学生在不该推理的地方也变得啰嗦、易幻觉。
论文要解决的问题就是:如何让 on-policy distillation 的监督信号聚焦在「推理能力本身」,而不是被 base 共享的部分稀释?
核心方法
1. Delta Signal 定义
设:
θ_teacher:经过 reasoning 训练后的 teacher 模型;θ_base:teacher 在做 reasoning tuning 之前的基础模型(即 instruction-tuned 但无推理能力)。
对每条 student 采样轨迹上的 token x_t,定义 delta 分布:
$$ \Delta_\theta(x_t \mid x_{<t}) = p_{\theta_{\text{teacher}}}(x_t \mid x_{<t}) - p_{\theta_{\text{base}}}(x_t \mid x_{<t}) $$
直觉上,$\Delta$ 反映「teacher 相对 base 改变了多少」——这恰恰是 reasoning tuning 注入的能力增量。在 base 与 teacher 行为一致的 token 上,$\Delta \approx 0$;在推理关键决策点(chain-of-thought 分支、验证步骤)上,$\Delta$ 会显著偏离 0。
论文用这个 delta 作为蒸馏 reward,监督 student 在自己 on-policy 轨迹上的 token 选择。蒸馏目标本质是:让 student 的输出分布朝着 delta signal「走」,而不是朝着 teacher 整段分布「走」。
伪代码风格:
for each prompt p:
traj = sample(student, p) # on-policy 轨迹
for token t in traj:
d_t = p_teacher(t | p, traj_<t) - p_base(t | p, traj_<t)
loss += - d_t * log p_student(t | p, traj_<t) # delta-weighted NLL
注意 d_t 可正可负:正 delta 表示 teacher 比 base 更倾向这个 token(推理增强点),负 delta 表示 teacher 反而压低了 base 的偏好(推理要避免的常见错误)。
2. 为什么 delta 信号比 teacher 分布更好
- 去除冗余:base 与 teacher 共享的 token(模板、礼貌用语、common-sense 模板)$\Delta \approx 0$,不参与有效梯度,训练效率更高;
- 聚焦推理动作:delta 在 chain-of-thought 关键分叉、验证、自检步骤上幅度更大,正是 student 需要模仿的「推理动作」;
- 保留 on-policy 优势:delta 是基于 student 自己采样算出来的,仍然是 on-policy(不是离线 teacher logit 蒸馏),保持 OPD 的分布匹配稳定性。
3. 训练协议
- 后训练阶段:short post-training period(abstract 强调 OPD² 用更短训练就能拿到强推理模型);
- 蒸馏对象:reasoning-tuned teacher(具体模型 abstract 未点名,需读正文);
- 评测:math、science、code reasoning 三大类 benchmark;
- baseline:conventional on-policy distillation(直接对齐 teacher 分布)。
关键实验与数据
abstract 公开的关键结论:
- 三大推理 benchmark(math / science / code)一致优于传统 OPD:不是单点 benchmark 涨分,是跨域成立;
- 更短 post-training:同等 student 容量下,OPD² 训练步数显著少于传统 OPD 仍能达到更强推理分数;
- 代码即将开源:https://github.com/naver-ai/opd2。
原文未明确: - 具体用了哪个 teacher / base 模型; - math/science/code 各 benchmark 的绝对分数与涨分幅度; - 「更短 post-training」具体是 1/2 还是 1/5; - 是否对非推理类任务(chat、tool use)做了回退测试,避免 reasoning over-trigger; - student 模型规模与参数量。
亮点与局限
亮点
- 概念简洁:delta 信号定义一行公式就能讲清楚,但击中了一个真问题——传统 OPD 信号被冗余稀释;
- 跨域成立:math/science/code 同时涨分,说明这不是某个领域的过拟合 trick,而是抓住了 reasoning 训练的本质;
- 工程友好:仍走 on-policy,不需要 reward model,部署门槛和传统 OPD 相当;
- 「更短 post-training」对推理 LLM 团队直接有价值:post-training 算力是大头,能砍一半就是省钱;
- Naver AI 出品,代码承诺开源,社区复用门槛低。
局限
- 依赖 base 模型可获取:delta 公式需要 base 模型权重,多数闭源 reasoning API(GPT/Claude/Gemini)拿不到 base,限制适用范围;
- delta 数值稳定性:分布差可能正负幅度差异极大,需要在 loss 里做 clipping / normalization(abstract 没讲细节);
- 与 RL 的关系没讲清:OPD² 是不是 RL 的替代?能不能叠加(先用 OPD² 蒸馏,再 RL fine-tune)?这些组合策略 abstract 没覆盖;
- 没提 safety / refusal:推理增强是否会让学生在不该推理时也强行 long-thought,导致过度推理和幻觉?需要专门 benchmark 验证;
- teacher-student 同源假设:当 teacher 与 student 是不同家族(如 teacher=OpenAI,student=Llama)时 delta 还成立吗?abstract 完全没提。
对工程落地的启发
- post-training 信号设计原则:监督信号应该聚焦「能力增量」而非「完整分布」——这条思想不只适用 OPD,也能启发 DPO、KTO、rejection sampling 等其他 post-training 方法的 reward 设计;
- reasoning LLM 团队的实用候选:如果你已经在跑 reasoning post-training,把 delta 信号做成一个 ablation baseline 几乎零成本,可能直接砍掉一半训练步数;
- 蒸馏 pipeline 的可组合性:OPD² 在 on-policy 框架里,意味着它可以接在 SFT 之后、RL 之前,作为「轻推理灌注」步骤;也可以和 process reward / outcome reward 组合;
- 对自研 reasoning 模型的国内团队特别相关:拥有自有 base + 自有 reasoning teacher 的团队,delta 信号立刻可用;用闭源 API 的团队需要等社区开源 teacher-base 配对。
与同方向工作的关系
- On-Policy Distillation(OPD):本文的直接 baseline 与改造对象;
- RFT / Rejection Sampling Fine-Tuning:用 teacher 生成多个候选 + 选优,本质还是模仿 teacher 分布;
- MiniLLM / GKD(Generalized Knowledge Distillation):off-policy 蒸馏的代表,不在 on-policy 框架里;
- RLHF / DPO / GRPO:RM 类方法,OPD² 想绕开的就是这一脉对 RM 的依赖;
- Reasoning-tuned model 系列(OpenAI o1、DeepSeek-R1、QwQ):OPD² 是这类模型的「post-training 蒸馏」手段之一,对开源 reasoning 模型作者直接有用。
论文没有否定 OPD,而是给 OPD 加了一根更聪明的「探针」——delta signal。可以理解为「把 OPD 从模仿整段表演,改成模仿关键走位」。
适合谁读
- LLM post-training 工程师:直接相关,OPD² 是 2026 年 reasoning 模型蒸馏的少数明确改进;
- reasoning LLM 研究者:delta 信号提供了一种新的 post-training reward 设计视角;
- 模型蒸馏 / 知识迁移研究者:跨域一致涨分,说明抓住了「能力增量」这一普遍现象;
- AI Infra / 训练成本敏感团队:更短 post-training 直接省钱,值得做内部 ablation。
注:本解读基于 arxiv 公开 abstract(2607.15161v1, 2026-07-16)与对应 paper card。具体 teacher/base 模型、benchmark 绝对分数、delta clipping 细节等需读正文确认,原文未明确处均已标注。
工程落地与核查(Jay)
事实核查
| 核查项 | 结论 | 状态 |
|---|---|---|
| arxiv 2607.15161 存在 | curl arxiv.org/abs/2607.15161 → 200,标题匹配 |
✅ |
| GitHub naver-ai/opd2 可访问 | curl github.com/naver-ai/opd2 → HTTP 200 |
✅ |
| delta 公式逻辑自洽 | $p_{teacher} - p_{base}$ 定义明确,数学上合理 | ✅ |
| 三大 benchmark 跨域成立 | abstract 原文"across math, science, code reasoning benchmarks" | ✅(原文有,但无具体分数) |
| teacher / base 模型名称 | abstract 完全未提及 | ⚠️ 存疑 |
| benchmark 具体分数(涨分幅度) | abstract 无具体数字,仅"一致优于传统 OPD" | ⚠️ 存疑 |
| 「更短 post-training」比例(1/2? 1/5?) | abstract 无量化 | ⚠️ 存疑 |
| 非推理任务(chat / tool use)回退测试 | abstract 未提及 | ⚠️ 存疑 |
| delta clipping / normalization 细节 | abstract 未展开 | ⚠️ 存疑 |
| teacher-student 跨家族泛化性 | abstract 完全未讨论 | ⚠️ 存疑 |
关键存疑点(⚠️)
- teacher / base 模型未公开:OPD² 的效果可能高度依赖 teacher 的 reasoning 能力强弱。若 teacher 是 GPT-4o 或 DeepSeek-R1,delta 信号本身就很强;若 teacher 本身 reasoning 能力弱,delta 信号可能被噪声淹没。部署前需在正文确认具体模型配对。
- 「一致优于」≠ 有显著提升:abstract 仅声明"consistent improvement",未给 p 值、绝对分数或 relative improvement%。可能在某些 benchmark 上只提升 0.5%,在工程上无意义。
- delta 稳定性隐患:$p_{teacher} - p_{base}$ 在极端 token(概率接近 0 或 1)上容易出现大幅负值,若不做 clipping,NLL loss 可能被少数极端 token 主导。正文细节缺失是工程落地的主要风险。
实际系统怎么用
适用场景:有自有 base 模型 + 自有 reasoning-tuned teacher 的团队(典型:Llama base + 自己 fine-tune 的 reasoning teacher)。
最小可跑路径:
# 1. 准备配对模型
teacher = load_model("reasoning-tuned-v1") # 需自行训
base = load_model("base-instruction-tuned") # 同 family 的非 reasoning 版本
# 2. on-policy 采样
for prompt in dataset:
student_traj = student.sample(prompt)
for token in student_traj:
d_t = teacher_prob(token) - base_prob(token)
# d_t > 0: 推理增强 token
# d_t < 0: 推理抑制 token
loss += -d_t * log_student(token) # 可加 clip
与现有 pipeline 集成: - 接在 SFT 之后(已有 base capability)→ 加 OPD² → reasoning 增强 → 可选加 RL - 不需要改模型结构,只改 loss signal,改造成本低
坑在哪
- base 模型必须是同 family 的非 reasoning 版本:不能用 instruction-tuned 版本来代替 base——两者差异不只是 reasoning,会有其他 confound。跨 family 的 teacher-base 配对效果未知。
- delta 数值不稳定:建议上线前做敏感性分析,尝试 clip 到 [-C, C] 区间;C 的最优值需要 ablation。
- 只适合 reasoning 任务:如果目标是 general chat 或 tool use,需要评估 delta 信号是否引入不必要的"推理腔"(过度思考)。
- 闭源 API 团队无法直接用:delta 需要 base 权重,OpenAI/Claude/Gemini 均不提供。用闭源 API 的团队只能等社区发布 teacher-base 配对,或用相似 family 的开源模型自己做蒸馏。
五维度评分
| 维度 | 评估 | 说明 |
|---|---|---|
| DATABASE | — | 本篇为训练方法,无直接数据库依赖 |
| BACKEND | ⭐⭐⭐ | Delta signal loss 实现简单,PyTorch 3 行代码可集成到现有训练框架 |
| CLOUD-NATIVE | ⭐⭐ | 需配对 base + teacher 双模型权重,推理服务侧改动不大,但训练侧内存翻倍 |
| CSDN | ⭐ | 暂无中文资料,需等正文公开 + 社区复现 |
| REPRODUCTION | ⭐⭐⭐ | GitHub 已上线(HTTP 200 验证),但正文未出,具体 benchmark 分数不可验 |
综合工程落地评分:3 / 5 — 概念优秀,GitHub 验证存在,但 teacher/base 模型未公开、benchmark 分数缺失、工程实现细节(delta clipping)未公开,当前阶段工程复用风险中高。