[论文解读] Training Deep Neural Network in Limited Precision
本文提出一种基于Kahan求和的懒更新机制,通过在辅助累加器中累积小梯度,实现在低精度(如INT8)下的稳定深度神经网络训练,避免参数更新过程中的精度损失。同时,针对Softmax前的最后全连接层,提出基于类别数的位宽指导原则。该方法仅使用8位权重和16位激活、梯度与优化器,在CIFAR-10、ImageNet、GAN和LSTM任务上实现了全精度训练的准确率。
Energy and resource efficient training of DNNs will greatly extend the applications of deep learning. However, there are three major obstacles which mandate accurate calculation in high precision. In this paper, we tackle two of them related to the loss of gradients during parameter update and backpropagation through a softmax nonlinearity layer in low precision training. We implemented SGD with Kahan summation by employing an additional parameter to virtually extend the bit-width of the parameters for a reliable parameter update. We also proposed a simple guideline to help select the appropriate bit-width for the last FC layer followed by a softmax nonlinearity layer. It determines the lower bound of the required bit-width based on the class size of the dataset. Extensive experiments on various network architectures and benchmarks verifies the effectiveness of the proposed technique for low precision training.
研究动机与目标
- 解决低精度DNN训练中因梯度精度不足导致的参数更新不稳定问题。
- 缓解低精度计算中Softmax非线性引入的数值不稳定性。
- 仅使用低精度硬件(如8位)实现全精度训练准确率,无需混合精度或专用硬件。
- 基于数据集类别数量,提供最终全连接层最小位宽选择的实用指导。
- 在多种架构和基准测试中实现端到端的低精度训练,且无准确率下降。
提出的方法
- 在随机梯度下降(SGD)中引入辅助累加器,使用Kahan求和累积多个步骤的小梯度。
- 仅当累积梯度值大到足以影响参数在目标精度(如8位)范围时,才更新主网络参数,从而减少精度损失。
- 采用动态定点数系统,使用8位权重和16位累加器,虚拟扩展参数的有效位宽。
- 将懒更新机制应用于所有层(包括Softmax前的最终全连接层)的权重和偏置更新。
- 提出位宽指导原则:最终全连接层至少应具有log₂(C)位,其中C为输出类别数,以防止准确率下降。
- 在简单的8位定点加速器上实现该方法,无需专用硬件或随机量化。
实验结果
研究问题
- RQ1能否仅使用标准整数运算和无高精度硬件,在低精度DNN训练中实现稳定的参数更新?
- RQ2如何缓解低精度训练中Softmax非线性引入的数值不稳定性?
- RQ3在低精度设置下,为保持训练准确率,Softmax前的最终全连接层的最小位宽是多少?
- RQ4能否在仅使用8位权重和16位激活、梯度的情况下,于多种架构(CNN、GAN、LSTM)和基准(CIFAR-10、ImageNet、TIDIGITS)中实现全精度准确率?
- RQ5所提出的懒更新机制在收敛速度和最终准确率方面是否优于标准低精度训练?
主要发现
- 所提出的基于Kahan求和的懒更新机制可在8位精度下实现DNN的稳定训练,并在CIFAR-10上达到全精度准确率,使用INT8权重和INT16激活、梯度与优化器,测试准确率达到93.4%。
- 在ImageNet上,该方法使用仅8位权重和16位激活、梯度与优化器,实现了75.3%的top-1准确率,与全精度训练相当。
- 对于GAN,该方法成功生成了高质量的64×64人脸和卧室图像,仅使用INT8权重和INT16表示所有其他张量,未出现可见质量下降。
- 在TIDIGITS数据集上,使用懒更新机制的INT8 LSTM训练达到了97.41%的验证准确率,相比无该方法时的75.21%显著提升,且与FP32训练的97.62%准确率相当。
- 所提出的最终全连接层位宽指导原则(log₂(C)位)能有效防止准确率下降,并为安全的低精度训练提供下限。
- 该方法实现了多种DNN(CNN、GAN、LSTM)的端到端低精度训练,无需混合精度硬件或专用操作,所有基准测试均取得具有竞争力的结果。
更好的研究,从现在开始
从阅读论文到最终审阅,大幅缩短您的研究时间。
无需绑定信用卡
本解读由 AI 生成,并经人工编辑审核。