大模型剪枝有哪些主要方法?
修改于 2026-07-27 17:47:47
121. 按剪枝粒度分类
根据剪枝操作的对象不同,主要分为以下三类:
- 非结构化剪枝:移除单个权重元素,形成稀疏矩阵。压缩率高(可达 80%–95%),但需要专用稀疏计算硬件才能加速。
- 结构化剪枝:移除整个结构单元(如注意力头、FFN 神经元通道、Transformer 层)。虽然压缩率相对较低(通常 30%–60%),但能直接减少 FLOPs,在标准 GPU 上即可获得实打实的推理加速。
- 半结构化剪枝:介于两者之间,典型代表为 N:M 稀疏模式(如 2:4 剪枝表示每连续 4 个权重中移除 2 个)。NVIDIA Ampere 架构及后续 GPU 原生支持 2:4 稀疏加速。
2. 按剪枝时机分类
- 训练后剪枝(Post-training Pruning):在预训练完成后直接进行剪枝,无需重新训练。Wanda、SparseGPT 等均属于此类,部署成本低。
- 训练中剪枝(Training-aware Pruning):在模型训练过程中同步进行剪枝,通过动态调整网络结构实现端到端优化。
3. 按剪枝对象分类
- 宽度剪枝:移除注意力头或 FFN 中间维度神经元,减小单层内部的宽度。
- 深度剪枝:移除整个 Transformer 层,减小模型的层数。
- 混合剪枝:同时应用宽度和深度剪枝,如 2SSP 两阶段框架先做宽度剪枝再做深度剪枝。