[论文解读] Reduced-Precision Strategies for Bounded Memory in Deep Neural Nets
本文提出了一种针对卷积神经网络(CNN)的逐层低精度策略,该策略动态地为每一层分配不同的位宽,显著减少了内存占用,同时将分类精度保持在全精度模型的1%以内。通过对五种CNN架构的分析,作者证明了混合精度配置可将数据存储量最多减少92%,平均减少74%,且精度损失极小,同时大幅提升了内存效率和性能。
This work investigates how using reduced precision data in Convolutional Neural Networks (CNNs) affects network accuracy during classification. More specifically, this study considers networks where each layer may use different precision data. Our key result is the observation that the tolerance of CNNs to reduced precision data not only varies across networks, a well established observation, but also within networks. Tuning precision per layer is appealing as it could enable energy and performance improvements. In this paper we study how error tolerance across layers varies and propose a method for finding a low precision configuration for a network while maintaining high accuracy. A diverse set of CNNs is analyzed showing that compared to a conventional implementation using a 32-bit floating-point representation for all layers, and with less than 1% loss in relative accuracy, the data footprint required by these networks can be reduced by an average of 74% and up to 92%.
研究动机与目标
- 研究精度需求不仅在不同CNN架构之间,而且在单个网络的各层之间如何变化。
- 开发一种逐层选择最优混合精度配置的方法,以在保持高分类精度的同时最小化内存占用。
- 评估逐层精度分配对深度学习推理中内存访问和数据带宽的影响。
- 证明在各层之间动态分配精度可显著优于统一的低精度策略,在内存效率和性能方面表现更优。
- 为未来低精度深度学习加速器的软硬件协同设计奠定基础。
提出的方法
- 作者使用Caffe深度学习框架训练并评估了五种知名CNN:LeNet、ConvNet、AlexNet、NiN和GoogLeNet。
- 通过系统性地单独降低权重和激活的位宽,分析各层的误差容忍度,并测量不同精度级别下的精度退化情况。
- 混合精度配置通过在精度损失控制在32位浮点基线的1%以内前提下,优化最小化内存访问流量来确定。
- 该方法采用定点表示法,分别设置整数位和小数位,并在各层之间权衡精度与内存带宽。
- 流量减少量以相对于32位基线的比率进行量化,结果报告了1%、2%、5%和10%的误差容忍度。
- 该方法在多种网络架构上得到验证,表明精度需求在不同网络之间以及同一网络内部均存在显著差异。
实验结果
研究问题
- RQ1同一网络中不同层对精度降低的容忍度如何变化?
- RQ2与统一的低精度表示相比,逐层精度分配能否在保持高精度的同时实现更大的内存节省?
- RQ3对于给定的CNN,最优的混合精度配置是什么,可使内存占用最小化且精度损失最小?
- RQ4不同CNN架构的精度需求如何变化?这一趋势是否与网络复杂度相关?
- RQ5在1%精度容忍度下,使用逐层特定精度时,中间激活的内存减少最大可达到多少?
主要发现
- 与32位浮点基线相比,使用混合精度配置且精度损失低于1%时,五种CNN中间激活的平均内存占用可减少74%。
- 在最佳情况下,某些层仅需2位精度即可保持精度,表明各层对精度的需求存在极端差异。
- 最大内存减少达到92%,在1%精度容忍度下,最坏情况仍可实现74%的减少。
- 与16位定点基线相比,所提方法平均实现51%的内存减少,凸显了逐层优化的优势。
- 该方法表明,较新且更复杂的网络通常需要更高的精度,表明精度需求随架构复杂度增加而上升。
- 当精度在各层上分别调优时,流量减少效果最佳,最优配置在1%-10%误差容忍度范围内可将数据流量减少高达76%。
更好的研究,从现在开始
从论文设计到论文写作,大幅缩短您的研究时间。
无需绑定信用卡
本解读由 AI 生成,并经人工编辑审核。