[论文解读] Shifted and Squeezed 8-bit Floating Point format for Low-Precision Training of Deep Neural Networks
本文提出了一种新型的 8 位浮点格式 S2FP8(Shifted and Squeezed 8-bit Floating Point),可实现无需损失缩放、随机舍入或保持首尾层为高精度的即开即用深度神经网络训练。通过引入可学习的偏移量(shift)和压缩因子(squeeze),在量化前动态调整张量范围,S2FP8 在无需超参数调优的情况下,于 ResNet-50、Transformer 和 NCF 模型上均保持了与 FP32 相当的精度。
Training with larger number of parameters while keeping fast iterations is an increasingly adopted strategy and trend for developing better performing Deep Neural Network (DNN) models. This necessitates increased memory footprint and computational requirements for training. Here we introduce a novel methodology for training deep neural networks using 8-bit floating point (FP8) numbers. Reduced bit precision allows for a larger effective memory and increased computational speed. We name this method Shifted and Squeezed FP8 (S2FP8). We show that, unlike previous 8-bit precision training methods, the proposed method works out-of-the-box for representative models: ResNet-50, Transformer and NCF. The method can maintain model accuracy without requiring fine-tuning loss scaling parameters or keeping certain layers in single precision. We introduce two learnable statistics of the DNN tensors - shifted and squeezed factors that are used to optimally adjust the range of the tensors in 8-bits, thus minimizing the loss in information due to quantization.
研究动机与目标
- 解决在 8 位精度下训练深度神经网络时,无需大量超参数调优或依赖硬件特定舍入技术的挑战。
- 消除对损失缩放、随机舍入或保持首尾层为 FP32 的需求,这些是以往 8 位训练方法中的常见要求。
- 开发一种硬件友好、可泛化的 8 位训练方法,在 ResNet-50、Transformer 和 NCF 等多种架构上保持模型精度。
- 通过利用更低位宽计算,实现更快、内存高效的训练,同时保持模型性能。
提出的方法
- 提出一种新型 8 位浮点格式 S2FP8,具有 5 个指数位和 2 个尾数位,专为低精度训练优化。
- 采用两个可学习的统计量——偏移量(β)和压缩因子(α),在量化前重新调整张量范围,以最小化信息损失。
- 在将 FP32 张量截断为 8 位表示之前,分别对指数和尾数应用偏移和压缩操作。
- 通过简单的指数加减实现偏移操作,通过尾数缩放实现压缩操作,从而实现高效的硬件映射。
- 在矩阵乘法器中以 FP32 格式存储主权重和累加值,以在训练过程中保持数值稳定性。
- 通过反向传播的梯度动态调整每层的张量统计量,实现端到端的 8 位训练。
实验结果
研究问题
- RQ1能否实现完全即开即用的 8 位浮点训练,而无需损失缩放或对层进行精度限制?
- RQ2在 8 位训练中,如何实现张量范围的自适应调整,以最小化量化误差,同时不依赖随机舍入或分块累加?
- RQ3可学习的偏移量和压缩因子是否能有效替代低精度训练中的手动超参数调优?
- RQ4S2FP8 是否能在无需架构修改的情况下,在 ResNet-50、Transformer 和 NCF 等多样化 DNN 架构上保持与 FP32 相当的精度?
- RQ5在相同训练条件下,S2FP8 与现有 FP8 方法相比,在收敛性和精度方面表现如何?
主要发现
- S2FP8 在无需任何超参数调优的情况下,于 ResNet-50 图像分类任务上实现了与 FP32 相当的精度,优于采用指数损失缩放的 FP8 方法。
- 在英越翻译任务中,S2FP8 达到了与 FP32 基线相同的 BLEU 得分 25.3,而采用损失缩放的 FP8 仅达到 21.3。
- 在 NCF 推荐模型中,S2FP8 实现了 0.663 的命中率,与 FP32 基线的 0.666 非常接近,而采用 RNE 的 FP8 则下降至 0.633。
- S2FP8 消除了必须将首尾层保持为 FP32 的需求,而这是以往方法为保证收敛性所必需的限制。
- 该方法在多种模型上表现稳健,涵盖视觉、自然语言处理和推荐系统,无需架构或训练方案修改即可实现泛化能力。
- 硬件评估证实其开销极小:偏移和压缩操作可通过对指数和尾数的简单算术运算高效实现,且无性能或吞吐量损失。
更好的研究,从现在开始
从论文设计到论文写作,大幅缩短您的研究时间。
无需绑定信用卡
本解读由 AI 生成,并经人工编辑审核。