1.6萬塊H100訓Llama 3.1,每3小時故障1次!罪魁禍首竟是GPU和HBM3顯存
隨著大模型的迭代,其GPU用量也在不斷增長。
Meta的Llama 1使用了2028塊GPU,而到了Llama 3.1 405B,這個數字變成了16384。
規模如此龐大的超算系統迎來了可靠性和運行方面的巨大挑戰——
據Meta最近公布的研究顯示,Llama 3.1訓練持續了54天,在此期間集群遇到了419次意外組件故障,平均每3小時發生一次!
在一半的故障案例中,罪魁禍首正是英偉達的H100 GPU及其板載的HBM3內存。
在超算領域,有一句古老的諺語,「大規模系統唯一可以確定的事就是發生故障」。
一個由成千上萬個處理器、數十萬個其他芯片和數百英里的電纜組成的超算集群,是極其復雜的。這樣復雜的系統不可避免地會發生故障,甚至以幾個小時為間隔單位都很正常。
開發人員要做的是確保系統在這些局部故障的情況下仍然能夠正常運行。
Meta已經為抵御故障對系統的影響而耗費了不少精力,馬斯克的包含10萬塊H100的超算集群比Llama 3.1的訓練集群足足多了6倍,很難想象,其故障發生的頻率將會有多高。
419次意外中斷
Meta的Llama 3.1 405B的訓練集群共包含16384個Nvidia H100 80GB GPU的集群上進行訓練的。
1.6萬塊GPU訓練的復雜性和潛在故障情況超出了Llama團隊的既有經驗,這是他們迄今為止運行過的最大的集群。
此外,訓練的同步性也降低了容錯性——單個GPU故障可能會導致整個訓練任務中斷,整個作業必須要重新啟動。
在54天的預訓練期間,共有466次作業中斷,其中47次是計劃內的,419次是意外的。
計劃內的中斷是由于自動維護,如固件和Linux內核升級、數據集更新等操作員發起的操作,這導致每天至少有一次訓練中斷。
而意外的中斷主要是由硬件問題引起的,約78%的意外中斷歸因于已確認的硬件問題。如GPU或主機組件故障、靜默數據損壞、計劃外的單個主機維護事件等。
其中,GPU問題是最大的一類,占所有意外問題的58.7%(下圖中紅色部分)。
在419次意外中斷中,有148次(30.1%)是由于各種GPU故障(包括NVLink故障)引起的,而72次(17.2%)是由HBM3內存故障引起的。
這并不意外——英偉達H100 GPU有著高達700W的功耗,并因此需要承受大量熱應力。
相比之下,在54天內只有兩個CPU發生故障(上圖中藍色部分)。
雖然GPU是最重要但也最脆弱的組件,占到意外問題的58.7%,但剩余41.3%的意外中斷是由多種因素引起的,包括軟件錯誤、網絡電纜和網絡適配器。
盡管故障數量眾多,Llama團隊還是保持了超過90%的有效訓練時間,在訓練期間僅有三次需要大量人工干預,其余問題均由自動化處理。
解決辦法
為了提高效率,Meta團隊減少了作業啟動和檢查點時間,并開發了專有的診斷工具。
PyTorch的NCCL飛行記錄器被廣泛使用,該功能可將集體元數據和堆棧跟蹤記錄到環形緩沖區中,從而使研究人員能夠快速診斷大規模掛起和性能問題,尤其是NCCLX方面的問題。
NCCLX在故障檢測和定位中發揮了關鍵作用,特別是在訓練網絡中,NVLink和RoCE的混合使用使大規模訓練中的調試問題變得復雜。
對于NVLink和RoCE帶來的復雜性問題,NCCLX通過與PyTorch的緊密協同設計提高了故障檢測和定位的速度和準確性,允許PyTorch訪問NCCLX的內部狀態并跟蹤相關信息。
雖然NVLink故障導致的停滯無法完全避免,但這個系統會監控通信庫的狀態,并在檢測到此類停滯時自動超時。
除此之外,有時一些仍在運行但速度緩慢的滯留器很難被檢測到。
Meta團隊開發的工具,能夠用于識別「拖后腿」的GPU。
這個工具的原理是對來自選定進程組的可能有問題的通信進行優先排序,只需調查幾個最大的嫌疑人,通常就能有效地識別出滯后的GPU。
從而有效地檢測和及時解決滯后問題,確保減慢速度的情況最小化,保持整體訓練效率。
運行挑戰
Meta透露,超算集群還有來自環境因素和功耗劇烈波動帶來的運行挑戰。
環境因素
Meta團隊發現一個有趣的現象是環境因素對大規模培訓性能的影響,研究人員注意到,吞吐量會有1-2%的晝夜變化。
這種波動是由于中午較高的溫度影響了GPU的動態電壓和頻率縮放,從而影響訓練性能。
功耗波動
Llama 3.1 405B大語言模型訓練團隊面臨的另一個挑戰是數萬GPU同時功耗變化,這給他們的數據中心電網帶來了壓力。
這些波動有時高達數十兆瓦,達到了電網的極限,這意味著Meta必須確保其數據中心有足夠的電力。
在訓練過程中,數以萬計的GPU可能會同時增加或減少功耗,例如,由于所有GPU都在等待檢查點或集體通信的完成,或者整個訓練任務的啟動或關閉。
當這種情況發生時,整個數據中心的功耗會瞬間波動數十兆瓦,從而挑戰電網的極限。
Meta認為,在為未來更大型的Llama模型擴展訓練時,這將會是一個持續的挑戰。