Megatron 530B 等機(jī)型正在擴(kuò)大人工智能可以解決的問(wèn)題范圍。然而,隨著模型的復(fù)雜性不斷增加,它們對(duì)人工智能計(jì)算平臺(tái)構(gòu)成了雙重挑戰(zhàn):
這些模型必須在合理的時(shí)間內(nèi)進(jìn)行訓(xùn)練。
他們必須能夠?qū)崟r(shí)進(jìn)行推理工作。
我們需要的是一個(gè)多功能的人工智能平臺(tái),它可以在各種各樣的模型上提供所需的性能,用于訓(xùn)練和推理。
為了評(píng)估這種性能, MLPerf 是唯一一個(gè)行業(yè)標(biāo)準(zhǔn)人工智能基準(zhǔn),用于測(cè)試六個(gè)應(yīng)用程序中的數(shù)據(jù)中心和邊緣平臺(tái),測(cè)量吞吐量、延遲和能效。
在 MLPerf 推理 2.0 , NVIDIA 交付領(lǐng)先的結(jié)果在所有工作負(fù)載和場(chǎng)景,同時(shí)數(shù)據(jù)中心 GPU 和最新的參賽者,NVIDIA Jetson AGX ORIN SOC 平臺(tái),為邊緣設(shè)備和機(jī)器人建造。
除了硬件,還需要大量的軟件和優(yōu)化工作才能充分利用這些平臺(tái)。 MLPerf 推理 2.0 的結(jié)果展示了如何獲得處理當(dāng)今日益龐大和復(fù)雜的人工智能模型所需的性能。
下面我們來(lái)看一下 MLPerf 推理 2.0 的性能,以及其中的一些優(yōu)化,以及它們是如何構(gòu)建的。
計(jì)算數(shù)字
圖 1 顯示了最新的參賽者 NVIDIA Jetson AGX Orin 。
圖 1 NVIDIA Jetson AGX Orin 性能改進(jìn)
MLPerf v2.0 推斷邊閉合和邊閉合冪;數(shù)據(jù)中心和邊緣、離線吞吐量和功率的 MLPerf 結(jié)果的性能/瓦特。NVIDIA Xavier AGX Xavier:1.1-110 和 1.1-111 | Jetson AGX Orin:2.0-140 和 2.0-141 。 MLPerf 名稱(chēng)和徽標(biāo)是商標(biāo)。資料來(lái)源: http://www.mlcommons.org/en 。
圖 1 顯示 Jetson AGX Orin 的性能是上一代的 5 倍。在測(cè)試的全部使用范圍內(nèi),它平均提高了約 3.4 倍的性能。此外, Jetson AGX Orin 的能效提高了 2.3 倍。
Jetson Orin AGX 是一個(gè) SoC ,為多個(gè)并發(fā)人工智能推理管道提供多達(dá) 275 個(gè)人工智能計(jì)算頂層,并為多個(gè)傳感器提供高速接口支持。NVIDIA Jetson AGX ORIN 開(kāi)發(fā)者工具包使您能夠創(chuàng)建先進(jìn)的機(jī)器人和邊緣 AI 應(yīng)用程序,用于制造、物流、零售、服務(wù)、農(nóng)業(yè)、智能城市、醫(yī)療保健和生命科學(xué)。
在數(shù)據(jù)中心領(lǐng)域,NVIDIA 繼續(xù)在所有應(yīng)用領(lǐng)域提供全面的人工智能推理性能領(lǐng)先。
圖 2 NVIDIA A100 每臺(tái)加速器性能
MLPerf v2 。 0 推理關(guān)閉;使用數(shù)據(jù)中心脫機(jī)和服務(wù)器中報(bào)告的加速器計(jì)數(shù),根據(jù)各自提交的最佳 MLPerf 結(jié)果得出每加速器性能。高通 AI 100:2.0-130 ,來(lái)自 MLPerf v.1.1 的英特爾至強(qiáng) 8380 提交: 1.1-023 和 1.1-024 ,英特爾至強(qiáng) 8380H 1.1-026 ,NVIDIA A30:2.0-090 ,NVIDIA A100 ( Arm ): 2.0-077 ,NVIDIA A100 ( x86 ): 2.0-094 。 MLPerf 名稱(chēng)和徽標(biāo)是商標(biāo)。
NVIDIA A100 在離線和服務(wù)器場(chǎng)景下的所有測(cè)試中都提供了最佳的每加速器性能。
我們提交了以下配置的 A100 :
A100 SXM 搭配 x86 CPU ( AMD Epyc 7742 )
A100 PCIe 與 x86 CPU ( AMD Epyc 7742 )配對(duì)
A100 SXM 配 Arm CPU (NVIDIA 安培架構(gòu) Altra Q80-30 )
Microsoft Azure 也使用其 A100 實(shí)例提交,我們也在這一數(shù)據(jù)中顯示了這一點(diǎn)。
所有配置都提供了大致相同的推理性能,這證明了我們 Arm 軟件堆棧的就緒性,以及 A100 本地和云中的總體性能。
A100 還提供了高達(dá) 105 倍的性能,比僅 CPU 提交( RNN-T ,服務(wù)器方案)。 A30 在除一項(xiàng)工作外的所有工作上都表現(xiàn)出領(lǐng)導(dǎo)水平。與 A100 一樣,它運(yùn)行了所有數(shù)據(jù)中心類(lèi)別測(cè)試。
關(guān)鍵優(yōu)化
提供出色的推理性能需要一種全堆棧方法,在這種方法中,優(yōu)秀的硬件與優(yōu)化且通用的軟件相結(jié)合。 NVIDIA TensorRT 和 NVIDIA Triton 推理服務(wù)器都在不同工作負(fù)載下提供出色的推理性能方面發(fā)揮著關(guān)鍵作用。
Jetson AGX-Orin 優(yōu)化
NVIDIA Orin 新 NVIDIA 安培架構(gòu) I GPU 由 NVIDIA TensorRT 8.4 支持。對(duì)于 MLPerf 性能而言,它是 SoC 中最重要的組件。擴(kuò)展了大量?jī)?yōu)化 GPU 內(nèi)核的 TensorRT 庫(kù),以支持新的體系結(jié)構(gòu)。 TensorRT 生成器會(huì)自動(dòng)拾取這些內(nèi)核。
此外, MLPerf 網(wǎng)絡(luò)中使用的插件都已移植到 NVIDIA Orin 并添加到 TensorRT 8.4 中,包括 res2 插件( resnet50 )和 qkv 到上下文插件( BERT )。與帶有離散 GPU 加速器的系統(tǒng)不同,輸入不會(huì)從主機(jī)內(nèi)存復(fù)制到設(shè)備內(nèi)存,因?yàn)?SoC DRAM 由 CPU 和 iGPU 共享。
除了 iGPU , NVIDIA 還使用了兩個(gè)深度學(xué)習(xí)加速器( DLA ),以在離線情況下在 CV 網(wǎng)絡(luò)( resnet50 、 ssd mobilenet 、 ssd-resnet34 )上實(shí)現(xiàn)最高的系統(tǒng)性能。
NVIDIA Orin 采用了新一代 DLA 硬件。為了利用這些硬件改進(jìn), DLA 編譯器添加了以下 NVIDIA Orin 功能,這些功能在升級(jí)到 TensorRT 的未來(lái)版本時(shí)自動(dòng)可用,無(wú)需修改任何應(yīng)用程序源代碼。
SRAM chaining: 在本地 SRAM 中保留中間張量,以避免對(duì) DRAM 的讀寫(xiě),從而減少延遲和平臺(tái) DRAM 的使用。它還減少了對(duì) GPU 推理的干擾。
卷積+池融合: INT8 卷積+偏差+縮放+重新調(diào)整可以與后續(xù)池節(jié)點(diǎn)融合。
卷積+元素融合: INT8 卷積+元素和可以與后續(xù)的 ReLU 節(jié)點(diǎn)融合。
對(duì)兩個(gè) DLA 加速器的批量大小進(jìn)行了微調(diào),以獲得 GPU + DLA 聚合性能的適當(dāng)平衡。該調(diào)整平衡了將 DLA 引擎 GPU 后備內(nèi)核的調(diào)度沖突降至最低的需求,同時(shí)減少了 SoC 共享 DRAM 帶寬的整體潛在不足。
3D UNet 醫(yī)學(xué)成像
雖然大多數(shù)工作負(fù)載與 MLPerf 推斷 v1 相比基本保持不變。 1 、使用 KITS19 數(shù)據(jù)集增強(qiáng)了 3D UNet 醫(yī)學(xué)成像工作量。這個(gè)新的腎腫瘤圖像數(shù)據(jù)集有更大的不同大小的圖像,每個(gè)樣本需要更多的處理。
KiTS19 數(shù)據(jù)集為實(shí)現(xiàn)高效節(jié)能推理帶來(lái)了新的挑戰(zhàn)。更具體地說(shuō):
KiTS19 中使用的輸入張量的形狀從 128x192x320 到 320x448x448 不等;最大輸入張量比最小輸入張量大 8.17 倍。
推理過(guò)程中需要大于 2GB 的張量。
在特定感興趣區(qū)域( ROI )形狀( 128x128x128 )上有一個(gè)滑動(dòng)窗口,具有較大的重疊系數(shù)( 50% )。
為了解決這個(gè)問(wèn)題,我們開(kāi)發(fā)了一種滑動(dòng)窗口方法來(lái)處理這些圖像:
根據(jù)重疊因子,將每個(gè)輸入張量切成 ROI 形狀。
使用循環(huán)處理給定輸入張量的所有滑動(dòng)窗口切片。
加權(quán)并規(guī)范化每個(gè)滑動(dòng)窗口的推理結(jié)果。
通過(guò)滑動(dòng)窗口推斷的聚合結(jié)果的 ArgMax 獲得最終分割輸出。
圖 3 3D UNet 使用滑動(dòng)窗口方法執(zhí)行 KiTS19 腎臟腫瘤分割推斷任務(wù)
在圖 3 中,每個(gè)輸入張量被切片成具有重疊因子( 50% )的 ROI 形狀( 128x128x128 ),并輸入預(yù)訓(xùn)練網(wǎng)絡(luò)。然后對(duì)每個(gè)滑動(dòng)窗口輸出進(jìn)行最佳加權(quán),以獲取歸一化 sigma = 0.125 的高斯核特征。
推理結(jié)果根據(jù)原始輸入張量形狀進(jìn)行聚合,并對(duì)這些權(quán)重因子進(jìn)行歸一化。然后, ArgMax 操作會(huì)切割分割信息,標(biāo)記背景、正常腎細(xì)胞和腫瘤。
該實(shí)現(xiàn)將分割與基本事實(shí)進(jìn)行比較,并計(jì)算骰子分?jǐn)?shù)以確定基準(zhǔn)測(cè)試的準(zhǔn)確性。您還可以直觀地檢查結(jié)果。
我們的數(shù)據(jù)中心 GPU 已經(jīng)支持 INT8 精度超過(guò) 5 年,與 FP16 和 FP32 精度級(jí)別相比,這種精度在許多型號(hào)上帶來(lái)了顯著的加速,精度損失接近于零。
對(duì)于 3D UNet ,我們通過(guò)使用 TensorRT IInt8MinMaxCalibrator 校準(zhǔn)校準(zhǔn)集中的圖像來(lái)使用 INT8 。該實(shí)現(xiàn)在 FP32 參考模型中實(shí)現(xiàn)了 100% 的精度,從而實(shí)現(xiàn)了基準(zhǔn)的高精度和低精度模式。
圖 5 MLPerf 推理 v2 中使用的 NVIDIA 3D UNet KiTS19 實(shí)現(xiàn)。 0 提交
在圖 5 中,綠色框在設(shè)備( GPU )上執(zhí)行,黃色框在主機(jī)( CPU )上執(zhí)行?;瑒?dòng)窗口推理所需的一些操作被優(yōu)化為融合操作。
利用 GPUDirect RDMA 和存儲(chǔ),可以最小化或消除主機(jī)到設(shè)備或設(shè)備到主機(jī)的數(shù)據(jù)移動(dòng)。從 DGX-A100 系統(tǒng)中測(cè)量一個(gè)輸入樣本(其大小接近平均輸入大?。┑拿宽?xiàng)工作的延遲。切片內(nèi)核和 ArgMax 內(nèi)核的延遲隨輸入圖像大小成比例變化。
以下是一些具體的優(yōu)化措施:
用于加權(quán)的高斯核補(bǔ)丁現(xiàn)在已預(yù)先計(jì)算并存儲(chǔ)在磁盤(pán)上,并在基準(zhǔn)測(cè)試的定時(shí)部分開(kāi)始之前加載到 GPU 內(nèi)存中。
加權(quán)和歸一化作為融合操作進(jìn)行優(yōu)化,使用 27 個(gè)預(yù)計(jì)算的面片,用于 3D 輸入張量上 50% 重疊的滑動(dòng)窗口。
編寫(xiě)處理切片、加權(quán)和 ArgMax 的自定義 CUDA 內(nèi)核,以便所有這些操作都在 GPU 中完成,無(wú)需 H2D / D2H 數(shù)據(jù)傳輸。
INT8 線性內(nèi)存布局中的輸入張量使 H2D 傳輸中的數(shù)據(jù)量最小,因?yàn)?KiTS19 輸入集是單通道。
TensorRT 需要 NC / 32DHW32 格式的 INT8 輸入。我們使用一個(gè)定制的 CUDA 內(nèi)核,該內(nèi)核在 GPU 全局內(nèi)存中的一個(gè)連續(xù)內(nèi)存區(qū)域中執(zhí)行對(duì)零填充的切片,并將 INT8 線性輸入張量切片重新格式化為 INT8 NC / 32DHW32 格式。
GPU 中的零填充和重新格式化張量要比其他昂貴的 H2D 傳輸速度快得多, H2D 傳輸?shù)臄?shù)據(jù)要多 32 倍。這種優(yōu)化顯著提高了整體性能,并釋放了寶貴的系統(tǒng)資源。
TensorRT 引擎用于在每個(gè)滑動(dòng)窗口切片上運(yùn)行推理。因?yàn)?3D UNet 是密集的,我們發(fā)現(xiàn)增加批量大小會(huì)成比例地增加引擎的運(yùn)行時(shí)間。
NVIDIA Triton 優(yōu)化
NVIDIA 提交繼續(xù)顯示 Triton 推理服務(wù)器的多功能性。這一輪, Triton 推理服務(wù)器還支持在 AWS 推理機(jī)上運(yùn)行 NVIDIA Triton 。NVIDIA Triton 使用 Python 后端運(yùn)行推理優(yōu)化 PyTorch 和 TensorFlow 模型。
使用NVIDIA Triton 和火炬神經(jīng)元, NVIDIA 提交獲得 85% 至 100% 的推斷推理的自然推斷性能。
圖 6 。 Triton 推理服務(wù)器性能
MLPerf v1 。 1 。關(guān)閉推理;每個(gè)加速器的性能源自使用數(shù)據(jù)中心脫機(jī)中報(bào)告的加速器計(jì)數(shù)的各個(gè)提交的最佳 MLPerf 結(jié)果。顯示所有提交工作負(fù)載的幾何平均值。 CPU 基于 MLPerf 推理 1.1 中的英特爾提交數(shù)據(jù)進(jìn)行比較,以比較相同 CPU 的配置,提交 1.0-16 、 1.0-17 、 1.0-19 。 NVIDIA Triton 在 CPU 上: 2.0-100 和 2.0-101 。 A2:2.0-060 和 2.0-061 。 A30:2.0-091 和 2.0-092 。 A100:2.0-094 和 2.0-096 。 MLPerf 名稱(chēng)和徽標(biāo)是商標(biāo)。
NVIDIA Triton 現(xiàn)在支持 AWS 推理處理器,并提供與僅在 AWS Neuron SDK 上運(yùn)行幾乎相同的性能。
它需要一個(gè)平臺(tái)
NVIDIA 推理領(lǐng)導(dǎo)力來(lái)自于打造最優(yōu)秀的人工智能加速器,用于培訓(xùn)和推理。但優(yōu)秀的硬件只是開(kāi)始。
NVIDIA TensorRT 和 Triton 推理服務(wù)器軟件在跨這一組不同的工作負(fù)載提供出色的推理性能方面發(fā)揮著關(guān)鍵作用。他們可以在 NGC ,NVIDIA 中心,以及其他 GPU 優(yōu)化的軟件,用于深度學(xué)習(xí),機(jī)器學(xué)習(xí),和 HPC 。
NGC 容器化軟件使加速平臺(tái)的建立和運(yùn)行變得更加容易,因此您可以專(zhuān)注于構(gòu)建真正的應(yīng)用程序,并加快實(shí)現(xiàn)價(jià)值的時(shí)間。 NGC 可以通過(guò)您首選的云提供商的市場(chǎng)免費(fèi)獲得。
關(guān)于作者
Dave Salvator 是 NVIDIA 旗下 Tesla 集團(tuán)的高級(jí)產(chǎn)品營(yíng)銷(xiāo)經(jīng)理,專(zhuān)注于超規(guī)模、深度學(xué)習(xí)和推理。
Ashwin Nanjappa 是 NVIDIA TensorRT 團(tuán)隊(duì)的工程經(jīng)理。他領(lǐng)導(dǎo) MLPerf 推理計(jì)劃,展示 NVIDIA 加速器的性能和能效。他還參與改進(jìn) TensorRT DL 推理庫(kù)的性能。在加入NVIDIA 之前,他曾參與培訓(xùn)和部署 CV 的 DL 模型、深度相機(jī)的 GPU 加速 ML / CV 算法,以及手機(jī)和 DVD 播放器中的多媒體庫(kù)。他擁有來(lái)自新加坡國(guó)立大學(xué)( NUS )的計(jì)算機(jī)科學(xué)博士學(xué)位,重點(diǎn)是 GPU 算法用于三維計(jì)算幾何。
Jinho 是NVIDIA DLSIM 團(tuán)隊(duì)的高級(jí)深度學(xué)習(xí)架構(gòu)師。他正在研究 NVIDIA 加速器上的深度學(xué)習(xí)工作負(fù)載的性能建模和分析,并有助于NVIDIA MLPIFF 推理實(shí)現(xiàn)。在加入NVIDIA 之前,他曾在英特爾和 Arm 從事服務(wù)器 CPU 和 SoC 體系結(jié)構(gòu)及微體系結(jié)構(gòu)方面的工作。他擁有南加州大學(xué)計(jì)算機(jī)工程博士學(xué)位,專(zhuān)注于計(jì)算機(jī)體系結(jié)構(gòu)。
Ian 是 NVIDIA TensorRT 團(tuán)隊(duì)的高級(jí)系統(tǒng)軟件工程師,他專(zhuān)注于 MLPerf 推理。在加入 TensorRT 團(tuán)隊(duì)之前,他曾為 NVIDIA 自動(dòng)駕駛軟件開(kāi)發(fā)實(shí)時(shí)調(diào)度系統(tǒng)。伊恩畢業(yè)于多倫多大學(xué)工程科學(xué)專(zhuān)業(yè),主修電氣和計(jì)算機(jī)工程。
Madhumitha Sridhara 是 TensorRT 團(tuán)隊(duì)的高級(jí)軟件工程師,專(zhuān)注于使用 Triton 推理服務(wù)器的 NVIDIA MLPerf推理提交。她擁有卡內(nèi)基梅隆大學(xué)計(jì)算機(jī)工程碩士學(xué)位和印度卡納塔克邦蘇拉特卡爾國(guó)家理工學(xué)院電子和通信工程學(xué)士學(xué)位。
審核編輯:郭婷
-
NVIDIA
+關(guān)注
關(guān)注
14文章
4986瀏覽量
103067 -
gpu
+關(guān)注
關(guān)注
28文章
4740瀏覽量
128951 -
服務(wù)器
+關(guān)注
關(guān)注
12文章
9160瀏覽量
85428 -
MLPerf
+關(guān)注
關(guān)注
0文章
35瀏覽量
641
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論