當大模型Scaling Law繼續,萬卡叢集算力釋放在「百舸」這裡找到一條通途

机器之心發表於2024-09-25
在電影《天下無賊》中,葛優扮演的黎叔有這樣一句經典的臺詞,「二十一世紀什麼最貴?人才!」而隨著人工智慧行業進入到大模型時代,這一問題的答案已然變成了「算力」。

隨著模型規模急劇擴張,引數已經飆升到了千億甚至萬億級,業界開啟了千模大戰,AI 算力需求不可避免迎來爆炸式增長,無論是前期訓練還是後期推理,都是如此。

在訓練層面,OpenAI 曾在 2018 年做過估算,自 2012 年以來,AI 模型訓練算力需求每 3.5 個月翻一番,每年所需算力增幅高達 10 倍,增速遠遠超出了晶片產業長期存在的摩爾定律(效能每 18 個月翻一番)。同時隨著大模型及應用越來越多地部署到企業實際業務場景中,推理算力需求也水漲船高。

因此,指數級增長的算力需求對 GPU 等硬體提出了更高要求,大規模 GPU 算力叢集成為必然選擇。這也是為什麼近年來國內外科技廠商紛紛佈局 AI 算力基礎設施,死磕萬卡甚至 10 萬卡叢集。此外,大規模算力叢集也越來越凸顯訓推一體的重要性,尋求在同一個叢集中無縫切換大模型的訓練和推理,簡化使用者部署流程。

雖然 GPU 叢集可以滿足大模型時代的算力需求,但面臨的挑戰也不少,比如多型別晶片混合訓練、資料中心電力消耗、網路通訊和負載、單卡算力效率、多卡平行計算、設施穩定性等。加之當前叢集算力利用率不高且成本高昂,這些都要求廠商在叢集系統、框架和演算法層面進行技術突破。

國內一些廠商已經在面向萬卡叢集的 AI 基礎設施方面積累了豐富的經驗,並催生了覆蓋廣泛的「多芯混合訓練時代」。我們以百度為例,其基於文心大模型訓練的經驗沉澱,推出了 AI 異構計算平臺「百舸」,打造業界領先的多芯混合訓練 AI 叢集,並正在幫助客戶更快、更穩、更省地落地大模型應用。

從 2021 年的 1.0 版本到去年的 3.0 版本,我們發現,連續三年,百舸圍繞系統性提升 GPU 叢集的整體算力利用率不斷深入最佳化。在今日舉辦的 2024 百度雲智大會上,再度升級的百舸 4.0 帶給了客戶更多驚喜,也給同行們帶來了一點小小的震撼。

圖片

算力浪費降至 1/10
萬卡叢集下的大模型訓推更快、更省

對於國內雲廠商來說,面對 AI 大模型時代的巨量算力需求,歸根到底要解決好兩個核心訴求:一是如何在算力資源供應短缺的大環境下擴大算力來源,二是如何在大模型產生的高昂計算成本壓力下極致高效地利用算力。從已有進展來看,百舸 AI 異構計算平臺做到了「兩手抓、兩手都要硬」。

在去年 12 月的 2023 百度雲智大會・智算大會上,百舸 3.0 已經展現了業界領先的萬卡叢集算力釋放能力,叢集有效訓練時長達到了 98%、網路頻寬有效利用率達到了 95%。如今,9 個多月過去了,百舸 4.0「百尺竿頭更進一步」,在一些叢集算力指標上又有所提升。

此次,百舸 4.0 在整體架構上相較 3.0 版本有了略微調整,從底層硬體往上依次分為資源層、元件層、大模型加速層和工具層。四層架構,各司其職,針對大模型的訓推、部署和調優等全流程進一步最佳化。

具體來講,資源層提供了包括異構晶片、高速互聯、高效儲存等在內的算力資源,元件層主要解決大規模叢集的穩定性和效能問題,大模型加速層專為大模型訓推提速而設計,工具層則透過一套管理介面提供了更便捷的操作體驗。

圖片

百度集團執行副總裁、百度智慧雲事業群總裁沈抖

依託四層架構,百舸 4.0 對叢集算力呼叫的各個環節做到了精準把控,並具備了「多、快、穩、省」四大特性,形成了其作為 AI 異構計算平臺的核心競爭力。

首先是多芯異構。我們觀察到,一雲多芯已經成為算力叢集的主流選擇,既可以遮蔽硬體之間的差異,利用彈性更強的供應鏈體系擺脫對單一晶片的依賴;又能夠根據使用者特定業務場景靈活調配算力資源並提高利用率。

