設計工具
儲存裝置

適用於 AI 訓練的儲存裝置:採用 MLPerf Storage 的 Micron® 9400 NVMe™ SSD

John Mazzie & Wes Vaske | 2023 年 8 月

分析與特性:AI 工作負載與 MLPerf Storage

測試 AI 工作負載的儲存空間是一項具有挑戰性的任務,因為執行實際訓練可能需要昂貴且快速變更的特殊硬體。這就是 MLPerf 協助測試 AI 工作負載儲存空間之處。

為何選擇 MLPerf?

MLCommons 生產許多著重於擴充 AI 加速器效能的 AI 工作負載基準。他們最近運用這項專業知識,專注於 AI 的儲存空間,並建立了壓力測試 AI 訓練儲存空間的基準。此基準的目標是以與實際 AI 訓練流程相同的方式執行 I/O,提供更大的資料集,以限制檔案系統快取和/或解耦訓練硬體(GPU 和其他加速器)對儲存測試的影響。1

MLPerf Storage 採用深度學習 I/O (DLIO) 基準,該基準使用與實際 AI 訓練工作負載相同的資料加載器(pytorch、tensorflow 等),將資料從儲存裝置移至 CPU 記憶體。在 DLIO 中,加速器由睡眠時間和批次大小定義,其中睡眠時間是從模擬加速器中執行實際工作負載計算而來。工作負載可以透過新增執行 DLIO 的用戶端,以及將訊息傳遞介面 (MPI) 用於每個用戶端的多個模擬加速器來擴大。

MLPerf 透過定義一組配置來代表提交給 MLPerf 訓練的結果。目前,實作的模型為 BERT(自然語言處理)和 Unet3D(3D 醫療影像),結果會以每秒樣本和支援的加速器數量報告。若要通過測試,必須維持最低 90% 的加速器使用率。

Unet3D 分析

雖然 MLPerf 同時實施 BERT 和 Unet3D,但我們的分析著重於 Unet3D,因為 BERT 基準不會大力地對儲存 I/O 造成壓力。Unet3D 是一種 3D 醫療影像模型,可將大型影像檔案讀取到具有手動註釋的加速器記憶體中,並產生密集的容積分段。從儲存裝置的角度來看,這看起來像是從您的訓練資料集隨機讀取大型檔案。我們的測試探討了使用 7.68TB 美光 9400 PPO NVMe SSD 的一個加速器與 15 個加速器的結果。

首先,我們將檢查裝置隨時間的吞吐量。在圖 1 中,一個加速器的結果測量範圍主要介於 0 和 600MB/s 之間,部分峰值為 1,600 MB/s。這些峰值對應於開始計算前在 Epoch 開始時填充的預先擷取緩衝區。在圖 2 中,我們看到對於 15 個加速器,工作負載仍然爆發,但達到裝置支援的最大吞吐量。然而,由於工作負載爆發,總平均吞吐量比最大值少 15-20%。

x 軸與 mibps 的秒數時間圖,顯示 Mibps 圖表
在 x 軸上以秒為單位讀取,名稱為 mibps 圖表裝置的 nvme1n1 操作的圖表

接下來,我們將檢視相同工作負載的佇列深度 (QD)。只有一個加速器,QD 永遠不會超過 10 個(圖 3),而有十五個加速器,QD 提早達到約 145 個,但在其餘測試中穩定在 120 個和以下(圖 4)。然而,這些時間序列圖不會向我們顯示完整圖片。
 

按操作顯示佇列深度與時間的圖表
顯示裝置 nvme1n1 按操作的佇列深度與時間的圖表

在將 I/O 的百分比視為特定 QD 時,我們發現對於單一加速器而言,幾乎 50% 的 I/O 是佇列中的第一個交易 (QD 0),而幾乎 50% 是第二次交易 (QD 1),如圖 5 所示。

顯示 nvme1n1 裝置佇列深度與操作百分比的圖表

在十五個加速器中,大部分交易以 QD 80 和 110 進行,但有很大一部分發生在 QD 10 以下(圖 6)。此行為顯示,工作負載中有閒置時間預期會持續顯示高吞吐量。
 

顯示 nvme1n1 裝置佇列深度與操作百分比的圖表

從這些結果中,我們可以看出,從存儲的角度來看,這些工作負載並不簡單。此外,隨機的大區塊傳輸和閒置時間與大量傳輸混合,MLPerf Storage 工具透過重現真實的 AI 工作負載,將對各種模型的儲存裝置基準測試非常有幫助。

MTS, Systems Performance Engineer

John Mazzie

John is a Member of the Technical Staff in the Data Center Workload Engineering group in Austin, TX. He graduated in 2008 from West Virginia University with his MSEE with an emphasis in wireless communications. John has worked for Dell on their storage MD3 Series of storage arrays on both the development and sustaining side. John joined Micron in 2016 where he has worked on Cassandra, MongoDB, and Ceph, and other advanced storage workloads.

SMTS Systems Performance Engineer

Wes Vaske

Wes Vaske is a principal storage solution engineer with Micron.