405B 模型訓練挑戰重重:英偉達 GPU 頻繁故障,Meta 工程師巧妙應對

GPU 及其高頻寬記憶體是導致超過半數故障的主要原因。

58.7% 意外中斷源於 GPU,三起事件需要顯著人工干預

據悉,在為期 54 天的預訓練中,共有 466 次工作中斷。其中,47 次是計劃內中斷,是由於自動化維護造成的,如韌體升級或操作員發起的配置更新或數據集更新操作;419 次是意外中斷,主要源於確認的硬件問題,包括 GPU、主機組件故障或疑似與硬件相關的問題,如靜默數據損壞和未計劃的單個主機維護事件。

GPU 問題是最主要的意外中斷類別,佔所有意外問題的 58.7%,包括 NVLink 等各種 GPU 故障及 HBM3 內存故障。這並不奇怪,因為 Nvidia 的 H100 GPU 消耗約 700W 並承受大量熱應力。儘管出現了大量的故障,但只有三起事件需要顯著的人工干預,剩下的問題均能由自動化處理。

其餘 41.3% 的意外中斷是由軟件錯誤、網絡電纜和網絡適配器混合造成的。有趣的是,在此期間只有兩個 CPU 出現故障。

為期 54 天的 Llama 3 405B 預訓練期間,對意外中斷的根本原因進行分類。

Llama 3 405B 大模型訓練團隊面臨的另一個挑戰是數以萬計的 GPU 同時發生功耗變化,給數據中心的電網帶來了壓力。

在訓練過程中,成千上萬的 GPU 可能同時增加或減少功耗,例如等待檢查點完成或集體通信結束,或者整個訓練任務的啟動或關閉。當這種情況發生時,會導致數據中心的功耗瞬時波動達到幾十兆瓦的數量級,可能使電網不堪重負。

而這是一個持續存在的挑戰,意味著 Meta 必須確保其數據中心有足夠的電力,才能維護 405B 模型以及未來更大規模 Llama 模型的正常運轉。隨著 AI 模型複雜性的不斷增長,所需的計算資源也在增加。

實現 90% 有效訓練時間背後的努力

為了提高效率,Meta 開發了多種工具和優化策略,包括減少任務啟動和檢查點時間、廣泛使用 PyTorch 內置的 NCCL 飛行記錄器,以及識別滯後的 GPU。其中,NCCLX 在故障檢測和定位方面發揮了至關重要的作用,尤其是對於 NVLink 和 RoCE 相關問題,與 PyTorch 的集成允許監控和自動超時由 NVLink 故障引起的通信停頓。

據了解,PyTorch 的 NCCL 飛行記錄器可以將集體元數據和堆棧跟踪記錄到環形緩衝區中,從而能夠在大規模的情況下快速診斷和解決掛起和性能問題,尤其是與 NCCLX 相關的問題。另外,由於 Meta 在網絡中混合使用了 NVLink 和 RoCE,使得大規模訓練中的調試問題變得更加複雜。通過 NVLink 的數據傳輸通常通過 CUDA 內核發出的加載 / 存儲操作完成,而遠程 GPU 或 NVLink 連接的故障通常表現為 CUDA 內核內的加載 / 存儲操作停滯,且不會返回明確的錯誤代碼。

NCCLX 通過與 PyTorch 的緊密協同設計提高了故障檢測和定位的速度和準確性,允許 PyTorch 訪問 NCCLX 的內部狀態並跟踪相關信息。雖然無法完全防止由於 NVLink 故障導致的掛起,但系統會監控通信庫的狀態,並在檢測到此類掛起時自動超時。此外,NCCLX 還會跟踪每次 NCCLX 通信的內核和網絡活動,並提供故障 NCCLX 集體的內部狀態快照,包括所有等級之間已完成和待完成的數據傳輸。

有時,硬件問題可能會導致出現仍然運行但速度緩慢的"拖後腿者",還很難被檢測出來。而即使只有一個"拖後腿者"也可能減慢成千上萬個其他 GPU 的運行速度,常常表現為正常但速度緩慢的通信。對此,Meta 開發了用於優先處理來自選定進程組的潛在問題通信的工具,從而有效檢測並及時解決落後者,確保將速度減慢到最低,保持整體訓練效率。

還有一個有趣的觀察是,環境因素對大規模訓練性能的影響。對於 Llama 3 405B,Meta 注意到一天中會有一段時間出現 1-2% 的吞吐量變化,這種波動是因為中午較高的溫度影響了 GPU 的動態電壓和頻率調整,從而影響訓練性能。但這不是什麼大問題,GPU 的動態電壓和頻率縮放通常都會受到溫度變化的影響。

結語

考慮到一個包含 16384 個 H100 GPU 的集群在 54 天內經歷了 419 次意外故障,每 24 小時 7.76 次,我們不禁想到,xAI 配備了 100000 個 H100 GPU 的孟菲斯超級計算機集群(Memphis Supercluster)發生故障的頻率是多少?

上週,埃隆·馬斯克(Elon Musk)在社交平台 X 上吹噓自己啟動了"世界上最強大的人工智能訓練集群",他將在今年 12 月之前創建"世界上所有指標最強大的人工智能"。據悉,孟菲斯超級計算機集群已經開始進行訓練,採用了液冷散熱和單一的 RDMA 網絡互連架構。

按 GPU 規模比例來看,xAI 的孟菲斯超級計算機集群可能會面臨指數級更高的故障率,出現故障的組件數量或會增加六倍,這給其未來的 AI 訓練帶來了更大的挑戰。

參考鏈接:

https://www.inspire2rise.com/meta-faces-frequent-gpu-failures-llama-3-training.html

https://www.tomshardware.com/tech-industry/artificial-intelligence/faulty-nvidia-h100-gpus-and-hbm3-memory-caused-half-of-the-failures-during-llama-3-training-one-failure-every-three-hours-for-metas-16384-gpu-training-cluster

https://ai.meta.com/research/publications/the-llama-3-herd-of-models/