---
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*
