NVIDIA Triton 助力腾讯 PCG 加速在线推理,提高设备效能
2022-04-17 15:26
藉由 NVIDIAT4 GPU,通过 Ronda 平台调用 NVIDIA Triton 以及 TensorRT ,整体提升开发和推理效能,帮助腾讯 PCG 的多个服务整体效能提升 2 倍,吞吐量最大提升 6 倍,同时降低了 40% 的延时。
腾讯平台与内容事业群(简称 腾讯 PCG)负责公司互联网平台和内容文化生态融合发展,整合 QQ、QQ 空间等社交平台,和应用宝、浏览器等流量平台,以及新闻资讯、视频、体育、直播、动漫、影业等内容业务,推动 IP 跨平台、多形态发展,为更多用户创造海量的优质数字内容体验。
腾讯 PCG 机器学习平台部旨在构建和持续优化符合 PCG 技术中台战略的机器学习平台和系统,提升 PCG 机器学习技术应用效率和价值。建设业务领先的模型训练系统和算法框架;提供涵盖数据标注、模型训练、评测、上线的全流程平台服务,实现高效率迭代;在内容理解和处理领域,输出业界领先的元能力和智能策略库。机器学习平台部正服务于 PCG 所有业务产品。
而过往在项目执行时,团队所面挑战包含:
1. 业务繁多,场景复杂
2. 模型推理结果异常时,难以方便地调试定位问题
3. 需要与公司内现有协议/框架/平台进行融合
基于以上挑战,腾讯 PCG 选择了采用 NVIDIA Triton 推理服务器,以解决新场景下模型推理引擎面临的挑战,在提升用户研效的同时,大幅降低了服务成本。
NVIDIA Triton 是一款开源软件,对于所有推理模式都可以简化模型在任一框架中以及任何 GPU 或 CPU 上的运行方式,从而在生产环境中使用 AI。Triton 支持多模型 ensemble,以及 TensorFlow、PyTorch、ONNX 等多种深度学习模型框架,可以很好的支持多模型联合推理的场景,构建起视频、图片、语音、文本整个推理服务过程,大大降低多个模型服务的开发和维护成本。
基于 C++ 的基础架构、Dynamic-batch、以及对 TensorRT 的支持,同时配合 T4 的 GPU,将整体推理服务的吞吐能力最大提升 6 倍,延迟最大降低 40%,既满足了业务的低延时需求,成本也降低了 20%-66%。
通过将 Triton 编译为动态链接库,可以方便地链入公司内部框架,对接公司的平台治理体系。符合 C 语言规范的 API 也极大降低了用户的接入成本。
借助 Python Backend 和 Custom Backend,用户可以自由选择使用 C++/Python 语言进行二次开发。
Triton 的 Tracing 能力可以方便地捕捉执行过程中的数据流状态。结合 Metrics 和 Perf Analysis 等组件,可以快速定位开发调试,甚至是线上问题,对于开发和定位问题的效率有很大提升。
(图片来源于腾讯授权)
NVIDIA DALI 是 GPU 加速的数据增强和图像加载库。DALI Backend 可以用于替换掉原来的图片解码、resize 等操作。FIL Backend 也可以替代 Python XGBoost 模型推理,进一步提升服务端推理性能。
借助 NVIDIA Triton 推理框架,配合 DALI/FIL/Python 等 Backend,以及 TensorRT,整体推理服务的吞吐能力最大提升 6 倍,延迟最大降低 40%。帮助腾讯 PCG 各业务场景中,以更低的成本构建了高性能的推理服务,同时更低的延迟降低了整条系统链路的响应时间,优化了用户体验。