QUICK REVIEW
[论文解读] Multi-GPU Training of ConvNets
Omry Yadan, Keith Adams|arXiv (Cornell University)|Dec 20, 2013
Advanced Neural Network Applications参考文献 11被引用 53
一句话总结
本文研究了使用数据并行、模型并行及其混合组合在多GPU上训练卷积神经网络(ConvNets)的方法。通过在4块GPU上结合两种策略,作者实现了相比单GPU训练2.2倍的加速,显著缩短了ImageNet分类任务的训练时间,同时保持了收敛稳定性。
ABSTRACT
In this work we evaluate different approaches to parallelize computation of convolutional neural networks across several GPUs.
研究动机与目标
- 通过探索在多个GPU上的并行化策略,解决大规模ConvNets训练时间过长的问题。
- 研究在通信开销和硬件利用率方面,数据并行与模型并行之间的权衡。
- 确定在不修改底层优化算法的前提下,加速多GPU配置训练的最优配置。
- 评估混合并行(数据+模型)的可行性与性能,以最大化GPU利用率并最小化训练时间。
提出的方法
- 通过将小批量(大小为256)在多个GPU之间拆分来实现数据并行,每个GPU在其子集样本上计算梯度。
- 通过将网络架构在GPU之间划分来实现模型并行,例如在设备之间拆分滤波器或层,如Krizhevsky等人[1]所述。
- 通过在4块GPU上同时分配数据样本和网络组件来结合数据并行与模型并行,以平衡负载并减少通信瓶颈。
- 使用同步小批量随机梯度下降和标准反向传播,将并行化的影响与优化变化隔离开来。
- 在NVIDIA TITAN GPU(6GB内存)上,使用ImageNet 2012数据集对100个周期的训练时间与测试误差进行测量。
- 通过PCIe在GPU之间传输梯度和模型参数,模拟单服务器环境下的分布式通信开销。
实验结果
研究问题
- RQ1在多GPU设置中,数据并行与模型并行在训练速度和通信成本方面有何差异?
- RQ2混合数据并行与模型并行是否能比单独使用任一策略获得更好的性能?
- RQ3在4块GPU上使用不同并行化方案训练大型ConvNet时,可实现的最大加速比是多少?
- RQ4小批量大小的分布如何影响多GPU训练中的GPU利用率和收敛性?
- RQ5单GPU内存的实用限制是什么,多GPU策略如何缓解这些限制?
主要发现
- 在4块GPU上结合数据并行与模型并行的混合方法相比单GPU训练实现了2.2倍的加速,将训练时间从10.5天减少到4.8天。
- 在2块GPU上使用数据并行实现了1.5倍的加速,而模型并行在2块GPU上实现了1.6倍的加速,表明在此设置下模型并行略为高效。
- 在4块GPU上仅使用纯数据并行时,仅实现了1.4倍的加速(7.2天),表明由于通信开销增加,存在收益递减现象。
- 4块GPU上的混合配置实现了最快的收敛速度,测试误差随时间下降最快,如图1所示。
- 小批量大小低于64个样本时,GPU核心利用率不足;而大于256个样本时,受单GPU内存限制(6GB RAM)制约,因此256是最佳小批量大小。
- 通信开销显著影响性能,尤其是在数据并行中,梯度和参数必须在每个更新步骤中在所有GPU之间同步。
更好的研究,从现在开始
从论文设计到论文写作,大幅缩短您的研究时间。
无需绑定信用卡
本解读由 AI 生成,并经人工编辑审核。