TensorRT 8可部署在資料中心、邊緣端、嵌入式平臺等任何Nividia的平臺中。

圖片來源: 

圖/Nvidia

Nvidia 7月20日發布了新一代的深度學習推論軟體開發套件TensorRT 8,比起前一代TensorRT 7,TensorRT 8能將推論時間縮短一半、推論準確性提升一倍,Nvidia宣稱,以TensorRT 8最佳化超大Transformer模型BERT-Large,並部署在V100上執行,只要1.2毫秒就能完成推論,比TensorRT 7快2.5倍。而大幅提升效能的關鍵,就是TensorRT 8套件中的稀疏性(Sparsity)與量化感知訓練(Quantization aware training,QAT)兩大功能,前者透過減少運算來加速推論,後者則讓模型能以INT8精度來進行推論,卻不會損失推論的準確性(accuracy)。

TensorRT是Nvidia在2016年底推出的深度學習推論軟體開發套件,主要包含兩部分,分別是用來進行調校的深度學習推論最佳化工具,以及能執行深度學習推理應用程式的Runtime,使用者可以將訓練好的神經網路輸入TensorRT中,產出經過最佳化的推理引擎。可支援包括TensorFlow、Pytorch、ONNX在內的多種深度學習框架,可最佳化的神經網路包括CNN、RNN與Transformer。可部署在資料中心、邊緣端、嵌入式平臺等任何Nividia的平臺中。

Nvidia最新發布的TensorRT 8,更強調在語言相關應用的效能進展,能將模型推論速度加快一倍,尤其在一些需要大量參數的模型上,如搜尋引擎、廣告推薦、聊天機器人、對話式AI等應用,Nvidia解釋,因為這類模型通常具有更大量的參數,更不易在邊緣端進行推論,尤其在訓練完模型並部署到邊緣裝置時,可能面臨記憶體與算力不足問題,此時,開發者可能就得縮減模型的大小來進行推論,但準確率也隨之下降,若要維持準確率不變,就可能產生運算速度不足的問題。

因此,Nvidia在TensorRT 8透過了兩大關鍵功能,來加快模型推論的效能。一為稀疏性(Sparsity),這是Nvidia去年在Ampere架構GPU中新增的一項技術,主張模型中並非每個權重都同等重要,若將不影響準確率表現的權重調整為零,就能在盡可能維持模型準確度不變的同時,減少不必要的運算,進而減少記憶體和頻寬的用量,來加快模型推論速度。Nvidia在過去一篇部落格文章中更比喻,稀疏性的作用,就像是玩樂高積木時,抽走幾塊積木後,仍可以不影響整體高度。

另一項功能則是量化感知訓練。由於更低精度的模型,可以加速模型推論的時間,這項技術目的要將主要以浮點(Floating Point)來進行計算的模型(大多為FP32),以更低精度單位INT8來進行模型推論,並盡可能維持推論的準確性。這項技術可以顯著減少運算與儲存資源的消耗,提升處理核心(Tensor Core)的推論效能。

Nvidia開發者部落格也曾介紹,這項技術需要在模型訓練過程中,就透過修改訓練圖(training graph)來模擬低精度的行為,引入量化誤差作為訓練損失的一部分。也就是說,QAT是透過在模型訓練期間對量化誤差進行建模,藉此來減輕部署時,降低精度對於模型推論準確性的影響。

TensorRT推出後下載近250萬次,使用者來自醫療保健、汽車、金融和零售等領域的27,500家企業,前一代TensorRT 7,更被運用在Nvidia幾個月前提交給MLPerf的推論評比中,以軟體輔助硬體提升模型運算效能,Nvidia表示,這項軟體是Nvidia GPU運算平臺在各項評比名列前茅的一大助力。

TensorRT不只可以用來最佳化基於Transformer的模型效能,也可用於其他從電腦視覺、醫療影像、推薦系統、對話式AI、語音辨識、語意理解、語音生成(Text to Speech)等應用的模型。比如GE Healthcare,就將TensorRT用在超音波的機器視覺推論上。


熱門新聞

Advertisement