GPU 網(wǎng)絡(luò)通信基礎(chǔ),Part 3(LLM 訓(xùn)練過程的網(wǎng)絡(luò)通信;InfiniBand 真的是“封閉”技術(shù)嗎?)
本文將解析低延遲與低抖動如何主導(dǎo)分布式訓(xùn)練的迭代效率,指出現(xiàn)有傳統(tǒng)以太網(wǎng)技術(shù)的局限性,并闡釋 InfiniBand 為何能成為高性能計(jì)算鎖步工作負(fù)載的默認(rèn)網(wǎng)絡(luò)架構(gòu)。
我們還將厘清一些常見的認(rèn)知誤區(qū)(別擔(dān)心,我在撰寫本文前也曾存在這些誤解?。?。例如:Mellanox 并非 InfiniBand 技術(shù)的發(fā)明者,InfiniBand 也并非私有協(xié)議,而是由行業(yè)聯(lián)盟制定的開放標(biāo)準(zhǔn)。從 Mellanox 到 Nvidia,長期通過 RoCE 及其演進(jìn)技術(shù)支持以太網(wǎng)橫向擴(kuò)展。文中還將明確定義網(wǎng)絡(luò)技術(shù)中“開放”的真實(shí)含義。當(dāng)然,精彩內(nèi)容不止于此!
AI 通信網(wǎng)絡(luò)的特殊性
那么 AI 工作負(fù)載對通信網(wǎng)絡(luò)究竟有何需求?
注:本文討論的 AI 訓(xùn)練特指推動生成式 AI 熱潮的大語言模型及其變體的訓(xùn)練。
本質(zhì)上,大語言模型的訓(xùn)練是一個分布式計(jì)算任務(wù) —— 成千上萬臺機(jī)器協(xié)同解決單一問題。
分布式計(jì)算并非新概念。還記得曾利用志愿者電腦運(yùn)行蛋白質(zhì)模擬的 Folding@Home 嗎?
Vijay Pande:早在 2000 年我們就萌生了借助海量計(jì)算機(jī)解決問題的構(gòu)想 —— 與其用一臺電腦耗時百萬天,不如用十萬臺電腦在十天內(nèi)完成。但當(dāng)時面臨一個關(guān)鍵的抉擇:是止步于理論探討,還是付諸實(shí)踐?于是我們決定創(chuàng)建 Folding@Home,將理論轉(zhuǎn)化為現(xiàn)實(shí)。2000 年夏天我們編寫了軟件的初始版本,于同年 10 月正式發(fā)布。幸運(yùn)的是當(dāng)時吸引了大量關(guān)注者 —— 所謂“大量”指的是約五千至一萬人。八年后,該項(xiàng)目已發(fā)展到擁有近 25 萬個活躍處理器,累計(jì)參與設(shè)備超 200 萬臺。
如今的 AI 算力集群同樣規(guī)模驚人。訓(xùn)練尖端模型可能需要數(shù)十萬個 GPU 協(xié)同工作:每個 GPU 處理部分計(jì)算任務(wù)后,需與同伴交換結(jié)果。正是這種結(jié)果共享環(huán)節(jié),讓網(wǎng)絡(luò)性能成為關(guān)鍵支撐……或瓶頸所在!
作為習(xí)慣看圖理解知識內(nèi)容的人,我將通過示意圖展示 LLM 訓(xùn)練過程中驚人的網(wǎng)絡(luò)通信量。為控制篇幅(畢竟沒法花太多時間繪圖),僅以簡易圖示說明,但您可由此推想數(shù)十萬臺設(shè)備互聯(lián)的場景。
梯度下降與網(wǎng)絡(luò)通信
假設(shè)我們在四個 GPU 上訓(xùn)練一個大語言模型,每個 GPU 都在內(nèi)存中保存著完整的模型權(quán)重。這一假設(shè)雖然經(jīng)過簡化,但仍有教學(xué)意義。
宏觀來看,AI 的訓(xùn)練過程本質(zhì)就是幾個步驟的重復(fù)循環(huán)。
前向傳播 – 每個 GPU 處理一部分訓(xùn)練樣本,根據(jù)上文預(yù)測下一個詞元。比如“Four score ___”可能會預(yù)測出“and”。
反向傳播 – 每個 GPU 計(jì)算梯度,這些信號指示了應(yīng)該如何調(diào)整權(quán)重來減少誤差。例如剛才預(yù)測“and”是正確的,那這部分就不需要調(diào)整。
梯度聚合(全規(guī)約) – 在每個 GPU 計(jì)算出自己的調(diào)整量(梯度)之后,它們會互相比較并取平均值,確保所有 GPU 獲得統(tǒng)一的模型更新指令。這一過程需要 GPU 之間進(jìn)行大量的雙向通信!
權(quán)重更新 – 所有 GPU 應(yīng)用相同的更新指令調(diào)整權(quán)重,保持模型的一致性。如果沒有這種同步,每個 GPU 都會自行其是,最終訓(xùn)練出不同的模型。
若想深入了解,3Blue1Brown 有一個出色的梯度下降講解視頻[1]。
這是我制作的一個示意圖,讓大家先有個直觀感受。全規(guī)約是分布式訓(xùn)練的核心。每個 GPU 都必須完成計(jì)算、貢獻(xiàn)自己的梯度,然后等待聚合結(jié)果,之后才能繼續(xù)前進(jìn)。
每條線代表兩個 GPU/XPU 之間的某種網(wǎng)絡(luò)通信
如果有某一個 GPU 產(chǎn)生延遲了,其他所有 GPU 都必須停下來等待。
想象一下步驟 1 中所有黃色的 GPU 在不同時間點(diǎn)收到各自的輸入,它們將不得不空轉(zhuǎn),直到每個輸入都接收完畢。
這就是為什么在 AI 通信網(wǎng)絡(luò)中延遲和抖動如此讓人重視。
延遲是數(shù)據(jù)包在網(wǎng)絡(luò)中傳輸?shù)膯蜗驎r間,包括傳輸、交換和排隊(duì)延遲。在這個只有四個 GPU 的例子中,很難想象會有延遲……但在大規(guī)模場景下,當(dāng)數(shù)千個 GPU 通過一兩層交換機(jī)連接時,擁堵就會發(fā)生,延遲也會累積。AI 訓(xùn)練需要盡可能低的延遲。
抖動是指延遲的波動性??梢园阉胂蟪缮厦?GPU 的接收結(jié)果的到達(dá)時間分布。即使平均延遲非常低,這種波動性也會導(dǎo)致結(jié)果到達(dá)時間的不確定性。AI 訓(xùn)練需要非常低的抖動。
假設(shè)一個包含 10,000 個 GPU 的集群完成一次全規(guī)約操作需要 40-45 微秒,但唯獨(dú)有一個掉隊(duì)者花了 60 微秒。這可不妙!每個 GPU 都不得不額外等待那 20 微秒。9999 個 GPU 各自多等 20 微秒,加起來就是 0.2 秒的 GPU 時間!對于如此龐大的集群來說,由于網(wǎng)絡(luò)性能不佳導(dǎo)致 GPU 空轉(zhuǎn)損耗,這可能意味著真金白銀的損失。??
因此,確定性的、低抖動的通信對于保持 GPU 快速且步調(diào)一致地前進(jìn)至關(guān)重要。
那么,傳統(tǒng)的網(wǎng)絡(luò)技術(shù)能否滿足要求,為 AI 訓(xùn)練提供確定性的、低抖動的通信呢?
答案當(dāng)然是不能 ?? 所以就有了 InfiniBand,所以就有了為 AI 重新設(shè)計(jì)以太網(wǎng)的事情,比如 Spectrum-X……我下面會解釋。
我猜想讀到這里的大部分讀者并非網(wǎng)絡(luò)通信專家,所以我們快速梳理一下常見的網(wǎng)絡(luò)應(yīng)用場景,看看為什么傳統(tǒng)以太網(wǎng)不是為這種需求設(shè)計(jì)的。
2.1 通用的企業(yè)網(wǎng)絡(luò)場景
我們從最簡單的場景說起。
閱讀以下這個演示樣例時,請始終思考一個問題:這種網(wǎng)絡(luò)技術(shù)能否以低延遲和低抖動支持大規(guī)模的 AI 訓(xùn)練?
大多數(shù)傳統(tǒng)網(wǎng)絡(luò)系統(tǒng)誕生時,分布式 AI 訓(xùn)練尚未興起,其設(shè)計(jì)理念源于截然不同的應(yīng)用場景。將企業(yè)交換機(jī)直接用于 AI 數(shù)據(jù)中心并非易事。
首先來看企業(yè)網(wǎng)絡(luò)場景。
企業(yè)網(wǎng)絡(luò)中有多臺服務(wù)器,每臺服務(wù)器運(yùn)行多個虛擬機(jī)處理不同的工作負(fù)載
企業(yè)網(wǎng)絡(luò)需同時運(yùn)行多種業(yè)務(wù)應(yīng)用:如郵件服務(wù)器、數(shù)據(jù)庫、ERP、CRM、分析工具等。這些工作負(fù)載通常運(yùn)行在搭載多個虛擬機(jī)的高性能多核服務(wù)器上,每個虛擬機(jī)隔離執(zhí)行獨(dú)立任務(wù)。
這些工作負(fù)載常在數(shù)據(jù)中心內(nèi)部相互通信,產(chǎn)生東西向流量,例如分析工具從數(shù)據(jù)庫拉取數(shù)據(jù)。
分析工具與數(shù)據(jù)庫間的“東西向”通信
此類場景默認(rèn)采用以太網(wǎng)作為基礎(chǔ)架構(gòu)。
整個系統(tǒng)圍繞企業(yè)需求設(shè)計(jì)。因此交換機(jī)側(cè)重于提供安全功能(如隔離人力資源系統(tǒng)與開發(fā)環(huán)境)和流量管理(如在大型文件傳輸時保障視頻通話流暢)。
這類網(wǎng)絡(luò)多采用博通的 Trident 系列芯片。例如相關(guān)視頻[2]展示了基于 Trident 4 芯片的交換機(jī)的監(jiān)控功能,雖視頻稍舊,但仍具參考價值。
企業(yè)網(wǎng)絡(luò)能否滿足 AI 訓(xùn)練的需求?答案是否定的。其設(shè)計(jì)目標(biāo)本就不包含超低延遲與抖動!
企業(yè)級交換機(jī)強(qiáng)調(diào)功能性與靈活性,而非確定性。普通業(yè)務(wù)場景可接受一定的延遲與抖動,因?yàn)楣ぷ髫?fù)載相互獨(dú)立。數(shù)據(jù)庫查詢或郵件傳輸中的數(shù)據(jù)包延遲不會阻塞其他應(yīng)用。
這些網(wǎng)絡(luò)生來就不是為大規(guī)模 AI 訓(xùn)練所需的鎖步式、低抖動通信而構(gòu)建的。
2.2 超大規(guī)模云網(wǎng)絡(luò)
更接近了一些……
超大規(guī)模數(shù)據(jù)中心專為將單一服務(wù)擴(kuò)展至數(shù)百萬乃至數(shù)十億用戶而構(gòu)建,例如 Gmail、YouTube、Netflix 或亞馬遜電商。成千上萬臺服務(wù)器各司其職,共同構(gòu)成一個龐大的分布式系統(tǒng)。
image.png
以太網(wǎng)仍是默認(rèn)的基礎(chǔ)架構(gòu)。
在此規(guī)模下,成本與能效是需要首要考量的因素。交換機(jī)的設(shè)計(jì)追求高端口密度和高帶寬,以極低功耗傳輸海量數(shù)據(jù)。
博通 Tomahawk 系列便是典型代表。相關(guān)視頻[3]介紹了上一代 Tomahawk 4 芯片,并將其與 Trident、Jericho 系列進(jìn)行對比(建議觀看 1:50 至 2:50 部分)。
這類網(wǎng)絡(luò)能否勝任 AI 訓(xùn)練?
超大規(guī)模云網(wǎng)絡(luò)以保持服務(wù)響應(yīng)速度為目標(biāo),注重降低平均延遲,但無需保證確定性。
網(wǎng)絡(luò)波動(抖動)在可接受范圍內(nèi)。慢查詢可重試,數(shù)據(jù)副本確保了系統(tǒng)韌性。
就此而言,超大規(guī)模網(wǎng)絡(luò)架構(gòu)因已具備協(xié)調(diào)大型分布式系統(tǒng)的能力,相比企業(yè)網(wǎng)絡(luò)更接近 AI 訓(xùn)練需求。但它們?nèi)詿o法滿足 LLM 訓(xùn)練的要求 —— 后者需要成千上萬的 GPU 在每次迭代中保持嚴(yán)格同步。
2.3 超級計(jì)算機(jī)(高性能計(jì)算)
近期“超級計(jì)算機(jī)”一詞熱度攀升,諸如“丹麥的 AI 超算”或“桌面級 AI 超算”的報(bào)道頻現(xiàn)。
當(dāng)然,超級計(jì)算機(jī)或高性能計(jì)算集群的概念早已有之。每每提到“超級計(jì)算機(jī)”,我總會想到克雷公司的傳奇設(shè)備。
組裝完成的克雷超級計(jì)算機(jī)外觀(紅色圓柱體)。Source[4]
拆除面板后的內(nèi)部結(jié)構(gòu)如下:
印刷電路板間密布的連接線纜...這正是某種形式的網(wǎng)絡(luò)!
這張照片讓我聯(lián)想到現(xiàn)代 AI 超級計(jì)算機(jī)的結(jié)構(gòu):
埃隆公布的 Colossus 2 機(jī)房照片。Source[5]
順帶一提,埃隆的這張照片揭示了為大規(guī)模 AI 訓(xùn)練和推理設(shè)計(jì)的網(wǎng)絡(luò)基礎(chǔ)設(shè)施為何如此熱門。
紫色線纜代表 CRDO。你可以想象連接數(shù)十萬 GPU 需要多少 Credo 有源電纜[6]!
Colossus 還搭載大量 Nvidia Spectrum-X 交換機(jī)和 Nvidia SuperNIC[7]。這正是英偉達(dá)網(wǎng)絡(luò)業(yè)務(wù)版圖擴(kuò)張的縮影。
回歸正題。
超級計(jì)算機(jī)由大量處理器構(gòu)成,每個處理器能同步處理海量數(shù)據(jù)(單指令多數(shù)據(jù)[8]),適用于核科學(xué)模擬與氣象預(yù)報(bào)等科學(xué)計(jì)算。維基百科“TOP 500[9]”超級計(jì)算機(jī)榜單收錄了豐富的發(fā)展史料。
與企業(yè)級網(wǎng)絡(luò)環(huán)境或超大規(guī)模網(wǎng)絡(luò)環(huán)境不同,高性能計(jì)算(HPC)任務(wù)是橫跨數(shù)千服務(wù)器的單一工作負(fù)載。一個模擬任務(wù)可能調(diào)度數(shù)萬 CPU 或 GPU 節(jié)點(diǎn),每個節(jié)點(diǎn)承擔(dān)部分計(jì)算任務(wù)。
是否似曾相識?這完全契合 AI 訓(xùn)練的運(yùn)行模式!
與 AI 工作負(fù)載類似,HPC 需要節(jié)點(diǎn)間持續(xù)通信來保持全局同步。因此,HPC 網(wǎng)絡(luò)專為超低延遲和近乎零抖動而設(shè)計(jì)。任一節(jié)點(diǎn)產(chǎn)生延遲將導(dǎo)致整個模擬任務(wù)停滯 —— 這與 LLM 訓(xùn)練過程面臨的挑戰(zhàn)完全一致!
事實(shí)上......InfiniBand 這類技術(shù)正是為 HPC 環(huán)境量身定制的。
面向 AI 工作負(fù)載的 InfiniBand
自誕生之初,InfiniBand 就瞄準(zhǔn)了需要數(shù)千處理器鎖步運(yùn)行的分布式計(jì)算場景。
其設(shè)計(jì)特性堪稱 AI 網(wǎng)絡(luò)的理想清單(本文暫不深入技術(shù)細(xì)節(jié),后續(xù)另文探討,此處概述要點(diǎn)):
- 遠(yuǎn)程直接內(nèi)存訪問(RDMA):允許 GPU(與 CPU)直接讀寫對方內(nèi)存,繞過 CPU 與系統(tǒng)內(nèi)存,消除了緩沖區(qū)之間復(fù)制數(shù)據(jù)與上下文切換的性能開銷。
- 無損轉(zhuǎn)發(fā):InfiniBand 采用基于信用的流量控制機(jī)制避免數(shù)據(jù)包丟棄,從設(shè)計(jì)上保障零丟包,從而消除抖動與代價高昂的重傳。
- 直通交換(Cut-through switching):InfiniBand 交換機(jī)在收到數(shù)據(jù)包頭時立即開始轉(zhuǎn)發(fā),無需等待完整幀到達(dá),最大限度降低每跳延遲。
- OS bypass 與 Transport Offload:InfiniBand 網(wǎng)卡將傳輸功能(如可靠傳輸、擁塞控制)從 CPU 卸載,應(yīng)用程序可繞過操作系統(tǒng)內(nèi)核直接向網(wǎng)卡提交任務(wù)。這大大減少了軟件開銷與延遲。
正因如此,InfiniBand 非常適合 AI 訓(xùn)練。它本就是為低延遲、低抖動的分布式計(jì)算工作負(fù)載而生。
但眾所周知,英偉達(dá)并非 InfiniBand 的發(fā)明者。
啊不錯!若您聽過《Acquired》播客的英偉達(dá)專題便知,沒錯,Mellanox 堪稱史上最成功的收購案例之一。
但您是否知道... Mellanox 也非 InfiniBand 的發(fā)明者!
是的!說實(shí)話我曾以為 Mellanox 創(chuàng)造了 InfiniBand。畢竟現(xiàn)在 InfiniBand 是私有技術(shù)。
但我最近才了解到... InfiniBand 并非私有協(xié)議。
但如今只能從英偉達(dá)購買 InfiniBand 交換機(jī)和線纜了,對吧?這不算私有嗎?
好吧,這里需要厘清很多概念。單一的供應(yīng)商并不意味著技術(shù)私有化。我們稍后會詳解。
在本文的調(diào)研過程中,我對 InfiniBand 有了全新認(rèn)知。若您也曾存在類似誤解,實(shí)屬正常 —— 畢竟我們曾站在同樣的信息盲區(qū)。
3.1 開放與封閉
在 2001 年 IEEE 國際集群計(jì)算會議的特邀論文《Aspects of the InfiniBand Architecture》[10]中,IBM 的 Gregory F. Pfister 寫道:
“InfiniBand 架構(gòu)(IBA)是一種用于服務(wù)器 I/O 和服務(wù)器間通信的新行業(yè)標(biāo)準(zhǔn)架構(gòu)。它由 InfiniBand 貿(mào)易協(xié)會(IBTA)制定,旨在為當(dāng)前及未來的服務(wù)器系統(tǒng)提供所需的可靠性、可用性、性能與擴(kuò)展性保障 —— 這些特性遠(yuǎn)非面向總線的 I/O 結(jié)構(gòu)所能企及。”
行業(yè)標(biāo)準(zhǔn)?由行業(yè)協(xié)會制定?
看來 Mellanox 確實(shí)不是 InfiniBand 的發(fā)明者!
繼續(xù)往下看。
“IBTA 由 180 余家企業(yè)在 1999 年 8 月聯(lián)合創(chuàng)立,目的是共同開發(fā) IBA。該協(xié)會也向高校、研究實(shí)驗(yàn)室等機(jī)構(gòu)開放。指導(dǎo)委員會成員來自戴爾、康柏、惠普、IBM、英特爾、微軟和太陽微系統(tǒng),由 IBM 與英特爾共同擔(dān)任主席。贊助企業(yè)包括 3Com、思科系統(tǒng)、富士通-西門子、日立、Adaptec、朗訊科技、NEC 和北電網(wǎng)絡(luò)?!?/p>
原來有這么多企業(yè)參與其中!
“來自 IBTA 成員企業(yè)的約 100 名專家歷時 14 個月共同定義和描述了 IBA......它應(yīng)當(dāng)為技術(shù)創(chuàng)新與廠商差異化提供充分的空間?!?/p>
顯然,InfiniBand 的起源與“私有”毫不相干。它誕生于 90 年代末計(jì)算與網(wǎng)絡(luò)巨頭組成的開放標(biāo)準(zhǔn)委員會。
這個行業(yè)協(xié)會是如何起步的?根據(jù) 2006 年《NetworkWorld》中的一篇文章[11]:
“有些讀者可能還記得 90 年代康柏、惠普和 IBM 共同推動的 Future I/O 高速串行連接技術(shù)。或許也有人對英特爾、微軟和太陽微系統(tǒng)聯(lián)合推出的一項(xiàng)競爭技術(shù)【Next Generation I/O (NGIO)】留有印象?!?/p>
“最終兩大陣營合并力量,共同開發(fā)被普遍視為下一代服務(wù)器與存儲連接技術(shù)的 InfiniBand?!?/p>
“最初這項(xiàng)合作成果被稱為 System I/O,但這個名字未能持續(xù)多久。如今我們稱其為 InfiniBand。”
兩個相互競爭的開放標(biāo)準(zhǔn)計(jì)劃合并為一個,也就是我們現(xiàn)在所知的 InfiniBand。
事實(shí)上,InfiniBand 這種協(xié)作、開放的基礎(chǔ),與當(dāng)下超以太網(wǎng)聯(lián)盟(UEC)[12]的發(fā)展如出一轍。UEC 在 2023 年成立時宣稱[13]:
“今日宣布成立的超以太網(wǎng)聯(lián)盟正在匯聚行業(yè)領(lǐng)軍企業(yè),共同構(gòu)建一個完整的基于以太網(wǎng)的高性能網(wǎng)絡(luò)通信棧架構(gòu)。人工智能(AI)與高性能計(jì)算(HPC)工作負(fù)載正在迅速發(fā)展,它們既需要頂尖的功能性、互操作性、性能表現(xiàn)及較低的總體擁有成本,同時又不能犧牲開發(fā)者友好性與終端用戶體驗(yàn)。超以太網(wǎng)解決方案將利用以太網(wǎng)的普遍性與靈活性來處理各種工作負(fù)載,同時兼具可擴(kuò)展性和成本效益?!?/p>
“超以太網(wǎng)聯(lián)盟由在高性能解決方案領(lǐng)域擁有深厚積淀的企業(yè)共同創(chuàng)立。各成員正以平等的方式為更廣泛的高性能生態(tài)系統(tǒng)做出重要貢獻(xiàn)。創(chuàng)始成員包括 AMD、Arista、博通、思科、Eviden(Atos 旗下業(yè)務(wù))、HPE、英特爾、Meta 和微軟,這些企業(yè)在網(wǎng)絡(luò)、人工智能、云與大規(guī)模高性能計(jì)算部署領(lǐng)域擁有數(shù)十年經(jīng)驗(yàn)?!?/p>
兩者何其相似!都是主要計(jì)算與網(wǎng)絡(luò)廠商聯(lián)合為分布式工作負(fù)載設(shè)計(jì)高性能架構(gòu)。
因此將 InfiniBand 定性為“封閉”,而將 UEC 定性為“開放”并不準(zhǔn)確。二者最初都是由行業(yè)聯(lián)盟起草的開放規(guī)范,任何人都可參照實(shí)施。
理論上,任何企業(yè)都可以基于 InfiniBand 規(guī)范開發(fā) IB 交換機(jī)和網(wǎng)卡與英偉達(dá)競爭。
技術(shù)規(guī)范是公開可用的。這已經(jīng)是最大程度的開放了。
誠然,創(chuàng)辦一家 InfiniBand 初創(chuàng)公司可能不是最佳商業(yè)決策,但這完全是可能做到的。
我認(rèn)為困惑源于此:雖然英偉達(dá)是目前唯一大規(guī)模供應(yīng) IB 設(shè)備的廠商,但這是市場選擇的結(jié)果,而非規(guī)范限制。
準(zhǔn)確來說,AI 網(wǎng)絡(luò)領(lǐng)域的“開放”,指的是規(guī)范制定過程的可參與性和可實(shí)現(xiàn)性,而非現(xiàn)有供應(yīng)商的數(shù)量。
那么什么是封閉的規(guī)范?
如果某公司編寫僅供內(nèi)部使用的保密產(chǎn)品需求文檔,這屬于封閉。若員工離職攜帶該文檔至競爭對手,即使新設(shè)計(jì)存在差異,也構(gòu)成商業(yè)秘密侵權(quán)。這才是封閉。
顯然超以太網(wǎng)擁有開放的規(guī)范。UEC 1.0 規(guī)范可免費(fèi)查閱[14]。任何企業(yè)都可參照該產(chǎn)品需求文檔(PRD)開發(fā)解決方案。Astera Labs 正在這樣做[15]。
但你猜怎么著!InfiniBand 同樣擁有開放的規(guī)范。雖然需要支付 5000 至 10000 美元成為 IBTA 會員才能查閱(并非免費(fèi)),但這不意味著“封閉”。
實(shí)際上,威斯康星大學(xué)圖書館館藏有 InfiniBand 1.0 規(guī)范的兩卷本書籍,讀者可通過館際互借借閱。我剛查詢發(fā)現(xiàn)愛荷華州立大學(xué)圖書館的書架上就有一本。
可見,獲取其規(guī)范或許需要借書證或協(xié)會會費(fèi),但該規(guī)范本身并非封閉。它不屬于任何單一企業(yè)的私有財(cái)產(chǎn)。
我先前認(rèn)為 InfiniBand “封閉”的認(rèn)知是錯誤的!
3.2 InfiniBand 的淵源
最初的 InfiniBand 聯(lián)盟引入了許多對當(dāng)今 AI 訓(xùn)練工作負(fù)載來說非常重要的技術(shù)。
那么,它最終是如何與 Mellanox 聯(lián)系起來的呢?
Ted Kim 博士 2004 年的一篇博客文章[16]提供了第一手的資料。Ted[17] 在太陽微電子任職期間,曾參與了 InfiniBand 1.0 規(guī)范的撰寫。
Ted 回憶道,互聯(lián)網(wǎng)泡沫破滅和英特爾轉(zhuǎn)向 PCI Express,引發(fā)了 InfiniBand 的衰落:
有一段時間,InfiniBand 非常熱門。關(guān)注度不斷上升,涌現(xiàn)出大量初創(chuàng)公司,人人都在宣傳自己的 IB 路線圖。隨后泡沫破裂了。這不僅僅是 IB 的問題 —— 而是整個互聯(lián)網(wǎng)泡沫的破滅、股市調(diào)整、企業(yè) IT 支出趨于謹(jǐn)慎、經(jīng)濟(jì)衰退、9·11 事件等等共同作用的結(jié)果。最終,沒人愿意采納或投資這樣一項(xiàng)影響深遠(yuǎn)的技術(shù)變革。于是,新一輪的懷疑情緒開始蔓延。
然后另一個打擊接踵而至。英特爾決定停止 IB 芯片開發(fā),盡管他們?nèi)栽谕茝V這項(xiàng)技術(shù)。他們?yōu)槭裁匆@么做?我只能在此猜測。他們最初的開發(fā)基于 1x 鏈路(譯者注:指的是單通道鏈路,即由一個信號通道組成的物理連接。),但這一選擇似乎偏離了市場(4x 成為了最受歡迎的規(guī)格)。英特爾也難以擺脫研發(fā)上的財(cái)政壓力,因此需要將資源轉(zhuǎn)向 PCI Express 的開發(fā)。此外,他們可能也對 IB 市場接受度不佳的狀況做出了反應(yīng)。無論如何,英特爾的退出讓許多人認(rèn)為 IB 市場規(guī)模有限。這也導(dǎo)致一大批供應(yīng)商延遲擴(kuò)張或收縮了他們的 IB 路線圖。微軟離開了 IBTA,轉(zhuǎn)而投向 RDMAC。初創(chuàng)公司或合并或失敗。殘酷的現(xiàn)實(shí)擺在眼前。在 SIGCOMM 2003 會議上有人問我:"InfiniBand 是不是已經(jīng)死了?"
看來 InfiniBand 當(dāng)時幾乎夭折!Ted 繼續(xù)寫道。
時至今日。在經(jīng)歷漫長的低落和絕望之后,IB 似乎正在特定市場卷土重來……
Mellanox 是那些堅(jiān)持下來的初創(chuàng)公司之一,即使在互聯(lián)網(wǎng)泡沫破裂后的黑暗時期,也持續(xù)為 HPC 領(lǐng)域開發(fā) InfiniBand。
順帶一提,如果您正在尋覓網(wǎng)絡(luò)專家,Ted 似乎最近結(jié)束了在 SambaNova 的工作,根據(jù)其 LinkedIn 信息[17],他正在尋找工作機(jī)會。
在過去的十年里,InfiniBand 已成為 HPC 工作負(fù)載的黃金標(biāo)準(zhǔn),這一點(diǎn)可從世界大多數(shù)頂級超級計(jì)算機(jī)(位列 TOP500 超級計(jì)算機(jī)榜單[18]中的那些)都采用它得到印證。
面向 HPC/AI 的以太網(wǎng)
正如你所料,直到最近,都鮮有超級計(jì)算機(jī)在 HPC 網(wǎng)絡(luò)采用以太網(wǎng)。
然而,由于 Ethernet 的無處不在,從 InfiniBand 誕生之初,就一直有人在問:“為什么不能直接用以太網(wǎng)?”
那篇 2001 年的 IBM 論文中寫道:
“人們經(jīng)常問及 InfiniBand 架構(gòu)的一個問題是:‘我們?yōu)楹涡枰硪环N網(wǎng)絡(luò)架構(gòu)?為何不使用以太網(wǎng)和 IP?’”
正如我們之前討論過的,以太網(wǎng)最初并非為高性能分布式計(jì)算工作負(fù)載設(shè)計(jì)。
直到 RoCE(RDMA over Converged Ethernet)問世才改變這一局面。妙極了,一個縮寫詞(RDMA)嵌套在另一個縮寫詞(RoCE)里,哈哈。
RoCE 成功將 InfiniBand 的“verbs”引入以太網(wǎng)世界。這些“verbs”是軟件可調(diào)用的 RDMA 基本操作,包括 read(直接從對端內(nèi)存拉取數(shù)據(jù))、write(直接向?qū)Χ藘?nèi)存寫入數(shù)據(jù))以及 send/receive(消息式通信)。它們允許 GPU 在彼此內(nèi)存之間傳輸數(shù)據(jù),而無需 CPU 介入。
而且,請注意下面這句話:
Mellanox 協(xié)助編寫了 RoCE 規(guī)范,且 InfiniBand 貿(mào)易協(xié)會還在大力推廣它!
等等,我原以為故事是這樣的:
- Mellanox 被 Nvidia 收購了
- Nvidia 只關(guān)心“私有”的 InfiniBand/NVLink
- Nvidia 通過捆綁銷售強(qiáng)迫客戶購買 InfiniBand/NVLink
事實(shí)恰恰相反,Nvidia 內(nèi)部那些出身 Mellanox 的網(wǎng)絡(luò)團(tuán)隊(duì),長期以來一直是以太網(wǎng)用于分布式計(jì)算的堅(jiān)定支持者。
2009 年《HPCWire》一篇題為《An Ethernet Protocol for InfiniBand》[19]的文章指出:
“無損以太網(wǎng)進(jìn)入數(shù)據(jù)中心是大勢所趨...但由于其技術(shù)原理趨近 InfiniBand,Voltaire 和 Mellanox 等廠商正借此進(jìn)軍以太網(wǎng)領(lǐng)域?!覀儾粫煺娴卣J(rèn)為全世界都將轉(zhuǎn)向 InfiniBand,’Mellanox 營銷副總裁 John Monson 表示...”
‘我們堅(jiān)信業(yè)界已有經(jīng)過驗(yàn)證且廣泛應(yīng)用的 RDMA 傳輸機(jī)制,’Monson 斷言,‘它就是 InfiniBand?!?/p>
他指出,如若你的目標(biāo)是實(shí)現(xiàn) 10Gb 的無損以太網(wǎng),完全可以在以太網(wǎng)框架內(nèi)植入類似功能。Mellanox 將其 RDMAoE 原型稱為低延遲以太網(wǎng),但實(shí)質(zhì)上就是運(yùn)行在以太網(wǎng)上的 InfiniBand...
這些 InfiniBand 先驅(qū)將他們的經(jīng)驗(yàn)應(yīng)用于以太網(wǎng),展示了這些經(jīng)驗(yàn)如何讓以太網(wǎng)更適合 HPC(以及 AI)。
“如今你能在 10Gb 以太網(wǎng)上實(shí)現(xiàn)接近 InfiniBand 的延遲,”IBTA 市場工作組聯(lián)合主席、Mellanox 市場傳播總監(jiān) Brian Sparks 表示,“且不必面對 InfiniBand 的技術(shù)門檻和隨之而來的陡峭的學(xué)習(xí)曲線?!?/p>
但 RoCE 的性能仍略遜于 InfiniBand:QDR IB 可實(shí)現(xiàn) 32 Gb 帶寬與亞微秒級延遲,而 RoCE 當(dāng)時僅限于 10Gb 帶寬及微秒級延遲。不過對大多數(shù)應(yīng)用而言,10Gb 帶寬已綽綽有余...
對于偏好以太網(wǎng)的客戶來說,借助 RoCE,他們能獲得更接近 InfiniBand 的特性與性能,雖仍存在一定差距但方向是對的。
有人可能會疑惑 IBTA 及 InfiniBand 的擁護(hù)者為何要推動一種以太網(wǎng)協(xié)議。若 RoCE 成功,勢必會蠶食 InfiniBand 市場。但此觀點(diǎn)有失偏頗:首先,嚴(yán)格意義上的純 InfiniBand 廠商已不復(fù)存在 —— Mellanox、Voltaire 與 QLogic 均以某種形式提供以太網(wǎng)產(chǎn)品。市場早已判定 InfiniBand 技術(shù)的普及存在天然上限,RoCE 為這些廠商提供了觸達(dá)此前無法吸引的客戶的新途徑。他們判斷,RoCE 與 InfiniBand 之間仍有足夠大的性能差距,足以支撐兩種技術(shù)共存。
這句話至今依然成立:“RoCE 是這些廠商觸達(dá)此前無法吸引的客戶的又一途徑?!?即使在 15 年后的今天,在 LLM 訓(xùn)練與推理時代,我依然堅(jiān)信這一點(diǎn)。頭部客戶將性能置于一切之上;其他客戶則尋求性能與成本的平衡;還有一些企業(yè)更愿意沿用他們熟悉的技術(shù)。
而且有證據(jù)表明,IBTA 十多年來一直在為偏好以太網(wǎng)的用戶推動以太網(wǎng)在 HPC/AI 領(lǐng)域的應(yīng)用。根據(jù) IBTA 在 2015 年的一篇文章[20]:
“IBTA 今日宣布啟動 RoCE 計(jì)劃,以進(jìn)一步推動 RDMA over Converged Ethernet(RoCE)技術(shù)的發(fā)展,并提升 RoCE 的行業(yè)認(rèn)知度……該計(jì)劃將幫助我們向需要最高性能以太網(wǎng)絡(luò)的群體提供解決方案信息和資源...RoCE 倡議匯集了 IBTA 中致力于展示該技術(shù)的性能與效率優(yōu)勢、以及多廠商競爭生態(tài)價值的成員?!?/p>
早在十年前,他們就已構(gòu)想出一個多廠商生態(tài)系統(tǒng)……如今,這一愿景正隨著 Nvidia 之外的廠商推動以太網(wǎng)用于 AI 網(wǎng)絡(luò)而逐步實(shí)現(xiàn)。
這一生態(tài)系統(tǒng)的基石,正是 RoCE 的第二代版本——RoCEv2,它為 HPC/AI 工作負(fù)載增加了更多功能。
如今新興的 AI 專用以太網(wǎng)協(xié)議棧,例如 Nvidia 的 Spectrum-X 和 Ultra Ethernet Consortium 的 UEC 1.0 規(guī)范,都直接構(gòu)建于 RoCEv2 之上,在保留 RDMA 語義的同時,也著力解決其原有缺陷。我們將在后續(xù)文章中詳細(xì)解析這些創(chuàng)新。
英偉達(dá)的 AI 以太網(wǎng)方案
所以今天的 InfiniBand 是一個開放標(biāo)準(zhǔn)規(guī)范,卻只有單一供應(yīng)商提供產(chǎn)品。
但你猜怎么著?英偉達(dá)同樣推出了名為 Spectrum-X 的 AI/HPC 以太網(wǎng)解決方案。這步棋下得漂亮。
這里有一段短視頻[21],現(xiàn)在你應(yīng)該能看懂其中一些內(nèi)容了!
如視頻所示,英偉達(dá)的 Spectrum-X 將其交換機(jī)和 DPU/SuperNIC 協(xié)同搭配,構(gòu)成面向 GPU 集群的“全棧式網(wǎng)絡(luò)架構(gòu)”
英偉達(dá)芯片戰(zhàn)略的優(yōu)勢
在探究橫向擴(kuò)展技術(shù)時,我意外發(fā)現(xiàn)了英偉達(dá)芯片戰(zhàn)略中一個被低估的優(yōu)勢。
英偉達(dá)共設(shè)計(jì)了七種不同類型的芯片。
其一是 GPU,其二是基于 Arm 的CPU,另外五款全是網(wǎng)絡(luò)芯片。
你瞧瞧!
來自英偉達(dá)演示 PPT 的截圖
這種在網(wǎng)絡(luò)領(lǐng)域的深耕非常重要。這也是為什么博通(Broadcom)能夠?yàn)槌笠?guī)模云廠商定制 AI ASIC —— 因?yàn)樗缫丫邆鋵⒓铀倨骰ヂ?lián)所需的網(wǎng)絡(luò)技術(shù)專長。
而 Nvidia 用于反駁的觀點(diǎn)自然是:那些定制 ASIC 廠商能否既跟上 AI 加速器飛快的迭代節(jié)奏,還能同步應(yīng)對同樣高速演進(jìn)的網(wǎng)絡(luò)需求?博通(Broadcom)加上云廠商內(nèi)部的芯片團(tuán)隊(duì),真的能跟得上嗎?
image.png
Courtesy Nvidia.
相較之下,AMD 雖然擁有 GPU 和 CPU 產(chǎn)品,但在橫向擴(kuò)展(scale-out)和縱向擴(kuò)展(scale-up)的競爭力上,仍依賴更廣泛的生態(tài)系統(tǒng) —— 即 UEC 和 UALink。他們的賭注是:網(wǎng)絡(luò)領(lǐng)域的專業(yè)廠商能否足夠快速地創(chuàng)新,并與 AMD 步調(diào)一致,最終在系統(tǒng)層面實(shí)現(xiàn)同步發(fā)展。
文中鏈接
[1]https://www.youtube.com/watch?v=IHZwWFHWa-w
[2]https://youtu.be/PvA4LvPJg0I
[3]https://youtu.be/B-COGMbaUg4
[4]https://www.computerhistory.org/revolution/supercomputers/10/7/68?positinotallow=0
[5]https://x.com/elonmusk/status/1947715674429919279
[6]https://credosemi.com/products/hiwire-aec/
[7]https://nvidianews.nvidia.com/news/spectrum-x-ethernet-networking-xai-colossus
[8]https://en.wikipedia.org/wiki/Single_instruction,_multiple_data
[9]https://en.wikipedia.org/wiki/TOP500
[10]https://ieeexplore.ieee.org/document/960002
[11]https://www.networkworld.com/article/845980/servers-infiniband-back-to-the-beginning.html
[12]https://ultraethernet.org/
[13]https://ultraethernet.org/leading-cloud-service-semiconductor-and-system-providers-unite-to-form-ultra-ethernet-consortium/