案例简介
通过这个案例NVIDIAT4GPU,通过Ronda平台调用Triton以及TensorRT,整体提升开发推理效率,帮助腾讯PCG多个服务的整体效率提高了2倍,吞吐量提高了6倍,同时减少了40%的延迟。这种情况主要应用于NVIDIAT4GPU,TensorRT和Triton。
这种情况主要适用NVIDIAT4GPU,TensorRT和Triton。
CaseIntroduction
ThiscaseismainlyappliedtoNVIDIAT4GPU,TensorRTandTriton.
客户介绍及应用背景
腾讯平台和内容业务集团(简称腾讯)PCG)负责互联网平台与内容文化生态的融合与发展,整合与发展QQ,QQ空间等社交平台,以及应用宝、浏览器等流量平台,以及内容业务,如新闻信息、视频、体育、直播、动画、电影等。IP跨平台、多形态开发,为更多用户创造海量优质数字内容体验。
腾讯PCG机器学习平台部旨在构建和不断优化PCG机器学习平台和系统的技术中台战略,提升PCG机器学习技术的应用效率和价值。构建领先的业务模型培训系统和算法框架;提供覆盖数据标记、模型培训、评估、在线的全过程平台服务,实现高效迭代;在内容理解和处理领域,输出行业领先的元能力和智能战略库。机器学习平台部门正在服务于PCG所有业务产品。
客户挑战
业务多,场景复杂
包括业务开发语言C++/Python
包括许多模型格式ONNX,Pytorch,TensorFlow,TensorRT等
模型预处理涉及网络,如图片下载io
多模型集成过程比教学更复杂,涉及循环调用
支持异构推理
当模型推理结果异常时,很难方便地调试和定位问题
在公司内部需要整合现有协议/框架/平台
应用方案
基于上述挑战,腾讯PCG选择了采用NVIDIA的Triton为了解决模型推理引擎在新场景中面临的挑战,推理服务器在提高用户研究效率的同时,大大降低了服务成本。
NVIDIATriton它是一个开源软件,可以简化任何框架和任何框架中的模型GPU或CPU在生产环境中使用上述操作模式AI。Triton支持多模型ensemble,以及TensorFlow,PyTorch,ONNX各种深度学习模型框架可以很好地支持多模型联合推理的场景,构建视频、图片、语音、文本的整个推理服务过程,大大降低多模型服务的开发和维护成本。
基于C++基础架构,Dynamic-batch,以及对TensorRT同时支持与合作T4的GPU,整体推理服务的吞吐量最大提高6倍,延迟最大降低40%,既满足了业务的低延迟需求,又降低了20%-66%的成本。
通过将Triton编译成动态链接库,可以方便地链接到公司内部框架,连接公司的平台治理体系。符合C语言规范的API也大大降低了用户的接入成本。
借助PythonBackend和CustomBackend,用户可以自由选择使用C++/Python第二次开发语言。
Triton的Tracing在执行过程中,能力可以很容易地捕获数据流状态。Metrics和PerfAnalysis等组件,可以快速定位开发调试,甚至是在线问题,对于开发和定位问题的效率有了很大的提高。
(腾讯授权的图片)
NVIDIADALI是GPU加速数据增强和图像加载库。DALIBackend原图解码可以用来代替,resize等操作。FILBackend也可以替代PythonXGBoost模型推理,进一步提升服务端推理性能。
方案效果及影响
借助NVIDIATriton推理框架,配合DALI/FIL/Python等Backend,以及TensorRT,整体推理服务的吞吐量最大增加6倍,延迟最大减少40%。帮助腾讯PCG在每个业务场景中,高性能的推理服务以较低的成本构建,而较低的延迟降低了整个系统链路的响应时间,优化了用户体验。