#从 OPD 到 OPSD / ExOPD:解读群聊里关于 On-Policy Distillation 的几篇论文

这篇笔记是对下面这段群聊内容的技术解读。目标不是简单翻译,而是把它背后的几篇论文串起来,讲清楚:他说的每句话到底在指什么问题、这些论文分别解决了 OPD 的哪个痛点、为什么会提出 OPSD 和多专家 OPD 这些方案。

群聊大意如下:

大家多关注 Thinking Machines 的 On-Policy Distillation。

如果直接找一个 teacher model 做 OPD,可能需要先采样 teacher 的轨迹做 SFT 冷启动,让 student 和 teacher 的语义分布有基础对齐;否则学生进不了 teacher-supported region,梯度信号弱,学不到东西或效率很低。可以参考 arXiv:2604.13016 和 arXiv:2603.25562。

所以可以尝试 OPSD,也就是 on-policy self distillation:teacher 和 student 本质上是同一个 base model,只是 teacher 拿到更多答案或外部环境先验。参考 arXiv:2601.18734,OPSD 在 Qwen3 1.7B 到 8B 量级上数学题能打败 GRPO 和 SFT,而且效率更快。

也可以尝试 DeepSeek v4 / MiMo v2 那种方式,先学出多个专家,再把十多个专家 OPD 到同一个模型身上。这些专家从同一个 checkpoint 长出来,tokenizer 和语义分布接近。人大高瓴和腾讯 arXiv:2602.12125 对 code 和 math 分别训练领域专家,蒸馏时让 student 自己 rollout,用对应 teacher 给 student token 打分;目标不是简单模仿 teacher,而是学习 teacher 相对 base 的 log-prob shift。

一句话概括:这段话在讨论“OPD 很有前景,但 teacher/student 分布不匹配会导致 OPD 失败;因此更稳的做法,是让 teacher 与 student 来自同一个模型家族、同一个 checkpoint、或者至少先通过 SFT 冷启动把 student 拉到 teacher 能理解和支持的区域。”


#1. 先讲背景:什么是 OPD?

OPD 是 On-Policy Distillation,中文可以叫“在策略蒸馏”或“在线策略蒸馏”。

要理解 OPD,先对比三种训练方式:

方法数据来自谁监督信号密度核心问题
SFT / off-policy distillationteacher 或数据集给定的标准轨迹dense,每个 token 都有监督学的是 teacher 轨迹,不一定覆盖 student 自己会走到的错误状态
RL / GRPOstudent 自己 rolloutsparse,通常只有最终对错奖励反馈太稀疏,不知道哪一步错了
OPDstudent 自己 rolloutdense,由 teacher 对每个 token / state 打分兼具 on-policy 与 dense,但依赖 teacher 能在 student 状态上给可靠信号

Thinking Machines 那篇博客的核心比喻是:

  • RL 像自己下棋,最后只知道赢了还是输了;反馈真实但很稀疏。
  • SFT 像看大师棋谱;反馈很密,但棋局状态是大师走出来的,不是你这个新手会走到的。
  • OPD 像你自己下棋时,旁边有个大师对你每一步都打分;既是你自己的状态,又有密集反馈。

在 LLM 里,OPD 的典型流程是:

给定 prompt x
student 生成自己的回答 y_hat
teacher 在 student 生成的每个 prefix 上计算 next-token distribution
用 teacher 的 logprob / logits 去训练 student

也就是说,OPD 不是让学生模仿 teacher 生成好的完整答案,而是让学生在自己实际会走到的轨迹上,听 teacher 对下一步 token 的评价。

一个常见目标是 per-token reverse KL:

KL(pi_student || pi_teacher)
= E_{token ~ student} [ log pi_student(token | prefix) - log pi_teacher(token | prefix) ]

直观上:

  • 如果 student 采样了某个 token,而 teacher 也觉得这个 token 概率高,那这个 token 是“好”的。
  • 如果 student 采样了某个 token,但 teacher 觉得它概率低,那这个 token 应该被压下去。

