SimpleOPD:跨tokenizer的长上下文推理蒸馏方法
SimpleOPD 提出了一种tokenizer无关的 on-policy 蒸馏框架,成功将长上下文推理教师模型 SU-01(30B-A3B,IMO 金牌级数学能力)的推理能力迁移到短上下文学生模型,在 Intern-S2-Preview 上实现了 ProofBench 21.2 分的提升,超越 Gemini-2.5-Pro。
背景:长上下文推理蒸馏的挑战
将长上下文推理教师的能力蒸馏到短上下文学生模型时,面临四个核心挑战:
- Tokenizer 不匹配:教师(SU-01 使用 XGLM tokenizer)与学生使用不同 tokenizer,导致词汇表和切分方式差异
- 分布不匹配:教师和学生在推理模式、输出分布上存在天然差异
- 响应长度爆炸:蒸馏过程中学生生成长度不受控增长,导致截断
- 训练不稳定:长度爆炸伴随重复生成、one-token loop 等问题
传统 OPD 方法假设师生共享同一 tokenizer,这在跨模型家族蒸馏时完全不适用。
核心方法:Tokenizer-Agnostic OPD
跨 Tokenizer 对齐
SimpleOPD 的核心洞察是:在共享文本空间中进行对齐,只对那些在教师和学生 tokenizer 下占据相同文本跨度的 token 进行蒸馏。
定义部分一对一映射:
\[\mathcal{M}=\{(i,t):P_{\phi}(i)=P_{\theta}(t)\land\tau_{\phi}(z_{i})=\tau_{\theta}(y_{t})\}\]
其中: - \(P_{\phi}(i)\) 和 \(P_{\theta}(t)\) 分别是教师和学生 tokenizer 的位置映射函数 - \(\tau\) 表示从 token 序列还原文本的函数 - 只有当两个 token 占据完全相同的文本跨度时才纳入对齐
词汇重叠率:\(\rho=\frac{|\mathcal{M}|}{n}\),实验中典型值为 0.6-0.8。
On-Policy 蒸馏目标
蒸馏损失采用 PPO 风格的 clipped policy loss:
\[\mathcal{L}_{\text{Distill}}(\theta)=\mathbb{E}_{y\sim\pi_{\theta}}\left[\sum_{t=1}^{n}\log\pi_{\theta}(y_{t}\mid c_{\theta},y_{<t})-\widetilde{\ell}_{t}^{\phi}\right]\]
重要性采样比率:
\[r_t=\frac{\pi_{\theta}(y_t|c_\theta,y_{<t})}{\pi_{\theta_{\text{old}}}(y_t|c_\theta,y_{<t})}\]
对于映射中的 token \(\widetilde{\ell}_{t}^{\phi} = \log\pi_{\phi}(z_i|c_{\phi},z_{<i})\),未映射的 token 使用自回归损失。
两项关键稳定技术
1. 特殊终止 Token Masking
问题:蒸馏过程中学生倾向于生成过长的思考链,因为教师(长上下文模型)在训练数据中的回答通常很长。这导致: - 响应长度快速增长 - 截断率急剧上升 - 生成质量下降
解决方案:在 PPO 优势估计中,屏蔽特殊终止 token(如
</think> 和
<|im_end|>)的优势信号。
\[\text{mask}_t = \mathbb{1}[y_t \notin \{\text{</think>}, \text{<|im_end|>}, ...\}]\]
这防止学生被鼓励过早结束思考,同时避免为了”讨好”教师而无限延长响应。
2. 学生参考 KL 损失
问题:On-policy 采样可能使学生策略偏离初始分布太远,导致: - 训练不稳定 - 重复生成模式 - 模型遗忘预训练知识
解决方案:引入学生参考 KL 损失,约束学生不过度偏离初始策略:
\[\mathcal{L}_{\text{KL}} = \beta_{\text{KL}} \cdot D_{\text{KL}}(\pi_{\theta} \| \pi_{\theta_{\text{init}}})\]
KL 系数选择: | 模型系列 | KL 系数 | |———|———| | Qwen 系列 / Intern-S2 | 0.5 | | GLM-4.7 / Gemma-4 | 1.0 |
实验设置
教师模型
- SU-01:30B-A3B MoE 模型,IMO 金牌级数学推理能力,64K 上下文
- DeepSeek-V4-Flash:作为跨教师验证
训练数据(4,528 题)
| 来源 | 题目数 | 说明 |
|---|---|---|
| OPC | 63 | Open Problem Collection |
| AoPS | 2,948 | Art of Problem Solving |
| Books | 900 | 数学教材 |
| Shuzhimi | 617 | 中文数学竞赛 |
超参数
- Rollout 迭代:100
- 学习率:1e-6
- Batch size:64
- 每 prompt 采样:4 个响应
- PPO clipping:\(\epsilon=0.2\)
- 每 rollout 更新次数:4
- 最大生成长度:32K(Qwen 系列)、6K(GLM-4.7/Gemma-4)
主要实验结果
同家族蒸馏(Qwen3 系列)
| 模型 | ProofBench@4 | AnswerBench@8 | AIME25@8 | AMOBench@8 |
|---|---|---|---|---|
| SU-01(教师) | 45.00 | 77.50 | 94.60 | 61.75 |
| Qwen3-4B | 11.42 | 47.50 | 71.25 | 23.00 |
| + SimpleOPD | 23.72 (+12.30) | 64.50 (+17.00) | 90.83 (+19.58) | 35.00 (+12.00) |
| Qwen3-30B-A3B | 13.80 | 59.13 | 88.33 | 36.50 |
| + SimpleOPD | 36.47 (+22.67) | 74.46 (+15.33) | 93.75 (+5.42) | 52.75 (+16.25) |
关键发现: - Qwen3-4B 在 AIME25 上从 71.25 提升至 90.83,+19.58 分 - Qwen3-30B-A3B 在 ProofBench 上从 13.80 跃升至 36.47,+22.67 分
跨 Tokenizer 蒸馏(Intern-S2)
| 模型 | ProofBench@4 | AnswerBench@8 | AIME25@8 | AMOBench@8 |
|---|---|---|---|---|
| Intern-S2-Preview | 21.70 | 76.03 | 88.33 | 58.00 |
| + SimpleOPD | 44.50 (+22.80) | 80.10 (+4.07) | 95.00 (+6.67) | 59.50 (+1.50) |
重磅结果:Intern-S2-Preview 在 ProofBench 上提升 21.2 分(从 34.0 到 55.2,Gemini-2.5-Pro 作为评判),超越 Gemini-2.5-Pro!
跨模型家族蒸馏
| 模型 | ProofBench | AnswerBench |
|---|---|---|
| GLM-4.7-Flash | 30.8 | 69.6 |
| + SimpleOPD | 39.7 (+8.9) | 72.0 (+2.4) |
| Gemma-4-26B-A4B | 25.5 | 68.8 |
| + SimpleOPD | 34.2 (+8.7) | 67.5 (-1.3) |
即使在完全不同的模型架构和 tokenizer 上,SimpleOPD 仍带来稳定提升。
跨领域泛化能力
SimpleOPD 迁移的推理能力不仅限于数学训练域:
| 模型 | FrontierScience Olympiad | FrontierScience Research | HLE (text-only) | HiPhO |
|---|---|---|---|---|
| SU-01 | 61.5 | 11.7 | 20.7 | 35.0 |
| Intern-S2-Preview | 60.6 | 1.7 | 19.6 | 38.6 |
| + SimpleOPD | 60.9 (+0.3) | 5.0 (+3.3) | 20.5 (+0.9) | 41.1 (+2.5) |
结论:蒸馏获得的推理能力具有良好的跨领域泛化性,在物理(HiPhO)、高阶科学(HLE)等非数学任务上均有提升。
消融实验
生成长度对比
| 模型 | 最大长度 | ProofBench@4 | AnswerBench@8 | AIME25@8 |
|---|---|---|---|---|
| Intern-S2-OPD | 6k | 38.80 | 77.25 | 95.00 |
| Intern-S2-OPD | 32k | 44.50 | 80.10 | 95.00 |
| Qwen3.5-35B-A3B-OPD | 6k | 40.07 | 77.97 | 96.25 |
| Qwen3.5-35B-A3B-OPD | 32k | 42.39 | 80.16 | 96.67 |
更长的生成长度带来更好的推理性能,证明 SimpleOPD 有效利用了扩展的上下文窗口。
KL 系数对比(DeepSeek-V4 教师)
| Student KL 系数 | ProofBench@4 | AnswerBench@8 | AIME25@8 |
|---|---|---|---|
| 0.5 | 37.15 | 71.28 | 94.17 |
| 1.0 | 39.71 | 71.97 | 92.91 |
| 1.2 | 37.96 | 71.19 | 94.17 |
KL 系数在 0.5-1.0 范围内效果最佳,过高或过低都会影响性能。
不同教师验证
使用 DeepSeek-V4-Flash 作为教师:
| 模型 | ProofBench@4 | AnswerBench@8 | AIME25@8 |
|---|---|---|---|
| DeepSeek-V4-Flash | 52.18 | 77.00 | 99.17 |
| Intern-S2-DS-OPD (6k) | 39.71 (+18.01) | 77.94 (+1.91) | 97.50 (+9.17) |
即使更换教师模型,SimpleOPD 仍保持强劲性能。
训练动态分析
无稳定技术时的失败模式
| 现象 | 描述 |
|---|---|
| 截断率飙升 | 响应长度快速增长,触发长度限制 |
| 重复率上升 | 重复生成相同 token/片段 |
| One-token loop | 如 “2?” 重复 34,000+ 次 |
| 自我检查循环 | “972 exact self-check repeats” |
这些现象验证了特殊 token masking 和学生参考 KL 损失的必要性。
Token 重叠率演化
跨 tokenizer 蒸馏时,教师和学生 token 序列的词汇重叠率 \(\rho\) 维持在 0.6-0.8 之间,为有效蒸馏提供了基础。
方法对比与定位
| 特性 | 传统 OPD | SimpleOPD |
|---|---|---|
| Tokenizer 要求 | 必须相同 | 支持不同 tokenizer |
| 上下文要求 | 无特殊处理 | 专门处理长→短迁移 |
| 稳定技术 | 基础 KL | 特殊 token masking + 学生参考 KL |
| 适用场景 | 同模型家族 | 任意模型组合 |
与之前介绍的 On-Policy Distillation 综述 中的方法相比,SimpleOPD 的独特贡献在于: 1. 首次系统解决 tokenizer 不匹配问题 2. 专门针对长上下文→短上下文的能力迁移 3. 无需 SFT 预热即可稳定训练
实践启示
- Tokenizer 不是障碍:通过文本空间对齐,跨 tokenizer 蒸馏完全可行
- 生成长度是关键:给学生足够的生成长度,推理能力才能充分展现
- 稳定技术必不可少:特殊 token masking 和学生参考 KL 是防止训练崩溃的保险
- KL 系数需调优:不同模型家族对约束强度敏感度不同
局限与未来方向
- 重叠率上限:当教师和学生 tokenizer 差异过大(如中英混合场景),重叠率可能过低
- 计算开销:跨 tokenizer 对齐需要额外的文本匹配计算
- 多模态扩展:视觉-语言模型的跨模态蒸馏仍待探索
- 理论分析:tokenizer 差异对蒸馏效果的定量影响尚缺乏理论刻画
小结
SimpleOPD 通过文本空间对齐巧妙绕过了 tokenizer 不匹配的障碍,通过特殊 token masking 和学生参考 KL 损失解决了长→短上下文蒸馏的稳定性问题。在 Intern-S2 上超越 Gemini-2.5-Pro 的结果证明,短上下文模型通过恰当的蒸馏,也能获得强大的长链推理能力。
更重要的是,蒸馏获得的推理能力具有跨领域泛化性——从数学证明迁移到物理问题求解,这为 OPD 的广泛应用打开了想象空间。
论文信息
- 标题: SimpleOPD: Simple Tokenizer-Agnostic On-Policy Distillation for Long-Context Reasoning
- 作者: Haonan He, Haodi Lei, Yun Luo†, et al.
- arXiv: 2608.14277
- 教师模型: SU-01 (硅基流动)
相关阅读
点赞与评论
喜欢这篇文章?点个赞,或留下你的想法。登录 GitHub 后即可参与。
如果评论无法加载,请检查网络连接后刷新页面。