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

选自add-for

作者:Pedro Gusmão

机器之心编译

参与:李泽南、黄小天

最近,Pedro Gusmão 等人对于英伟达的四种 GPU 在四种不同深度学习框架下的性能进行了评测。本次评测共使用了 7 种用于图像识别的深度学习模型

第一个评测对比不同 GPU 在不同神经网络和深度学习框架下的表现。这是一个标准测试,可以在给定 GPU 和架构的情况下帮助我们选择合适的框架。

第二个测试则对比每个 GPU 在不同深度学习框架训练时的 mini-batch 效率。根据以往经验,更大的 mini-batch 意味着更高的模型训练效率,尽管有时会出现例外。在本文的最后我们会对整个评测进行简要总结,对涉及到的 GPU 和深度学习架构的表现进行评价。

GPU、深度学习框架和不同网络之间的对比

我们使用七种不同框架对四种不同 GPU 进行,包括推理(正向)和训练(正向和反向)。这对于构建深度学习机器和选择合适的框架非常有意义。我们发现目前在网络中缺乏对于此类研究的对比。

这是首次针对不同 GPU(Tesla K40,Titan-X Maxwell,GTX 1080 和 Titan-X Pascal)与不同网络(AlexNet,Overfeat,Oxford VGG,GoogLeNet,ResNet-50,ResNet-101 和 ResNet-52)在不同深度学习框架下(Torch,Caffe,TensorFlow 和 Neon)的评测。在评测中,除了 Neon,所有框架都使用了英伟达 cuDNN 5.1。我们在每个 minibatch 里使用了 64 个取样,每次进行超过 100 次推理和训练。图表中缺失的数据意味着该次测试遭遇内存不足。

用于 TensorFlow 的 Minibatch 效率

训练深度学习框架时知道每个 minibatch 中的样本数量将会加快训练。在第二个测评中,我们分析了 minibatch 尺寸与训练效率的对比。由于 TensorFlow 1.0.0 极少出现内存不足的情况,我们只使用它进行这项评测。这次实验中我们重新评估了 100 次运行中的平均正向通过时间和和正向+反向通过时间。

测评分析

关于第一个测评,我们注意到,Neon 几乎总是能为 Titans 和 GTX 1080 导出最好的结果,而对 K40 的优化最差。这是因为 Neon 针对 Maxwell 和 Pascal 架构做了优化。Tesla K40,作为一个 Kepler GPU,缺少这样低层级的优化。Torch 在所有架构中都可以输出好结果,除了被用在现代 GPU 和更深的模型时。这又一次成了 Neon 发挥作用的时候。最后,我们指出 TensorFlow 是唯一一个可以训练所有网络的框架,并且不会出现内存不足的情况,这是我们继续使用它作为第二个测评的框架的原因。

关于第二个测评,一般来说更大的 minibatch 可以减少每个样本的运行时间继而减少每个 epoch 的训练时间。正如我们在上图看到的,当使用 VGG 网络时,GTX 1080 需要 420.28 毫秒为一个 64 样本的 minibatch 运行正反向通过;相同的配置训练 128 个样本需要 899.86 毫秒,是前者的两倍还要再多出 60 毫秒。此外,我们注意到对于所有大小为 8 的 minibatch 中的网络,Tesla K40 有一个下凹曲率; Titan X Pascal 在使用相同 batch 大小的更浅架构上(例如 AlexNet 和 Overfeat)表现出上凹曲率。下凹曲率表明有效率在下降而上凹曲率则相反。更有趣的是 minibatch 大小的特殊取值也意味着更明显的效率。分析两个 GPU 将有助于解释这为什么会发生。

附录

以下是对测评中使用的 GPU 还有架构和框架版本的扼要介绍。

GPU

1.Tesla K40:

K40 具有 2880 个 cuda 内核,745MHz 的基本频率和可达 288GB/s 的内存宽带的 12G GDDR5 RAM。这是一个基于 Kepler 架构的服务器 GPU,具备 3.5Tflops 的计算能力。K40 已经停产,但仍被广泛用于很多数据中心,了解其性能对于我们将来是否要购买新硬件很有帮助。

2.Titan X Maxwell:

Titan X 是具有 5.1Tflops 计算能力、用于 Maxwell 架构的旗舰消费级 GPU。它具有 3072 cuda 内核,1000MHz 的基本频率,传送速率为 336.5GB/s 的 12G GDDR5。考虑到其硬件规格和大多数深度学习应用仅依靠于单精度浮点运算,Titan X Maxwell 目前能用 750 美元左右买到,被认为是基于起始价格为 1000 美元的 GPU 的服务器的最佳替换方案。

3.GTX 1080:

GTX 1080 是英伟达目前生产的高端游戏 GPU,售价 599 美元。它具备 2560 个 cuda 内核,1607MHz 的基本频率,提供 320GB/s 宽带的 8GB GDDR5X。先进的 Pascal 架构为其带来了 6.1Tflops 的计算能力。

4.Titan X Pascal:

Titan X Pascal 一直是深度学习方面最畅销的 GPU。它具备 3584 cuda 内核,1417MHz 的基本频率,提供 480GB/s 内存宽带的 12GB GDDR5X。它比 GTX 1080 有更强大的计算能力(约 11Tflops),目前标价 1200 美元。尽管消费者趋之若鹜,英伟达目前在官方网站上直销 Titan X Pascal,每个消费者限购 2 块。