所以 Thinking Machines 说 OPD 是 “on-policy + dense reward”:

  • on-policy:轨迹来自 student。
  • dense:每个 token 都能由 teacher 给信号。

#2. 群聊第一句话:为什么“直接找一个 teacher 做 OPD”可能不稳?

群聊里说:

如果直接找一个 teacher model 做 OPD,至少需要先采样 teacher model 的轨迹做 SFT 冷启动,让我们的模型和 teacher model 的语义分布有基础对齐。不然学生进不了 teacher-supported region,梯度信号弱,学不到东西,或者学的效率很低。

这句话的关键词是 teacher-supported region

#2.1 什么叫 teacher-supported region?

一个语言模型不是在所有 prefix 上都同样可靠。它最可靠的地方,是它自己训练中常见、自己会生成、或者与自己思维模式相近的状态。可以把这片区域叫做 teacher 的 support,或者 teacher-supported region。

比如 teacher 是一个数学推理模型,它习惯这样写:

We need solve this step by step.
Let ...
Therefore ...

student 如果一开始生成的是类似的推理风格,那么 teacher 在这些 prefix 上能给出有意义的 next-token 分布。

但如果 student 生成了 teacher 很少见的前缀,例如:

哈哈这个题看起来像玄学,先随便猜一个...

或者进入重复、自我重置、格式错乱、特殊 token 混乱的状态,那么 teacher 在这些 prefix 上的 next-token 概率未必还代表“什么是好推理”。它可能只能在一个已经偏离正常轨迹的状态上局部给出似是而非的 token 偏好。

这就是群聊里说的:student 进不了 teacher-supported region,teacher 的梯度信号会弱或者不可靠。

#2.2 为什么 SFT 冷启动能缓解?

SFT 冷启动的意思是:先让 teacher 生成一批高质量轨迹,然后用这些轨迹对 student 做 SFT,使 student 至少学会 teacher 的基本语言风格、格式、推理范式。

这样做的目的不是最终靠 SFT 解决问题,而是把 student 拉到 teacher 熟悉的区域:

没有冷启动:
student rollout 很乱 -> teacher 在奇怪 prefix 上打分 -> 信号不稳定

有冷启动:
student 已经会大致像 teacher 那样推理 -> OPD 在相近分布上细化 -> 信号更有效

这和 imitation learning 里的 DAgger 很像:一开始如果学生完全不会,专家在学生乱走到的状态上给建议也可能效率很低;先做行为克隆,让学生别离专家轨迹太远,再做 on-policy 纠正会更稳。


#3. arXiv:2604.13016:OPD 成败取决于“思维模式兼容”和“新增能力”

论文:Rethinking On-Policy Distillation of Large Language Models: Phenomenology, Mechanism, and Recipe

链接:https://arxiv.org/abs/2604.13016

这篇论文是群聊中“需要 SFT 冷启动 / student 进不了 teacher-supported region”的主要依据之一。

它的核心问题是:为什么有些 OPD 很有效,有些 OPD 看起来 teacher 更强,却蒸不动?

论文给出两个关键条件:

  1. student 和 teacher 应该有兼容的 thinking patterns。
  2. teacher 不仅要分数高,还要提供 student 没见过的新能力 / 新信息。

#3.1 条件一:思维模式兼容比 teacher 分数更重要

论文发现,OPD 的成功不只取决于 teacher benchmark accuracy 高不高。更关键的是:teacher 的 next-token 分布和 student 在 student 自己访问的 prefix 上有没有重叠。

论文用 top-k token overlap 来刻画这种兼容性。直观理解:

在同一个 prefix 下:
student 觉得可能的 top tokens = {A, B, C, D}
teacher 觉得可能的 top tokens = {A, B, E, F}

重叠 token = {A, B}

