T4 GPU 與 MLPerf 效能指標上的深度學習效能
Summary: Turing 架構是 NVIDIA 繼 Volta 架構之後的最新 GPU 架構,而新的 T4 則是以 Turing 架構為基礎的相關資訊。
Symptoms
Cause
Resolution
目錄:
摘要
Turing 架構是 NVIDIA 繼 Volta 架構之後的最新 GPU 架構,而新的 T4 則是以 Turing 架構為基礎。其專為高效能運算 (HPC)、深度學習訓練和推斷、機器學習、資料分析和圖形所設計。此部落格會透過 MLPerf 效能指標套件,量化 Dell EMC PowerEdge R740 伺服器上 T4 GPU 的深度學習訓練績效。T4 上的 MLPerf 效能也會與在相同伺服器上,使用相同軟體的 V100-PCIe 進行比較。
概觀
Dell EMC PowerEdge R740 為雙插槽 2U 機架式伺服器。此系統配備 Intel Skylake 處理器,最多 24 條 DIMM,以及在 x16 PCIe 3.0 插槽中最多 3 個雙寬 V100-PCIe 或 4 個單寬 T4 GPU。T4 為使用 NVIDIA 最新 Turing 架構的 GPU。T4 和 V100-PCIe GPU 的規格差異列於表 1。選擇 MLPerf 來評估 T4 在深度學習訓練中的效能。MLPerf 為一款效能指標工具,由來自學術界和業界不同的群組組成,包括 Google、百度、Intel、AMD、哈佛和史丹福等,用來測量機器學習軟體和硬體的速度與效能。初始發佈的版本為 v0.5,涵蓋不同機器學習網域中的機型實作,包括映像分類、物件偵測和區隔、機器翻譯和加強學習。用於此評估的 MLPerf 效能指標摘要會顯示於表 2。使用 Google 提交的 ResNet-50 TensorFlow 實作,並使用 NVIDIA 提交的所有其他型號的實作。所有效能指標都在無容器的金屬裸面上執行。表 3 會列出用於評估的硬體和軟體。T4 效能與 MLPerf 效能指標會與 V100-PCIe 進行比較。
| Tesla V100-PCIe | Tesla T4 | |
|---|---|---|
| 架構 | Volta | Turing |
| CUDA 核心 | 5120 | 2560 |
| Tensor 核心 | 640 | 320 |
| 運算功能 | 7.0 | 7.5 |
| GPU 時脈 | 1245 MHz | 585 MHz |
| 加速時脈 | 1380 MHz | 1590 MHz |
| 記憶體類型 | HBM2 | GDDR6 |
| 記憶體大小 | 16GB/32GB | 16GB |
| 頻寬 | 900GB/s | 320GB/s |
| 插槽寬度 | 雙插槽 | 單插槽 |
| 單精確度 (FP32) | 14 TFLOPS | 8.1 TFLOPS |
| 混合精確度 (FP16/FP32) | 112 TFLOPS | 65 TFLOPS |
| 雙精確度 (FP64) | 7 TFLOPS | 254.4 GFLOPS |
| TDP | 250 W | 70 W |
表 1:T4 與 V100-PCIe 的比較
| 影像分類 | 物件分類 | 物件例項區隔 | 翻譯 (週期性) | 翻譯 (非週期性) | 建議 | |
|---|---|---|---|---|---|---|
| 資料 | ImageNet | COCO | COCO | WMT E-G | WMT E-G | MovieLens-20M |
| 資料大小 | 144GB | 20GB | 20GB | 37GB | 1.3GB | 306MB |
| 型號 | ResNet-50 v1.5 | Single-Stage Detector (SSD) | Mask-R-CNN | GNMT | 變壓器 | NCF |
| 框架 | TensorFlow | PyTorch | PyTorch | PyTorch | PyTorch | PyTorch |
表 2:評估中使用的 MLF Perf 效能指標
| 平台 | PowerEdge R740 |
|---|---|
| CPU | 2x Intel Xeon Gold 6136 @3.0GHz (SkyLake) |
| 記憶體 | 384GB DDR4 @ 2666MHz |
| 儲存裝置 | 782TB Lustre |
| GPU | T4、V100-PCIe |
| 作業系統和韌體 | |
| 作業系統 | Red Hat® Enterprise Linux® 7.5 x86_64 |
| Linux Kernal | 3.10.0-693.el7.x86_64 |
| BIOS | 1.6.12 |
| 深度學習相關 | |
| CUDA 編譯器和 GPU 驅動程式 | CUDA 10.0.130 (410.66) |
| CUDNN | 7.4.1 |
| NCCL | 2.3.7 |
| TensorFlow | nightly-gpu-dev20190130 |
| PyTorch | 1.0.0 |
| MLPerf | V0.5 |
表 3:硬體組態和軟體詳細資料
效能評估
圖 1 顯示 PowerEdge R740 伺服器上 T4 和 V100-PCIe 上的 MLPerf 效能結果。包含 MLPerf 的六個效能指標。針對每個效能指標,執行端對端模型訓練,以達到 MLPerf 委員會定義的目標機型準確度。每項效能指標都會以分鐘為單位記錄訓練時間。您可以根據下列結果達成以下結論:
-
ResNet-50 v1.5、SSD 和 Mask-R-CNN 機型擴充良好,GPU 數量也隨之增加。若為 ResNet-50 v1.5,V100-PCIe 的速度比 T4 快 3.6 倍。若為 SSD,V100-PCI 會比 T4 快 3.3 倍至 3.4 倍。若為 Mask-R-CNN,V100-PCIe 會比 T4 快 2.2 倍至 2.7 倍。使用相同數量的 GPU 時,每個型號幾乎都是採用相同的 epoch 數量來融合 T4 和 V100-PCIe。
-
若為 GNMT 機型,則會在使用更多 T4 GPU 時觀察到超線性的加速度。相較於一個 T4,加速度是 3.1x 搭配兩個 T4,以及 10.4x 搭配四個 T4。這是因為用於訓練資料切換和神經網路重量初始化的隨機種子會影響機型融合。無論使用多少 GPU,使用不同的隨機種子,型號可能需要不同的 epoch 數量才能融合。在此實驗中,型號分別以 12、7、5 和 4 個 epoch 與 1、2、3 及 4 個 T4 融合。而此機型分別以 16、12 和 9 個 epoch 與 1、2 和 3 個 V100-PCIe 融合。由於 epoch 數量顯著不同,因此即使採用相同的 T4 和 V100 GPU 數量,仍無法直接比較效能。在這種情況下,輸送量指標是一個公平的比較,因為其並非取決於隨機種子。 圖 2 顯示 T4 和 V100-PCIe 的輸送量比較。使用相同數量的 GPU 時,V100-PCIe 會比 T4 快 2.5 倍至 3.6 倍。
-
NCF 型號和變壓器型號的問題與 GNMT 相同。若為 NCF 機型,資料集大小較小,且模型融合時間不長;因此,此問題在結果圖中並不明顯。當使用一個 GPU 時,變壓器型號會發生相同的問題,因為該機型需要 12 個 epoch 與一個 T4 融合,但僅需要 8 個 epoch 與一個 V100-PCIe 融合。使用兩個以上 GPU 時,無論使用多少 GPU 或使用哪種 GPU 類型,型號都需要 4 個 epoch 才能融合。在這些情況下,V100-PCIe 比 T4 快 2.6 倍至 2.8 倍。



圖 1:T4 和 V100-PCIe 上的 MLPerf 結果

圖 2:GNMT 型號的輸送量比較
結論和未來工作
在此部落格中,我們使用各種 MLPerf 效能指標,評估 Dell EMC PowerEdge R740 伺服器上的 T4 GPU 效能。T4 的效能會與使用相同伺服器和軟體的 V100-PCIe 相比較。整體而言,根據每個效能指標的特性而定,V100-PCIe 比 T4 快 2.2 倍至 3.6 倍。一個觀察是,無論使用何種隨機種子值,部分機型都穩定,但其他型號 (包括 GNMT、NCF 和變壓器) 則會嚴重受到隨機種子的影響。在日後的工作中,我們將微調超參數,讓不穩定的機型能使用較少的 epoch 進行融合。我們也會在更多 GPU 和更多節點上執行 MLPerf,以評估這些機型在 PowerEdge 伺服器上的擴充能力。
*免責聲明:為進行效能指標測試,針對 Dell EMC PowerEdge R740 中的四個 T4 GPU 進行評估。目前 PowerEdge R740 正式支援在 x16 PCIe 插槽中使用最多三個 T4。