AI大牛教你如何秒速部署GPU深度学习的应用

简介: 2018云栖直播,NVIDIA资深高级系统架构师David带来以Quick deployment of GPU DL application为题的演讲。如何在CPU上以及在阿里云上秒速部署应用一直是个具有挑战性的问题,本文先是讲述了TensorRT具有哪些应用,接着阐述了NGC+TRT+Aliyun是如何快速的部署的,从而最终实现GPU DL的秒速部署。

2018云栖直播,NVIDIA资深高级系统架构师David带来以Quick deployment of GPU DL application为题的演讲。如何在CPU上以及在阿里云上秒速部署应用一直是个具有挑战性的问题,本文先是讲述了TensorRT具有哪些应用,接着阐述了NGC+TRT+Aliyun是如何快速的部署的,从而最终实现GPU DL的秒速部署。
数十款阿里云产品限时折扣中,赶快点击这里,领券开始云上实践吧!
直播视频回顾
PPT下载请点击
以下是精彩视频内容整理:

TensorRT的应用

什么是深度学习

image

深度学习是机器学习的一个子集,搭载深度学习的软件能够训练本身执行任务的能力,例如语言识别、医疗、手机娱乐、人脸识别以及自动驾驶等。它们能够通过接触多层次的神经网络来扩大数据库的容量。从这个角度来看,深度学习能够改变几乎任何一个行业。
然而对于大多数人而言,他们并没有意识到这些技术的实现实际上使用的都是基于深度学习的AI技术。所谓的AI(Artificial Intelligence)技术是人工智能的缩写,它指研究、开发用于模拟、延伸和扩展人的智能的理论、方法、技术及应用系统的一门新的技术科学。人工智能是计算机科学的一个分支,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器。
现在典型的TensorRT部署方法

image


深度学习可分为训练和部署两部分,深度学习的训练部分是指构建网络结构、准备数据集以及使用各种框架进行培训的过程,最后对训练好的模型在实际业务中使用。深度学习的部署部分有两种方法,第一种部署方法是使用培训框架,如Caffe、TensorFlow等方法进行生产阶段的推理,但这种培训框架需要极大的开销。第二种部署方法是使用GPU加速的cuDNN和cuBLAS库直接构建自定义部署解决方案,这种部署方法可以减少框架开销,但是增加了开发的难度。

TensorRT+P4 的性能

image


NVIDIA TESLA P4采用的是完整版本的GP104核心,也就是GTX 1080和GTX 1070所使用的核心。CUDA数目为完整的2560个核心,频率只有810-1063MHz,单精度浮点性能5.5TFlops,INT8 22TOPS。搭载的是GDDR5显存,功率只有50-75W,采用被动散热。最重要的是Tesla P4可以为超大型数据中心提供强有力的性能支持,一块Tesla P4相当于13台普通CPU服务器。
TensorRT+P4具有良好的性能,具体性能如下:
  • 最高效的推理平台。
  • 数据中心扩展的最高性能推理平台。
  • 实时响应推理平台。

TensorRT的优化

image

TensorRT的部署分为两个部分,两部分的计算流程图的具体解释如下:

  • 优化训练好的模型并生成计算流图。
    优化训练模型就是将优化的文件存储到计算机上,首先将训练神经网络优化生成最优的TensorRT控制器,其次是将TensorRT控制器进行串行化引擎,最后得出最优化的方案。
  • 使用TensorRT Runtime部署计算流图。
    首先将优化方案去掉串行化引擎,其次是得出运行时的引擎,最后将其部署并运行到云上。

若想要TensorRT部署流程很自然还需要解决许多问题,例如TensorRT训练出的网络模型需要支持什么样的框架、TensorRT支持的网络结构是什么样的、TensorRT优化器需要做哪些优化、TensorRT优化好的计算流图可以运行在什么设备上等问题。

TensorRT的图像优化

TensorRT在获得网络计算流图后会针对计算流图进行优化,这部分优化不会改变图中最底层的计算内容,而是会重构计算图来获得更快、更高效的执行方式,即计算不变优化计算方法。
TensorRT的优化可以分为三个层次的优化,分别是垂直层融合、水平层融合以及消除级联层,三个层次的具体介绍如下:

垂直层融合

image


如上图所示,通过垂直层融合相同顺序的操作来减少Kernel Launch的消耗以及避免层与层之间的显存读写操作。Concolution、Bias和ReLU层融合成一个Kernel,Kernel称之为CBR,即CBR = Convolution+Bias+ReLU。

水平层融合

image


如上图超宽的1x1 CBR所示,TensorRT去挖掘输入数据层,数据层具有filter大小相同、weights不同的特点,此时需要通过水平层融合的优化方法使得这些层使用同一个Kernel来提高效率

消除级联层

image