如果重叠高,说明 teacher 和 student 至少在“接下来该怎么想 / 怎么写”上有共同语言。OPD 的梯度主要会发生在这些共同 token 上,训练就容易推进。

如果重叠低,即使 teacher 分数更高,student 也很难从 teacher 的分布里学到东西,因为二者对当前状态的理解方式不一致。

这解释了群聊里的观点:teacher-supported region 不是抽象说法,而是在 token-level distribution 上可以观测到的:teacher 和 student 的高概率 token 集是否重叠。

#3.2 条件二:teacher 分数高不等于有可蒸馏的新知识

论文还观察到一个有趣现象:同一家族的 1.5B 和 7B 模型,有时在 student 看来分布上几乎不可区分。也就是说,大模型虽然 benchmark 分数更高,但它在 student 访问的状态上给出的可学习信号不一定包含足够“新信息”。

这点很重要:OPD 学到的可能更多是 teacher 的思维模式,而不是抽象地把 teacher 的全部能力压缩下来。

所以一个 teacher 对 OPD 是否有用,至少要看两件事:

teacher 是否和 student 有共同语言?
teacher 是否在共同语言范围内提供新能力?

只有“强”不够,还要“可学”。

#3.3 token-level 机制:97%-99% 概率质量集中在很小的共享 token 集

论文进一步分析 successful OPD 的 token 机制,发现:成功 OPD 往往表现为 student 在自己访问的状态上,逐渐对齐 teacher 的高概率 token;而一个很小的共享 token 集可以覆盖 teacher/student 分布中 97%-99% 的概率质量。

这说明 OPD 的有效梯度不是平均来自整个词表,而是高度集中在少数高概率 overlap tokens 上。

所以如果一开始 overlap 很低,OPD 就会很难启动。

#3.4 论文提出的 recipe:off-policy cold start 和 teacher-aligned prompt selection

为了救失败的 OPD,论文提出两个实用策略:

  1. Off-policy cold start:先用 teacher 轨迹做 SFT,让 student 进入 teacher 的思维模式附近。
  2. Teacher-aligned prompt selection:选择那些 teacher/student 更容易对齐的 prompt 开始训练,避免一上来就训练大量 teacher 不擅长或 student 离得太远的样本。

这正对应群聊里的话:

先采样 teacher model 的轨迹做 SFT 冷启动,让 student 和 teacher 的语义分布有一个基础对齐。


#4. arXiv:2603.25562:标准 sampled-token OPD 有三类失败模式

论文:Revisiting On-Policy Distillation: Empirical Failure Modes and Simple Fixes

链接:https://arxiv.org/abs/2603.25562

这篇论文更偏“工程诊断”:OPD 理论上很美,但标准实现经常用 sampled-token log-ratio,也就是只看 student 实际采样出来的那个 token。这样会有几个实际失败模式。

论文指出 sampled-token OPD 的三个主要问题:

  1. token-level supervision 不平衡。
  2. teacher 在 student drifted prefixes 上的指导不可靠。
  3. tokenizer / special token mismatch 会扭曲信号。

#4.1 问题一:单个 sampled token 的监督信号很不平衡

标准 sampled-token OPD 对每一步只看 student 采样出来的 token:

reward/token score ≈ log p_teacher(y_t | prefix) - log p_student(y_t | prefix)

如果 teacher 比 student 更不喜欢这个 token,它就是负信号;如果 teacher 更喜欢,它是正信号。

论文发现,大多数 sampled tokens 可能都得到负信号,只有少数 token 得到正信号。这样训练会被少数局部 token 主导,比如某些高频 filler、短连接词、格式性 token,而这些 token 不一定真正决定轨迹质量。

#4.2 问题二:student drift 后,teacher 的局部建议可能仍然“看起来合理”

这是 teacher-supported region 的另一个表达。

