在快速發展的 AI 系統和工作負載環境中,實現出色的模型訓練性能遠遠超出芯片速度。這需要對整個堆棧進行全面評估,從計算到網絡,再到模型框架。
了解復雜的 AI 系統性能可能比較困難。從精度到并行,您可以對許多應用程序進行更改,但目前需要付出大量努力和掌握專業知識才能有效實施這些更改。
NVIDIA DGX Cloud Benchmarking Recipes 為提高訓練性能提供了指導,通過分享每個工作負載的良好性能以及實現方法的最佳實踐。
如需了解更多信息,請參閱 NVIDIA DGX Cloud Benchmarking Recipes 。
全面評估 AI 系統
DGX 云 Benchmarking Recipes 是一款端到端基準測試套件,既可以衡量真實環境中的性能,也可以識別 AI 訓練工作負載中的優化機會。這些基準測試方法經過精心設計,可評估真實 AI 應用的性能,并將其納入完整的 AI 堆棧。
以芯片為中心的指標 (例如每秒浮點運算峰值 (FLOPS) 和帶寬峰值) 可能不足以估算端到端性能。傳統上,峰值 FLOPS 通常用于比較平臺,但 FLOPS 只是影響端到端應用程序性能的眾多組件之一。
在實踐中,AI 模型的訓練時間是許多其他組件(例如網絡、軟件、固件和底層基礎設施)的函數。
例如,高帶寬 NVIDIA NVLink 網絡結構支持擴展并行策略(例如張量并行),從而超越傳統的單服務器 8-GPU 限制。借助 NVIDIA Grace 類系統,NVLink 網絡層可讓您在實際應用中實現更高的 FLOPS,從而縮小理論性能和實際性能之間的差距。
僅通過 FLOPS 評估 AI 平臺會導致對總訓練時間和相關成本的估計不準確,而不考慮平臺的其余部分。對于現代 AI 工作負載 (例如微調 Llama 3.1 模型),使用基準來衡量整個系統的端到端性能更為準確,從而全面了解平臺在實際使用場景中的表現。

