深度网络中使用较低位宽累加器实现更廉价的推理

💡 原文中文,约1800字,阅读约需5分钟。
📝

内容提要

该文综述神经网络量化技术,通过降低权重、激活和累加器精度来减少内存与功耗,提升硬件效率。研究涵盖量化感知训练、后训练量化及统一低位框架,在ImageNet等基准上保持精度,并推动FPGA等加速器优化。

🔎

延伸解读

累加器位宽:精度与溢出的权衡

文章指出,降低累加器精度可提升硬件效率,但会引入数值溢出风险,导致算术错误和模型精度下降。累加器感知量化(A2Q)通过在训练中约束权重来避免溢出,但依赖过于严格的约束和次优的权重初始化,反而引入额外量化误差。A2Q+通过改进上界和从预训练浮点检查点初始化,缓解了约束并改善了位宽与精度的权衡。

量化方案选择:逐通道权重与逐层激活

文章建议,对于硬件加速和内核优化,应优先采用逐通道量化的权重和逐层量化的激活。这种方案即使在不支持8位运算的硬件上,也能将权重量化为8位,使模型大小降低4倍,分类准确率达到浮点卷积神经网络的98%。同时,量化实现相比CPU浮点运算可提速2至3倍,并提议未来处理器支持4、8和16位精度。

后训练量化:无需重训的加速路径

文章提到,后训练量化流程无需重新训练即可加速深度神经网络推理,并在ImageNet上实现6位量化时Top-1准确率增加2.2%。此外,有方法通过识别通道级分布减少量化精度损失,无需微调即可将网络量化为8位整数精度,并在ImageNet分类基准上评估了11个网络。这些进展降低了量化部署的门槛。

统一低位框架与联合训练

文章介绍了WAGEUBN统一完整量化框架,可将神经网络数据路径中所有数据类型转换为低位整数,实现全面量化和在线训练,在ImageNet上获得可比较精度,展示了8位INT级别完整量化的功能性。另有联合训练方法同时训练量化器和DNN,在CIFAR-10和ImageNet上超越先前量化方法。这些工作推动了低位宽推理的实用化。

❓

Q&A

为什么在深度神经网络推理中要降低累加器的位宽?

降低累加器的精度可以进一步提高硬件效率,但存在数值溢出的风险,这会导致算术错误并降低模型的准确性。

什么是累加器感知量化(A2Q)?

累加器感知量化(A2Q)是一种量化感知训练方法,在训练期间约束模型权重以在推理过程中安全地使用目标累加器位宽,从而避免数值溢出并保持准确性。

A2Q+对A2Q做了哪些改进?

A2Q+引入了两个改进:(1)一种改进的上界,缓解了累加器约束而不损害溢出避免;(2)一种从预训练的浮点检查点初始化量化权重的新策略。并将这些贡献与权重归一化结合。

量化技术如何影响神经网络在CPU和DSP上的推理速度?

量化实现的速度比CPU上的浮点运算提高了2倍至3倍。

WAGEUBN框架是什么?

WAGEUBN是一种统一完整量化框架,可将神经网络的数据路径(包括所有数据类型W,A,G,E,U和BN)中所有数据转换为低位整数以实现全面量化和在线训练,并在ImageNet数据集上获得了可比较的精度。

后训练量化在ImageNet上取得了什么效果?

一种基于量化的后训练量化流程,无需重新训练即可加速深度神经网络的推理,并得到了在ImageNet上6位的Top-1准确率增加2.2%的结果。

🏷️

标签

➡️

继续阅读