消除级联层指消除没有必要的层,例如concatenation层等,从而减少不必要的工作量以及运行时间,有效的提高了效率。
通过垂直层融合、水平层融合以及消除级联层三个层次的优化,TensorRT可以获得更小、更快、更高效的计算流图,优化过的TensorRT具有更少层网络结构以及Kernel Launch次数。总而言之,TensorRT可以有效的优化网络结构、减少网络层数,从而带来性能的提升。

NVIDIA TENSORRT

image


NVIDIA TENSORRT的可编程推理加速器可分为四个部分,分别是输入网络框架、输入接口方式、输出支持系统平台以及输出支持系统平台。每个部分又有许多选择性,例如,TensorRT支持常见的深度学习输入网络框架有Caffe、Chainer、CNTK、MXnet、PaddlePaddle、Pytorch、TensorFlow、Theano等,TensorRT支持的模型输入接口方式有C++ API、Python API、NvCaffeParser, NvUffParser、NvONNx Parser等,TensorRT支持的输出支持系统平台有Linux x86、Linux aarch64、Android aarch64、QNX aarch64等,TensorRT支持的输出硬件平台有Tesla P4/V100、自动驾驶、嵌入式平台的DrivePX、TX1/TX2等。

量化的方法

量化可以分为饱和和非饱和两种方法,具体讲解如下:

饱和量化方法

image


上图讲的是饱和的量化方法,根据所选的量化方法以及量化的整体流程,对于量化最关键的是如何实现饱和方法中的阈值T的选择,这个选择流程被称之为校准。
首先选择一个阈值T,并将阈值T范围内的FP32值映射至INT8,T阈值范围外的使用-127或128。对于此方法来说,weights无法提升准确度,而activations能有效提升准确度。这就是较为复杂的饱和方法。

非饱和方法

image


上图为非饱和的量化方法,对weights和activations使用线性量化,即找到其中绝对值最大的值,然后将这个范围映射回INT8。此方法转化后会带来很大的准确度损失,因此对于weights和activations分别采用了不同的量化方法,这就是简单的非饱和的方法。

TensorRT 部署方法

完成TensorRT优化后可以得到一个Runtime inference engine,这个文件可以被系列化保存至硬盘中,而这个保存的序列化文件称之为Plan(流图),之所以称之为流图,是因为它不仅保存了计算时所需的网络weights也保存了Kernel执行的调度流程。TensorRT提供了write_engine_to_file()函数以来保存流图,在获得了流图之后就可以使用TensorRT部署应用。
为了进一步的简化部署流程,TensorRT提供了TensorRT Lite API,它是高度抽象的接口会自动处理大量的、重复的通用任务,例如创建一个Logger、反序列化流图并生成Runtime inference engine、处理输入的数据等。

NGC+TRT+Aliyun的快速部署

GPU加速计算正在解决世界上一些最复杂的问题,但是GPU自身的使用也会有一定的复杂度。

复杂软件面临的挑战

image


复杂软件面临的重大挑战有三个方面,具体如下:
  • DIY GPU加速的AI和HPC部署对构建,测试和维护来说是复杂且耗时的。
  • 社区开发软件框架的速度非常快。
  • 需要高水平的专业知识来管理驱动程序,库,框架依赖关系。

跨平台深度学习

image

深度学习容器是自包含和可移植的,可以在任何地方运行,即可以使用完全相同的环境在桌面、数据中心或云中构建、培训和部署。例如,在家里TITAN V的环境中工作、使用NVIDIA DGX-1进行大规模的测试等,就可以做到这一点。若想要简化工作量,可以立即使用阿里云GPU计算实例和NGC,可以围绕每项工作使用正确的计算大小来移动工作,最终访问混合云以进行深入学习。

虚拟机与容器的比较

image


虚拟机需要占用大量的内存和耗费大量的时间。由于虚拟机是独立的,它具有自己的操作系统、自己的应用程序以及自己的资源,因此需要占用大量的内存空间。 有时候,开发人员需要快速地测试不同版本的应用程序,这就需要IT Ops团队部署一台或多台机器,因此耗费大量的时间。
而容器不包含任何操作系统,因此占用物理主机上的虚拟机资源更少。容器只是共享主机操作系统,包括内核和库,所以它们不需要启动完整的操作系统。
由此可以得出,容器相对于虚拟机而言更优。特别地,容器的启动时间更快,一个容器化的应用程序通常在几秒钟内开始,而虚拟机可能需要几分钟的时间。

NVIDIA容器

image