百舸 4.0 構建了 GPU 和多型別 AI 晶片組成的單一智算叢集,相容了崑崙芯、昇騰、海光 DCU、英偉達、英特爾等國內外主流 AI 晶片的混合訓練,並全面適配。同時透過「控制檯」輕鬆一鍵發起,易用性很高。百舸 4.0 還透過大模型訓推加速套件 AIAK 支援了更多使用場景、多種模型架構和主流訓推方式,全能屬性拉滿。

當然,對於不同規模的多芯混合訓練任務,百舸 4.0 將效能損失拉到業界最低,其中百卡效能損失控制在 3%,萬卡效能損失在 5% 以內。

如果說多芯混訓是走出算力卡脖子的關鍵一步,那麼接下來就要集中精力考慮如何圍繞叢集部署、大模型訓推和效果調優來更充分地釋放萬卡叢集的算力潛能

現在,百舸 4.0 幫助客戶省去了大量複雜和瑣碎的配置和除錯工作,最快 1 小時便能建立萬卡規模叢集,這要比行業通常需要的數天甚至數週快得多。

然後便又是 AIAK 發揮了用武之地,針對主流開源大模型在並行策略、視訊記憶體、算力等層面進行了深度最佳化,為萬卡叢集下的大模型訓推加速注入新的驅動力。

一方面,百舸 4.0 在大模型加速層全新升級了 AIAK 訓練加速,萬卡叢集下支援萬億引數 MoE 模型訓練。不僅如此,單個晶片的效能也發揮到了極致,配合使用最佳化後的通訊和並行策略,整體訓練效率提升了 30%。這些都預示著叢集實力的大增。

另一方面,百舸 4.0 同樣升級了 AIAK 推理加速,尤其在速度和成本兩個客戶最關心的方面加碼,效果較以往版本有了質的提升。對於長文字推理任務,模型如今可以做到「極速生成」與「秒回」,效率提升了一倍。同時,投機式推理策略的引入可以先讓成本低的小模型生成多個預選結果,然後交給成本高的大模型驗證並給出最終結果,從而調動更多便宜的小模型來承擔計算負擔,由此降低了成本。

當然實際執行中需要面對資料清洗、生成、格式對齊等重複性工作,百舸 4.0 具備的資料工程能力可以呼叫大模型來處理這些工作。此外提供了資料增強、效果評估和 Prompt 最佳化等功能,以便進一步調優。

大模型呼叫全流程尤其是訓練階段不單單要求速度快,穩定性同樣重要。如果一個叢集無法保證穩定的訓練時長,易出錯、難糾錯、診斷慢、恢復時間長,則會對整體效率和成本造成不利影響。目前,百舸 4.0 在萬卡規模 AI 任務上的有效訓練時長佔比已經達到 99.5%,這意味著昂貴的計算資源可以得到最大化利用,浪費更少,成本效益更高。

最後,算力資源利用率的高低一定程度上決定了叢集能不能為客戶省錢,當前行業平均水平僅能達到 50%,一半的算力被浪費了。藉助自研的訓推一體技術,百舸 4.0 讓叢集同時支援線上推理服務部署和離線訓練任務,訓推之間的算力自由切換,訓推場景在不同時間複用相同的 GPU 資源,並在推理時將高算力高視訊記憶體的訓練卡分配給多個業務應用,最終將算力資源利用率提升到了 90%。

可以說,從支援多芯混訓到加速大模型訓推、逼近 100% 的有效訓練時長和遠超行業的算力資源利用率,百舸 4.0 交出了一份亮眼的「成績單」,為客戶當前的大模型落地實踐盡最大可能解除算力層面的後顧之憂,勢必更能贏得他們的青睞。

背後的路線思考
五大維度完成算力破局

如何在大模型時代發揮出大叢集的有效算力,這是一個重大而急迫的命題。當前有能力提供萬卡叢集的雲廠商都在力爭脫穎而出,這就要求他們在最佳化架構、降低成本、提供差異化服務、構建智算生態等各個方面出擊,找到算力破局關鍵點。

全新升級的百舸 4.0,提供了當前萬卡叢集的最優解。

我們發現,百舸已經形成自己的一套成熟打法,針對能耗有效率、單卡算力有效率、並行擴充套件有效率、有效訓練時長和資源利用率等五大行業痛點問題,對症下藥,用技術突破為算力釋放保駕護航

