每 3 個(gè)小時(shí) 1 次、平均 1 天 8 次,Llama 3.1 405B 預(yù)訓(xùn)練老出故障,H100 是罪魁禍?zhǔn)祝?/p>
最近有人從 Meta 發(fā)布的 92 頁(yè)超長(zhǎng) Llama 3.1 論文中發(fā)現(xiàn)了華點(diǎn):
Llama 3.1 在為期 54 天的預(yù)訓(xùn)練期間,經(jīng)歷了共 466 次任務(wù)中斷。其中只有 47 次是計(jì)劃內(nèi)的,419 次純屬意外,意外中 78% 已確認(rèn)或懷疑是硬件問(wèn)題導(dǎo)致。
而且 GPU 問(wèn)題最嚴(yán)重,占了 58.7%。
Llama 3.1 405 模型是在一個(gè)含 16384 塊 Nvidia H100 80GB GPU 集群上進(jìn)行訓(xùn)練的。雖說(shuō)針對(duì)大規(guī)模系統(tǒng)有句老話(huà):唯一確定的就是會(huì)出故障。
但這一問(wèn)題還是引起不少網(wǎng)友關(guān)注。
放慢速度,check 一下產(chǎn)品吧。
老出故障,咋整?
具體來(lái)看,在 419 次意外中斷中,148 次(30.1%)是由各種 GPU 故障(包括 NVLink 故障)引起的,72 次(17.2%)可以具體到是由 HBM3 內(nèi)存故障引起。
鑒于 H100 的 700W 高功耗和熱應(yīng)力,出現(xiàn)這樣的結(jié)果也并不意外。
有意思的是,54 天內(nèi)只有兩次是 CPU 出現(xiàn)了故障。
除了 GPU 外的另一半故障由眾多因素導(dǎo)致,比如軟件 Bug、網(wǎng)絡(luò)電纜等等。
不過(guò)最終,Llama 3.1 團(tuán)隊(duì)保持了超 90% 的有效訓(xùn)練時(shí)間。只有三起故障需要人工大幅介入,其余的都自動(dòng)化處理了。
那么他們是如何應(yīng)對(duì)的?
為了增加有效訓(xùn)練時(shí)間,Llama 3.1 團(tuán)隊(duì)表示減少了任務(wù)啟動(dòng)和 checkpointing 時(shí)間,并開(kāi)發(fā)了一些工具來(lái)快速診斷和解決問(wèn)題。
其中廣泛使用了 PyTorch 的內(nèi)置 NCCL flight recorder(Ansel 等人 2024 年開(kāi)發(fā)),是一個(gè)可以把集體元數(shù)據(jù)和堆棧跟蹤記錄到一個(gè)循環(huán)緩沖區(qū)里的功能,這樣就能快速診斷大規(guī)??D和性能問(wèn)題,特別是跟 NCCLX 有關(guān)的問(wèn)題。
用這個(gè)工具,團(tuán)隊(duì)能有效記錄每次通信事件和每個(gè)集體操作的持續(xù)時(shí)間,在 NCCLX Watchdog 或 Heartbeat 超時(shí)時(shí)還能自動(dòng)導(dǎo)出跟蹤數(shù)據(jù)。
還可以根據(jù)需要,通過(guò)在線(xiàn)配置更改(Tang 等人 2015 年提出的方法)來(lái)選擇性地啟用一些計(jì)算量更大的跟蹤操作和元數(shù)據(jù)收集,而不需要重新發(fā)布代碼或重啟任務(wù)。
團(tuán)隊(duì)表示,在大規(guī)模訓(xùn)練中調(diào)試問(wèn)題很復(fù)雜,因?yàn)榫W(wǎng)絡(luò)同時(shí)使用了 NVLink 和 RoCE。通過(guò) NVLink 傳輸數(shù)據(jù)通常是通過(guò) CUDA 內(nèi)核發(fā)出的加載 / 存儲(chǔ)操作來(lái)完成的,如果遠(yuǎn)程 GPU 或 NVLink 連接出了問(wèn)題,往往表現(xiàn)為 CUDA 內(nèi)核里的加載 / 存儲(chǔ)操作卡住了,卻不會(huì)返回明確的錯(cuò)誤代碼。
而 NCCLX 通過(guò)與 PyTorch 緊密配合,提高了故障檢測(cè)和定位的速度和準(zhǔn)確性,讓 PyTorch 能夠訪問(wèn) NCCLX 的內(nèi)部狀態(tài)并跟蹤相關(guān)信息。
雖然無(wú)法完全避免 NVLink 故障導(dǎo)致的卡頓,但系統(tǒng)會(huì)監(jiān)控通信庫(kù)狀態(tài),在發(fā)現(xiàn)卡頓時(shí)自動(dòng)超時(shí)。
此外,NCCLX 還會(huì)跟蹤每次 NCCLX 通信的內(nèi)核和網(wǎng)絡(luò)活動(dòng),并在失敗時(shí)提供 NCCLX 集體操作內(nèi)部狀態(tài)“快照”,包括所有等級(jí)之間已完成和待處理的數(shù)據(jù)傳輸。團(tuán)隊(duì)通過(guò)分析這些數(shù)據(jù)來(lái)調(diào)試 NCCLX 的擴(kuò)展問(wèn)題。
有時(shí),硬件問(wèn)題可能導(dǎo)致某些部分雖然看起來(lái)還在運(yùn)行,但速度變慢,這種情況很難被發(fā)現(xiàn)。即使只有一個(gè)部分變慢,也可能拖慢數(shù)千個(gè)其它 GPU 的速度。
為此團(tuán)隊(duì)開(kāi)發(fā)了一些工具,可以?xún)?yōu)先處理某些可能有問(wèn)題的進(jìn)程組的通信。通常只需要調(diào)查幾個(gè)最可疑的對(duì)象,就能有效找出那些變慢的部分。
團(tuán)隊(duì)還觀察到了一個(gè)有趣的現(xiàn)象 —— 環(huán)境因素對(duì)大規(guī)模訓(xùn)練性能的影響。在訓(xùn)練 Llama 3.1 405B 時(shí),吞吐量會(huì)根據(jù)一天中時(shí)間的不同而有 1-2% 的變化。這是因?yàn)橹形鐪囟容^高,影響了 GPU 動(dòng)態(tài)電壓和頻率調(diào)節(jié)。
在訓(xùn)練過(guò)程中,數(shù)萬(wàn)個(gè) GPU 可能會(huì)同時(shí)增加或減少功耗,比如在所有 GPU 等待 checkpointing 或集體通信完成時(shí),或者在整個(gè)訓(xùn)練任務(wù)啟動(dòng) / 關(guān)閉時(shí)。這種情況發(fā)生,可能導(dǎo)致數(shù)據(jù)中心的瞬時(shí)功耗波動(dòng)達(dá)到數(shù)十兆瓦,對(duì)電網(wǎng)來(lái)說(shuō)是個(gè)不小的考驗(yàn)。
團(tuán)隊(duì)最后還表示:
隨著未來(lái)更大的 Llama 模型擴(kuò)展訓(xùn)練規(guī)模,這一挑戰(zhàn)將持續(xù)存在。
AI 集群?jiǎn)栴}正待破壁
Meta2022 年首次分享了其 AI 研究超級(jí)集群(RSC)的詳細(xì)信息,當(dāng)時(shí)擁有 16000 個(gè) NVIDIA A100 GPU,幫助其構(gòu)建了第一代 AI 模型,在 Llama 初代和 Llama 2 開(kāi)發(fā)中都發(fā)揮了重要作用。
△ 來(lái)自 Meta
今年三月份,Meta 又公開(kāi)了 24576 個(gè) NVIDIA H100 GPU 的 AI 集群,支持 Llama 3 及之后模型。
更是定下了到今年年底增加 350000 個(gè) NVIDIA H100 GPU 的目標(biāo),作為整體算力的一部分(整體算力近 600000 個(gè) H100 GPU)。
這么大的規(guī)模,emmm 可不是個(gè)持續(xù)性的挑戰(zhàn)嘛。當(dāng)然,大規(guī)模 AI 集群會(huì)給模型訓(xùn)練造成故障是一個(gè)有些“遠(yuǎn)古”的問(wèn)題,很早之前就有相關(guān)研究。
H100 本身什么含金量無(wú)需多言。
在去年最新 MLPerf 訓(xùn)練基準(zhǔn)測(cè)試中,英偉達(dá) H100 集群,橫掃八項(xiàng)測(cè)試,全部創(chuàng)下新紀(jì)錄,并且在大語(yǔ)言模型任務(wù)中表現(xiàn)尤為突出。
11 分鐘內(nèi)訓(xùn)練一遍 GPT-3,8 秒訓(xùn)完 BERT。在大語(yǔ)言模型任務(wù)中,H100 集群的加速性能逼近線(xiàn)性增長(zhǎng)。即隨著集群處理器數(shù)量增加,加速效果也幾乎同比增加。
意味著在集群內(nèi) GPU 之間的通信效率非常高。
除此之外,H100 還完成了推薦算法、CV、醫(yī)學(xué)圖像識(shí)別以及語(yǔ)音識(shí)別等任務(wù),是唯一一個(gè)參加 8 項(xiàng)測(cè)試的集群。
不過(guò),SemiAnalysis 一個(gè)月前的一篇文章指出,構(gòu)建大規(guī)模 AI 算力集群非常復(fù)雜,遠(yuǎn)遠(yuǎn)不只是有沒(méi)有錢(qián)買(mǎi)卡的事。
在電力、網(wǎng)絡(luò)設(shè)計(jì)、并行、可靠性等很多方面都面臨局限。
參考鏈接:
[1]https://ai.meta.com/research/publications/the-llama-3-herd-of-models/
[2]https://engineering.fb.com/2024/03/12/data-center-engineering/building-metas-genai-infrastructure/
[3]https://www.semianalysis.com/p/100000-h100-clusters-power-network
本文來(lái)自微信公眾號(hào):量子位(ID:QbitAI),作者:西風(fēng)
廣告聲明:文內(nèi)含有的對(duì)外跳轉(zhuǎn)鏈接(包括不限于超鏈接、二維碼、口令等形式),用于傳遞更多信息,節(jié)省甄選時(shí)間,結(jié)果僅供參考,IT之家所有文章均包含本聲明。