--- title: "On-Policy Distillation (OPD)" domain: "Machine Learning / Post-Training" tags: [post-training, distillation, reinforcement-learning, model-merging] sources: [[deepseek-v4-million-token-context]] --- # On-Policy Distillation (OPD) > **类型**: Concept (Tier 1 — Core) > **来源**: [[deepseek-v4-million-token-context]] ## 定义 OPD(On-Policy Distillation)是一种多教师模型蒸馏技术,通过让学生模型在自己的生成轨迹上学习教师模型的输出分布,将多个领域专家模型的知识融合到单个统一模型中。 ## DeepSeek-V4 中的 OPD 流程 ### 两阶段后训练范式 1. **阶段一:专家训练(Specialist Training)** - 针对每个目标领域(数学、编程、Agent、指令遵循等)独立训练专家模型 - 流程:Base Model → SFT(领域高质量数据)→ RL(GRPO,领域特定奖励模型) - 产出多个各自领域顶尖的专家模型 2. **阶段二:OPD 融合** - 统一模型(学生)通过多教师 OPD 学习所有专家能力 - 10+ 教师模型覆盖不同领域 ### 数学形式 $$ \mathcal{L}_{\text{OPD}}(\theta) = \sum_{i=1}^{N} w_i \cdot D_{KL}(\pi_\theta \parallel \pi_{E_i}) $$ - \(\pi_{E_i}\):第 i 个专家模型的策略 - \(\pi_\theta\):学生(统一)模型的策略 - \(w_i\):专家权重 - 反向 KL 散度确保学生沿自身生成轨迹学习 ### 全词表蒸馏 与传统 token-level KL 估计不同,DeepSeek-V4 采用**全词表 logit 蒸馏**: - 保留完整 logit 分布计算 KL 散度 - 梯度估计更稳定 - 更忠实地传递教师知识 ## 工程实现 1. **教师调度**:教师权重按需从集中存储加载,ZeRO 分片;仅缓存最后一层隐藏状态 2. **TileLang 内核**:专门优化的 KL 散度计算内核 3. **在线策略**:学生模型自身生成训练轨迹,保持 on-policy 学习 ## 相比其他方法的优势 | 方法 | 问题 | OPD 方案 | |------|------|----------| | 权重合并 | 性能下降 | Logit 级对齐,绕过物理权重限制 | | 混合 RL | 训练不稳定 | 全词表蒸馏,梯度更稳定 | | Token-level KL | 高方差 | 完整分布匹配 | ## 相关概念 - [[specialist-training-pipeline]] — 专家训练流水线 - [[test-time-scaling]] — 测试时扩展 --- *Last Updated: 2026-04-27*