NVIDIA TensorRT 加速夸克浏览器AI应用,对模型性能提升起到关键作用

作者 英伟达中国

客户简介

•    本案例中通过TensorRT加速夸克浏览器视频图像相关模型的预测性能,比如待上线业务的相关流程整体性能达不到线上要求,通过对全流程的优化以及使用NVIDIA TensorRT加速模型后,最终整体性能由10s级别降到400ms内,其中模型性能加速1~3倍,显存占用下降50%。

•    本案例主要应用到NVIDIA TensorRT、NVIDIA Nsight Systems

Case Introduction

•    In this case, TensorRT was used to accelerate the prediction performance of the video image-related model. The original overall process performance did not meet the online requirements. After optimizing the entire process and using TensorRt to accelerate the model, the final overall performance was reduced from 10s to within 500ms.

•    The major products utilized in the case is NVIDIA TensorRT、NVIDIA Nsight Systems

客户简介及应用背景

夸克浏览器是阿里旗下的一个搭载极速AI引擎的高速智能浏览器。夸客以极速智能搜索为定位,致力于为用户提供交互更智能高效、内容更专业权威的新一代搜索引擎,同时也在产品极致体验上不断实现突破。

夸克目前不仅提供极致的搜索体验,也在探索以深度学习为基础的AI工具,通过高效的算法效果和全流程的性能优化,提供更好的用户体验。深度学习模型在实际应用的过程中,效果远好于传统模型,但由于算法复杂度过高,预测性能成为制约模型最终能否上线的核心问题。NVIDIA TensorRT通过计算图的优化、高效Kernel的实现及更高效硬件的利用加速模型预测耗时,使预测速度提升了1~3倍。

客户挑战

夸克浏览器为用户提供智能相机功能,打开夸克APP后,通过相机入口(如下左图红框所示)进入智能相机功能,可以看到智能相机提供的具体功能(如下右图所示),包括万能扫描、学习辅导、万物识别等功能,这些功能对实时性要求极高,不少功能的底层核心技术依赖OCR。作为核心一环,OCR需要承接巨大流量,其效果及性能影响整个上层业务的用户体验。

OCR全流程包含检测、识别等多个模型以及复杂的前后处理,整体耗时10s级别,耗时过长严重影响用户体验,无法达到上线要求。主要影响性能的因素有以下三点:单个模型占用显存过大导致全流程无法部署在同一个GPU上,需要在多个GPU上进行数据传输,多GPU部署导致GPU利用率不高;模型本身性能慢,涉及复杂的检测和识别模型;全流程中模型前后处理复杂。

应用方案

对比目前性能优化方案,夸克选择了采用NVIDIA TensorRT作为模型优化的底层框架对模型进行优化。TensorRT提供完整端到端模型性能优化工具,支持TF和ONNX等相关框架模型,使用后对模型性能带来巨大提升。

  1. TensorRT对模型结构进行优化,使用高效KERNEL实现,并且支持FP16和INT8量化。部分模型通过使用TensorRt后,模型性能有2到3倍的提升,并且显存降到原来的30%~50%。
  2. 有模型在使用FP16精度后,模型效果下降,夸克团队在NVIDIA的工作人员的指导下,通过对模型设置混合精度后,模型的性能较FP16稍微下降,但是整体效果也达到要求。
  3. 对于部分转TensorRT失败的模型,我们对模型进行分析,把模型耗时的部分单独抽取出来,单独做模型优化。
  4. 在使用TensorRT的过程中,通过Nsight Systems发现TensorRT OP在某些场景性能表现不尽人意,最后在NVIDIA工作人员指导下,通过调整OP的使用方式解决该问题。

使用效果及影响

通过使用NVIDIA TensorRT,夸克浏览器极大地提升了模型性能和降低模型本身显存占用,提高了GPU的使用率。在对整体流程和模型进行优化后,全部模型能够部署在单个GPU上,并且整体耗时在400ms内。

夸克技术人员表示:TensorRT文档齐全,功能使用方便,用户能够以低门槛使用其带来的优化,无需手动编写复杂模型转换工具,大大地减少了用户投入成本。对比其他模型优化框架,TensorRT具有更好的通用性、易用性和性能。

通过这次对OCR全流程的性能优化,夸克浏览器也积累了一套适合内部使用的模型性能优化方案,在遇到其他模型性能问题时也有的放矢。目前夸克已经把TensorRT相关优化工具集成到其浏览器的内部平台上,同时应用到其他业务的模型中,并取得良好的效果。