专栏名称: 机器之心
专业的人工智能媒体和产业服务平台
目录
相关文章推荐
黄建同学  ·  Anthropic AI 为 Claude ... ·  2 天前  
爱可可-爱生活  ·  深度分析AI与印刷术的共性特征-202411 ... ·  3 天前  
爱可可-爱生活  ·  XGrammar 通过巧妙地将 LLM ... ·  3 天前  
爱可可-爱生活  ·  [CL]《Arithmetic ... ·  3 天前  
爱可可-爱生活  ·  【DarkFlare:一个隐蔽的TCP-ov ... ·  6 天前  
51好读  ›  专栏  ›  机器之心

学界 | 不同硬件不同网络,横向对比五大深度学习框架(附论文第七版)

机器之心  · 公众号  · AI  · 2017-02-22 12:55

正文

选自arXiv.org

机器之心编译

参与:吴攀、李亚洲


2016 年 8 月,香港浸会大学褚晓文团队的研究者发表了一篇论文,对业界主流深度学习工具进行了基准评测 ,之前机器之心也报道了该论文的第六版更新(把 MXNet 加入了评估对象内)。近日,该论文又放出了第七版更新,此次更新修正了 MXNet 中的 ResNet-50 配置;增加了在 TensorFlow 中多 GPU 更快速的实现 ResNet-56。读者可点击阅读原文下载此论文。


摘要


深度学习已被证明是一种可成功用于许多任务的机器学习方法,而且它的广泛流行也将很多开源的深度学习软件工具开放给了公众。训练一个深度网络往往是一个非常耗时的过程。为了解决深度学习中巨大的计算难题,许多工具利用了多核 CPU 和超多核 GPU 这样的硬件特性来缩短训练时间。但是,在不同的硬件平台上训练不同类型的深度网络时,不同的工具会有不同的特性和运行性能,这让终端用户难以选择出合适的软件和硬件搭配。在这篇论文中,我们的目标是对当前最先进的 GPU 加速的深度学习软件工具(包括:Caffe、CNTK、MXNet、TensorFlow 和 Torch)进行比较研究。我们在两种 CPU 平台和三种 GPU 平台上使用三种流行的神经网络来评测了这些工具的运行性能。我们做出了两方面的贡献。第一,对于深度学习终端用户,我们的基准评测结果可用于指导合适的软件工具和硬件平台的选择。第二,对于深度学习软件开发者,我们的深度分析为进一步优化训练的性能指出了可能的方向。


  • 实验数据展示地址:http://dlbench.comp.hkbu.edu.hk/

  • 项目开源地址:https://github.com/hclhkbu/dlbench


1 评测软件版本



2 评测中的神经网络设置




  • 全连接网络

  • 卷积神经网络: AlexNet、ResNet

  • 循环神经网络


3 评测硬件配置



评测硬件配置——并行数据



4 实验概览及结果


下表给出了不同的网络、框架和硬件组合下进行的实验:



实验结果概览


下表给出了实验结果比较数据,更清晰的结果可在上文给出的地址查看。这里给出的数据是实验的速度比较,比较了每个 mini-batch 处理所需的时间(单位:秒):



下表给出了在单个 GPU 和多个 GPU 上的实验比较数据,比较了每个 mini-batch 处理所需的时间(单位:秒):



4.1. CPU 评测结果


根据我们之前的研究 [31],在 CPU 平台上测试特定的 mini-batch 大小 d 的实验能够获得最好的运行时间表现。不同网络使用的 mini-batch 的大小在表 9 中有展示:



图 2:FCN-S 在 mini-batch 大小为 64 时在 CPU 平台上的表现的比较(越低越好)


图 3:AlexNet-S 在 mini-batch 大小为 16 时在 CPU 平台上的表现的比较(越低越好)


图 4:ResNet-50 在 mini-batch 大小为 16 时在 CPU 平台上的表现的比较(越低越好)


图 5:FCN-R 在 mini-batch 大小为 1024 时在 CPU 平台上的表现的比较(越低越好)


图 6:AlexNet-R 在 mini-batch 大小为 1024 时在 CPU 平台上的表现的比较(越低越好)


图 7:ResNet-R 在 mini-batch 大小为 128 时在 CPU 平台上的表现的比较(越低越好)


图 8:LSTM 在 mini-batch 大小为 256 时在 CPU 平台上的表现的比较(越低越好)


4.2. 单 GPU 卡评测结果


在单 GPU 卡的对比上,我们也展示了不同 mini-batch 大小的结果,从而演示 mini-batch 大小对表现的影响。


4.2.1. 合成数据(Synthetic Data)


图 9:在不同 GPU 平台运行 FCN-S 时,不同框架的表现对比


图 10 :在不同 GPU 平台运行 AlexNet-S 时,不同框架的表现对比


图 11:在不同 GPU 平台运行 ResNet-50 时,不同框架的表现对比


4.2.2. 真实数据(Real Data)


图 12:在不同 GPU 平台运行 FCN-R 时,不同框架的表现对比


图 13:在不同 GPU 平台运行 AlexNet-R 时,不同框架的表现对比


图 14:在不同 GPU 平台运行 ResNet-56 时,不同框架的表现对比


图 15:在不同 GPU 平台运行 LSTM 时,不同框架的表现对比


4.3. 多 GPU 卡评测结果


FCN-R:在我们的测试中,mini-batch 的大小设置为 4096,结果如图 16 所示。在图 16(a) 中,我们可以看到 Caffe、CNTK 和 MXNet 的速度非常接近单 GPU 的情况;而在 TensorFlow 和 Torch 上的表现则相对好一点。当 GPU 数量翻倍时,CNTK 和 MXNet 的可扩展性最好,均实现了约 35% 的提速,Caffe 实现了大约 28% 的提速,而 Torch 和 TensorFlow 较差,只有约 10%。当我们把 GPU 数量从 2 个增加到 4 个时,TensorFlow 和 Torch 没有实现进一步的提速。


图 16:(a) FCN-R 在多 GPU 平台上的性能比较,(b) 在多 GPU 平台上的收敛速度


图 17:(a)AlexNet-R 在多 GPU 平台上的性能比较,(b) 在多 GPU 平台上的收敛速度


图 18:(a)ResNet-56 在多 GPU 平台上的性能比较,(b) 在多 GPU 平台上的收敛速度


结论


本研究旨在对比现代深度学习软件工具的运行性能,测试它们在不同类型的神经网络和不同的硬件平台上的执行效率。我们的实验结果表明,目前所有经过测试的工具都可以很好地利用 GPU,和使用 CPU 相比有着很大优势。然而,没有任何一个工具可以在所有方面胜过其他软件工具,这意味着也许存在进一步优化性能的方向。


在未来的研究中,首先,我们会将更多的深度学习软件工具(如百度的 Paddle)和硬件平台(如 AMD 的 GPU 和英特尔 Xeon Phi)纳入这项基准研究。其次,我们计划评估在高性能 GPU 集群上这些工具的可扩展性。



©本文为机器之心编译,转载请联系本公众号获得授权

✄------------------------------------------------

加入机器之心(全职记者/实习生):[email protected]

投稿或寻求报道:[email protected]

广告&商务合作:[email protected]