@Paperweekly 原创 · 作者 | An.
单位 | 中科院自动化所
研究方向 | 计算机视觉、模型压缩
论文标题:
Optimal Brain Compression: A Framework for Accurate Post-Training Quantization and Pruning
论文链接:
https://arxiv.org/pdf/2208.11580.pdf
代码链接:
https://github.com/IST-DASLab/OBC
本文提出了一种新的训练后压缩框架 Optimal Brain Compression(OBC),该框架在统一范式下涵盖了权重剪枝和量化。OBC 在无需任何再训练的情况下,只需少量的校准输入数据,即可获得空间和时间效率大大提升且模型性能良好的压缩模型。该方法基于最优脑手术(OBS)[1] 框架进行扩展,将其推广到了包括 CNN、Transformer 在内的现代 DNN 模型中。
实验证明,OBC 在 GPU 支持的复合压缩中,实现了精度仅下降 2% 的情况下,理论计算量减少 12 倍,以及在 CPU 稀疏感知运行时,精度仅下降 1% 的情况下,实际运行加速 4 倍。这些结果首次表明,训练后压缩可以获得与完全再训练压缩相近的性能表现。
问题定义
分层压缩问题:分层压缩是训练后压缩的标准方法,它将压缩任务分解为分层子问题,根据校准数据给出层输入和输出的子样本,为每一层确定压缩权重的近似重建。数学上,我们可以定义层 的函数为 ,该层的输入为 ,权重为 ,分层压缩的目标是在约束条件 下找到权重的近似重建 以最小化损失 ,具体公式如下:
层输入 的期望通常是通过统计 个输入样本的 mini-batch 的平均值来近似估计的。这种低数据设置也是分层压缩的一大优势。与过往的分层压缩工作 [2,3] 一致,本文也只对线性层和卷积层进行压缩,这些层均使用平方误差来衡量重建误差。详细的推导可以参阅 [3]。式(1)更具体的表示如下:
最佳脑手术(OBS)框架:OBS 框架 [1] 针对密集神经网络的精确修剪