如果 student 已经走到一个很奇怪的 prefix,比如重复、胡言乱语、自我重置,那么 teacher 仍然会对“下一个 token”给出某个概率分布。但这个分布只是在坏状态上的局部补救,不一定能把整条轨迹带回正确推理。

比如 student 已经写了:

Wait, wait, wait, wait, let me restart. Wait...

teacher 可能在这个 prefix 下也会觉得 “let” 或 “restart” 有一定概率。于是 sampled-token OPD 可能没有足够强地惩罚这种坏循环。

这就是群聊里说的:如果 student 进不了 teacher-supported region,梯度信号弱,或者学的效率很低

#4.3 问题三:tokenizer / special token mismatch

如果 teacher 和 student 不是同一个 tokenizer,相同文本可能切成不同 token。例如:

student: < think >
teacher: <th ink >

这时候 student 采样的某个 token,在 teacher 词表里未必有自然对应。模型可能误以为二者语义不同,其实只是 tokenizer 切分不同。

特殊 token 也一样,比如 <think></think>、EOS、工具调用 token 等。对 reasoning / agent 模型来说,这些 token 很关键,一旦错配,OPD 的信号会被严重污染。

所以群聊中说“同一个 checkpoint 长出来的多个专家,至少能保证 tokenizer 和基础语义分布接近”,正是在规避这个问题。

#4.4 论文的修复:teacher top-K local support matching

这篇论文提出的简单修复是:不要只比较 student 采样出来的一个 token,而是在每个 prefix 下取 teacher top-K 支持集,在这个集合上比较 teacher 和 student 的局部分布。

也就是从:

只看 student sampled token y_t

变成:

看 teacher 支持的 top-K tokens:{v1, v2, ..., vk}
比较 teacher/student 在这些 token 上的分布

这样有几个好处:

  • 减少单个 sampled token 的噪声。
  • 强迫 student 对齐 teacher 真正支持的局部 token 集。
  • 对 tokenizer mismatch 更鲁棒。
  • 保留 token-level update 的低方差优势。

论文报告这种 top-K local support matching 在 reasoning 和 agentic 多任务 benchmark 上,比标准 sampled-token OPD 有明显提升,摘要中提到相对 baseline 有 +19.8% 的性能收益。


#5. 为什么群聊里会提出 OPSD?

群聊说:

所以我觉得可以尝试 OPSD,也就是 on-policy self distillation,就是 teacher model 和 student model,本质上基座是同一个 model,只是 teacher model 能拿到更多类似答案或者外部环境的先验信息。

这句话的逻辑是:

OPD 的主要风险 = teacher/student 分布不匹配
如果 teacher 和 student 是同一个模型,只是上下文不同
那 tokenizer、语言风格、基础语义分布天然一致
于是 OPD 会更稳

这就是 OPSD。


#6. arXiv:2601.18734:OPSD,让同一个模型用 privileged information 教自己

论文:Self-Distilled Reasoner: On-Policy Self-Distillation for Large Language Models

链接:https://arxiv.org/abs/2601.18734

这篇论文提出 OPSD = On-Policy Self-Distillation

#6.1 OPSD 的核心设定

在普通 OPD 中:

student = 小模型 / 待训练模型
teacher = 更强或更大的外部模型

在 OPSD 中:

student policy = 同一个 LLM,只看到问题 x
teacher policy = 同一个 LLM,但看到问题 x + privileged information y*

这里的 privileged information 可以是:

  • ground-truth answer
  • verified reasoning trace
  • 参考 CoT
  • 外部环境返回的正确信息
  • 工具或 verifier 提供的答案先验

训练流程是:

给定问题 x 和答案/参考推理 y*
student prompt: 只包含 x
teacher prompt: 包含 x + y*
student 生成 on-policy rollout y_hat
在 student 的每个 prefix 上:
  student 给出 p_S(next token | x, prefix)
  teacher 给出 p_T(next token | x, y*, prefix)
最小化二者 per-token divergence
只更新 student logits

