[论文解读] Is Integer Arithmetic Enough for Deep Learning Training?
本文提出了一种硬件友好的全整数训练方法,该方法在深度学习训练的所有阶段——前向传播、反向传播和随机梯度下降(SGD)中,均用整数计算替代浮点数计算。通过采用基于动态指数缩放的线性定点映射与非线性反向映射,该方法在无需超参数调优、梯度裁剪或依赖分布的调整下,实现了与浮点数基线几乎相同的训练精度,展示了在分类、检测和分割任务中近乎零的精度损失。
The ever-increasing computational complexity of deep learning models makes their training and deployment difficult on various cloud and edge platforms. Replacing floating-point arithmetic with low-bit integer arithmetic is a promising approach to save energy, memory footprint, and latency of deep learning models. As such, quantization has attracted the attention of researchers in recent years. However, using integer numbers to form a fully functional integer training pipeline including forward pass, back-propagation, and stochastic gradient descent is not studied in detail. Our empirical and mathematical results reveal that integer arithmetic seems to be enough to train deep learning models. Unlike recent proposals, instead of quantization, we directly switch the number representation of computations. Our novel training method forms a fully integer training pipeline that does not change the trajectory of the loss and accuracy compared to floating-point, nor does it need any special hyper-parameter tuning, distribution adjustment, or gradient clipping. Our experimental results show that our proposed method is effective in a wide variety of tasks such as classification (including vision transformers), object detection, and semantic segmentation.
研究动机与目标
- 为解决在边缘和云平台训练大型深度学习模型所面临的日益增长的计算与能耗成本问题。
- 探究仅使用整数算术是否能够完全替代端到端深度学习训练中的浮点数算术。
- 开发一种方法,在无需梯度裁剪、超参数调优或依赖特定分布调整的情况下,保持训练收敛性和精度。
- 以硬件友好的方式,实现所有关键组件(包括批量归一化和随机梯度下降)的整数计算。
- 从理论和实证上验证整数训练是否能保持浮点数训练的收敛轨迹。
提出的方法
- 基于张量中最大指数的线性定点映射,对浮点张量进行转换,实现无需重训练的动态缩放。
- 应用非线性反向映射将定点值转换回浮点数,以最小化量化误差并确保梯度估计无偏。
- 在量化过程中使用随机舍入,以保持梯度保真度并防止训练过程中偏差累积。
- 所有操作——线性层、卷积、批量归一化、层归一化以及SGD(含动量和权重衰减)——均仅在整数算术中执行。
- 比例因子按张量动态计算,并在训练过程中保持稳定,无需手动调整。
- 该方法与分布无关,即不依赖于权重、梯度或输入数据的统计特性。
实验结果
研究问题
- RQ1能否设计出一个全整数训练流水线,在无需超参数调优或梯度裁剪的情况下,保持与浮点数训练相当的收敛性和精度?
- RQ2与浮点数版本相比,所提出的定点映射对随机梯度下降的最优性差距有何影响?
- RQ3是否可以使用整数算术在批量归一化和随机梯度下降中计算梯度,且精度损失可忽略?
- RQ4当字宽低于8位(如int5、int4)时,对训练稳定性和模型精度有何影响?
- RQ5所提出的方法是否能在包括视觉变换器、目标检测和语义分割在内的多样化深度学习任务中,保持训练轨迹和最终模型性能?
主要发现
- 在ImageNet上使用ResNet18进行训练时,该整数训练方法实现了69.25%的top-1精度,而浮点数基线为69.75%,表明精度损失可忽略不计。
- 在CIFAR10上微调视觉变换器时,该方法实现了98.80%的top-1精度,而浮点数基线为99.10%,表明在基于注意力机制的模型上表现强劲。
- 在COCO数据集上使用Faster R-CNN进行目标检测时,整数训练的mAP为37.40%,而浮点数训练为37.80%,表明性能退化极小。
- 在VOC数据集上使用DeepLab-V1进行语义分割时,整数训练的mIOU为74.73%,而浮点数训练为75.00%,证实了在密集预测任务中的稳定性。
- 该方法成功实现了仅使用整数计算的批量归一化和完整SGD的反向传播,据作者所知,这是首个实现该目标且精度损失极小的方案。
- 使用int5训练导致精度显著下降(在CIFAR10上降至88.5%),而int4导致训练发散,表明8位整数算术是稳定训练的实际下限。
更好的研究,从现在开始
从阅读论文到最终审阅,大幅缩短您的研究时间。
无需绑定信用卡
本解读由 AI 生成,并经人工编辑审核。