核心要点
剪枝(Pruning):移除冗余权重/通道/注意力头,结构化剪枝才能真正加速,需重训恢复精度
量化(Quantization):用低精度(INT8/INT4)表示权重激活,省显存提吞吐,分 PTQ 与 QAT
蒸馏(Distillation):用大教师模型的软标签(含类间相对概率)训练小学生模型,迁移暗知识
三者可叠加:常先蒸馏得到小模型,再量化部署,剪枝按硬件是否支持稀疏决定
标准回答
一、剪枝
去掉对输出贡献小的权重或结构。非结构化剪枝(单个权重置零)压缩率高但需硬件支持稀疏才能加速;结构化剪枝(整通道/整头)直接缩小矩阵,能在通用硬件上提速,通常剪枝后需微调恢复精度。
二、量化
把 FP32/FP16 权重和激活降到 INT8、INT4 等低精度,直接减少显存与带宽、提升吞吐。PTQ(训练后量化)无需重训、部署快,低比特时精度损失较大;QAT(量化感知训练)在训练中模拟量化误差,精度更高但成本高。
三、蒸馏
让小学生模型拟合大教师模型输出的软标签——软标签携带类别间的相对概率(暗知识),信息量大于硬标签,使小模型获得接近大模型的能力。
四、如何取舍
- 追求即插即用、快速上线:优先 PTQ 量化;
- 精度敏感、可承担训练成本:QAT 或蒸馏;
- 想减小模型结构本身:结构化剪枝或蒸馏到更小架构。
工程上常组合:先蒸馏出小模型,再量化部署。
常见误区
⚠️ 常见踩坑
误区一:容易答偏的地方:以为非结构化剪枝必然加速——无稀疏硬件支持时只省存储不提速;混淆 PTQ 与 QAT,或忽略剪枝后通常需微调才能恢复精度。
🔗 相似问题
同一考点的不同问法,换着练更稳
没找到想看的面试题?把你想看的告诉我们 →
延伸学习
按主题分类的相关资源,便于系统复习
