NVIDIATriton助力腾讯PCG加速在线推理,提高设备效率

 行业动态     |      2022-08-24 15:22:46    |      沥拓

  

  案例简介

  通过这个案例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在每个业务场景中,高性能的推理服务以较低的成本构建,而较低的延迟降低了整个系统链路的响应时间,优化了用户体验。