Files
myWiki/concepts/on-policy-distillation.md

70 lines
2.3 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

---
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]]
## 定义
OPDOn-Policy Distillation是一种多教师模型蒸馏技术通过让学生模型在自己的生成轨迹上学习教师模型的输出分布将多个领域专家模型的知识融合到单个统一模型中。
## DeepSeek-V4 中的 OPD 流程
### 两阶段后训练范式
1. **阶段一专家训练Specialist Training**
- 针对每个目标领域数学、编程、Agent、指令遵循等独立训练专家模型
- 流程Base Model → SFT领域高质量数据→ RLGRPO领域特定奖励模型
- 产出多个各自领域顶尖的专家模型
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*