
在過去兩年中,生成式 AI 模型不僅在普及度上呈現爆發式增長,其規模也在急劇擴大,這需要越來越多的加速器來支持。
在機器學習沒有重大突破且電力成為限制因素的情況下,AI 的持續發展可能最終將依賴於一種新型超級電腦,這種電腦可能橫跨整個國家甚至跨越大洲。
這個想法相當直接:如果建造更大的數據中心不再可行,那就開始將現有的數據中心連接起來。
這似乎確實是行業發展的方向。Dell'Oro 分析師 Sameh Boujelbene 告訴 The Register:"分布式是不可避免的。"
她並不是唯一持這種觀點的人。Nvidia Mellanox 網路營銷高級副總裁 Gilad Shainer 認為,"在下一代中,你將看到實際構建這些遠程數據中心並形成一個大型虛擬單一數據中心的能力。"
在高性能計算領域,將大型工作負載分布在多台機器上並不是什麼新鮮事。這本質上就是現代每台超級電腦(無論是 AI 還是科學計算)的工作方式,使用 Nvidia 的 InfiniBand 或 HPE 的 Slingshot 等高速互連來連接數千個節點。
從許多方面來看,跨多個數據中心分配工作負載是現有模式的延伸,儘管需要克服其獨特的挑戰。
好消息是,至少在某種程度上,連接數據中心所需的基礎設施已經存在。高速數據中心互連 (DCI) 並不新鮮,主要雲服務提供商已廣泛使用。
對於更傳統的科學工作負載,Nvidia(此前是 Mellanox)提供了 MetroX 產品線,該產品線使用密集波分復用技術,可以在最遠 40 公里的範圍內橋接多個數據中心的 InfiniBand 計算架構。
不幸的是,這些設備的最新一代產品是在 2022 年底發布的,就在 ChatGPT 引發 AI 淘金熱的幾周前。因此,它更多地針對災難恢復和高可用性進行調優,而不是針對聊天機器人發布以來激增的大規模 AI 訓練。
據 Shainer 稱,研究人員已經在著手將這一範圍從數十公里擴展到數千公里,這無疑將通過讓不同地區的數據中心協同工作來幫助解決電力挑戰。
然而,AI 工作負載的性質和所涉及的巨大距離帶來了其獨特的挑戰。
平衡延遲和帶寬
一般來說,AI 工作負載需要高帶寬且對延遲敏感。在數據中心內部,主要挑戰在於數據包丟失或連接停滯,導致計算資源在等待數據重傳時處於空閒狀態。根據 AMD 的數據,平均 30% 的訓練時間都在等待網路趕上進度。
為了克服這些限制,已經開發了多種技術。Nvidia 的 InfiniBand 是其中之一,但專門的數據處理單元和針對 AI 優化的交換機也已經出現,以解決使用以太網時的這些挑戰。
在談到數據中心間的網路時,延遲是無法避免的現實。光在光纖中傳播的速度是有限的——大約每公里 4.9 微秒。這已經相當快了,但在 1,000 公里的距離上,往返時間接近 10 毫秒,這還不包括協議和處理開銷。在這種跨度上,重傳問題更為嚴重。
根據所涉及的帶寬和距離,可能需要中繼器和放大器來增強信號,這可能會加劇問題。然而,光學設備供應商 Ciena 的研究網路首席技術專家 Rodney Wilson 告訴 El Reg,一些新興技術可能有助於解決這個問題。
其中之一是中空光纖,它應該通過減少所需的中繼器數量來幫助降低延遲。中空光纖的缺點是它仍然相對較新,而且地下已經鋪設了大量的暗光纖。
延遲並不是唯一的問題;帶寬是另一個問題。在數據中心內部,用於連接 GPU 伺服器的擴展網路通常具有八個 400Gbps 鏈路(每個 GPU 一個),總帶寬為 3.2 Tbps。如果你試圖通過 DCI 擴展這個網路,將需要多個 Pb 的總帶寬。
Wilson 表示,現代運營商網路中使用的光學技術現在支持每波長高達 1.6Tbps 的帶寬。加上多個波長,這需要相當大的光纖束。
好消息是,通過軟體優化可以緩解許多這些延遲和帶寬挑戰,Shainer 認為。根據如何在數據中心之間分配工作負載,可以隱藏延遲並最小化所需帶寬。
例如,如果你想在兩個物理上分散的集群上運行訓練工作負載,你會希望以這樣的方式分配工作負載:計算在數據中心內完成,只在合併結果時通過數據中心互連發送數據。
"運行作業的方式決定了數據中心之間需要多少帶寬,"他補充說。"可能是總帶寬的 10%......這取決於你如何構建網路。"
現實問題
雖然概念相對簡單,但多數據中心訓練也面臨著需要克服的諸多障礙。
理想情況下,Shainer 解釋說,你需要數據中心是同質的——也就是說,它們應該使用相同的計算架構——以避免瓶頸。
Nvidia 已經通過其 DGX 和 SuperPod 參考設計為此做好了準備。理論上,這些應該幫助數據中心運營商避免處理不平衡計算架構的麻煩。
然而,如果維護多個相同模式的數據中心不切實際,而你不得不讓舊一代計算與新一代協同工作,Shainer 指出這仍然可行;只是效率可能不會那麼高。"最舊的一代將決定最新一代的性能。"
可能不會只有兩個數據中心共同承擔工作負載。為了冗餘和路由多樣性,可能需要將多個數據中心互連成網狀網路。
Wilson 解釋說,這是因為在這些長距離上,流量將可能流經運營商網路,而這些網路可能會被各種現象干擾。
"我會考慮一個智能網狀基礎設施,提供多個路徑,然後是一個軟體覆蓋層,提供一種自適應網路來控制這些流量,"他解釋道。
理想情況下,Wilson 補充說,網路應該由機器或應用程序主動調整,而不是依賴於被動路由。"當網路出現問題時,如果是流量限制或其他損害,它必須具有足夠的適應性來自我檢測、自我修復和相應地重新路由或重新平衡。"
時間問題
跨多個數據中心分配 AI 工作負載可能是不可避免的;問題在於什麼時候會變得必要。
雖然電力限制了可以塞進數據中心的 GPU 數量,但這並不一定限制可以訓練的模型規模,只是影響訓練速度。假設你還沒有受到內存限制,你可以用數萬個 GPU 訓練一個巨大的模型;只是會花更長時間。
這似乎是這些超級集群的自然瓶頸。然而,隨著集群規模的增長,它們也變得更加問題重重。在really大型集群中,平均故障時間 (MTTF) 可能相當短,導致集群越大,中斷越多。
在訓練 Llama 405B 時,Meta 每三個小時就會遇到一次故障,其中超過四分之三與硬體問題有關,58% 直接歸因於 GPU 問題。
因此,隨著集群規模的增長,完成任務的速度越快越好,因為這可以最小化下一個檢查點之前發生故障的可能性。
不幸的是,隨著 AI 模型每年增長 4-5 倍,而 GPU 需要更多的功率來實現代際性能提升,這些系統超出單個數據中心的限制似乎只是時間問題。