案例簡介
騰訊公司利用NVIDIA TensorRT推理引擎的INT8推理能力和基于知識蒸餾的QAT訓練,大大加速了微信中的搜索動能,節省了約70%的計算資源。本案例主要應用到NVIDIA T4 GPU和TensorRT。
客戶簡介及應用背景
隨著騰訊微信的發展,微信搜索也成為其越來越重要的功能,這個功能可以用來搜索微信內部的賬號、信息,以及搜索互聯網上的內容。微信搜索月活躍用戶數量達到五億以上。搜索業務當中使用了大量的神經網絡模型,包括自然語言理解、匹配排序等等,這些模型的訓練和推理都大量依賴于NVIDIA GPU,尤其在推理方面,NVIDIA GPU及相應的解決方案都滿足了業務所需的延遲和吞吐要求。
客戶挑戰
微信搜索業務由多個子模塊構成,包括查詢理解、匹配、搜索排序等等。由于搜索的業務特點,這些任務對線上服務的延遲和吞吐都十分敏感。然而在最近幾年,隨著算力的提升以及算法的創新,很多大型復雜的神經網絡模型開始應用在這些任務上,比如BERT/Transformer等模型。
這些大模型需要的計算資源和業務上的高要求對推理端的軟硬件都是很大的挑戰,必須針對具體的硬件做極致的優化。而且對于大模型的推理,很多技術被探索、應用在這些場景上以便實現性能加速、節約資源,比如模型壓縮、剪枝、低精度計算等。這些技術可能會帶來精度下降等負面影響,限制了這些技術的廣泛應用。因此,如何在保證精度效果以及服務吞吐延遲需求的情況下,高效地對這些模型進行推理成為了業務上的巨大挑戰。NVIDIA GPU以及NVIDIA TensorRT給這一場景提供了解決方案。
應用方案
為了滿足線上服務的需求,并且盡可能地節約成本,微信搜索選擇使用NVIDIA T4 GPU以及TensorRT推理引擎來進行線上大模型的推理。
線上服務對于吞吐和延遲有很高的要求,微信搜索選擇使用NVIDIA T4 GPU以及TensorRT推理引擎來做線上推理服務,利用NVIDIA基于TensorRT開源的BERT實現,可以很方便地在FP16精度下實現滿足需求的線上推理功能。這個方案在線上取得了很好的效果。
在此基礎上,微信搜索希望進一步加快推理速度,節約計算資源,以便更好地服務用戶,節約成本。低精度推理成為了很好的選擇。NVIDIA GPU從圖靈(Turing)架構開始就有了INT8 Tensor Core,其計算吞吐量最高可達FP16精度的2倍。同時低精度推理跟其他的優化方法也是正交的,可以同時使用其他技術比如剪枝、蒸餾等做進一步提升。微信搜索線上大量使用NVIDIA T4 GPU,非常適合使用INT8推理。而且TensorRT對INT8推理也有良好的支持。利用TensorRT的“校準”(Calibration)功能,能夠方便地將Float精度模型轉換為INT8低精度模型,實現低精度推理。通過低精度推理,模型的單次推理時間大大縮短。
通過“校準”來做模型轉換已經在很多計算機視覺模型上被驗證是十分有效的,并且其精度和推理性能都十分優秀。然而對于像BERT一類的模型, “校準” 無法使得精度和性能都完全令人滿意。因此,騰訊搜索使用了NVIDIA開發的基于PyTorch/TensorFlow的量化工具進行基于知識蒸餾的量化感知訓練(Quantization Aware Training)克服精度下降的問題。TensorRT對于導入量化感知訓練好的模型進行INT8低精度推理有著很好的支持。導入這樣的模型,不僅得到了最佳性能,而且精度沒有損失,線上服務只需更換TensorRT構建好的引擎即可,極大地簡化了部署的流程。
通過這樣的方案,微信搜索中的一些關鍵任務,比如查詢理解等自然語言理解任務,可以在精度沒有損失的情況下,達到2-10倍的加速效果,平均單句推理時間達到了0.1ms。任務相應的計算資源節省了約70%。這個方案大大優化了微信搜索業務的性能,降低了部署成本。
使用效果及影響
使用NVIDIA T4 GPU以及TensorRT推理引擎進行INT8低精度推理,極大提升了微信搜索的速度,進一步提升了用戶體驗,節約了公司成本。
微信搜索的Hui Liu、Raccoon Liu和Dick Zhu表示:”我們已經實現了基于TensorRT和INT8 QAT的模型推理加速,以加速微信搜索的核心任務,包括Query理解和查詢結果排序等。我們用GPU+TensorRT的解決方案突破了NLP模型復雜性的限制,BERT/Transformer可以完全集成到我們的解決方案中。此外,我們利用卓越的性能優化方法,節省了70%的計算資源。”
審核編輯:郭婷
-
NVIDIA
+關注
關注
14文章
4985瀏覽量
103032 -
gpu
+關注
關注
28文章
4736瀏覽量
128930 -
計算機
+關注
關注
19文章
7493瀏覽量
87926
發布評論請先 登錄
相關推薦
評論