资讯专栏INFORMATION COLUMN

TensorFlow的多平台基准测试

jk_v1 / 1267人阅读

摘要:我们认为,在基准测试平台中,包含真实数据的测量非常重要。其他结果训练合成数据训练真实数据详情环境下表列出了用于测试的批量大小和优化器。在给定平台上,以缺省状态运行。

图像分类模型的结果

InceptionV3[2]、ResNet-50[3]、ResNet-152[4]、VGG16[5] 和 AlexNet[6] 使用 ImageNet[7] 数据集进行测试。测试环境为 Google Compute Engine、Elastic Compute Cloud (Amazon EC2) 和 NVIDIA® DGX-1™。大部分测试使用了合成数据和真实数据。使用合成数据进行测试是通过一个 tf.Variable 完成的,它被设置为与 ImageNet 的每个模型预期的数据相同的形状。我们认为,在基准测试平台中,包含真实数据的测量非常重要。这个负载测试底层硬件和框架,用来准备实际训练的数据。我们从合成数据开始,将磁盘 I/O 作为一个变量移除,并设置一个基线。然后,用真实数据来验证 TensorFlow 输入管道和底层磁盘 I/O 是否饱和的计算单元。

使用 NVIDIA® DGX-1™ (NVIDIA® Tesla® P100) 进行训练

详情和额外的结果请参阅“NVIDIA® DGX-1™ (NVIDIA® Tesla® P100)”一节。

使用 NVIDIA® Tesla® K80 进行训练

详情和额外的结果请参阅“Google Compute Engine (NVIDIA® Tesla® K80)”一节和“Amazon EC2 (NVIDIA® Tesla® K80)”一节。

使用 NVIDIA® Tesla® K80 进行分布式训练

详情和额外的结果请参阅“Amazon EC2 Distributed (NVIDIA® Tesla® K80)”一节。

使用合成数据和真实数据进行训练的比较

NVIDIA® Tesla® P100

NVIDIA® Tesla® K80

NVIDIA® DGX-1™ (NVIDIA® Tesla® P100) 详情

环境

Instance type: NVIDIA® DGX-1™

GPU: 8x NVIDIA® Tesla® P100

OS: Ubuntu 16.04 LTS with tests run via Docker

CUDA / cuDNN: 8.0 / 5.1

TensorFlow GitHub hash: b1e174e

Benchmark GitHub hash: 9165a70

Build Command:bazel build -c opt --copt=-march="haswell" --config=cuda //tensorflow/tools/pip_package:build_pip_package

Disk: Local SSD

DataSet: ImageNet

Test Date: May 2017

每个模型所使用的批量大小及优化器,如下表所示。除下表所列的批量大小外,InceptionV3、ResNet-50、ResNet-152 和 VGG16 使用批量大小为 32 进行测试。这些结果在“其他结果”一节中。

用于每个模型的配置如下表:

结果

训练合成数据

训练真实数据

在上述图标和表格中,排除了在 8 个 GPU 上使用真实数据训练的 AlexNet,因为它将输入管线较大化了。

其他结果

下面的结果,都是批量大小为 32。

训练合成数据

训练真实数据

Google Compute Engine (NVIDIA® Tesla® K80) 详情

环境

Instance type: n1-standard-32-k80x8

GPU: 8x NVIDIA® Tesla® K80

OS: Ubuntu 16.04 LTS

CUDA / cuDNN: 8.0 / 5.1

TensorFlow GitHub hash: b1e174e

Benchmark GitHub hash: 9165a70

Build Command:bazel build -c opt --copt=-march="haswell" --config=cuda //tensorflow/tools/pip_package:build_pip_package

Disk: 1.7 TB Shared SSD persistent disk (800 MB/s)

DataSet: ImageNet

Test Date: May 2017

如下表所示,列出了每种模型使用的批量大小及优化器。除去表中所列的批量之外,Inception V3 和 ResNet-50 的批量大小为 32。这些结果在“其他结果”一节。