影響性能的基礎架構因素包括:
- 服務器硬件設計
- 操作系統
- 虛擬化層
- 軟件堆棧
- 網絡架構
- 存儲實現
影響性能的 AI 工作負載因素包括:
- 計算與通信比
- 模型擴展系數
- 批量大小
- 精度格式
- 數據加載策略
調整工作負載以獲得最佳性能
除了基準測試的作業執行方面,NVIDIA DGX Cloud Benchmarking Recipes 也是用于優化熱門模型和工作負載的手冊。這些方法提供了特定于工作負載的策略,可更大限度地提高 Llama 3.1、Grok 和 Mixtral 等熱門模型的性能。
工作負載 | 類型 | 說明 | 容器版本 | 數據集 | 最大規模 (GPU 數量) | DTYPE |
Nemotron4 | 訓練 | 150B 和 340B 基準測試 | 24.09 | 合成 | 2048 | FP8、BF16 |
Nemo Megatron | 訓練 | 1750 億次基準測試 | 24.05 | 堆棧 | 2048 | FP8、BF16 |
Llama 3.1 | 訓練 | 8B、70B 和 405B 基準測試 | 24.09 | 堆棧 | 2304 | FP8、BF16 |
PaXML | 訓練 | 50 億和 1750 億項基準測試 | 2004 年 3 月 24 日 | 合成 | 2048 | FP8、BF16 |
Maxtext | 訓練 | Llama2 70B 基準測試 | 2024.12.09 | 合成 | 2048 | FP8、BF16 |
Grok1 | 訓練 | Grok1 114B 基準測試 | 24.09 | 合成 | 2048 | FP8、BF16 |
Llama 2 | 微調 | Hugging Face 700B 基準測試 | 24.02 | HF Llama2 | 512 | BF16 |
Mistral | 微調 | Hugging Face 70B 基準測試 | 24.02 | 高頻 Mistral | 256 | BF16 |
在表 1 中,工作負載包括訓練和微調,并盡可能支持 FP8 和 BF16。
每個訓練工作負載對于其如何練習平臺都有不同的指紋識別。關于工作負載的指紋識別,您可能會問一個基本問題:“計算時間與通信或網絡時間的重疊程度如何?”
根據并行性和超參數(如序列長度和批量大小)的選擇,一些模型的計算受限程度可能更高,而一些模型的通信受限程度可能更高。擴展行為也會隨著 GPU 數量的增加以及擴展類型(弱或強)的增加而在模型之間發生變化。
對于每種工作負載和集群規模,您必須調整模型和系統以獲得最佳性能。
在模型方面,這可能涉及調整并行策略、批量大小、精度格式和數據加載策略以及其他配置。在系統端,請確保工作負載充分利用 NVLink 高帶寬(例如,用于張量和上下文并行),并確認橫向擴展結構不是相應網絡集合的阻塞器(例如,用于 pipeline 或 expert 并行)。
后者需要能夠提供低傳輸延遲(RDMA)、有效的擁塞管理和動態路由的網絡,如參考 NVIDIA SpectrumX 和 InfiniBand 網絡架構中所示。為了高效擴展 AI 工作負載,使用這些技術至關重要,因為它們有助于減輕抖動的影響,確保一致的性能和可靠性。
使用 FP8?
DGX 云 Benchmarking Recipes 專為 FP8 工作負載提供優化的配置和調優建議,可幫助您利用這種精度格式實現出色性能。例如,Llama 3.1 70B 訓練方法包括針對 DGX 云平臺仔細測試和優化的 FP8 設置。
了解給定 AI 工作負載的良好性能的構成要素可能非常復雜。DGX 云基準測試方法為各種熱門模型提供一系列基準性能結果,使您能夠為自己的實現設定現實的期望和目標。
這些基準包括模型 FLOPS 利用率(MFU)等指標,用于衡量模型使用可用計算資源的效率。您可以看到熱門模型的 MFU 和吞吐量比較情況。通過將結果與這些基準進行比較,您可以衡量優化的有效性并找出需要改進的地方。
DeepSeek-R1 是在一個 NVIDIA H200 GPU 節點上運行的 671B 參數模型。它的高計算利用率表明,計算、網絡和并行策略的整體優化如何將交付的性能推向理論極限。系統化的基準測試可實現直接比較,幫助團隊協作優化模型和平臺,從而更大限度地提高 GPU 系統的價值。
最后,這些針對每個工作負載的性能優化還表明,需要圍繞應用程序調優開展進一步的研究和討論。例如,PyTorch 和 pandas 等框架的并行化策略的推薦用法因工作負載和平臺的組合而異。
開始使用 DGX Cloud 基準測試方法
平臺性能基準測試方法托管在 NVIDIA 的公共注冊表 NGC Catalog 中。有關最新版本 recipes 的更多信息,請參閱 DGX Cloud Benchmarking 24.11.1 。
在每個工作負載 recipe 中,您可以訪問以下內容:
- 針對跨環境再現性的容器化基準測試
- 根據需要生成合成數據的 Scripts
- 性能指標收集和報告 (發送至
stdout
) - 針對每個平臺的工作負載的配置最佳實踐
- 用于比較的 NVIDIA 參考架構的性能數據
方法需要 Slurm 集群管理。對 Kubernetes 的支持目前正在開發中。要使用 DGX Cloud Benchmarking Recipes,下載最適合您工作負載的方法,并執行集群設置和基準測試腳本。
繼續推進平臺性能目標
在當今的 AI 環境中,實現出色性能需要超越單個組件的視野,以了解整個系統如何協同工作。雖然原始 GPU 功能很重要,但完整的優化來自仔細調整堆棧的每一層,從硬件和軟件配置到特定工作負載的參數。
在 NVIDIA,我們使用基準測試方法來不斷優化技術堆棧的每一層,從 NVIDIA NVLink 和 NVLink Switch 等硬件互連到 NVIDIA TensorRT-LLM 等軟件庫,從而隨著時間的推移實現顯著的性能提升。
例如,僅通過持續改進軟件開發, NVIDIA H100 GPU 上的 MLPerf 推理在短短一年內就將加速計算性能提高了 3.4 倍 。這些持續優化使組織能夠運行更復雜的模型、降低基礎架構需求、提高效率,從而推動進一步創新。
這些基準測試方法使您的團隊能夠:
- 針對特定環境 (包括 FP8) 優化 AI 工作負載。
- 評估集群性能與 NVIDIA 觀察到的性能的接近程度。
- 識別當前設置中的性能瓶頸。
訓練大型模型可能需要數周或數月時間,并且會耗費數百萬計算資源,因此適度的性能改進可以轉化為大幅節省時間和成本。通過使用 NVIDIA 不斷改進的性能優化和特定于工作負載的方法,您的組織可以更大限度地投資 AI 基礎架構,并將工程工作重點放在創新上,而不是基礎架構調優。
有關更多信息,請參閱 DGX Cloud 基準測試方法 。
?