Docker容器是硬件不可知的,并且与平台无关。然而,NVIDIA GPU是需要NVIDIA驱动程序的专用硬件。由于Docker本身不支持容器内的NVIDIA GPU,因此使用NVIDIA-Docker可以使镜像不受NVIDIA驱动程序的影响。在目标机器上启动容器时,需安装GPU所需的字符设备和驱动程序文件,这使得Docker镜像便于移植。
相关实践学习
部署Stable Diffusion玩转AI绘画(GPU云服务器)
本实验通过在ECS上从零开始部署Stable Diffusion来进行AI绘画创作,开启AIGC盲盒。
目录
打赏
0
0
0
0
79080
分享
相关文章
Motia:程序员福音!AI智能体三语言混编,零基础秒级部署
Motia 是一款专为软件工程师设计的 AI Agent 开发框架,支持多种编程语言,提供零基础设施部署、模块化设计和内置可观测性功能,帮助开发者快速构建和部署智能体。
113 15
Motia:程序员福音!AI智能体三语言混编,零基础秒级部署
36.7K star!拖拽构建AI流程,这个开源LLM应用框架绝了!
`Flowise` 是一款革命性的低代码LLM应用构建工具,开发者通过可视化拖拽界面,就能快速搭建基于大语言模型的智能工作流。该项目在GitHub上线不到1年就斩获**36.7K星标**,被开发者誉为"AI时代的乐高积木"。
AI职场突围战:夸克应用+生成式人工智能认证,驱动“打工人”核心竞争力!
在AI浪潮推动下,生成式人工智能(GAI)成为职场必备工具。文中对比了夸克、豆包、DeepSeek和元宝四大AI应用,夸克以“超级入口”定位脱颖而出。同时,GAI认证为职场人士提供系统学习平台,与夸克结合助力职业发展。文章还探讨了职场人士如何通过加强学习、关注技术趋势及培养合规意识,在AI时代把握机遇。
AutoAgent:无需编程!接入DeepSeek用自然语言创建和部署AI智能体!港大开源框架让AI智能体开发变成填空题
香港大学推出的AutoAgent框架通过自然语言交互实现零代码创建AI智能体,支持多模型接入与自动化工作流编排,在GAIA基准测试中表现优异。
105 16
AutoAgent:无需编程!接入DeepSeek用自然语言创建和部署AI智能体!港大开源框架让AI智能体开发变成填空题
AI-ClothingTryOn:服装店老板连夜下架试衣间!基于Gemini开发的AI试衣应用,一键生成10种穿搭效果
AI-ClothingTryOn是基于Google Gemini技术的虚拟试衣应用,支持人物与服装照片智能合成,可生成多达10种试穿效果版本,并提供自定义提示词优化功能。
100 17
AI-ClothingTryOn:服装店老板连夜下架试衣间!基于Gemini开发的AI试衣应用,一键生成10种穿搭效果
多模态AI核心技术:CLIP与SigLIP技术原理与应用进展
近年来,多模态表示学习在人工智能领域取得显著进展,CLIP和SigLIP成为里程碑式模型。CLIP由OpenAI提出,通过对比学习对齐图像与文本嵌入空间,具备强大零样本学习能力;SigLIP由Google开发,采用sigmoid损失函数优化训练效率与可扩展性。两者推动了多模态大型语言模型(MLLMs)的发展,如LLaVA、BLIP-2和Flamingo等,实现了视觉问答、图像描述生成等复杂任务。这些模型不仅拓展了理论边界,还为医疗、教育等领域释放技术潜力,标志着多模态智能系统的重要进步。
94 13
多模态AI核心技术:CLIP与SigLIP技术原理与应用进展
谷歌DeepMind联手牛津推出Bolt3D:AI秒速3D建模革命!单GPU仅需6秒生成3D场景
牛津大学与谷歌联合推出的Bolt3D技术,能在单个GPU上仅用6.25秒从单张或多张图像生成高质量3D场景,基于高斯溅射和几何多视角扩散模型,为游戏、VR/AR等领域带来革命性突破。
50 2
谷歌DeepMind联手牛津推出Bolt3D:AI秒速3D建模革命!单GPU仅需6秒生成3D场景
帮你整理好了,AI 网关的 8 个常见应用场景
通过 SLS 还可以汇总 Actiontrail 事件、云产品可观测日志、LLM 网关明细日志、详细对话明细日志、Prompt Trace 和推理实时调用明细等数据汇总,从而建设完整统一的可观测方案。
【AI落地应用实战】大模型加速器2.0:基于 ChatDoc + TextIn ParseX+ACGE的RAG知识库问答系统
本文探讨了私有知识库问答系统的难点及解决方案,重点分析了企业知识管理中的痛点,如信息孤岛、知识传承依赖个人经验等问题。同时,介绍了IntFinQ这款知识管理工具的核心特点和实践体验,包括智能问答、深度概括与多维数据分析等功能。文章还详细描述了IntFinQ的本地化部署过程,展示了其从文档解析到知识应用的完整技术闭环,特别是自研TextIn ParseX引擎和ACGE模型的优势。最后总结了该工具对企业和开发者的价值,强调其在提升知识管理效率方面的潜力。
阿里云AI Stack,加速大模型创新应用
阿里云AI Stack作为面向企业级客户的轻量化、极致性价比、软硬一体AI解决方案,顺利通过了中国信通院《AI大模型一体机技术能力要求》测评。
107 1

热门文章

最新文章

AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等