用于每个模型的配置的variable_update、 parameter_server、local_parameter_device 和 cpu,它们是相等的。

结果

训练合成数据

训练真实数据

其他结果

训练合成数据

训练真实数据

Amazon EC2 (NVIDIA® Tesla® K80) 详情

环境

Instance type: p2.8xlarge

GPU: 8x NVIDIA® Tesla® K80

OS: Ubuntu 16.04 LTS

CUDA / cuDNN: 8.0 / 5.1

TensorFlow GitHub hash: b1e174e

Benchmark GitHub hash: 9165a70

Build Command:bazel build -c opt --copt=-march="haswell" --config=cuda //tensorflow/tools/pip_package:build_pip_package

Disk: 1TB Amazon EFS (burst 100 MiB/sec for 12 hours, continuous 50 MiB/sec)

DataSet: ImageNet

Test Date: May 2017

下标列出了每种模型所使用的批量大小和优化器。除去表中所列的批量大小外,InceptionV3 和 ResNet-50 的批量大小为 32。这些结果都在“其他结果”一节中。

用于每个模型的配置。

结果

训练合成数据

训练真实数据

由于我们的 EFS 设置未能提供足够的吞吐量,因此在上述图标和表格中,排除了在 8 个 GPU 上使用真实数据来训练 AlexNet。

其他结果

训练合成数据

训练真实数据

Amazon EC2 Distributed (NVIDIA® Tesla® K80) 详情

环境

Instance type: p2.8xlarge

GPU: 8x NVIDIA® Tesla® K80

OS: Ubuntu 16.04 LTS

CUDA / cuDNN: 8.0 / 5.1

TensorFlow GitHub hash: b1e174e

Benchmark GitHub hash: 9165a70

Build Command:bazel build -c opt --copt=-march="haswell" --config=cuda //tensorflow/tools/pip_package:build_pip_package

Disk: 1.0 TB EFS (burst 100 MB/sec for 12 hours, continuous 50 MB/sec)

DataSet: ImageNet

Test Date: May 2017

下表列出了用于测试的批量大小和优化器。除去表中所列的批量大小之外,InceptionV3 和 ResNet-50 的批量大小为 32。这些结果包含在“其他结果”一节。

用于每个模型的配置。

为简化服务器设置,运行工作服务器的 EC2 实例(p2.8xlarge)也运行着参数服务器。使用相同数量的参数服务器和工作服务器,不同之处在于:

InceptionV3: 8 instances / 6 parameter servers

ResNet-50: (batch size 32) 8 instances / 4 parameter servers

ResNet-152: 8 instances / 4 parameter servers

结果

训练合成数据

其他结果

训练合成数据

方法

这个脚本 [8] 运行在不同的平台上,产生上述结果。高性能模型 [9] 详细介绍了脚本中的技巧及如何执行脚本的示例。

为了尽可能达到重复的结果,每个测试运行五次,然后平均一下时间。GPU 在给定平台上,以缺省状态运行。对于 NVIDIA®Tesla®K80,这意味着要离开 GPU Boost[10]。每次测试,都要完成 10 个预热步骤,然后对接下来的 100 个步骤进行平均。

参考链接:

[1] Benchmarks:

https://www.tensorflow.org/performance/benchmarks

[2] Rethinking the Inception Architecture for Computer Vision:

https://arxiv.org/abs/1512.00567

[3] Deep Residual Learning for Image Recognition:

https://arxiv.org/abs/1512.03385

[4] Deep Residual Learning for Image Recognition:

https://arxiv.org/abs/1512.03385

[5] Very Deep Convolutional Networks for Large-Scale Image Recognition:

https://arxiv.org/abs/1409.1556

[6] ImageNet Classification with Deep Convolutional Neural Networks:

http://papers.nips.cc/paper/4824-imagenet-classification-with-deep-convolutional-neural-networks.pdf

[7] ImageNet:

