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

Posted 机器之心

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了学界 | 不同硬件不同网络,横向对比五大深度学习框架(附论文第七版)相关的知识,希望对你有一定的参考价值。

选自arXiv.org

机器之心编译

参与:吴攀、李亚洲


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


摘要


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



1 评测软件版本



2 评测中的神经网络设置


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



  • 全连接网络

  • 卷积神经网络: AlexNet、ResNet

  • 循环神经网络


3 评测硬件配置


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


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


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


4 实验概览及结果


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


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


实验结果概览



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


下表给出了在单个 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 集群上这些工具的可扩展性。



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

加入机器之心(全职记者/实习生):hr@jiqizhixin.com

投稿或寻求报道:editor@jiqizhixin.com

广告&商务合作:bd@jiqizhixin.com

以上是关于学界 | 不同硬件不同网络,横向对比五大深度学习框架(附论文第七版)的主要内容,如果未能解决你的问题,请参考以下文章

开源深度学习框架对比

干货|四大深度学习框架+四类GPU+七种神经网络:交叉性能评测

学界 | 香港浸会大学:四大分布式深度学习框架在GPU上的性能评测

面向深度学习的五大神经网络模型及其应用

四大深度学习框架+四类GPU+七种神经网络:交叉性能评测

深度|PaddlePaddle与TensorFlow的对比分析