MODEL COMPRESSION
轻量化方法:结构、剪枝、量化与蒸馏
模型轻量化不是单纯减小文件体积,而是在目标硬件上同时考虑参数量、计算量、内存峰值、真实延迟、功耗和精度。
1. 轻量网络结构
MobileNet 使用深度可分离卷积减少计算;ShuffleNet 通过分组卷积与通道混洗促进信息交换;轻量检测模型通常同时缩小骨干、颈部和预测头。结构设计的优势是模型天然规整,通常更容易获得硬件加速。
2. 剪枝
非结构化剪枝将单个权重置零,压缩率高但未必能直接降低普通硬件延迟;结构化剪枝移除通道、卷积核或网络层,更容易转换成真实计算收益,但对精度影响可能更明显。
3. 量化
量化将 FP32 权重和激活转换为 FP16 或 INT8。其收益依赖推理框架与硬件支持。后训练量化成本低,但敏感模型可能精度下降;量化感知训练在训练中模拟量化误差,通常更稳健。
4. 知识蒸馏
教师模型通过软标签、特征或响应图指导学生模型。Logit 蒸馏关注最终类别分布,特征蒸馏约束中间表示,关系蒸馏关注样本或特征之间的结构。蒸馏是否有效与教师质量、学生容量和损失权重密切相关。
| 方法 | 主要收益 | 常见风险 |
|---|---|---|
| 轻量结构 | 规整、易部署 | 容量上限较低 |
| 结构化剪枝 | 减少真实计算 | 剪枝比例难选择 |
| INT8 量化 | 降低内存和延迟 | 算子与校准数据敏感 |
| 知识蒸馏 | 保持学生精度 | 训练策略复杂 |
评估原则:在目标设备、目标输入尺寸、固定线程和固定批量下测量端到端延迟,不能只用 FLOPs 或参数量替代真实速度。