M4-101M4: Sequences & TransformersModel Compression & DistillationMedium
Mastery:
Model Compression & Distillation: 解释蒸馏中的 on-policy 与 off-policy 数据差异。
📐 Mathematical Definition
⚡ Executive Summary
Core Concept: off-policy 用教师生成的数据(分布是教师的);on-policy 用学生自己生成的数据(分布是学生的),后者缓解分布不匹配。
📌 Key Takeaways
- •off-policy:用教师的输出(或固定数据集)训练学生
- •on-policy:用学生自己的输出,由教师打分(或蒸馏)
- •on-policy 缓解'训练-推理分布不匹配'(同 exposure bias)
📐 Mathematical Derivations
数学机理:<strong>off-policy 蒸馏</strong>——学生在一个<strong>固定的数据集</strong>上学习(数据来自教师或原始语料),即训练分布是<strong>教师的分布</strong> D_teacher。<strong>问题</strong>——(a) <strong>分布不匹配</strong>:学生推理时会遇到'自己生成的数据分布'(含自己的错误),但训练时只见过教师/真值分布;这与 <strong>exposure bias</strong> 同源(训练用 teacher forcing、推理用自回归);(b) 学生可能在教师的'容易样本'上过拟合,而在'自己的错误状态'上无监督。<strong>on-policy 蒸馏</strong>——让学生<strong>自己生成</strong>序列(或部分序列),再由教师在这些'学生自己的状态'上给出软标签(或评分)。<strong>为什么更好</strong>——(a) <strong>训练分布与推理分布一致</strong>(都来自学生),消除分布不匹配;(b) <strong>教师纠正学生的错误</strong>——教师对'学生走错的状态'给出正确的分布,直接教学生'如何从错误中恢复';(c) 缓解 exposure bias(见 M4 的相关题)。<strong>代价</strong>——(a) <strong>成本高</strong>:需在线让学生生成(自回归、串行),再让教师前向(额外计算),无法用固定数据集缓存;(b) <strong>训练不稳定</strong>:学生分布随训练变化,需持续采样;(c) <strong>教师可能对学生的奇怪状态给出不可靠的标签</strong>(教师也没见过这些状态)。<strong>实例</strong>——(a) <strong>GKD(Generalized KD)</strong>:在学生的自生成序列上蒸馏;(b) <strong>MiniLLM</strong>:用反向 KL 在学生的分布上蒸馏(避免教师分布覆盖学生不擅长的区域);(c) <strong>RLHF 中的 on-policy 采样</strong>:用当前策略生成、再用奖励模型/人类反馈评分(本质是 on-policy 的偏好蒸馏)。<strong>权衡</strong>——实践中常<strong>混合</strong>:先用 off-policy 冷启动(快速收敛),再用 on-policy 精调(对齐分布)。
🏭 Production Trade-offs
深度剖析与工程权衡:① <strong>与 RL 的 off-policy/on-policy 术语一致</strong>——off-policy 用'行为策略'的数据、on-policy 用'当前策略'的数据;蒸馏的这两种模式与 RL 完全对应(且 RLHF 就是 on-policy 蒸馏)。理解这一统一视角很有价值。② <strong>反向 KL vs 前向 KL 的选择</strong>——off-policy 蒸馏常用<strong>前向 KL</strong>(KL(p_T‖p_S),让学生覆盖教师的所有模式);on-policy 蒸馏(如 MiniLLM)用<strong>反向 KL</strong>(KL(p_S‖p_T),让学生聚焦自己会遇到的区域,避免在教师的高概率但学生不擅长的区域浪费容量)。这是'模式覆盖 vs 模式聚焦'的经典权衡(见 M3 的 KL 题)。③ <strong>成本-收益的权衡</strong>——on-policy 蒸馏的质量更好但成本高(需在线采样);对'一次性蒸馏到小模型'的场景,额外成本可接受(因为推理时的成本节省会长期累积)。④ <strong>与'数据蒸馏'的关系</strong>——数据蒸馏(用教师生成训练数据)通常是 off-policy(数据固定);若用学生生成、教师筛选(如 rejection sampling / STaR),则是 on-policy。⑤ <strong>与'自我改进'的关系</strong>——on-policy 蒸馏是'自我改进'(self-improvement)的基础范式:模型生成 → 筛选/评分 → 训练自己;这被广泛用于推理能力的提升(如 STaR、ReST、以及 RLHF 的迭代)。⑥ <strong>面试要点</strong>——被问'蒸馏的数据选择',应给出'<strong>off-policy(固定数据,便宜但有分布不匹配)vs on-policy(学生自生成 + 教师评分,贵但消除不匹配)</strong>',并联系到 exposure bias 与 RLHF;能提到'前向 KL vs 反向 KL 的选择'是深度理解的标志。
⚠️ Common Interview Pitfalls
- ✕忽略 off-policy 蒸馏的分布不匹配问题
- ✕on-policy 蒸馏时忽略成本与不稳定性
🎯 Interviewer Follow-ups
- ?为什么 on-policy 蒸馏更好?
- ?on-policy 的代价是什么?
📚
Associated Knowledge Base Guides & Mindmaps
Explore the comprehensive technical article, exam cards, and global architecture tree.