跳转至

模型压缩:剪枝与知识蒸馏在边缘部署中的对比

难度:🔴 高级 | 领域:边缘模型优化 | 关键词:剪枝, 蒸馏, 量化流水线 | 阅读时间:约 16 分钟

日常类比

云端大模型像大象,MCU(Microcontroller Unit)Flash 只有几百 KB 量级——塞不进去。剪枝像修剪枯枝,去掉冗余权重;知识蒸馏像师傅带徒弟,大模型把“软标签”经验传给小模型。二者常与量化串成流水线,而不是互斥单选[1][2]。

摘要

对比非结构化/结构化剪枝与离线/特征蒸馏,给出边缘部署选择与组合顺序。压缩比与精度损失为论文常见量级,须在目标芯片与数据集上复测[3]。

1. 动机

资源 云 GPU 量级 边缘 MCU 量级
内存 GB–数十 GB 数十–数百 KB
存储 很大 Flash 有限
算力 TFLOPS 级 DMIPS/NPU 有限
功耗 常 <100 mW 目标

目标:降参数量、降 MAC、降峰值内存,并保持任务可接受精度。

2. 剪枝

非结构化:按幅度等置零单个权重——稀疏度高,但需稀疏库才加速。结构化:去滤波器/通道/层——稠密算子可直接加速,压缩比通常更保守[4]。

类型 加速条件 训练成本
非结构化 稀疏运行时
结构化 普通 GEMM/卷积 中高(常迭代微调)

流程多为训练 → 剪 → 微调;渐进稀疏更稳。彩票假设说明存在可训练子网,但不保证 MCU 上免费加速[5]。

3. 知识蒸馏

教师输出经温度 \(T\) 软化的概率,学生拟合软标签(+硬标签)。变体:离线、在线、自蒸馏、中间层特征蒸馏。

维度 剪枝 蒸馏
改结构 直接变稀/变窄 可换更小架构
算子友好 结构化更好 取决于学生结构
数据 常需原训练数据微调 常需数据或代理数据
与量化 可串联 可串联

4. 组合与效果

常见流水线:蒸馏到小架构 → 结构化剪枝 → INT8 量化。剪枝后蒸馏可恢复精度;先量化再剪枝则工具链支持不一。分类任务数个点的 Top-1 损失换取数倍体积下降在文献中常见,检测/语音更敏感[3][6]。

5. 局限、挑战与可改进方向

1. 稀疏加速落空

局限:非结构化高稀疏在无稀疏内核的 MCU 上几乎不降延迟。 改进:优先通道剪枝或直接选小模型;确认 CMSIS-NN/NPU 能力[4][7]。

2. 教师–学生差距过大

局限:学生容量不足时蒸馏欠拟合。 改进:中间层对齐、多教师、或先架构搜索再蒸馏[2]。

3. 数据不可用

局限:隐私导致无法用原集微调。 改进:数据无关剪枝/合成数据;在设备域收集小校准集[8]。

4. 指标只看精度

局限:忽略峰值 RAM 与启动延迟,Flash 够仍跑不动。 改进:以目标板内存剖析与延迟为门禁,不只报参数量[6][7]。

总结

剪枝改“密度/宽度”,蒸馏改“学谁、学什么”;边缘上结构化剪枝 + 小学生网络 + 量化通常比追求极端非结构化稀疏更务实。以板级延迟与内存为验收,不以论文压缩比替身。

参考文献

[1] Han et al., Deep Compression, ICLR 2016. [2] Hinton et al., Distilling the Knowledge in a Neural Network, 2015. [3] 模型压缩综述(IEEE / ACM 相关 survey). [4] Liu et al., 结构化剪枝代表工作(如 Network Slimming)相关论文. [5] Frankle & Carbin, The Lottery Ticket Hypothesis, ICLR 2019. [6] TensorFlow Lite / PyTorch 剪枝与蒸馏文档. [7] CMSIS-NN / TFLite Micro 性能指南. [8] Data-free distillation / pruning 相关论文. [9] MobileNet / EfficientNet 等高效架构原文(作学生骨干). [10] NVIDIA / ARM 稀疏与量化部署白皮书. [11] Gou et al., Knowledge Distillation: A Survey, IJCV 2021. [12] 边缘 AI 基准(MLPerf Tiny 等)公开结果说明.