[论文解读] Distributed Deep Learning Using Synchronous Stochastic Gradient Descent
本论文提出一个多节点同步SGD框架(PCL-DNN),在不改变超参数的情况下在CPU上扩展 vanilla SGD,实现 CNN 的纪录吞吐量,并在 HPC 集群和 AWS 上展示强规模化。
We design and implement a distributed multinode synchronous SGD algorithm, without altering hyper parameters, or compressing data, or altering algorithmic behavior. We perform a detailed analysis of scaling, and identify optimal design points for different networks. We demonstrate scaling of CNNs on 100s of nodes, and present what we believe to be record training throughputs. A 512 minibatch VGG-A CNN training run is scaled 90X on 128 nodes. Also 256 minibatch VGG-A and OverFeat-FAST networks are scaled 53X and 42X respectively on a 64 node cluster. We also demonstrate the generality of our approach via best-in-class 6.5X scaling for a 7-layer DNN on 16 nodes. Thereafter we attempt to democratize deep-learning by training on an Ethernet based AWS cluster and show ~14X scaling on 16 nodes.
研究动机与目标
- 在多节点 CPU 系统上使用同步 SGD 来激励并实现深层网络的大规模训练,且不改变超参数或应用压缩。
- 开发一个以分析为引导的混合数据并行和模型并行方法,以在网络和层之间最大化扩展效率。
- 优化单节点性能与网络通信,以在基于 Xeon 的集群和云环境中实现较高的整体训练时间效率。
- 在多平台上展示对 CNN(OverFeat、VGG-A)和 DNN(7-layer DNN、CD-DNN-HMM)实际的缩放与吞吐量提升。
提出的方法
- 推导并求解计算与内存带宽的平衡方程,以获得最优的缓存分块和多线程策略。
- 提出并分析数据并行、模型并行和混合并行性,包括对数据通信与模型通信需求的定量比较。
- 开发带缓存/分块优化的数据布局和向量化策略,以接近高单节点效率(卷积约 90%、全连接约 70%)。
- 引入通过 MPI_Reduce_scatter 和 MPI_Allgather 实现的深度学习通信原语(部分归约和部分广播),用于可扩展的多节点训练。
- 介绍 PCL-DNN 软件框架,包含数据处理、针对 x86 架构(含 AVX2)的卷积/深度神经网络优化计算库,以及基于 MPI 的通信,以实现大规模执行。
实验结果
研究问题
- RQ1如何在不改变超参数或使用数据压缩的情况下,将原生的同步SGD扩展到多节点 CPU 集群?
- RQ2对于不同网络层,哪些数据并行、模型并行和混合并行策略能在 CPU 上实现最大的强规模化?
- RQ3为了在 x86 CPU 上实现 CNN 的高训练吞吐量和较短的时间到训练,需要哪些单节点优化(缓存分块、向量化、线程)?
- RQ4在多样平台(如 Cori HPC 集群和 AWS EC2)上,提出的框架在 OverFeat、VGG-A 等 CNN,以及 ASR 风格的 DNN 上的性能如何?
主要发现
- 一个 512 minibatch 的 VGG-A CNN 训练在 128 个节点上实现 90x 的扩展,吞吐量很高。
- 一个 256 minibatch 的 VGG-A 与 OverFeat-FAST 在 64 个节点上分别达到 53x 和 42x 的扩展。
- 在 16 节点上对 7 层 DNN 实现了行业最佳 6.5x 的扩展,展示了框架的通用性。
- 在 AWS 上,对 VGG-A 在 16 个节点实现 14x 的扩展,且超参数变更很小。
- 单节点优化在 Xeon 处理器上实现卷积层约 90% 的效率,全连接层约 70%。
- 在 Cori 上,VGG-A 线性扩展至 128 节点,对 256–512 minibatches 的效率在 70-82%,使 ImageNet-1K 的一个 epoch 时间降至不到 10 分钟。
更好的研究,从现在开始
从论文设计到论文写作,大幅缩短您的研究时间。
无需绑定信用卡
本解读由 AI 生成,并经人工编辑审核。