炼数成金 门户 商业智能 深度学习 查看内容

Poseidon:高效的分布式深度学习通信架构

2017-6-18 22:41| 发布者: 炼数成金_小数| 查看: 18142| 评论: 0|来自: 机器之心

摘要: 深度学习模型在单 GPU 机器上可能需要花费数周的时间进行训练,因此将深度学习分布到 GPU 集群进行训练就显得十分重要了。然而相对于 CPU,拥有更大的吞吐量的 GPU 允许单位时间内处理更多的数据批量(batches),因 ...

网络 架构 分布式 Tensorflow GPU Caffe

论文:Poseidon: An Efficient Communication Architecture for Distributed Deep Learning on GPU Clusters

论文链接:https://arxiv.org/abs/1706.03292


深度学习模型在单 GPU 机器上可能需要花费数周的时间进行训练,因此将深度学习分布到 GPU 集群进行训练就显得十分重要了。然而相对于 CPU,拥有更大的吞吐量的 GPU 允许单位时间内处理更多的数据批量(batches),因此目前的分布式 DL 因为大量参数频繁地在网络中进行同步而表现不佳。

我们提出了 Poseidon,它是一个分布式 DL 在 GPU 上可实现高效通信的架构。Poseidon 利用深度程序中的层级模型结构而叠加通信与计算,这样以减少突发性网络通信。此外,Poseidon 使用混合的通信方案,并根据层级属性和机器数量优化每一层同步所要求的字节数。我们表明 Poseidon 能使 Caffe 和 TensorFlow 在 16 个单 GPU 机器上实现 15.5 倍的加速,而且该实验还是在有带宽限制(10GbE)并挑战 VGG19-22K 图像分类网络下完成的。此外,Poseidon 能使 TensorFlow 在 32 个单 GPU 机器上运行 Inception-V3 达到 31.5 倍的加速,相比于开源的 TensorFlow 实现 50% 的性能提升(20 倍加速)。

图1. 六层卷积神经网络

图 2:(a)参数服务器和(b)分布式 ML 的充分因子 broadcasting。

图 3:分布式环境中的(a)传统反向传播和(b)无等待(wait-free)反向传播。

表 2:用于参数同步的 Poseidon API。

图 4:Poseidon 架构的概览。

表 3:神经网络的评估。其中展示了单结点批量大小,这些批量大小是基于文献中的标准报告而选择的(通常较大的批量大小正好是 GPU 的内存大小)。

图 5:使用 Poseidon 平行化的 Caffe 和 40GbE 带宽训练的 GoogLeNet、VGG19 和 VGG19-22K,及它们训练时的吞吐量变化。单节点 Caffe 设置为基线(即加速=1)。

图 6:使用 Poseidon 平行化的 Caffe 和 40GbE 带宽训练的 Inception-V3、VGG19 和 VGG19-22K,及它们训练时的吞吐量变化。单节点 TensorFlow 设置为基线(即加速=1)。

图 7:在 8 个节点上使用不同系统训练三种网络的 GPU 计算分解和延迟时间。

图 8:使用 Poseidon 平行化的 Caffe 和不同网络带宽训练的 GoogLeNet、VGG19 和 VGG19-22K,及它们训练时的吞吐量变化。单节点 Caffe 设置为基线(即加速=1)。

图 9:(a)加速 vs. 节点数量和(b)使用 Poseidon TensorFlow 与原始 TensorFlow 训练 ResNet-152 的较佳测试误差 vs. epochs。 

欢迎加入本站公开兴趣群
商业智能与数据分析群
兴趣范围包括各种让数据产生价值的办法,实际应用案例分享与讨论,分析工具,ETL工具,数据仓库,数据挖掘工具,报表系统等全方位知识
QQ群:81035754

鲜花

握手

雷人

路过

鸡蛋

相关阅读

最新评论

热门频道

  • 大数据
  • 商业智能
  • 量化投资
  • 科学探索
  • 创业

即将开课

 

GMT+8, 2018-12-18 22:56 , Processed in 0.157585 second(s), 24 queries .