深度学习训练,选择P100就对了

1.背景
  去年4月,NVIDIA推出了Tesla P100加速卡,速度是NVIDIA之前高端系统的12倍。同年9月的GTC China 2016大会,NVIDIA又发布了Tesla P4、P40两款深度学习芯片。Tesla P100主攻学习和训练任务,而Tesla P4&P40主要负责图像、文字和语音识别。
  同为Pascal架构且运算能力接近的P100和P40常常被拿来对比,单看Spec上运算能力,似乎P40比P100的深度学习性能更好,但实际上呢?本文就通过使用NVCaffe、MXNet、TensorFlow三个主流开源深度学习框架对P100和P40做性能实测来揭晓答案吧。

2.初步分析
  深度学习训练,选择P100就对了
  我们先来看下P100和P40的Spec参数指标。从参数来看,的确是P40的单精运算能力强于P100,而深度学习训练普遍使用单精度浮点类型,是衡量深度学习性能的一个重要指标。P40支持IN8类型,所以非常适合精度要求不高的推理场景,24G的显存也非常适合在线处理大数据量的图像等。但是P100搭载的是HBM2高速显存,而P40只搭载了GDDR5的显存,这使得P100的显存带宽达到了P40的2倍多,而这是影响深度学习训练的另一个重要指标,在训练中会有大量的显存操作,对显存带宽要求很高。这一点很可能会制约P40的训练性能。当然这需要实测的数据来验证,下一节是我们的实测数据。

3.实测数据
3.1 NVCaffe:GoogLeNet
  使用ImageNet ILSVRC2012数据集,其中训练图片1281167张, 验证测试图片 5万张,数据单位是Images/Second(每秒处理的图像张数),OOM表示Batch Size太大导致GPU显存不够。
  测试数据如下:
  不同Batch Size单卡性能对比:
深度学习训练,选择P100就对了
  最大性能对比:
深度学习训练,选择P100就对了
3.2 MXNet:Inception-v3
  使用Benchmark模式测试Imagenet训练,数据单位samples/sec,测试数据如下:
深度学习训练,选择P100就对了
3.3 TensorFlow:AlexNet
  TensorFlow使用AlexNet Benchmark模式测试单GPU Forward和Forward-backward作为比较参考,数据单位sec/ batch,越小性能越好。
  P100与P40比较的单GPU测试数据如下:
深度学习训练,选择P100就对了
4 测试结论
  通过实测NVCaffe、MXNet、TensorFlow三个主流深度学习框架的图像分类训练性能,验证了我们前面的分析,P40虽然计算力优于P100,但是受限于显存带宽,在深度学习训练上性能是不如P100的,通过实测数据,我们可以得出结论:P100比P40训练性能至少高出20%以上。
  深度学习训练,选择P100就对了。
  阿里云上提供的GN5系列GPU实例,可搭载最多8块P100 GPU,可大大加速深度学习训练,搭载最新V100 GPU的GN6实例近期也已经上线公测,我们后续也会给出GN6实例的性能评测报告。

上一篇:Qt编写数据可视化大屏界面电子看板12-数据库采集


下一篇:Mac神兵利器(四)时间管理工具