知识蒸馏如何用 Teacher 训练 Student,温度参数有什么作用?
先用自己的话答,再看参考说法
60 秒是练习上限,不是必须凑满。原理题讲清因果,设计题讲清约束,项目题只讲真实证据。
别照着背。参考说法只用于对照;直接回答问题,简单题说清楚就收尾。项目题只用自己的经历和数字。
参考内容当前已显示;开始口述后会暂时隐藏。
面试时怎么答
知识蒸馏不能只说成“Teacher 教 Student”。回答要包含软标签保留了哪些类间关系、温度如何改变分布,以及蒸馏损失为何常乘 \(T^2\) 再与硬标签损失加权。最后补上 Teacher 偏差会传递、Student 容量可能不够,面试官便能继续追问温度和权重怎么调。
可以这样答:
知识蒸馏让 Student 同时学习真实标签和 Teacher 的软概率分布。温度 \(T\) 越高,logits 分布越平,低概率类别之间的相对关系越明显;训练时通常把软目标损失与硬标签损失加权,并用 \(T^2\) 补偿梯度尺度。Teacher 的偏差也会被继承,Student 容量过小则可能学不下这些“暗知识”。
核心回答
知识蒸馏让较小 Student 同时学习真实标签和 Teacher 的软分布。温度 \(T>1\) 会把 logits 分布变平,暴露非目标类别之间的相对关系;经典损失将硬标签交叉熵与 Teacher、Student 在温度下分布的 KL/交叉熵加权,并常乘 \(T^2\) 补偿梯度尺度。蒸馏迁移的是 Teacher 在给定数据上的行为,不保证复制其全部能力。
展开说明
除了输出 logits,可蒸馏中间表示、Attention、关系结构或生成序列。自回归模型有“Teacher 生成答案再做 SFT”的序列级蒸馏,也可对每个 Token 的完整分布做在线或离线蒸馏。Student 容量、蒸馏数据覆盖和分词器兼容性决定上限;Teacher 的偏差、幻觉和安全问题也可能一并迁移。
工程实践
先明确目标是降延迟、显存还是授权成本,再比较同尺寸直接训练基线。离线保存 top-k logits 可降低存储,但会丢失尾部分布;Teacher 与 Student 词表不同则需用文本序列或表示对齐。验收要覆盖任务质量、校准、安全、长尾样本以及真实硬件上的吞吐与延迟。
常见追问
- 为什么软标签比 one-hot 提供更多信息? 它展示 Teacher 对其他类别的相似度判断,例如“猫”比“汽车”更接近“狗”。
- 为什么经典蒸馏损失常乘 \(T^2\)? 温度增大会缩小关于 logits 的梯度,乘 \(T^2\) 用于大致保持软目标项的梯度量级。
- Student 能超过 Teacher 吗? 在特定评测上可能因正则化、数据或架构优势超过,但不能据此认为其整体知识已超过 Teacher。
一句话复习
蒸馏用温度软化的 Teacher 分布传递类别关系,再与真实标签联合训练;效果上限由 Student 容量和数据覆盖决定。
参考资料
评论与补充
评论会直接显示在这道题下面。可以写自己的答法、继续追问或指出错误,不需要 GitHub 账号,也不会跳转到 Issue;内容会公开,请勿填写个人隐私、公司机密或受保密约束的材料。
正在连接站内评论服务…
正在加载评论…
还没有评论,你可以先写下自己的理解或追问。