http://www.image-net.org/

[8] tf_cnn_benchmarks: High performance benchmarks:

https://github.com/tensorflow/benchmarks/tree/master/scripts/tf_cnn_benchmarks

[9] High-Performance Models:

https://www.tensorflow.org/performance/benchmarks

[10] Increase Performance with GPU Boost and K80 Autoboost:

https://devblogs.nvidia.com/parallelforall/increase-performance-gpu-boost-k80-autoboost/

欢迎加入本站公开兴趣群

商业智能与数据分析群

兴趣范围包括各种让数据产生价值的办法,实际应用案例分享与讨论,分析工具,ETL工具,数据仓库,数据挖掘工具,报表系统等全方位知识

QQ群:81035754

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/4707.html

相关文章

  • 基准评测TensorFlow、Caffe等在三类流行深度神经网络上的表现

    摘要:在两个平台三个平台下,比较这五个深度学习库在三类流行深度神经网络上的性能表现。深度学习的成功,归因于许多层人工神经元对输入数据的高表征能力。在年月,官方报道了一个基准性能测试结果,针对一个层全连接神经网络,与和对比,速度要快上倍。 在2016年推出深度学习工具评测的褚晓文团队,赶在猴年最后一天,在arXiv.org上发布了的评测版本。这份评测的初版,通过国内AI自媒体的传播,在国内业界影响很...

    canopus4u 评论0 收藏0
  • 深度学习三大硬件+四大学习库基准测试对比,指标全面呈现

    摘要:基准测试我们比较了和三款,使用的深度学习库是和,深度学习网络是和。深度学习库基准测试同样,所有基准测试都使用位系统,每个结果是次迭代计算的平均时间。 购买用于运行深度学习算法的硬件时,我们常常找不到任何有用的基准,的选择是买一个GPU然后用它来测试。现在市面上性能较好的GPU几乎都来自英伟达,但其中也有很多选择:是买一个新出的TITAN X Pascal还是便宜些的TITAN X Maxwe...

    YacaToy 评论0 收藏0
  • MATLAB更新R2017b:转换CUDA代码极大提升推断速度

    摘要:陈建平说训练是十分重要的,尤其是对关注算法本身的研究者。代码生成其实在中也十分简单,陈建平不仅利用车道线识别模型向我们演示了如何使用生成高效的代码,同时还展示了在脱离环境下运行代码进行推断的效果。 近日,Mathworks 推出了包含 MATLAB 和 Simulink 产品系列的 Release 2017b(R2017b),该版本大大加强了 MATLAB 对深度学习的支持,并简化了工程师、...

    Corwien 评论0 收藏0
  • GPU训练机器学习模型哪家强?AWS、谷歌云、IBM等6大平台对比

    摘要:在低端领域,在上训练模型的价格比便宜两倍。硬件定价价格变化频繁,但目前提供的实例起价为美元小时,以秒为增量计费,而更强大且性能更高的实例起价为美元小时。 随着越来越多的现代机器学习任务都需要使用GPU,了解不同GPU供应商的成本和性能trade-off变得至关重要。初创公司Rare Technologies最近发布了一个超大规模机器学习基准,聚焦GPU,比较了几家受欢迎的硬件提供商,在机器学...

    史占广 评论0 收藏0
  • Keras vs PyTorch:谁是「第一」深度学习框架?

    摘要:第一个深度学习框架该怎么选对于初学者而言一直是个头疼的问题。简介和是颇受数据科学家欢迎的深度学习开源框架。就训练速度而言,胜过对比总结和都是深度学习框架初学者非常棒的选择。 「第一个深度学习框架该怎么选」对于初学者而言一直是个头疼的问题。本文中,来自 deepsense.ai 的研究员给出了他们在高级框架上的答案。在 Keras 与 PyTorch 的对比中,作者还给出了相同神经网络在不同框...

    _DangJin 评论0 收藏0

发表评论

0条评论

jk_v1

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<