Skip to main content
QUICK REVIEW

[论文解读] And the Bit Goes Down: Revisiting the Quantization of Neural Networks

Pierre Stock, Armand Joulin|arXiv (Cornell University)|Jul 12, 2019
Neural Networks and Applications参考文献 46被引用 68
一句话总结

该论文提出一种以激活为焦点的产品量化方法(使用加权k-means)来通过对权重相对于域内激活进行量化来压缩神经网络,在保持准确性的同时实现20×–26×的内存降低(ResNet-50和 Mask R-CNN),并支持CPU推理。

ABSTRACT

In this paper, we address the problem of reducing the memory footprint of convolutional network architectures. We introduce a vector quantization method that aims at preserving the quality of the reconstruction of the network outputs rather than its weights. The principle of our approach is that it minimizes the loss reconstruction error for in-domain inputs. Our method only requires a set of unlabelled data at quantization time and allows for efficient inference on CPU by using byte-aligned codebooks to store the compressed weights. We validate our approach by quantizing a high performing ResNet-50 model to a memory size of 5MB (20x compression factor) while preserving a top-1 accuracy of 76.1% on ImageNet object classification and by compressing a Mask R-CNN with a 26x factor.

研究动机与目标

  • 降低卷积网络的内存占用,以便在嵌入式/CPU 设备上实现高效部署。
  • 保留网络输出(激活值)而非权重,以最小化域内重建误差。
  • 利用未标注数据和蒸馏以分层、按顺序的方式学习量化码本。
  • 提供一个实用的字节对齐量化方案,支持CPU推理,并广泛适用于检测任务。

提出的方法

  • 对权重列应用产品量化(PQ),将每列分割为 m 个子向量,并在子向量上学习码本。
  • 用以域内输入最小化 ||y − ŷ||^2 的激活焦点目标替代标准权重重建目标,实现方式为加权 k-means(E 步使用 x,M 步通过最小二乘更新)。
  • 通过对权重张量进行空间映射来量化卷积层(例如,使用子向量大小 d = K×K),并相应处理激活以最大化子向量之间的相关性。
  • 从底层开始对网络进行顺序量化,使用无量化教师的蒸馏来微调码字,而无需标签。
  • 层级量化后对所有码本和 BatchNorm 统计信息进行全局微调以减少漂移(在 ImageNet 上进行 9 个 epoch 的训练)。
  • 提供用于复现的开源代码和模型(论文中引用的 GitHub 链接)。

实验结果

研究问题

  • RQ1以激活为焦点的量化能否在保持域内准确度方面超过以权重为焦点的量化?
  • RQ2在标准卷积神经网络架构(如 ResNet-50)上,在不影响 ImageNet Top-1 准确度的前提下,可以节省多少内存?
  • RQ3分层顺序量化结合蒸馏对于复杂结构和检测框架(如 Mask R-CNN)是否有效?
  • RQ4使用未标注数据进行码本学习和蒸馏是否消除了量化需要标注数据的需求?
  • RQ5在不同预算和任务下,所提方法与当代的压缩方法相比如何?

主要发现

  • 在半监督训练下,ResNet-50 压缩至 5 MB(20× 降幅),ImageNet Top-1 准确率为 76.1%。
  • Mask R-CNN 26× 压缩(约 6 MB),与未压缩模型相比,Box AP 和 Mask AP 具有竞争力。
  • 对于未改动的 ResNet-18,small-block 和 large-block 设置,k=256 时 Top-1 分别约为 65.81% 和 61.10%(约在 1.54–1.03 MB 范围内)。
  • 对于 ResNet-50,small-block 和 large-block 设置,k=256 时 Top-1 分别约为 73.79% 和 68.21%(约在 5.09–3.19 MB 范围内)。
  • 半监督的 ResNet-50 在 ~5.20 MB 下达到 76.12% 的 Top-1 精度,在同等尺寸预算内与性能更强的未压缩基线相当。
  • 消融研究表明,结合蒸馏的激活感知量化在相似预算下始终优于使用标准 PQ 或基于标签的微调的替代方案。

更好的研究,从现在开始

从论文设计到论文写作,大幅缩短您的研究时间。

无需绑定信用卡

本解读由 AI 生成,并经人工编辑审核。