深度学习训练,选择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实例的性能评测报告。

相关实践学习
部署Stable Diffusion玩转AI绘画(GPU云服务器)
本实验通过在ECS上从零开始部署Stable Diffusion来进行AI绘画创作,开启AIGC盲盒。
目录
相关文章
|
23天前
|
机器学习/深度学习
神经网络与深度学习---验证集(测试集)准确率高于训练集准确率的原因
本文分析了神经网络中验证集(测试集)准确率高于训练集准确率的四个可能原因,包括数据集大小和分布不均、模型正则化过度、批处理后准确率计算时机不同,以及训练集预处理过度导致分布变化。
|
10天前
|
机器学习/深度学习 人工智能 监控
一文读懂deepSpeed:深度学习训练的并行化
DeepSpeed 是由微软开发的开源深度学习优化库,旨在提高大规模模型训练的效率和可扩展性。通过创新的并行化策略、内存优化技术(如 ZeRO)及混合精度训练,DeepSpeed 显著提升了训练速度并降低了资源需求。它支持多种并行方法,包括数据并行、模型并行和流水线并行,同时与 PyTorch 等主流框架无缝集成,提供了易用的 API 和丰富的文档支持。DeepSpeed 不仅大幅减少了内存占用,还通过自动混合精度训练提高了计算效率,降低了能耗。其开源特性促进了 AI 行业的整体进步,使得更多研究者和开发者能够利用先进优化技术,推动了 AI 在各个领域的广泛应用。
|
11天前
|
机器学习/深度学习 数据采集 数据可视化
深度学习实践:构建并训练卷积神经网络(CNN)对CIFAR-10数据集进行分类
本文详细介绍如何使用PyTorch构建并训练卷积神经网络(CNN)对CIFAR-10数据集进行图像分类。从数据预处理、模型定义到训练过程及结果可视化,文章全面展示了深度学习项目的全流程。通过实际操作,读者可以深入了解CNN在图像分类任务中的应用,并掌握PyTorch的基本使用方法。希望本文为您的深度学习项目提供有价值的参考与启示。
|
15天前
|
机器学习/深度学习 存储 PyTorch
深度学习训练时混合精度的作用
在深度学习训练过程中,混合精度(Mixed Precision)是指同时使用不同的数值精度(如16位浮点数和32位浮点数)来进行计算。
12 2
|
1月前
|
机器学习/深度学习 算法 数据处理
《零基础实践深度学习》波士顿房价预测任务1.3.3.4训练过程
这篇文章详细阐述了如何使用线性回归对波士顿房价进行预测,包括构建神经网络模型、数据处理、模型设计、训练过程、梯度下降法以及随机梯度下降法(SGD)的应用,并提供了完整的Python代码实现。
|
1月前
|
机器学习/深度学习 数据采集 自然语言处理
揭秘深度学习的幕后英雄:如何用智慧和策略战胜训练中的怪兽!
【8月更文挑战第16天】深度学习之路坎坷,如攀险峰,每一步都考验耐心与智慧。超参数调试、数据质量、计算资源、过拟合及收敛难题是常遇挑战。通过网格搜索找最优、数据增强平衡样本、混合精度与梯度累积节省资源、正则化及Dropout防过拟合、以及使用高级优化器助收敛,这些问题得以缓解。每克服一个难关,都是向成功迈进一大步,同时也深化了对深度学习的理解与掌握。
30 4
|
23天前
|
机器学习/深度学习 PyTorch 测试技术
深度学习入门:使用 PyTorch 构建和训练你的第一个神经网络
【8月更文第29天】深度学习是机器学习的一个分支,它利用多层非线性处理单元(即神经网络)来解决复杂的模式识别问题。PyTorch 是一个强大的深度学习框架,它提供了灵活的 API 和动态计算图,非常适合初学者和研究者使用。
33 0
|
23天前
|
机器学习/深度学习 自然语言处理 TensorFlow
深度学习的奥秘:探索神经网络的构建与训练
【8月更文挑战第28天】本文旨在揭开深度学习的神秘面纱,通过浅显易懂的语言和直观的代码示例,引导读者理解并实践神经网络的构建与训练。我们将从基础概念出发,逐步深入到模型的实际应用,让初学者也能轻松掌握深度学习的核心技能。
|
1月前
|
机器学习/深度学习 数据采集 存储
【2021 第五届“达观杯” 基于大规模预训练模型的风险事件标签识别】2 DPCNN、HAN、RCNN等传统深度学习方案
参加2021第五届“达观杯”基于大规模预训练模型的风险事件标签识别比赛的经验,包括使用DPCNN、HAN、TextRCNN、CapsuleNet和TextRCNNAttention等传统深度学习模型的方案实现,以及提分技巧,如多个模型的提交文件投票融合和生成伪标签的方法。
26 0
|
2月前
|
机器学习/深度学习 并行计算 TensorFlow
使用Python实现深度学习模型:分布式训练与模型并行化
【7月更文挑战第9天】 使用Python实现深度学习模型:分布式训练与模型并行化
49 1