針對大模型訓練產生的巨大電力消耗,百度雲透過在自建的資料中心採用自研的液冷方案,使得機器效能提升 10% 的同時故障率降低了 60%-70%,從而令資料中心能源效率指標 PUE(Power Usage Effectiveness)平均值小於 1.1,優於業界平均水平。

為了提升叢集內單卡算力有效率,百舸 4.0 依託 AIAK 訓練加速方案,透過顯示卡、算力等層面的深度最佳化,在主流開源大模型訓練任務中將 GPU 有效利用率 MFU(Model FLOPS Utilization)提升到了行業領先水平,達到 70% 以上。

單卡算力效能極致「壓榨」的同時,多卡平行計算效率也要跟上。現階段大模型往往採用多個計算資源同時訓練的並行方式,並發展出了計算資源利用率高、效率高、開發難度小的自動並行策略,使訓練任務在多個計算單元上的分配更為合理和高效。百舸 4.0 透過 AIAK 進一步最佳化了並行策略,較開源方案實現了 30% 的效能提升。同時模型並行策略調優時間也大幅降低,從小時級縮短至如今的分鐘級,加快了訓練和最佳化速度。

此外如上所述,百舸 4.0 在萬卡任務上實現了 99.5% 的有效訓練時長,最大程度避免因頻繁故障而導致的訓練任務中斷、資源浪費、模型收斂速度慢、運維成本增加等問題,叢集穩定性得到前所未有地加強。達成這一效果主要得益於以下幾大能力的共同加持:

  • 全方位的可觀測能力,對資源池、佇列、節點、任務、例項、加速卡等多個維度實現了無死角的覆蓋。
  • 自動容錯能力,百舸 Flash Checkpoint 故障恢復機制實現秒級 Checkpoint 和近乎無損的 Step 粒度容錯。此外為 PyTorch 大模型訓練場景開發的 Checkpoint 框架 FlashCKPT 可以實現 1 秒千億大模型 Checkpoint 寫入。
  • 故障診斷和快速恢復能力,透過快速篩查、召回叢集硬體故障並隔離自愈,避免在故障晶片上分配工作負載,有效降低任務故障發生頻次。故障恢復時間從小時級降至分鐘級。
  • 百舸叢集級集合通訊庫 BCCL 不僅可以在故障發生時做到秒級感知和定位,提高故障處理效率。同時快速定位訓練慢的節點,提升整體訓練效率。

同樣地,百舸 4.0 算力資源利用率突破 90%,除了自研的訓推一體技術,還要歸功於彈性伸縮機制、彈性層級佇列等技術,可以根據訓練任務的變化來自動分配和佈局算力,從而將利用率拉到了行業最高水平。

在我們看來,五大維度不僅鞏固了百舸 4.0 在萬卡叢集時代的行業領先地位,也為其他雲廠商在算力資源管理以及智算叢集的設計、排程、容錯等方面提供了一定的借鑑。

寫在最後

今年 9 月初,馬斯克宣佈旗下 xAI 打造的由 10 萬塊 Nvidia H100 組成的超級訓練叢集 Colossus 正式上線,並將在未來幾個月另外增加 10 萬塊 GPU(一半為 H200)。這釋放出了一種很明顯的訊號:不止萬卡,更大規模的 10 萬、數十萬卡叢集的建設「時不我待」。

可以看到,無論是為現階段超大規模模型的訓練提供算力支撐,還是推動大模型技術的進一步落地普及、以及加速未來 AGI 時代的更快到來,叢集的作用似乎已經無可取代,對於企業依託大模型的智慧化轉型也至關重要。

顯然,百度早在 2021 年就意識到了這一點,透過全方位佈局百舸 AI 異構計算平臺來建設大模型時代的 AI 基礎設施,並在算力、通訊、能效等方面的持續最佳化中構築起更堅實的 AI 生態發展基石。

百舸 4.0 的全新發布,既有助於增強百度 AI 基礎設施的可持續性與領先性,還會為客戶在業務場景中落地大模型應用盡可能地降本增效,更對大模型引領的 AIGC 爆發以及 AI 普惠鋪平道路。

未來,隨著叢集規模的繼續擴大,還會出現更復雜的軟硬體協同、算力排程等問題,這些都需要透過持續的技術突破來一一克服。面對挑戰更大的算力之爭,百舸已經做好了準備。

相關文章