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

简介: 本文使用NVCaffe、MXNet、TensorFlow三个主流开源深度学习框架对P100和P40做了图像分类场景的卷积神经网络模型训练的性能对比,并给出了详细分析,结论是P100比P40更适合深度学习训练场景。

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.初步分析
  image
  我们先来看下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单卡性能对比:
image
  最大性能对比:
image
3.2 MXNet:Inception-v3
  使用Benchmark模式测试Imagenet训练,数据单位samples/sec,测试数据如下:
image
3.3 TensorFlow:AlexNet
  TensorFlow使用AlexNet Benchmark模式测试单GPU Forward和Forward-backward作为比较参考,数据单位sec/ batch,越小性能越好。
  P100与P40比较的单GPU测试数据如下:
image
4 测试结论
  通过实测NVCaffe、MXNet、TensorFlow三个主流深度学习框架的图像分类训练性能,验证了我们前面的分析,P40虽然计算力优于P100,但是受限于显存带宽,在深度学习训练上性能是不如P100的,通过实测数据,我们可以得出结论:P100比P40训练性能至少高出20%以上。
  深度学习训练,选择P100就对了。
  阿里云上提供的GN5系列GPU实例,可搭载最多8块P100 GPU,可大大加速深度学习训练,搭载最新V100 GPU的GN6实例近期也已经上线公测,我们后续也会给出GN6实例的性能评测报告。

相关实践学习
基于阿里云DeepGPU实例,用AI画唯美国风少女
本实验基于阿里云DeepGPU实例,使用aiacctorch加速stable-diffusion-webui,用AI画唯美国风少女,可提升性能至高至原性能的2.6倍。
目录
相关文章
|
1月前
|
机器学习/深度学习 数据采集 PyTorch
使用PyTorch解决多分类问题:构建、训练和评估深度学习模型
使用PyTorch解决多分类问题:构建、训练和评估深度学习模型
使用PyTorch解决多分类问题:构建、训练和评估深度学习模型
|
6月前
|
机器学习/深度学习 自然语言处理 PyTorch
【深度学习】实验12 使用PyTorch训练模型
【深度学习】实验12 使用PyTorch训练模型
79 0
|
18小时前
|
机器学习/深度学习 运维 监控
TensorFlow分布式训练:加速深度学习模型训练
【4月更文挑战第17天】TensorFlow分布式训练加速深度学习模型训练,通过数据并行和模型并行利用多机器资源,减少训练时间。优化策略包括配置计算资源、优化数据划分和减少通信开销。实际应用需关注调试监控、系统稳定性和容错性,以应对分布式训练挑战。
|
2月前
|
机器学习/深度学习
转弯半径-深度学习训练
转弯半径(RADIUS OF TURNING CIRCLE),是指汽车行驶过程中,由转向中心到前外转向轮与地面接触点的距离。当方向盘转到极限位置时,由转向中心到前外转向轮接地中心的距离称为最小转弯半径,它反映了汽车通过最小曲率半径弯曲道路的能力和在狭窄路面上调头行驶的能力。
20 1
|
3月前
|
机器学习/深度学习 自然语言处理 数据格式
训练你自己的自然语言处理深度学习模型,Bert预训练模型下游任务训练:情感二分类
训练你自己的自然语言处理深度学习模型,Bert预训练模型下游任务训练:情感二分类
55 0
|
7月前
|
机器学习/深度学习 人工智能 自然语言处理
20用于深度学习训练和研究的数据集
无论是图像识别,自然语言处理,医疗保健还是任何其他人工智能领域感兴趣,这些数据集都是非常重要的,所以本文将整理常用且有效的20个数据集。
121 1
|
8月前
|
机器学习/深度学习 存储 并行计算
深度学习实践篇 第十章:混合精度训练
简要介绍混合精度的原理和代码实现。
135 0
|
8月前
|
机器学习/深度学习 算法 PyTorch
深度学习实践篇 第四章:模型训练与示例
简要介绍pytorch中模型训练的流程和部分原理知识。
|
8月前
|
机器学习/深度学习 数据采集 存储
【3-D深度学习:肺肿瘤分割】创建和训练 V-Net 神经网络,并从 3D 医学图像中对肺肿瘤进行语义分割研究(Matlab代码实现)
【3-D深度学习:肺肿瘤分割】创建和训练 V-Net 神经网络,并从 3D 医学图像中对肺肿瘤进行语义分割研究(Matlab代码实现)
141 0
|
10月前
|
机器学习/深度学习 数据采集 编解码
深度学习如何训练出好的模型
深度学习如何训练出好的模型