注意:teacher 和 student 是同一个模型参数的两种上下文角色,但梯度只回传到 student 侧。

#6.2 OPSD 的关键直觉:验证 / rationalization 比直接生成更容易

论文的核心直觉是:模型也许不能从零生成完美推理,但如果你把正确答案或参考推理给它,它可以更容易地“解释为什么答案是对的”,并在 student 的轨迹上给出更好的 token-level 建议。

也就是:

直接生成正确解法:难
拿着正确答案判断下一步怎么走:相对容易

这和数学里的“验证比生成容易”类似。对于 LLM reasoning,知道答案之后,模型可以更容易 rationalize 一条合理路径。

#6.3 OPSD 为什么可能比 GRPO 更高效?

GRPO / RLVR 通常只有最终答案对错作为奖励:

整条回答正确 -> reward 1
整条回答错误 -> reward 0

这有两个问题:

  1. 需要多个 rollout 才能估计 advantage。
  2. 如果一个 batch 里全对或全错,reward std 为 0,梯度信号消失。

OPSD 则每个 token 都有 teacher distribution 监督,即使最终答案错了,也能在中间步骤提供 dense signal。

论文中对 Qwen3-1.7B 等模型做实验,报告 OPSD 在数学 reasoning benchmark 上比 SFT 更好,并且在 token efficiency 上优于 GRPO:OPSD 用更少的 rollout / 更短的 generation,就能获得有效学习信号。

这对应群聊里的:

在小模型 Qwen 3 1.7B 到 8B 量级上,OPSD 能够在数学题打败 GRPO 和 SFT,效率也确实比 GRPO 快。

这里的“快”主要不是单步 forward 更快,而是采样 token 更少、dense feedback 更高效、不会像 GRPO 那样大量 rollout 却没有 reward variance

#6.4 OPSD 和 SFT 的区别

SFT 是:

直接模仿数据集里的标准答案 token

OPSD 是:

student 自己 rollout
teacher 在 student 自己的 prefix 上给 token-level 分布监督

所以 OPSD 仍然是 on-policy 的。它不是简单把参考答案喂给模型做 SFT,而是让模型在自己会犯错的状态上,由“知道答案的自己”来纠偏。


#7. 群聊最后一段:多专家 OPD / ExOPD 是什么?

群聊说:

可以尝试 DeepSeek v4 和 MiMo v2 那种方式,先学出来多个专家,再把这十多个专家 OPD 到同一个模型身上……本质上都是由同一个 checkpoint 长出来的多个专家,这样至少能保证 tokenizer 和基础的语义分布是接近的。

这段话在说另一条避免 OPD 分布不匹配的路线:

不要随便找一个外部 teacher
而是从同一个 base checkpoint 出发
分别训练出 math expert、code expert、agent expert...
再把这些专家能力蒸馏回一个统一 student

这样做有几个好处:

  • tokenizer 完全一致。
  • 基础语言风格接近。
  • reasoning format 接近。
  • teacher/student 的 high-prob token overlap 更高。
  • 每个 expert 有明确新增能力。

这正好满足 2604.13016 里的两个条件:

兼容的 thinking pattern + genuinely new capabilities

#8. arXiv:2602.12125:G-OPD / ExOPD,把 OPD 看成 dense KL-constrained RL

论文:Learning beyond Teacher: Generalized On-Policy Distillation with Reward Extrapolation

链接:https://arxiv.org/abs/2602.12125

这篇论文来自人大高瓴和腾讯。群聊最后一句基本就是在解释这篇论文。

#8.1 论文先重新解释 OPD:OPD 是一种 dense KL-constrained RL

普通 OPD 通常写成让 student 对齐 teacher:

student rollout y ~ pi_theta
teacher 给 y 上每个 token 的 logprob / logits
训练 student 接近 teacher

这篇论文指出,OPD 可以等价理解为一种 dense reward 的 KL-constrained RL。

