[论文解读] Yet Another Accelerated SGD: ResNet-50 Training on ImageNet in 74.7 seconds
本文介绍了一种优化技术,使用 2,048 GPUs 在 ImageNet 上以大规模小批量训练 ResNet-50,达到每轮 74.7 秒和 top-1 准确率 75.08%,吞吐量超过 1.73M 张图像/秒。
There has been a strong demand for algorithms that can execute machine learning as faster as possible and the speed of deep learning has accelerated by 30 times only in the past two years. Distributed deep learning using the large mini-batch is a key technology to address the demand and is a great challenge as it is difficult to achieve high scalability on large clusters without compromising accuracy. In this paper, we introduce optimization methods which we applied to this challenge. We achieved the training time of 74.7 seconds using 2,048 GPUs on ABCI cluster applying these methods. The training throughput is over 1.73 million images/sec and the top-1 validation accuracy is 75.08%.
研究动机与目标
- 解决大规模分布式深度学习的瓶颈。
- 在不牺牲验证准确性的前提下实现大批量训练。
- 识别并优化多GPU集群中的计算、内存与通信瓶颈。
- 在 ABCI 集群上使用 MXNet 展示端到端的性能提升。
- 提供可推广到大规模深度神经网络训练的技术。
提出的方法
- 采用带 warm-up 的随机梯度下降和分层自适应学习率缩放(LARS)以稳定大批量训练。
- 使用标签平滑在大 mini-batch 下提高准确性。
- 为大型 mini-batch 设置调优的批量归一化移动均值/方差。
- 优化 MXNet 框架以实现 GPU 上的并行初始化和批量归一化计算。
- 通过增大汇聚数据尺寸并与反向传播调度的重叠来改进 allreduce 通信。
- 通过 GPU 内核优化和通信感知的层分组来减少瓶颈。
实验结果
研究问题
- RQ1在扩展到数千个 GPU 时,使用大批量 SGD 是否能在 ImageNet 上保持 ResNet-50 的验证准确性?
- RQ2哪些优化策略(学习率调度、归一化和通信)能在大规模 GPU 集群上实现近线性扩展性?
- RQ3框架层面的优化(初始化、批量归一化、allreduce 调度)在大规模下对吞吐量和准确性有何影响?
主要发现
| Batch Size | Processor | DL Library | Time | Accuracy |
|---|---|---|---|---|
| 81,920 | Tesla V100 x 2,048 | MXNet | 1.2 mins | 75.08% |
- 在 2,048 个 GPU 上实现了 ImageNet 的 ResNet-50 训练,耗时 74.7 秒。
- 吞吐量达到 1.73 百万张图像/秒,至多 2,048 个 GPU 时可扩展性为 77.0%。
- 以 81,920 mini-batch 大小达到 75.08% 的 top-1 验证准确率。
- 通过 warm-up、LARS 和标签平滑验证了大批量训练能保持准确性。
- 显示了相对于早期大批量结果的良好可扩展性和效率提升。
更好的研究,从现在开始
从论文设计到论文写作,大幅缩短您的研究时间。
无需绑定信用卡
本解读由 AI 生成,并经人工编辑审核。