要解决的问题

通过删除不重要的权重(剪枝)或把大矩阵分解成小矩阵的乘积(低秩分解),缩小模型规模、降低计算量。

核心方法

  • 非结构化剪枝:逐个权重地置零,可以达到很高的稀疏度,但稀疏矩阵很难在通用硬件上跑出加速。
  • 半结构化剪枝:例如 2:4 稀疏(每 4 个权重中保留 2 个),有专门的硬件支持。
  • 结构化剪枝:删除整行、整列、整个注意力头或整层,模型直接变小,容易获得实际加速,但质量损失更大。
  • 低秩分解:用奇异值分解(SVD)等方法把权重矩阵近似为两个小矩阵的乘积。

代表工作

  • SparseGPT(2023):一次性(one-shot)剪枝,不需要重新训练,就能把大模型剪到 50% 以上的稀疏度。
  • Wanda(2023):按「权重幅度乘以输入激活幅度」来衡量权重的重要性,方法简单且无需更新权重。
  • LLM-Pruner(2023):基于梯度信息做结构化剪枝,再用少量数据微调恢复。
  • SliceGPT(2024):通过正交变换删除权重矩阵的整行整列,直接缩小嵌入维度。
  • SVD-LLM(2024):改进大模型的 SVD 压缩,降低截断带来的损失。

共性挑战

实际运行时间(wall-clock)上的加速通常远小于理论压缩率,非结构化稀疏尤其难以转化为服务端的真实收益。

实践建议

生产环境降本,优先考虑量化,再看结构化剪枝。

相关专题