关键不是“模仿 teacher 的文本”,而是 teacher 相对于 reference/base model 的偏好变化:

reward(y) ≈ log pi_teacher(y | x) - log pi_ref(y | x)

这就是群聊里说的 log-prob shift

#8.2 什么是 log-prob shift?

假设 base model 和 math expert 对同一个 token 的概率不同:

base:        p("therefore") = 0.10
math expert: p("therefore") = 0.30

那么 math expert 相对 base 提高了这个 token 的 log-prob。这种提升就代表 math RL / math training 学到的偏好。

再比如 code expert 对代码 token、测试驱动推理、函数定义等 token 的 logprob 提高;math expert 对数学推理 token、公式、严谨证明步骤的 logprob 提高。

G-OPD 想学的不是 teacher 的绝对分布,而是:

teacher 相对于 base 多出来的那部分偏好 / 能力方向

这非常重要,因为如果只模仿 teacher,student 可能被 teacher 的风格、长度、偏置一起带走;而学习 log-prob shift 更像是在提取“专家训练相对 base 改变了什么”。

#8.3 G-OPD 的公式直觉

论文引入一个 reference model pi_ref 和 reward scaling factor lambda

目标大意:
maximize E_{y ~ student} [ lambda * log(pi_teacher(y)/pi_ref(y)) - KL(student || ref) ]

直观解释:

  • log(pi_teacher / pi_ref) 是 teacher 相对 reference 的 reward。
  • KL(student || ref) 防止 student 偏离 reference 太远。
  • lambda 控制“学专家偏好”的强度。

lambda = 1 时,接近标准 OPD。

lambda > 1 时,就是 reward extrapolation,论文称为 ExOPD:不仅学 teacher 相对 base 的变化,还沿着这个变化方向多走一点。

#8.4 为什么 ExOPD 可能超过 teacher?

这听起来很反直觉:蒸馏不是通常被 teacher 上界限制吗?为什么 student 可以超过 teacher?

关键在于 ExOPD 不是简单模仿 teacher 的输出,而是在 log-prob shift 方向上做外推:

base -> teacher 的能力增量 = delta
student 学的不是 teacher 本身,而是 base + lambda * delta
当 lambda > 1 时,相当于沿着专家能力方向走得更远

当然这有风险:lambda 太大可能会 reward hacking,过度放大 teacher 的偏置,导致长度异常或性能下降。但适度外推可能比标准 OPD 更强。

#8.5 多专家蒸馏:math teacher 和 code teacher 怎么合并?

论文实验里有一个设置:

  1. 从同一个 base model 出发。
  2. 对 math 数据做 RL,得到 math expert。
  3. 对 code 数据做 RL,得到 code expert。
  4. 训练统一 student 时,student 自己 rollout。
  5. 如果 prompt 是数学题,就用 math teacher 给 student token 打分。
  6. 如果 prompt 是代码题,就用 code teacher 给 student token 打分。
  7. 目标是把两个领域专家的 log-prob shift 合并回一个模型。

这就是群聊最后那段:

对 code 和 math 分别训了一个领域专家,蒸馏时让 student 自己 rollout,而不是用 teacher 生成的轨迹。如果当前 prompt 是数学题,就用 math teacher 给 student 的 token 打分;如果是代码题,就用 code teacher 打分。目标不是简单模仿 teacher,而是学习 teacher 相对 base 的 log-prob shift。

这套方法的优势是:

  • student 仍然在自己的状态分布上训练。
  • teacher 和 student 来自同一个 base,分布接近。
  • 不同 expert 的能力可以合并。
  • ExOPD 有机会让统一 student 超过单个 domain teacher。

#9. 把几篇论文放在一张图里理解

可以用下面这个发展脉络来理解:

SFT / off-policy distillation
  问题:学 teacher 轨迹,不覆盖 student 自己会走到的错误状态

RL / GRPO
  问题:student 自己 rollout,但 reward 太稀疏,采样成本高

