M4-099M4: Sequences & TransformersModel Compression & DistillationEasy
Mastery:

Model Compression & Distillation: 解释知识蒸馏的基本框架与温度的作用。

📐 Mathematical Definition
piτ=exp⁡(zi/τ)∑jexp⁡(zj/τ);L=αLCE(y,p1)+(1−α)τ2LKL(pTτ∥pSτ)p_i^{\tau}=\frac{\exp(z_i/\tau)}{\sum_j\exp(z_j/\tau)};\qquad \mathcal{L}=\alpha\mathcal{L}_{\text{CE}}(y,p^1)+(1-\alpha)\tau^2\mathcal{L}_{\text{KL}}(p_T^{\tau}\|p_S^{\tau})
⚡ Executive Summary
Core Concept: 学生学教师的软标签分布;温度 τ>1 使软标签更平滑、暴露类间相似性,提供比硬标签更丰富的监督。

📌 Key Takeaways

  • •
    软标签携带'类间相似性'(如 3 与 8 像)
  • •
    τ>1 使分布更平滑、暴露更多信息
  • •
    τ² 因子补偿梯度缩放

📐 Mathematical Derivations

数学机理:<strong>基本框架</strong>——知识蒸馏(Hinton 等 2015)让学生模型同时学习 (a) <strong>硬标签</strong>(真实标签,用 CE)与 (b) <strong>教师的软标签</strong>(教师的输出概率分布,用 KL):L=α·CE(y,p_S)+(1−α)·τ²·KL(p_T^τ‖p_S^τ)。<strong>软标签为何信息更多</strong>——硬标签只有'正确类=1、其余=0'(每样本 log K 比特的信息);而教师的软标签包含<strong>类间相似性结构</strong>(如教师对一张'3'的图给出 p(3)=0.9、p(8)=0.06、p(2)=0.02)——这告诉学生'这个样本与 8 更像、与 2 稍像',是<strong>密集的监督信号</strong>(每样本 log K 量级的连续信息)。这被称为<strong>暗知识(dark knowledge)</strong>。<strong>温度 τ 的作用</strong>——在 softmax 前把 logits 除以 τ:τ=1 时分布可能很尖锐(几乎 one-hot,与硬标签无异);<strong>τ>1</strong> 使分布<strong>更平滑</strong>,从而<strong>放大</strong>类间相似性的差异(把'0.06 与 0.02'的相对关系暴露出来);τ→∞ 则趋于均匀(丢失信息)。故 τ 需在'暴露足够信息'与'保持区分度'间权衡(常用 τ=2~10,图像分类常用 4)。<strong>τ² 因子的作用</strong>——对 logits 除以 τ 后,KL 的梯度会带 1/τ² 的缩放;乘 τ² 使蒸馏损失的梯度量级与 CE 可比(便于 α 调参)。<strong>推理时</strong>用 τ=1。

🏭 Production Trade-offs

深度剖析与工程权衡:① <strong>蒸馏的三种形态</strong>——(a) <strong>logit 蒸馏</strong>(学教师的输出分布,如上述);(b) <strong>特征蒸馏</strong>(学中间层特征,如 FitNets);(c) <strong>关系蒸馏</strong>(学样本间的关系结构,如 RKD)。logit 蒸馏最简单有效,是默认选择。② <strong>教师-学生的容量差距</strong>——学生若远小于教师,可能无法完全拟合软标签(欠拟合);故蒸馏时学生容量需足够,或分阶段蒸馏(先蒸馏到中等模型、再蒸馏到小模型)。③ <strong>自蒸馏(self-distillation)</strong>——教师与学生同架构(甚至同模型的不同训练阶段);能提升质量(Born-again networks)。④ <strong>在 LLM 中的应用</strong>——(a) <strong>蒸馏到小模型</strong>(如用 GPT-4 生成数据训练小模型,即'数据蒸馏');(b) <strong>RLHF 中的 KL 惩罚</strong>(防止策略偏离参考模型,是'蒸馏'思想在 RL 中的体现);(c) <strong>MoE → 稠密蒸馏</strong>(把 MoE 的能力蒸馏到稠密模型,避免部署 MoE 的复杂度)。⑤ <strong>与'数据蒸馏'的区别</strong>——logit 蒸馏需要教师的<strong>前向</strong>(在训练时访问教师);数据蒸馏只用教师的<strong>输出文本</strong>(离线生成数据),更灵活(可用于 API 模型)。⑥ <strong>面试要点</strong>——被问'蒸馏',应给出'<strong>硬标签 + 软标签(含暗知识)+ 温度 τ 平滑 + τ² 补偿</strong>'的框架,并解释'软标签信息更多'的机制;能区分'logit 蒸馏 vs 数据蒸馏'与'LLM 中的应用'是深度理解的标志。
⚠️ Common Interview Pitfalls
  • ✕
    以为 τ 越大越好(过大会丢失信息)
  • ✕
    忽略 τ² 因子对梯度量级的补偿作用
🎯 Interviewer Follow-ups
  • ?
    为什么软标签比硬标签信息更多?
  • ?
    温度如何选择?
📚

Associated Knowledge Base Guides & Mindmaps

Explore the comprehensive technical article, exam cards, and global architecture tree.

← PreviousM4-098: Sequence Modeling Trade-offs: 解释序列模型的长度外推与长度泛化。📋Back to BankNext →M4-100: Model Compression & Distillation: 解释剪枝的三种粒度。