客户简介
• 本案例中通过TensorRT加速夸克浏览器视频图像相关模型的预测性能,比如待上线业务的相关流程整体性能达不到线上要求,通过对全流程的优化以及使用NVIDIA TensorRT加速模型后,最终整体性能由10s级别降到400ms内,其中模型性能加速1~3倍,显存占用下降50%。
• 本案例主要应用到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等相关框架模型,使用后对模型性能带来巨大提升。
TensorRT对模型结构进行优化,使用高效KERNEL实现,并且支持FP16和INT8量化。部分模型通过使用TensorRt后,模型性能有2到3倍的提升,并且显存降到原来的30%~50%。
有模型在使用FP16精度后,模型效果下降,夸克团队在NVIDIA的工作人员的指导下,通过对模型设置混合精度后,模型的性能较FP16稍微下降,但是整体效果也达到要求。
对于部分转TensorRT失败的模型,我们对模型进行分析,把模型耗时的部分单独抽取出来,单独做模型优化。
在使用TensorRT的过程中,通过Nsight Systems发现TensorRT OP在某些场景性能表现不尽人意,最后在NVIDIA工作人员指导下,通过调整OP的使用方式解决该问题。
使用效果及影响
通过使用NVIDIA TensorRT,夸克浏览器极大地提升了模型性能和降低模型本身显存占用,提高了GPU的使用率。在对整体流程和模型进行优化后,全部模型能够部署在单个GPU上,并且整体耗时在400ms内。
夸克技术人员表示:TensorRT文档齐全,功能使用方便,用户能够以低门槛使用其带来的优化,无需手动编写复杂模型转换工具,大大地减少了用户投入成本。对比其他模型优化框架,TensorRT具有更好的通用性、易用性和性能。
通过这次对OCR全流程的性能优化,夸克浏览器也积累了一套适合内部使用的模型性能优化方案,在遇到其他模型性能问题时也有的放矢。目前夸克已经把TensorRT相关优化工具集成到其浏览器的内部平台上,同时应用到其他业务的模型中,并取得良好的效果。
审核编辑:郭婷
全部0条评论
快来发表一下你的评论吧 !