美光與 Dell 和 NVIDIA 團隊合作就將 AI 訓練模型卸載至 NVMe 的技術開展了業界領先研究,且在 NVIDIA GTC 全球 AI 會議上展示了研究成果。在 Dell 的技術行銷實驗室和 NVIDIA 的儲存軟體開發團隊的支持下,美光資料中心工作負載工程團隊在搭載美光即將推出的高效能 Gen5 E3.S NVMe SSD 的 Dell PowerEdge R7625 伺服器上,測試NVIDIA H100 Tensor Core GPU中搭載 GPU 主動直接儲存(GIDS)的大型加速器記憶體(BaM)。
BaM 和 GIDS 是根據以下論文的研究專案,其開源代碼可在 GitHub 上查閱:
- BaM 系統架構中的 GPU 主動隨需高傳輸量儲存裝置存取: https://arxiv.org/abs/2203.04910
- GitHub: https://github.com/ZaidQureshi/bam
NVMe 成為更多使用的記憶體?
AI 模型規模正在快速擴大,而訓練大型模型的預設方法是在 GPU 上盡可能使用更多 HBM,然後盡可能使用更多系統 DRAM,如果模型不適合使用 HBM + DRAM,則在多個 NVIDIA GPU 系統中進行平行訓練。
由於資料需要在網路和系統連結上流動,這很容易出現瓶頸,因此在多台伺服器上進行平行訓練費用高昂,特別是在 GPU 利用率和效率方面。
如果我們能透過使用 NVMe 作為第三層「慢速」記憶體,避免將 AI 訓練工作分割到多個 GPU 系統上,那會如何? 這正是搭載 GIDS 的 BaM 的用武之地。其取代並簡化 NVMe 硬碟,將資料和控制路徑移交 GPU。那麼其效能如何?
基線效能結果
所示全部測試結果均使用上述連結中的開源 BaM 實作中包含的 BaM 圖形神經網路(GNN)基準運行。
第一項測試顯示啟用或不啟用搭載 GIDS 的 BaM 的結果。Linux mmap 的標準實作乃用於中斷透過 CPU 到存儲裝置的記憶體存取,代表沒有特定儲存軟體的測試用例。
mmap 測試在 NVIDIA A100 80GB Tensor Core GPU 和 美光 9400 Gen4 NVMe SSD 上花了 19 分鐘。在部署 BaM 和 GIDS 方面,耗時 42 秒,效能提升 26 倍。這種效能提升可見於依賴於存儲裝置效能的基準特徵聚合元件。
Dell 實驗室中的 Gen5 效能
在 GTC 上,美光希望證明我們即將推出的 Gen5 NVMe SSD 完美適合於 AI 模型卸載。我們與 Dell 技術行銷實驗室合作,取得一台搭載 NVIDIA H100 80GB PCIe GPU(Gen5x16)的 Dell PowerEdge R7625 伺服器,並在其鼎力支援下完成了測試。
GNN 工作負載效能 | 美光 Gen5 H100 | 美光 Gen4 A100 | Gen5 與 Gen4 效能對比 |
---|---|---|---|
特徵聚合(NVMe) | 18s | 25s | 2 倍 |
訓練(GPU) | 0.73s | 3.6s | 5 倍 |
取樣 | 3s | 4.6s | 1.5 倍 |
端對端時間 (特徵聚合 + 訓練 + 取樣合計時間) |
22.4s | 43.2s | 2 倍 |
GIDS + BaM 存取 | 2.87M | 1.5M | 2 倍 |
特徵聚合取決於 SSD 效能。其執行時間佔總運行時間的 80%,我們發現從 Gen4 到 Gen5,提升 2 倍。取樣與訓練則取決於 GPU,我們發現,從 NVIDIA A100 到 H100 Tensor Core GPU,訓練效能提升了 5 倍。此用例需要高效能的 Gen5 SSD,而美光的 Gen5 SSD 預生產版本的效能幾乎是 Gen4 效能的兩倍。
搭載 GIDS 的 BaM 對 SSD 有何影響?
由於搭載 GIDS 的 BaM 取代了 NVMe 硬碟,因此檢視 IO 指標(IOP、延遲等)的標準 Linux 工具無法發揮作用。我們追蹤了搭載 GIDS 的 BaM GNN 訓練工作負載,發現了若干令人驚訝的結果。
- 搭載 GIDS 的 BaM 的執行效能幾乎達到硬碟的最大 IO 效能。
- GNN 訓練的 IO 特性是 99% 小區塊讀取。
- SSD 佇列深度是 CPU 上「正常」資料中心工作負載期望值的 10-100 倍。
這是一個新穎的工作負載,將實現 NVMe 的最高效能。GPU 可以管理數個平行串流,而搭載 GIDS 軟體的 BaM 將會管理並最佳化延遲,創造出可能甚至無法在 CPU 上運行的工作負載特性。
結論
隨著 AI 產業的進步,有關 GPU 系統利用率和效率的智慧型解決方案變得極為重要。搭載 GIDS 的 BaM 等軟體將提供更佳的方法來解決更龐大的人工智慧問題集,從而提高 AI 系統資源的效率。將模型儲存裝置延伸至 NVMe 會影響訓練時間,但這是一種利弊權衡,可讓時間敏感度較低的大型訓練工作在較少的 GPU 系統上執行,最終改善已部署 AI 硬體的效率與 TCO。
此資料已用於下列 NVIDIA GTC 會議:
加速並確保 GPU 對大型資料集的存取 [S62559]。
非常感謝 Micron、Dell 和 NVIDIA 的下列人員促成了該項研究:
- 美光:John Mazzie、Jeff Armstrong
- Dell:Seamus Jones、Jeremy Johnson、Mohan Rokkam
- NVIDIA:Vikram Sharma Mailthody、CJ Newburn、Brian Park、Zaid Qureshi、Wen-Mei Hwu
硬體和軟體詳情:
- 工作負載:進行 IGBH-Full 訓練的 GIDS
- NVMe 效能結果由美光資料中心工作負載工程團隊測定,基線(mmap)效能結果由 NVIDIA 儲存軟體團隊在類似系統上測定。
- 測試的系統:
- Gen4:2x AMD EPYC 7713, 64-core, 1TB DDR4;美光 9400 PRO 8TB;NVIDIA A100-80GB GPU;Ubuntu 20.04 LTS(5.4.0-144);NVIDIA Driver 535.129.03;CUDA 12.3、DGL 2.0.0
- Gen5:Dell R7625, 2x AMD EPYC 9274F, 24-core, 1TB DDR5;美光 Gen5 SSD;NVIDIA H100-80GB GPU;Ubuntu 20.04 LTS(5.4.0-144);NVIDIA Driver 535.129.03;CUDA 12.3、DGL 2.0.0
- 有關「BaM 系統架構中的 GPU 主動隨需高傳輸量儲存裝置存取」一文的工作參見:https://arxiv.org/abs/2203.04910、https://github.com/ZaidQureshi/bam