[论文解读] Multi-Precision Policy Enforced Training (MuPPET): A precision-switching strategy for quantised fixed-point training of CNNs
MuPPET 提出了一种用于卷积神经网络(CNN)量化定点训练的动态精度切换策略,采用多种精度级别(包括低比特定点)并结合运行时策略,在不损失准确率的前提下优化训练速度与能效。该方法在 NVIDIA Turing GPU 硬件上实现 ImageNet 上的训练速度最高达 1.84× 加速,同时在 AlexNet、ResNet18 和 GoogLeNet 上保持了当前最优的准确率。
Large-scale convolutional neural networks (CNNs) suffer from very long training times, spanning from hours to weeks, limiting the productivity and experimentation of deep learning practitioners. As networks grow in size and complexity, training time can be reduced through low-precision data representations and computations. However, in doing so the final accuracy suffers due to the problem of vanishing gradients. Existing state-of-the-art methods combat this issue by means of a mixed-precision approach utilising two different precision levels, FP32 (32-bit floating-point) and FP16/FP8 (16-/8-bit floating-point), leveraging the hardware support of recent GPU architectures for FP16 operations to obtain performance gains. This work pushes the boundary of quantised training by employing a multilevel optimisation approach that utilises multiple precisions including low-precision fixed-point representations. The novel training strategy, MuPPET, combines the use of multiple number representation regimes together with a precision-switching mechanism that decides at run time the transition point between precision regimes. Overall, the proposed strategy tailors the training process to the hardware-level capabilities of the target hardware architecture and yields improvements in training time and energy efficiency compared to state-of-the-art approaches. Applying MuPPET on the training of AlexNet, ResNet18 and GoogLeNet on ImageNet (ILSVRC12) and targeting an NVIDIA Turing GPU, MuPPET achieves the same accuracy as standard full-precision training with training-time speedup of up to 1.84$ imes$ and an average speedup of 1.58$ imes$ across the networks.
研究动机与目标
- 解决大规模 CNN 训练时间过长的问题,该问题限制了深度学习的生产力与实验效率。
- 克服低精度训练导致的准确率下降,特别是由量化训练中梯度消失引起的问题。
- 利用现代硬件对低精度算术(如 FP16、INT8、INT4)的支持,加速训练过程,同时不损害最终模型的准确率。
- 开发一种运行时精度切换策略,根据网络与数据集特性自适应调整,以优化准确率与训练时间之间的权衡。
- 超越双精度方法,实现在多个定点与浮点精度区间的多级精度优化。
提出的方法
- 提出一种多精度训练框架,在训练过程中动态切换多种定点与浮点精度级别。
- 设计一种精度切换策略,基于跨训练周期的梯度多样性指标,确定在不同精度区间之间的最优切换点。
- 使用性能模型估算训练时间,并在时间约束下指导切换点的选择。
- 在 ImageNet 和 CIFAR-100 上对标准 CNN(AlexNet、ResNet18、GoogLeNet)应用该方法,并采用面向 NVIDIA Turing GPU 的硬件感知调度。
- 通过在训练期间使用混合精度配置,保持与全精度推理的兼容性,且仅在训练阶段切换精度,推理阶段保持不变。
- 确保策略与网络架构和数据集无关,从而实现对不同模型-数据集组合的泛化能力。
实验结果
研究问题
- RQ1动态精度切换策略是否能在不降低最终准确率的前提下,提升量化 CNN 训练的速度与能效?
- RQ2与固定精度或双精度方法相比,运行时精度自适应的多精度训练在准确率与加速比方面表现如何?
- RQ3所提出的策略在不同 CNN 架构与数据集(如 ImageNet 和 CIFAR-100)之间具有多大程度的泛化能力?
- RQ4在训练过程中,从低精度计算切换到更高精度计算的最优时机是什么,才能在保持准确率的同时最大化加速效果?
- RQ5该框架是否能有效利用现代硬件对低精度运算(如 INT8、FP16)的支持,从而在 GPU 和 TPU 上加速训练?
主要发现
- 在 GoogLeNet 上,MuPPET 实现了最高 1.84× 的训练加速,且在 ImageNet 上,AlexNet、ResNet18 和 GoogLeNet 的平均加速比达到 1.58×,相比全精度训练。
- 在 CIFAR-100 上,MuPPET 维持了 65.54% 的 Top-1 准确率,训练时间为 3429.19s ± 46.1s,优于静态切换策略(65.44% 准确率,耗时 3679.15s ± 141.1s),且在相同时间预算下表现更优。
- 在不切换精度的情况下以 8 位定点训练,AlexNet 在 CIFAR-100 上验证准确率下降 1.4%,ResNet20 下降 1.3%,证明了精度切换的必要性。
- MuPPET 策略具有良好的泛化能力:将基于一个数据集(如 CIFAR-10)训练出的调度策略应用于另一个数据集(如 CIFAR-100)时,准确率显著下降,证实了该方法能够针对特定的网络-数据集组合进行定制化优化。
- MuPPET 在使用低精度硬件单元的同时,实现了全精度准确率(例如,在 ImageNet 上 ResNet18 的 Top-1 准确率为 70.8%),证明其与现代加速器(如 NVIDIA Turing GPU)的兼容性。
- 该框架与现有低精度训练方法正交,可与如随机舍入或动态量化等技术结合,进一步提升性能。
更好的研究,从现在开始
从阅读论文到最终审阅,大幅缩短您的研究时间。
无需绑定信用卡
本解读由 AI 生成,并经人工编辑审核。