Thinking Machines OPD
  方案:student 自己 rollout,teacher 对每个 token 给 dense signal
  优点:on-policy + dense

2604.13016 Rethinking OPD
  发现:OPD 成败取决于 teacher/student thinking-pattern compatibility 和 information gain
  recipe:SFT cold start、teacher-aligned prompt selection

2603.25562 Revisiting OPD
  发现:sampled-token OPD 有局部信号不平衡、drifted prefix、tokenizer mismatch 等失败模式
  recipe:teacher top-K local support matching、top-p rollout、special-token masking

2601.18734 OPSD
  方案:teacher/student 是同一个模型,只是 teacher 有 privileged information
  优点:天然分布对齐,不需要外部大 teacher,dense feedback 比 GRPO 高效

2602.12125 G-OPD / ExOPD
  方案:把 OPD 看成 dense KL-constrained RL,学习 teacher 相对 base 的 log-prob shift
  应用:从同一 checkpoint 训练多个领域专家,再蒸馏回统一 student

#10. 回到群聊:逐句翻译成更直白的话

#10.1 “如果直接找一个 teacher.Model 做 OPD,需要 SFT 冷启动”

直白说:不要一上来就让一个很弱 / 风格不一致的 student 自己乱生成,然后拿一个强 teacher 在这些奇怪轨迹上打分。teacher 在这些状态上可能不可靠,或者 teacher/student 的 token 分布重叠太低,训练信号会很差。

更稳的做法是:先用 teacher 生成一些标准轨迹,对 student 做 SFT,让 student 至少学会 teacher 的格式和推理风格,再进行 OPD。

#10.2 “不然学生进不了 teacher-supported region”

意思是 student 的 rollout 不在 teacher 熟悉和高概率支持的状态空间里。teacher 对这种 prefix 的 next-token 分布不再是高质量指导。OPD 虽然 on-policy,但 teacher 也不是万能 verifier;它只能在自己能理解的状态附近给可靠 token-level 建议。

#10.3 “可以尝试 OPSD”

意思是既然外部 teacher 会有分布不匹配,那就让 teacher 和 student 本质上是同一个模型。teacher 只是在输入里多拿到答案、参考推理或外部环境先验。这样 teacher/student tokenizer、语言习惯、思维模式天然一致,OPD 信号更稳。

#10.4 “teacher model 能拿到更多答案或者外部环境先验信息”

这就是 privileged information。比如数学题中 teacher prompt 里包含正确答案或参考解法;agent 任务中 teacher 可能能看到环境状态、成功轨迹、工具返回或 oracle 信息。teacher 不是因为参数更大而强,而是因为信息更多。

#10.5 “DeepSeek / MiMo 那种先学多个专家,再 OPD 到一个模型”

意思是先从同一个 base checkpoint 分叉训练出多个 expert:math expert、code expert、agent expert 等。每个 expert 在自己的领域通过 RL/SFT/后训练获得专长。然后训练一个统一 student,让它在不同任务上接收对应 expert 的 dense token-level 指导。

关键是这些 expert 来自同一个 base,所以分布接近、tokenizer 一致、思维模式兼容,比随便找一个外部 teacher 更适合 OPD。

#10.6 “学习 teacher 相对 base 的 log-prob shift”

意思不是简单复制 teacher 说了什么,而是看:经过领域训练后,teacher 相比 base 更偏好哪些 token、哪些推理步骤、哪些代码结构。这个“概率变化方向”就是领域能力的载体。

如果 math expert 相比 base 更偏好严谨推理步骤,那 student 学这个 shift;如果 code expert 相比 base 更偏好测试、边界条件、函数实现结构,那 student 学这个 shift。


#11. 这对你关心的 LLM Agent / model-based RL 有什么启发?

这组工作其实很贴近 agentic RL 的核心问题:长轨迹上的稀疏奖励太难,直接 RL 成本高、方差大;而纯 SFT 又不覆盖 agent 自己会犯错的状态。

