[论文解读] SWALP : Stochastic Weight Averaging in Low-Precision Training
SWALP 提出了一种针对低精度训练的随机权重平均(SWA)方法,采用改进的学习率调度策略,使所有模型权重、梯度和优化器状态均可量化至 8 位定点精度。该方法在 VGG-16 和 PreResNet-164 上实现了 CIFAR-10 和 CIFAR-100 的全精度 SGD 性能,且在二次目标下理论上收敛至最优解,在强凸设置下收敛至比低精度 SGD 更小的噪声球。
Low precision operations can provide scalability, memory savings, portability, and energy efficiency. This paper proposes SWALP, an approach to low precision training that averages low-precision SGD iterates with a modified learning rate schedule. SWALP is easy to implement and can match the performance of full-precision SGD even with all numbers quantized down to 8 bits, including the gradient accumulators. Additionally, we show that SWALP converges arbitrarily close to the optimal solution for quadratic objectives, and to a noise ball asymptotically smaller than low precision SGD in strongly convex settings.
研究动机与目标
- 弥合深度学习中低精度训练与全精度训练之间的性能差距。
- 实现所有训练组件(包括梯度累加器和优化器状态)的端到端 8 位量化。
- 利用随机权重平均(SWA)提升低精度训练中的泛化能力和鲁棒性。
- 理论上分析在二次和强凸目标下,SWA 与低精度训练结合的收敛特性。
- 通过实证验证,8 位 SWALP 在标准视觉基准测试中与全精度 SGD 性能相当。
提出的方法
- SWALP 将随机权重平均(SWA)应用于低精度随机梯度下降(SGD),并采用改进的学习率调度策略。
- 所有模型参数、梯度和优化器状态(如动量)均量化至 8 位定点精度。
- 该方法采用两阶段训练策略:第一阶段使用递减学习率进行训练,第二阶段使用恒定且较低的学习率进行 SWA 平均。
- 从预设的训练轮次之后,每轮(频率 c=1)执行一次平均。
- 最终模型为 SWA 阶段收集的最后几组模型权重的平均值。
- 理论分析证明,SWALP 在二次目标下收敛至最优解,且在强凸设置下收敛至比低精度 SGD 更小的渐近噪声球。
实验结果
研究问题
- RQ1当所有组件均量化至 8 位时,随机权重平均(SWA)能否有效缓解低精度训练中的性能退化?
- RQ2SWALP 在 8 位量化下是否能收敛至二次目标的最优解?
- RQ3在强凸优化问题中,SWALP 是否能实现比标准低精度 SGD 更小的渐近噪声球?
- RQ4SWALP 是否能在 CIFAR-10 和 CIFAR-100 等标准视觉基准上达到与全精度 SGD 相当的泛化性能?
- RQ5学习率调度策略和平均频率的选择如何影响 SWALP 在低精度设置下的性能?
主要发现
- 在 PreResNet-164 上,SWALP 在 CIFAR-100 上达到 27.11% 的测试误差,与全精度 SGD 基线完全一致。
- 在 CIFAR-10 上的 VGG-16 上,SWALP 达到 2.83% 的测试误差,与全精度基线完全一致。
- 在 MNIST 上的逻辑回归任务中,8 位 SWALP 达到 7.34% 的测试误差,与全精度 SGD(7.35%)相当。
- 理论分析表明,SWALP 在 8 位量化下对二次目标收敛至最优解。
- 在强凸目标下,SWALP 收敛至的渐近噪声球比低精度 SGD 更小。
- 即使平均过程本身也量化至 8 位块浮点格式,SWALP 仍能保持性能,测试误差仅增加 0.2%。
更好的研究,从现在开始
从论文设计到论文写作,大幅缩短您的研究时间。
无需绑定信用卡
本解读由 AI 生成,并经人工编辑审核。