Skip to main content
QUICK REVIEW

[论文解读] A streamlined AlexNet with 1-bit weights, 2-bit activations

Yaman Umuroglu|arXiv (Cornell University)|Sep 1, 2017
Advanced Neural Network Applications参考文献 7被引用 27
一句话总结

本论文提出了一套针对移动CPU上量化神经网络(QNNs)的简化部署框架,通过将浮点运算转换为整数等效运算、使用位串行矩阵乘法(bit-serial matrix multiplication)以及应用通道交错降低(channel-interleaved lowering)技术,实现了在1-bit权重和2-bit激活的量化AlexNet上,相比优化后的8-bit基线实现3.5倍的加速。

ABSTRACT

Running Deep Neural Network (DNN) models on devices with limited computational capability is a challenge due to large compute and memory requirements. Quantized Neural Networks (QNNs) have emerged as a potential solution to this problem, promising to offer most of the DNN accuracy benefits with much lower computational cost. However, harvesting these benefits on existing mobile CPUs is a challenge since operations on highly quantized datatypes are not natively supported in most instruction set architectures (ISAs). In this work, we first describe a streamlining flow to convert all QNN inference operations to integer ones. Afterwards, we provide techniques based on processing one bit position at a time (bit-serial) to show how QNNs can be efficiently deployed using common bitwise operations. We demonstrate the potential of QNNs on mobile CPUs with microbenchmarks and on a quantized AlexNet, which is 3.5x faster than an optimized 8-bit baseline. Our bit-serial matrix multiplication library is available on GitHub at https://git.io/vhshn

研究动机与目标

  • 解决在对少数比特整数运算支持有限的移动CPU上高效部署低精度量化神经网络(QNNs)的挑战。
  • 克服由浮点运算、低效位掩码操作以及指令集架构(ISAs)中缺乏对1–4位整数算术原生支持所导致的性能瓶颈。
  • 通过将QNNs转换为完全基于整数的计算,实现极低精度损失下的高性能推理,从而在移动设备上实现高效推理。
  • 通过优化的位串行和交错降低技术,在真实模型(如AlexNet)上展示显著的加速效果。

提出的方法

  • 通过将浮点缩放因子(如批归一化和alpha缩放中的因子)吸收为整数阈值,对QNNs进行简化,从而在推理过程中完全消除浮点运算。
  • 实现一个位串行GEMM(通用矩阵乘法)库,通过按位平面逐个处理,使用按位操作(AND、左移、OR)高效处理1-bit权重和2-bit激活。
  • 应用通道交错降低技术,将多个通道打包到一个字中,减少位打包的开销,提升数据局部性和内存访问模式。
  • 将优化后的推理引擎集成到基于Caffe的框架中,支持按层选择性使用gemmlowp(用于8-bit层)和BitSerialGEMM(用于1-bit/2-bit层)。
  • 采用混合执行策略:8-bit层使用gemmlowp以保证精度,1-bit/2-bit层使用BitSerialGEMM以提升速度,仅在非矩阵运算中使用浮点运算。
  • 通过重新排序和打包位平面,优化内存访问和计算,最大化并行性并降低位级别掩码操作的开销。

实验结果

研究问题

  • RQ1是否可以通过基于阈值的简化技术,完全消除QNNs中的浮点运算,同时保持显著的精度损失?
  • RQ2仅使用按位操作的位串行矩阵乘法在通用移动CPU上对1-bit权重和2-bit激活的处理效率如何?
  • RQ3通道交错降低在减少位打包开销和提升低精度推理性能方面的效果有多大?
  • RQ4在真实模型(如AlexNet)上,使用所提出的优化栈部署1-bit/2-bit QNNs时,能够实现多大的性能提升?
  • RQ5简化、位串行GEMM与交错降低的组合是否能超越移动CPU上的标准8-bit推理性能?

主要发现

  • 所提出的BitSerialGEMM库在1-bit权重和2-bit激活的量化AlexNet上,相比优化后的8-bit基线实现了3.5倍的加速。
  • 完全量化的1-bit/2-bit全连接层最高可实现50倍的加速,这得益于更高的算术强度和高效的位串行计算。
  • 在卷积层上,位串行矩阵乘法相比基线8-bit推理实现了4倍加速,性能受限于降低阶段的开销。
  • 与标准降低方式相比,通道交错降低将降低时间减少了最多10倍,显著提升了大滤波器早期层的性能。
  • 在优化后的流水线中,8-bit的首层和末层占用了33%的执行时间,表明进一步量化这些层可带来额外的加速。
  • 使用完整优化栈后,整体推理吞吐量达到每秒7.7帧,相比基线的2.2帧,展现出显著的现实性能提升。

更好的研究,从现在开始

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

无需绑定信用卡

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