騰訊公司深耕模型量化開發(fā),且長期與 NVIDIA 團隊合作,成功將深度學習模型精度從 FP32 壓縮到 FP16 以及 INT8?,F(xiàn)在,該技術再次獲得了新的重要突破。騰訊團隊利用全新設計的 QAT 訓練算法 Auto48,以及 INT4 推理能力,實現(xiàn)業(yè)界首次無損 INT4 在 NLP 領域落地使用的技術突破。服務上線后,不僅極大提升了微信中的搜索能力,在之前的基礎上更進一步為公司節(jié)省了約 30% 的計算資源,其中 NVIDIAT4、A10 GPU 及 TensorRT 即為本案例的應用核心。
騰訊微信是目前國內最大的社交平臺及通訊工具之一。隨著微信生態(tài)環(huán)境的優(yōu)化,其功能也越來越豐富,搜索也成為其越來越重要的入口,這個入口可以用來搜索微信內部的功能、信息,以及搜索互聯(lián)網上的內容,目前微信搜一搜月活躍用戶已超過 7 億。而在搜索業(yè)務當中微信團隊使用了大量的神經網絡模型,包括自然語言理解、匹配排序等等,這些模型的訓練和推理也都大量依賴于 NVIDIA GPU,尤其在推理方面, NVIDIA GPU 及相應的解決方案皆滿足了業(yè)務所需的延遲和吞吐要求。
搜索業(yè)務由多個子模塊構成,包括查詢理解、匹配、搜索排序等等。由于搜索的業(yè)務特點,這些任務對線上服務的延遲和吞吐都十分敏感。而在最近幾年,隨著算力的提升以及算法的創(chuàng)新,眾多大型復雜的神經網絡模型也開始應用在這些任務上。一方面,現(xiàn)有的模型(例如 BERT/GPT)帶來的成本壓力顯著;另一方面,超大規(guī)模(十/百億參數(shù))模型帶來的精度提升使得大模型應用需求持續(xù)升溫。因此,這些大模型需要的計算資源和業(yè)務上的高要求對推理端的軟硬件都是很大的挑戰(zhàn),必須針對具體的硬件做極致的優(yōu)化?,F(xiàn)有的對于大模型的推理加速技術,比如模型壓縮、剪枝、低精度計算等等,都被證明能夠一定程度上實現(xiàn)性能加速、節(jié)約資源。然而,這些技術可能會帶來精度下降等負面影響,限制了這些技術的廣泛應用。因此,如何在保證精度效果以及服務吞吐延遲需求的情況下,高效地對這些模型進行推理成為了業(yè)務上的巨大挑戰(zhàn)。NVIDIA GPU 以及 TensorRT 給這一場景提供了解決方案。
為了滿足線上服務的需求,并且盡可能地節(jié)約成本,微信搜一搜選擇使用 NVIDIA T4 GPU 以及 TensorRT+CUTLASS 實現(xiàn)來進行線上大模型的推理。
線上服務對于吞吐和延遲有很高的要求,微信搜一搜選擇使用 NVIDIA T4 GPU 以及 TensorRT 推理引擎來做線上推理服務,利用 NVIDIA 基于 TensorRT 實現(xiàn)的 INT8 BERT,可以很方便地在 INT8 精度下實現(xiàn)滿足需求的線上推理功能。利用 TensorRT 提供的“校準”(Calibration)功能結合量化感知訓練(Quantization Aware Training, QAT),可以方便地將 Float 精度模型轉換為 INT8 低精度模型,實現(xiàn)低精度推理。通過低精度推理,模型的單次推理時間大大縮短 30%。這個方案在線上取得了很好的效果。
在此基礎上,微信搜一搜希望進一步加快推理速度,節(jié)約計算資源,以便更好地服務用戶,節(jié)約成本。更低的低精度推理成為了很好的選擇。NVIDIA GPU 從圖靈(Turing)架構開始就有了 INT4 Tensor Core,其計算吞吐量最高可達 FP16 精度的 4 倍。并且低精度推理可以同時使用其他技術比如剪枝、蒸餾等相結合做進一步提升。微信搜一搜線上大量使用 NVIDIA T4 GPU,非常適合應用 INT4 推理,且 CUTLASS 對 INT4 GEMM 也有良好的支持。
然而當進一步將數(shù)據(jù)類型從 INT8 降低到 INT4 的時候,如果使用相同的 QAT 算法時,模型的精度會發(fā)生顯著的下降(超過 2%)。因此,微信搜一搜設計了全新的訓練算法—— Auto48。Auto48 是一套全新的自動化模型量化工具,能夠幫助用戶自動生成自定義壓縮率下,性能最優(yōu)的量化模型。在 QAT 算法的啟發(fā)下, Auto48 設計了全新的動態(tài)壓縮算法來極大地減小高壓縮率(INT4)帶來的壓縮誤差,并且結合了更有效的知識蒸餾相關技術,使得量化后的模型準確度得到了顯著的提高。進一步的, Auto48 還支持 INT8+INT4 混合精度的壓縮,這使得用戶可以自由的在壓縮率和精度之間做權衡,甚至實現(xiàn)無損壓縮。TensorRT 對于導入 QAT 訓練好的模型進行 INT8 低精度推理已經有了很好的支持。T4 GPU 在硬件上支持 INT4 Tensor Core,使用 CUTLASS 可以方便地構建出滿足多種需求的 INT4 GEMM 算子。這些算子不僅降低了推理時間,還保證了算子的功能的靈活性和擴展性?;?Auto48 訓練的模型,不僅得到了最佳性能,而且精度沒有損失,線上服務只需做少許改動即可,極大地簡化了部署的流程。
通過這樣的方案,微信搜一搜中的一些關鍵任務,比如查詢理解等自然語言理解任務,可以在精度沒有損失的情況下,達到 1.4 倍的加速效果,平均單句推理時間達到了 0.022ms。任務相應的計算資源節(jié)省了約 30%。近期微信搜一搜在部分任務上線了 INT4 模型服務,該服務相較于之前的 INT8 模型服務有顯著的性能提升,在流量高峰時平均響應時間降低了 21%,超時率降低了 70%。這個方案大大優(yōu)化了微信搜一搜業(yè)務的性能,降低了部署成本。
使用 NVIDIA T4 GPU 以及 TensorRT 推理引擎進行 INT4 低精度推理,極大提升了微信搜一搜相關任務的速度,進一步提升了用戶體驗,節(jié)約了公司成本。
INT4 與 INT8 服務請求耗時和失敗率對比
工程師朱健琛和李輝表示:“我們成功地實現(xiàn)了 INT4 的量化加速模型,并且在微信搜索核心任務(例如 query 理解和打分)上,顯著的提高了這些模型的推理速度。通過使用我們提出的 Auto48 算法,我們成功打破了 NLP 模型的復雜性帶來的限制。這種先進的優(yōu)化手段可以極大地減少計算資源的需求?!?/span>
原文標題:NVIDIA TensorRT 助力騰訊加速微信搜一搜
文章出處:【微信公眾號:NVIDIA英偉達企業(yè)解決方案】歡迎添加關注!文章轉載請注明出處。
審核編輯:湯梓紅
-
NVIDIA
+關注
關注
14文章
4855瀏覽量
102711 -
gpu
+關注
關注
28文章
4673瀏覽量
128593 -
騰訊
+關注
關注
7文章
1637瀏覽量
49381 -
微信
+關注
關注
6文章
509瀏覽量
26482
原文標題:NVIDIA TensorRT 助力騰訊加速微信搜一搜
文章出處:【微信號:NVIDIA-Enterprise,微信公眾號:NVIDIA英偉達企業(yè)解決方案】歡迎添加關注!文章轉載請注明出處。
發(fā)布評論請先 登錄
相關推薦
評論