OPD / OPSD / ExOPD 提供了一种中间路线:

让 agent 自己 rollout,保持 on-policy;
但不要只等最终成败 reward,
而是在每一步让 teacher / oracle / privileged-context model 给 dense token-level 或 action-level 信号。

对于 Agent,可以类比成:

  • student agent 正常执行任务,只看到常规 observation。
  • teacher agent 看到更多信息,比如完整环境状态、成功轨迹、工具日志、隐藏答案、critic 分析。
  • student 在自己的 action/history prefix 上 rollout。
  • teacher 对 student 下一步 action/token 分布给 dense supervision。

这就像把 RL 的 sparse reward 变成 process-level dense reward,但不需要额外训练一个独立 reward model;teacher 本身就是带 privileged information 的策略。

但这组论文也提醒:

  1. teacher/student 必须有共同语言,否则 dense feedback 也会失效。
  2. 对长 horizon agent 来说,student drift 更严重,teacher-supported region 问题会更大。
  3. tokenizer / tool token / action schema 必须一致,否则 token-level OPD 会被工程细节污染。
  4. 如果能从同一 base 分叉出不同专家,再合并,可能比外部 teacher 蒸馏更稳。

#12. 最后总结

群聊里的观点可以压缩成一句:

OPD 是很有潜力的后训练范式,因为它把 student 自己的 on-policy 轨迹和 teacher 的 dense token-level 监督结合起来;但 OPD 不是随便找个强 teacher 就能成,关键在 teacher/student 的分布兼容、token 支持重叠、tokenizer 一致和 teacher 是否提供真正新增能力。因此,SFT 冷启动、OPSD、自同源多专家蒸馏、ExOPD 这些方法,本质上都是在解决“如何让 teacher 的信号既可靠、又有信息量、还能落在 student 学得到的区域里”。

如果只记住几个关键词:

  • OPD:student 自己 rollout,teacher dense token-level 打分。
  • teacher-supported region:teacher 能可靠评价的状态区域;student 偏太远,信号就弱。
  • SFT cold start:先让 student 学 teacher 轨迹,进入 teacher 的思维模式附近。
  • thinking-pattern compatibility:teacher/student 高概率 token 集要有重叠。
  • OPSD:同一个模型扮演 teacher/student,teacher 多拿 privileged information。
  • top-K local support matching:不要只看一个 sampled token,而要对齐 teacher 支持的 top-K token 分布。
  • G-OPD / ExOPD:把 OPD 理解成 dense KL-constrained RL,学习 teacher 相对 base 的 log-prob shift,并可做 reward extrapolation。
  • 多专家蒸馏:从同一 checkpoint 训练多个领域专家,再把它们的能力合并回统一模型。

从研究方向上看,这几篇论文共同指向一个趋势:后训练正在从“生成一批好答案做 SFT”或“用最终奖励做 RL”,走向“让模型在自己的轨迹上接受更细粒度、更结构化、更分布匹配的监督”。 这对长程 reasoning、coding agent、tool-use agent 都很关键。


#参考链接

  • Thinking Machines Lab, On-Policy Distillation:https://thinkingmachines.ai/blog/on-policy-distillation/
  • Yaxuan Li et al., Rethinking On-Policy Distillation of Large Language Models: Phenomenology, Mechanism, and Recipe:https://arxiv.org/abs/2604.13016
  • Yuqian Fu et al., Revisiting On-Policy Distillation: Empirical Failure Modes and Simple Fixes:https://arxiv.org/abs/2603.25562
  • Siyan Zhao et al., Self-Distilled Reasoner: On-Policy Self-Distillation for Large Language Models:https://arxiv.org/abs/2601.18734
  • Wenkai Yang et al., Learning beyond Teacher: Generalized On-Policy Distillation with Reward Extrapolation:https://arxiv.org/abs/2602.12125