Skip to main content
QUICK REVIEW

[论文解读] WRPN & Apprentice: Methods for Training and Inference using Low-Precision Numerics

Asit Mishra, Debbie Marr|arXiv (Cornell University)|Mar 1, 2018
Model Reduction and Neural Networks参考文献 11被引用 5
一句话总结

本文提出 WRPN、Apprentice 和 WRPN+Apprentice 三种基于软件的方法,通过使用低精度数值(权重最低至 2 位,激活值最低至 8 位)训练和推理深度神经网络,同时保持精度不变。通过结合滤波器扩展、知识蒸馏和混合优化,这些方法在低精度设置下实现了最先进(SOTA)的精度表现,其模型在性能上超越了基线全精度网络及以往的低精度方法。

ABSTRACT

Today's high performance deep learning architectures involve large models with numerous parameters. Low precision numerics has emerged as a popular technique to reduce both the compute and memory requirements of these large models. However, lowering precision often leads to accuracy degradation. We describe three schemes whereby one can both train and do efficient inference using low precision numerics without hurting accuracy. Finally, we describe an efficient hardware accelerator that can take advantage of the proposed low precision numerics.

研究动机与目标

  • 解决在训练和推理过程中低精度深度神经网络(DNN)常见的精度下降问题。
  • 通过降低激活值和权重的精度来减少内存和计算成本,尤其针对其主导内存占用的场景。
  • 在极端量化条件下(特别是大批次训练和实时推理场景)维持或提升模型精度。
  • 设计一种针对低精度运算(特别是 2 位权重和 8 位激活值)优化的硬件加速器。
  • 通过算法与架构创新,证明低精度 DNN 可在精度上匹配或超越全精度模型。

提出的方法

  • WRPN(Wide Reduced-Precision Networks)通过增加网络层中滤波器的数量(尤其在前三分之一层)来补偿因激活值和权重精度降低导致的精度损失。
  • Apprentice 使用知识蒸馏技术,由一个全精度教师网络通过匹配 logits 和 softmax 输出来指导低精度学生网络的训练。
  • WRPN+Apprentice 将滤波器扩展与蒸馏技术结合,同时应用两种方法以进一步缩小精度差距。
  • 所提出的加速器为具有 64 个处理单元的阵列结构,针对 2b 权重和 8b 激活值的矩阵乘法进行优化,采用位并行比较而非乘法器。
  • 加速器使用 32 位有符号累加器,避免使用浮点单元,从而在相同工艺节点下实现 15 倍更小的面积和 12 倍更高的能效。
  • 系统设计支持使用低精度数值进行训练和推理,通过软件方案维持精度。

实验结果

研究问题

  • RQ1低精度 DNN(2 位权重和 8 位激活值)能否实现或超越全精度模型的精度?
  • RQ2扩展网络滤波器是否能缓解因量化激活值和权重导致的精度损失?
  • RQ3从全精度教师网络进行知识蒸馏是否能提升低精度学生网络在训练过程中的精度?
  • RQ4在小批量和大批量推理场景下,精度降低与模型尺寸之间的最优权衡是什么?
  • RQ5专用硬件加速器能否高效支持所提出的低精度数值表示,同时实现高吞吐量和低功耗?

主要发现

  • 对于使用 2 位权重和 8 位激活值的 ResNet-44,WRPN+Apprentice 实现 5.8% 的 top-1 错误率,优于基线全精度模型的 6.5% 错误率。
  • 对于使用 2 位权重和 8 位激活值的 ResNet-56,WRPN+Apprentice 实现 5.6% 的 top-1 错误率,优于基线全精度模型的 6.2% 错误率。
  • Apprentice 方法显著缩小了全精度与低精度模型之间的精度差距,使 ResNet-56 在 2b 权重和 8b 激活值下实现 5.8% 的错误率(对比基线 6.2%)。
  • 所提出的加速器在面积上比全精度设计小 15 倍,在能效上提高 12 倍。
  • 在大批次训练和推理中,激活值内存占用占主导地位;因此,降低激活值精度相比降低权重精度能带来更大的系统级收益。
  • 滤波器扩展与蒸馏技术的结合使模型收敛至比从零开始训练低精度模型更高的精度,且在某些情况下收敛速度更快。

更好的研究,从现在开始

从阅读论文到最终审阅,大幅缩短您的研究时间。

无需绑定信用卡

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