前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >NVIDIA Deep Learning Examples仓库上线飞桨ResNet50模型,其训练速度超PyTorch

NVIDIA Deep Learning Examples仓库上线飞桨ResNet50模型,其训练速度超PyTorch

作者头像
用户1386409
发布2022-11-29 10:19:21
6880
发布2022-11-29 10:19:21
举报
文章被收录于专栏:PaddlePaddlePaddlePaddle

你还在头疼于经典模型的复现吗?

不知何处可以得到全面可参照的Benchmark?

为了让开发者可以快速复现顶尖的精度和超高的性能,NVIDIA与飞桨团队合作开发了基于ResNet50的模型示例,并将持续开发更多的基于NLP和CV等领域的经典模型,后续陆续发布的模型有BERT、PP-OCR、PP-YOLO等,欢迎持续关注。

深度学习模型是什么?

深度学习包括训练和推理两个环节。训练是指通过大数据训练出一个复杂的神经网络模型,即用大量标记过的数据来“训练”相应的系统,使之可以实现特定的功能。推理是指利用训练好的模型,基于新数据推理出各种结论。深度学习模型是在训练工作过程中生成,并被保存用于推理当中。

图1: 深度学习训练推理示意图

NVIDIA Deep Learning Examples仓库

全新上线飞桨ResNet50

NVIDIA Deep Learning Examples仓库上线了基于飞桨实现的ResNet50模型的性能优化结果,该示例全面适配各类NVIDIA GPU和各种硬件拓扑(单机单卡、单机多卡),性能极致优化。值得一提的是,Deep Learning Examples中飞桨ResNet50模型训练速度已超过对应的PyTorch版ResNet50。

图2: NVIDIA Deep Learning Examples仓库中基于飞桨与PyTorch的ResNet50模型在同等GPU配置下的训练性能比较,GPU配置为NVIDIA DGX A100(8x A100 80GB)。 *数据来源:[1][2]

NVIDIA Deep Learning Examples仓库中

飞桨ResNet50有哪些优势?

  • 优势一:通过使用DALI等工具,加速GPU数据预处理性能

NVIDIA Data Loading Library(DALI)专注于使用GPU加速深度学习应用中的数据加载和预处理。深度学习数据预处理涉及到复杂的、多个阶段的处理过程,如ResNet50模型训练过程中,在CPU上处理图片的加载、解码、裁剪、翻转、缩放和其他数据增强等操作会成为瓶颈,限制训练和推理的性能和可扩展性。DALI将这些操作转移到GPU上,最大限度地提高输入流水线的吞吐量,并且其中数据预取、并行执行和批处理的操作对用户是透明的。

  • 优势二:通过使用AMP、ASP等工具,提高推理性能

飞桨内置支持AMP(自动混合精度)及ASP(自动稀疏化)模块。AMP模块可在模型训练过程中,自动为算子选择合适的计算精度(FP32/FP16),充分利用Tensor Cores的性能,在不影响模型精度的前提下,大幅加速模型训练。

ASP模块实现了一个工作流将深度学习模型从稠密修剪为2:4的稀疏模式,经过重训练之后,可恢复到与稠密模型相当的精度。稀疏模型可以充分利用A100 Tensor Core GPU的加速特性,被修剪的权重矩阵参数存储量减半,并且可以获得理论上2倍的计算加速,从而大幅提高推理性能。

  • 优势三:通过集成TensorRT,优化推理模型

飞桨推理集成了TensorRT,称为Paddle-TRT。它可以把部分模型子图交给TensorRT加速,而其他部分仍然用飞桨执行,从而达到最佳的推理性能。

  • 优势四:丰富的Benchmark

NVIDIA Deep Learning Examples仓库中

有哪些Benchmark?

NVIDIA Deep Learning Examples仓库中的Benchmark主要包含训练精度结果、训练性能结果、推理性能结果、Paddle-TRT性能结果几个方面。

  • 训练精度结果

图3:训练精度:

NVIDIA DGX A100 (8x A100 80GB) 数据来源:[1]

图4:集成ASP的提高精度:

NVIDIA DGX A100 (8x A100 80GB) 数据来源:[1]

  • 训练性能结果

图5:训练性能:

NVIDIA DGX A100 (8x A100 80GB) 数据来源:[1]

图6:集成ASP的训练性能:

NVIDIA DGX A100 (8x A100 80GB) 数据来源:[1]

  • 推理性能结果

图7:推理性能:

NVIDIA DGX A100 (1x A100 80GB) 数据来源:[1]

  • Paddle-TRT性能结果

图8:Paddle-TRT 性能结果:

NVIDIA DGX A100 (1x A100 80GB) 数据来源:[1]

图9:Paddle-TRT 性能结果:

NVIDIA A30 (1x A30 24GB) 数据来源:[1]

图10:Paddle-TRT 性能结果:

NVIDIA A10 (1x A10 24GB) 数据来源:[1]

如何下载NVIDIA Deep Learning Examples

仓库中的飞桨ResNeT50?

登录GitHub NVIDIA Deep Learning Examples仓库后,找到下列选项下载模型源代码即可。

PaddlePaddle/Classification/RN50/1.5

图11:NVIDIA Deep Learning Examples:

飞桨ResNet50下载页面

飞桨容器如何安装?

容器包含了深度学习框架在运行时所需的所有部件(包括驱动,工具包等),它具有轻量化与可复制性、打包和执行环境合二为一以及简化应用程序部署等优势。因此,被认为是在同一环境中实现“构建、测试、部署”的最佳平台。容器允许我们创建标准化可复制的轻量级开发环境,摆脱来自Hypervisor所带来运行开销。应用程序可以基于Container Runtime运行在“任意”系统中。

NVIDIA与百度飞桨联合开发了NGC飞桨容器,将最新版本的飞桨与最新的NVIDIA的软件栈进行了无缝的集成与性能优化,最大程度的释放飞桨框架在NVIDIA最新硬件上的计算能力。这样,用户不仅可以快速开启AI应用,专注于创新和应用本身,还能够在AI训练和推理任务上获得飞桨+NVIDIA带来的飞速体验。

NGC飞桨容器已经集成到飞桨官网主页。你可以选择“飞桨版本”+“Linux”+“Docker”+“CUDA 11.7”找到对应的容器下载指令。

参考《NGC飞桨容器安装指南》下载安装:

https://www.paddlepaddle.org.cn/documentation/docs/zh/install/install_NGC_PaddlePaddle_ch.html

  • 运行结果如下

参考资料

[1]NVIDIA Deep Learning Examples仓库中基于飞桨框架的ResNet50性能

https://github.com/NVIDIA/DeepLearningExamples/tree/master/PaddlePaddle/Classification/RN50v1.5

[2] NVIDIA Deep Learning Examples仓库中基于PyTorch的ResNet50训练性能

https://github.com/NVIDIA/DeepLearningExamples/tree/master/PyTorch/Classification/ConvNets/resnet50v1.5

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2022-10-17,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 PaddlePaddle 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
容器服务
腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档