此外,在 3 月 10 日售价 699 美元,计算能力 11.34Tflops 的 GeForce GTX 1080Ti 推出以后,消费者拥有了 Titan X 以外的另一个选择。

神经网络

1.AlexNet:

2012 年,Alex Krizhevsky 使用五层卷积、三层完全连接层的 CNN 网络赢得了 ImageNet 竞赛(ILSVRC)。AlexNet 证明了 CNN 在分类问题上的有效性(15.3% 错误率),而此前的图片识别错误率高达 25%。这一网络的出现对于计算机视觉在深度学习上的应用具有里程碑意义。

2.Overfeat:

2013 年,Overfeat 通过降低第一层的步幅改进了 AlexNet 的架构,让图片识别错误率降低至 14.2%。这一方法证明了卷积神经网络使用同步分类、本地化和图片中对象检测的方式可以增加图片识别任务的准确度。

3.VGG Network:

2014 年,牛津大学的研究人员通过训练 11 到 19 层的卷积神经网络证明了深度对于图像识别任务的重要性。他们的工作表明,使用 3×3 空间内核的两个连续卷积层比使用单个 5×5 卷积层具有更高的准确性,同时这一优势也能为非线性层带来帮助。此外,作者证明 19 层 CNN 输出的结果与 16 层网络具有相似的精度,这暴露了当时技术训练深度 CNN 的困难。最后,VGG Net 进一步将 ILSVRC-2014 分类任务中的错误率减少到了 7.3%。

4.GoogLeNet:

该方式由谷歌研究人员于 2014 年推出,它是由 22 层卷积神经网络构成的模型,它被称为 Inception,是由并行和串行的网络进行的级联。网络分类器的误差为 6.67%。

5.残差网络:

在 2015 年,微软研究院的学者提出了一种新的 CNN 架构——残差网络(ResNet)。在残差网络中,残差块的任务是学习连续输出的表示差异。这一方法通过 110 层模型在 ImageNet 竞赛时达到了 3.57% 的误差率。

本次评测中使用的深度学习架构版本:

  • Caffe: commit 746a77e6d55cf16d9b2d4ccd71e49774604e86f6
  • Torch7: commit d03a42834bb1b674495b0c42de1716b66cc388f1
  • Nervana Neon: 1.8.1
  • TensorFlow: 1.0.0

原文地址:http://add-for.com/blog/nvidia-dgx-1-supercomputer-join-our-community-based-deep-learning-benchmark/

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

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

原文发布于微信公众号 - 机器之心(almosthuman2014)

原文发表时间:2017-03-10

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏新智元

【11分钟训练完ImageNet】DNN训练再破纪录,1024 CPU Caffe开源

【新智元导读】此前,伯克利、TACC和UC戴维斯的研究人员使用新算法,在24分钟内训练完AlexNet,1小时训练完ResNet,创下了纪录。现在,他们继续推进...

53511
来自专栏AI科技大本营的专栏

机器学习实际应用中必须考虑到的9个问题

如今,机器学习变得十分诱人,它已在网页搜索、商品推荐、垃圾邮件检测、语音识别、图像识别以及自然语言处理等诸多领域发挥重要作用。和以往我们显式地通过编程告诉计算机...

37011
来自专栏IT派

四种GPU的性能分析

导语:Pedro Gusmão 等人对于英伟达的四种 GPU 在四种不同深度学习框架下的性能进行了评测。本次评测共使用了 7 种用于图像识别的深度学习模型。 第...

3927
来自专栏CreateAMind

Sensorimotor Robot Policy Training using RL(ref163篇 90页) 笔记 超长

1304
来自专栏IT派

谷歌发布MobileNetV2:可做语义分割的下一代移动端计算机视觉架构

项目链接:https://github.com/tensorflow/models/tree/master/research/slim/nets/mobilen...

900
来自专栏数据科学与人工智能

【智能】机器学习:信用风险建模中的挑战,教训和机遇

由于数据可用性和计算能力的快速增长,机器学习现在在技术和业务中发挥着至关重要的作用。机器学习对信用风险建模应用程序有重大贡献。 使用两个大型数据集,我们分析了一...

993
来自专栏AI研习社

MIT 6.S094· 深度学习 | 学霸的课程笔记,我们都替你整理好了

深度学习:为多项人工智能技术服务的成套技术,近年来伴随着研究的不断深入和GPU能力的不断拓展,它也变得更加强大,SDC就是能够利用这些技术的系统。

1292
来自专栏AI研习社

自拍抠图抠到手软?详解如何用深度学习消除背景

在机器学习方兴未艾的过去几年里,我一直想要亲自开发具有实用价值且基于机器学习的产品。然后几个月前,在我学习了由 Fast.AI 所提供的深度学习课程之后,我意识...

3824
来自专栏腾讯技术工程官方号的专栏

腾讯AI Lab解析2017 NIPS三大研究方向,启动教授及学生合作项目

第一部分我们介绍在NIPS上启动与推介的针对教授、学者与学生的共享AI合作项目。第二部分对NIPS探讨的递归神经网络、随机或一阶优化及生成模型等三大研究领域做...

27910
来自专栏量子位

遇到有这六大缺陷的数据集该怎么办?这有一份数据处理急救包

在这篇文章中,身兼AI工程师/音乐家/围棋爱好者多职的“斜杠青年”Julien Despois给出了数据科学中需要避免的6大错误。

1042

扫码关注云+社区