我們從一開始就說過,開放計算項目( Open Compute Project)的發起者 Meta Platforms 不可能想從 Nvidia 購買完整的超級計算機系統,以推進其人工智能研究并(bing)將更新(xin)的(de)大型(xing)語言模(mo)型(xing)和推薦引擎(qing)投入生產。以 Facebook 為核心平臺的(de) Meta Platforms 喜歡設計和構建自(zi)己的(de)東西(xi),但由于缺(que)乏兼(jian)容 OAM 的(de) GPU 和矩陣加(jia)速器而措手不及(ji),他們別無選(xuan)擇,只(zhi)能購買(mai)使用InfiniBand模(mo)式互(hu)連(lian)的(de) N-1 代 DGX SuperPOD系(xi)統。
現在(zai),當 Meta Platforms 展望社交網絡內(nei)人(ren)工智能的未(wei)來以(yi)及支撐計(ji)算(suan)引(yin)擎的互連時,他們(men)意識到,必須(xu)以(yi)令人(ren)難以(yi)置信的規(gui)模(mo)結合在(zai)一(yi)起,才能與超(chao)大(da)規(gui)模(mo)和云構建器競爭對手競爭,于是(shi),他們(men)又(you)將(jiang)目(mu)光(guang)投向了(le)以(yi)太(tai)網互連(Ethernet interconnects)。這(zhe)就(jiu)是(shi)為什么Meta Platforms 成為超(chao)以(yi)太(tai)網聯(lian)盟(meng)( Ultra Ethernet Consortium)的創始公(gong)司之(zhi)一(yi)。
這(zhe)個聯盟是由以(yi)(yi)太(tai)網(wang) ASIC 供應商(shang)和交換機制造商(shang)組成(cheng)的(de)(de)組織,他們并不是真的(de)(de)想相互合作,而是在受到互聯網(wang)巨頭及其(qi)新的(de)(de)人工智能新貴競爭迫使的(de)(de)情況下,他們想去找到一種方法,讓以(yi)(yi)太(tai)網(wang)可(ke)以(yi)(yi)與(yu)InfiniBand一樣好,也能像后者一樣適用于 AI 和 HPC 網(wang)絡,但(dan)使其(qi)擴(kuo)展(zhan)到其(qi)運(yun)行所需的(de)(de)規模。
對于今天的(de)Meta Platforms來(lai)(lai)說,這意味著是(shi)大約(yue) 32,000 個(ge)計(ji)算(suan)引擎,然后(hou)是(shi)數十萬(wan)臺設備(bei),然后(hou)在不久的(de)將(jiang)來(lai)(lai)的(de)某些時候將(jiang)超過 100 萬(wan)臺設備(bei)。
從(cong)當前(qian)看(kan)來,擁(yong)有(you)這個想法(fa)的企業包括了交換機 ASIC 領域的 Broadcom、Cisco Systems 和(he) Hewlett Packard Enterprise(我們認為很快還有(you) Marvell),云巨頭中的 Microsoft 和(he) Meta Platforms,以及(ji)交換機制造商中的 Cisco、HPE 和(he) Arista Networks。
他們(men)(men)正(zheng)在團結在一(yi)起,面對一(yi)個共同的(de)敵(di)人(ren)——InfiniBand。他們(men)(men)的(de)宗旨則是——敵(di)人(ren)的(de)敵(di)人(ren)就是朋友(you)。
歸根到(dao)底,這是一條很簡單的數學題。
InfiniBand很(hen)好(hao),但也貴
在 21世(shi)紀的前(qian)十年,當超大(da)規模企(qi)業和(he)(he)云構建(jian)商真正開始構建(jian)大(da)規模基礎設施時,任何(he)分(fen)布式(shi)系統的網(wang)(wang)絡部分(fen)(包括交換機、網(wang)(wang)絡接口和(he)(he)電纜)只占整個系統成本的不(bu)到(dao) 10%。
而當第一代 100 Gb/秒設(she)(she)備問世時,由于(yu)設(she)(she)計(ji)不正確(que),成本非常高,很(hen)快網(wang)(wang)絡成本就占到集群成本的(de) 15% 或更多。隨著價格實惠的(de) 100 Gb/秒以太網(wang)(wang)的(de)出現,以及(ji)現在速度(du)達到 200 Gb/秒和(he) 400 Gb/秒的(de)速度(du),成本現在再次降(jiang)至 10% 以下,但僅限于(yu)運行應用程序(xu)的(de)前(qian)端網(wang)(wang)絡。
對(dui)于超大規(gui)模企業和云構(gou)建(jian)者之間的(de)人工智(zhi)能訓練和推(tui)理基礎(chu)設施(shi),Nvidia 會簡(jian)單明了地告訴您,網(wang)絡占(zhan)集群成本(ben)的(de) 20%。Nvidia 聯合創始人兼首席執行官黃仁(ren)勛解釋(shi)說:“InfiniBand 在(zai)相同帶寬下的(de)大規(gui)模性(xing)能比以太網(wang)高(gao)出 20%,因此(ci)“InfiniBand 實際上是免費的(de)。”
但(dan)事實上(shang),它(ta)(指代(dai)InfiniBand)不是免費的(de)(de)(de)。你(ni)仍(reng)然需要拿出現(xian)金,而且它(ta)占(zhan)集(ji)(ji)群成(cheng)(cheng)本的(de)(de)(de) 20%。大家都知道(dao)GPU 計算引擎的(de)(de)(de)成(cheng)(cheng)本非常高,但(dan)與基于 CPU 的(de)(de)(de) Web 基礎(chu)設施(shi)集(ji)(ji)群的(de)(de)(de)總體成(cheng)(cheng)本相比(bi),這還(huan)是令人(ren)印象(xiang)深刻的(de)(de)(de)。人(ren)工智能(neng)系統的(de)(de)(de) InfiniBand 網(wang)絡的(de)(de)(de)成(cheng)(cheng)本,從節(jie)點到(dao)節(jie)點,肯(ken)定比(bi)在(zai)其他(ta)基礎(chu)設施(shi)集(ji)(ji)群上(shang)運行數據庫、存儲和(he)應用程序(xu)的(de)(de)(de)以太網(wang)昂貴(gui)得(de)多(duo)。當(dang)然,我們也(ye)承認,后(hou)者的(de)(de)(de)帶寬會相對較對。
雖(sui)然兩大陣型都在(zai)彰顯自己并攻擊對(dui)方,但在(zai)650group看來,雖(sui)然以太網與 InfiniBand有很多爭論,甚至有說法指出(chu)一種技術是如(ru)何以犧牲另一種技術為代(dai)價(jia)或(huo)消亡而取(qu)得成(cheng)功的,存在(zai),但這些爭論都是錯誤的。
“以太網和 InfiniBand 各有優(you)勢(shi),并且在(zai)同一市(shi)場中(zhong)蓬勃發展。他們各有優(you)劣(lie)勢(shi)。”650group強(qiang)調。
事實上,作為一種網(wang)絡互聯(lian)技術(shu),InfiniBand以其(qi)高(gao)可靠(kao)性(xing)、低時(shi)延、高(gao)帶寬(kuan)等特(te)點在(zai)超(chao)級(ji)計算機(ji)集群中得到廣泛(fan)應用。此(ci)外(wai),隨著人工智能的(de)進步,尤其(qi)是(shi)英偉達在(zai)GPU上的(de)壟斷,InfiniBand成為了GPU服務器的(de)首選網(wang)絡互連技術(shu)。
650group也指出,InfiniBand 有幾(ji)個優點。首先,該技術(shu)已經存(cun)在 20 年,并且主要專注于 HPC 網絡(luo)(luo);其次(ci),它是(shi)一項從一開(kai)始就為(wei) HPC 和 AI 網絡(luo)(luo)構建的(de)技術(shu)‘第(di)三,人(ren)工(gong)智能可(ke)以(yi)使(shi)(shi)用低延遲和協議內(nei)置(zhi)的(de)項目,例如網絡(luo)(luo)內(nei)數據(ju)(ju)處理,這(zhe)有助于進一步(bu)加速人(ren)工(gong)智能。一個很好(hao)的(de)例子是(shi) InfiniBand 的(de) SHARP 網內(nei)計算技術(shu)將 AI 數據(ju)(ju)縮(suo)減操作(zuo)(AI 訓(xun)練的(de)關鍵要素)吞吐量提高了(le)兩倍(bei),這(zhe)使(shi)(shi)得 InfiniBand 成為(wei) AI 平(ping)臺性能最(zui)高的(de)網絡(luo)(luo),并成為(wei)人(ren)工(gong)智能平(ping)臺的(de)領先解決方案。
以太網(wang)(wang)也是人工智能平臺中領先的外部(bu)和管理網(wang)(wang)絡(luo)。
自1980年9月30日推(tui)出以(yi)(yi)來,以(yi)(yi)太(tai)(tai)(tai)網(wang)標準(zhun)已(yi)成為(wei)局域網(wang)中(zhong)使用(yong)最廣(guang)泛的(de)(de)通(tong)信協(xie)議。與 InfiniBand 不同,以(yi)(yi)太(tai)(tai)(tai)網(wang)的(de)(de)設(she)計考慮了以(yi)(yi)下主(zhu)要目標:信息(xi)如何在多個系統之間輕(qing)松流動(dong)?這是一個典型的(de)(de)具有分布(bu)式和兼容性設(she)計的(de)(de)網(wang)絡(luo)。傳統以(yi)(yi)太(tai)(tai)(tai)網(wang)主(zhu)要采用(yong)TCP/IP來構建網(wang)絡(luo),目前已(yi)逐漸發展為(wei)RoCE。
一般(ban)來(lai)說,以(yi)太(tai)(tai)網(wang)主要(yao)用于將多臺計算機或其(qi)他設備(bei)(例如(ru)打印機、掃描(miao)儀等)連接(jie)到局域(yu)網(wang)。它(ta)不僅可(ke)以(yi)通(tong)過(guo)光纖電纜將以(yi)太(tai)(tai)網(wang)連接(jie)到有線(xian)網(wang)絡,還可(ke)以(yi)通(tong)過(guo)無線(xian)組網(wang)技術(shu)實現無線(xian)網(wang)絡中(zhong)的(de)以(yi)太(tai)(tai)網(wang)。快速以(yi)太(tai)(tai)網(wang)、千兆(zhao)以(yi)太(tai)(tai)網(wang)、10 吉比特以(yi)太(tai)(tai)網(wang)和交換以(yi)太(tai)(tai)網(wang)都是(shi)以(yi)太(tai)(tai)網(wang)的(de)主要(yao)類型(xing)。
博通資深VP Ram Velaga 幾個月前在(zai)社交(jiao)平臺(tai)中更是指出(chu),以(yi)太(tai)網(wang)速(su)度(du)一(yi)直比Infiniband快(kuai)至(zhi)少2倍。今天,以(yi)太(tai)網(wang)的速(su)度(du)為(wei)每秒(miao)800千兆位,而(er)Infiniband的速(su)度(du)為(wei)400Gbps。他表(biao)示,在(zai) Infiniband 上(shang)以(yi) 400Gbps 的速(su)度(du)完成 1MB 消息傳(chuan)輸需要 20 微秒(miao),而(er)在(zai)以(yi)太(tai)網(wang)上(shang)以(yi) 800Gbps 的速(su)度(du)完成 10 微秒(miao)。
Meta的Alexis Black Bjorlin在 OCP 2022 上更(geng)是介紹了在網絡中用(yong)(yong)于推薦工作(zuo)負載(zai)的時間(jian)百分比。按(an)照她的觀點,用(yong)(yong)以太網取(qu)代(dai)Infiniband將(jiang)使網絡時間(jian)減(jian)少(shao)一半。這在整個AI基礎設施上節省了10%-25%+的成(cheng)本,且更(geng)可持續!
但(dan)即使如此,如前文所說,英偉達(da)憑借在(zai)GPU的強勢關系,他們已經在(zai)Infiniband的選擇上擁有了更多地話(hua)語權(quan)。于是,Ultra Ethernet Consortium(超以太聯盟,UCE)橫空出世。
超以太聯盟(meng),卷土重來
之所以(yi)(yi)說(shuo)是卷土重(zhong)來,是因為這個聯盟從某種意義(yi)上來說(shuo)是為了完成以(yi)(yi)太網的未竟任務。
據(ju)白(bai)皮書介紹,超以(yi)(yi)太網(wang)聯盟的(de)目標是創建一(yi)個(ge)“完(wan)整的(de)基于(yu)以(yi)(yi)太網(wang)的(de)通信(xin)堆棧架構(gou)”,該(gai)(gai)架構(gou)將(jiang)像以(yi)(yi)太網(wang)一(yi)樣普遍(bian)且經濟高效,同時提供超級計(ji)算互(hu)連(lian)的(de)性能。該(gai)(gai)聯盟的(de)創始成(cheng)員包(bao)(bao)括文(wen)章開頭談(tan)到的(de)那些(xie)積(ji)極參(can)與 HPC 和(he)網(wang)絡的(de)公司,包(bao)(bao)括英特(te)爾(er)、AMD、HPE、Arista、Broadcom、思科(ke)、Meta 和(he)微軟,該(gai)(gai)項目本身由 Linux 基金會托管。
UEC 主席(xi) J Metz 博士(shi)在接受采(cai)訪(fang)的(de)時(shi)候(hou)告訴The Register,該項(xiang)目的(de)目標不(bu)是改變以太網,而是對其進行調整(zheng),以更好地適應(ying) AI 和(he) HPC 工作負(fu)載更苛刻的(de)特征(zheng)。
“以太(tai)網是我們構(gou)建的(de)基(ji)礎技術,因為它是業界持久、靈活和(he)適應性強的(de)基(ji)本網絡技術的(de)最佳范(fan)例,”他(ta)說。“UEC 的(de)目標是專(zhuan)注(zhu)于(yu)如何在(zai)以太(tai)網上最好地(di)承載 AI 和(he) HPC 工作負載流量。當然,之(zhi)前已經有(you)過一(yi)(yi)些嘗試,但(dan)沒(mei)有(you)一(yi)(yi)個是針對高要(yao)求的(de) AI 和(he) HPC 進(jin)行全新設計(ji)的(de)工作負載,但(dan)沒(mei)有(you)一(yi)(yi)個是開放的(de)、易于(yu)使用的(de)并贏得了廣泛(fan)的(de)采用。”他(ta)進(jin)一(yi)(yi)步指(zhi)出(chu)。
針對網絡堆棧的多(duo)個(ge)層(ceng)(ceng)(ceng)(ceng),該項目工作組的任務是開(kai)發(fa)物理層(ceng)(ceng)(ceng)(ceng)和(he)鏈(lian)路層(ceng)(ceng)(ceng)(ceng)的“增強性能、延遲和(he)管理的規范”,以及開(kai)發(fa)傳(chuan)輸層(ceng)(ceng)(ceng)(ceng)和(he)軟件層(ceng)(ceng)(ceng)(ceng)的規范。
根據白皮(pi)書,網絡對(dui)于 AI 模(mo)型(xing)(xing)的訓(xun)練(lian)變(bian)得越(yue)來越(yue)重要(yao),而 AI 模(mo)型(xing)(xing)的規模(mo)正在不斷膨脹。有些(xie)擁有數(shu)萬(wan)億個參(can)數(shu),需要(yao)在大型(xing)(xing)計算集群上進行訓(xun)練(lian),并且網絡需要(yao)盡可能(neng)高(gao)效才(cai)能(neng)保持這些(xie)集群繁忙(mang)。
雖然(ran) AI 工作(zuo)負載(zai)往(wang)往(wang)非常需(xu)要帶寬,但(dan) HPC 還包括對延(yan)遲更加敏感的工作(zuo)負載(zai),并(bing)且(qie)需(xu)要滿(man)足這兩個要求。為了(le)滿(man)足這些需(xu)求,UEC 確(que)定了(le)以下理想特(te)性:靈活的delivery順序(xu)(flexible delivery order);現代擁塞控制機制(modern congestion control mechanisms);多路徑(jing)和數(shu)據包擴散(multi-pathing and packet spraying);加上更大的可擴展性和端到端遙測(greater scalability and end-to-end telemetry)。
根據白皮書(shu),舊技術使用的(de)嚴(yan)格數據包(bao)排(pai)序(xu)會阻止(zhi)無序(xu)數據直接從網(wang)絡傳遞(di)到應用程序(xu),從而限制了效率。支持(chi)放寬(kuan)數據包(bao)排(pai)序(xu)要求的(de)現代 API 對于減少“尾部(bu)延(yan)遲”(tail latencies)至(zhi)關重要。
多路徑和數據(ju)(ju)包(bao)擴散涉(she)及沿著源(yuan)和目標之間的所(suo)有可(ke)用網絡路徑同時發送(song)數據(ju)(ju)包(bao),以實現最佳性能。
如果多個發送方都針對同一節點,則 AI 和(he) HPC 中的(de)網(wang)絡擁塞主要是交換機和(he)接收節點之間的(de)鏈路問(wen)題(ti)。然而(er),UEC 聲稱,當前管理擁塞的(de)算法并不能滿足針對人工智能優化的(de)網(wang)絡的(de)所有需(xu)求(qiu)。
首先,UEC 的(de)目標似乎是用可(ke)提供所需特性(xing)的(de)新傳輸(shu)(shu)層協議取代(dai)融合(he)以太網上的(de) RDMA (RoCE) 協議。這(zhe)(zhe)種超以太網傳輸(shu)(shu)將支持(chi)多路(lu)徑、packet-spraying傳輸(shu)(shu)、高效(xiao)的(de)速率控(kong)制算(suan)法,并向人工智能和高性(xing)能計(ji)算(suan)工作負載公(gong)開一個簡單(dan)的(de) API——或者至少(shao)這(zhe)(zhe)是其意圖。
HPE 對 UEC 的參(can)與(yu)引人(ren)注目(mu),因為它已經擁有基于以太網(wang)的 HPC 互(hu)連。正(zheng)如The Next Platform的作者在文章(zhang)中(zhong)詳細(xi)描(miao)述(shu)的那樣,Cray Slingshot 技術是以太網(wang)的“超集” ,同時保持與(yu)標準以太網(wang)框架(jia)的兼容性,并且在 HPE 最近參(can)與(yu)的許多超級(ji)計算(suan)機項目(mu)中(zhong)得到(dao)了應(ying)用,例(li)如Frontier 百億億次系(xi)統(tong)。
HPE 高性(xing)能(neng)互連(lian)總經理 Mike Vildibill 表示(shi),該公司支持 UEC 的(de)動機是希望確(que)保(bao) Slingshot 在(zai)開(kai)放的(de)生(sheng)態系統中(zhong)運行。“我(wo)們希望符合 UEC 的(de) NIC 能(neng)夠體驗到 Slingshot 結構(gou)的(de)一些性(xing)能(neng)和可(ke)擴展性(xing)優勢,”他說。Vildibil 證實,HPE 未(wei)來(lai)將繼續開(kai)發 Slingshot,但(dan)他認為(wei)總會有一些第三方(fang) NIC 或(huo) SmartNIC 可(ke)能(neng)具有其 Slingshot NIC 上未(wei)實現的(de)功(gong)能(neng)。
“因(yin)此,UEC 提供了一種機制來建立強大的第(di)三方 NIC 生態系統,以確保我們能夠支持廣泛的客(ke)戶需(xu)求,同時提供 Slingshot 的一些獨特功能,”他(ta)說(shuo)。
目前,UEC 正處于(yu)開發(fa)的早期(qi)階段,關鍵(jian)技(ji)術概念仍在確(que)定和研(yan)究中。Metz 博士表示,第一(yi)批(pi)批(pi)準草案可能會在 2023 年底或 2024 年初準備就緒(xu),第一(yi)批(pi)基于(yu)標準的產品也預(yu)計將于(yu)明年推出。
芯片廠商積極參與,Meta放了個大招
雖然UEC正在(zai)(zai)推(tui)進,但很多廠商正在(zai)(zai)通過其產品來打(da)破(po)英偉達的壟斷。
以(yi)最積(ji)極的(de)芯(xin)片(pian)廠(chang)商博(bo)通(tong)為例,今年夏天(tian),Nvidia 承諾推出 Spectrum-X 平臺,為生成型 AI 工作(zuo)負載(zai)提供“無損(sun)以(yi)太網”。但博(bo)通(tong)的(de)Ram Velaga 強調,這(zhe)并不是(shi)新(xin)鮮事,英偉(wei)達的(de)產品,也并沒有什么(me)特別之處是(shi)博(bo)通(tong)不具備的(de)。
他解釋說,Nvidia 使用 Spectrum-X 實際上(shang)所做的(de)是構建一個垂直(zhi)集(ji)成的(de)以(yi)太網平(ping)臺,該平(ping)臺擅(shan)長以(yi)最小(xiao)化(hua)尾(wei)延遲并減少 AI 作業完成時(shi)間的(de)方式(shi)管理擁塞。但Velaga 認為,這與 Broadcom 對其Tomahawk5和Jericho3-AI交換(huan)機 ASIC所做的(de)沒有什么不同。他還(huan)認為 Nvidia 承(cheng)認以(yi)太網對于處理人(ren)工智能中的(de) GPU 流(liu)更有意(yi)義。
我們需要(yao)稍微解析一下,Nvidia 的(de) Spectrum-X 不是產(chan)品。它是硬件(jian)和軟件(jian)的(de)集(ji)合,其中大部分(fen)我們在過(guo)去已經介紹過(guo)。核(he)心組(zu)件(jian)包括Nvidia的(de)51.2Tbit/s Spectrum-4以太網(wang)交換機和BlueField-3數據處理單元(DPU)。
其基本思想是,只要(yao)您同(tong)時(shi)使用 Nvidia 的交換(huan)機及其 DPU,它們就會協同(tong)工作以緩(huan)解流量(liang)擁(yong)塞,并且(如果 Nvidia 可信(xin)的話)完(wan)全消除數據(ju)包丟失。
雖然(ran)英偉達(da)聲(sheng)稱(cheng)這是(shi)其(qi)全(quan)新的(de)(de)功(gong)能(neng)單元,但 Velaga 認為“無(wu)損以太(tai)網”的(de)(de)想(xiang)(xiang)法(fa)(fa)只是(shi)營(ying)銷。“與其(qi)說(shuo)它是(shi)無(wu)損的(de)(de),不如(ru)說(shuo)你可以有(you)效地管理擁(yong)塞,從而(er)擁(yong)有(you)一個非常高效的(de)(de)以太(tai)網結構,”他說(shuo)。換句話說(shuo),與以太(tai)網網絡(luo)不同,數據包(bao)丟失是(shi)必然(ran)的(de)(de),它是(shi)規(gui)則的(de)(de)例外(wai)。無(wu)論如(ru)何,這就是(shi)想(xiang)(xiang)法(fa)(fa)。
Velaga 聲稱,這種擁塞管理已經內置于 Broadcom 最新一代的交換機 ASIC 中 - 只是它們可以與任(ren)何(he)供(gong)應(ying)商或(huo)云服務提供(gong)商的 smartNIC 或(huo) DPU 配合使用。Velaga 還表示,Nvidia 試(shi)圖實現(xian)的垂直整合與以太網是沖突的。
“以(yi)太網今天(tian)成(cheng)功的(de)全(quan)部原因是(shi)它是(shi)一個非常開放的(de)生態系統(tong),”他(ta)說。
作為(wei)以太(tai)(tai)網的(de)另一個支持(chi)者, Meta Platforms近(jin)日(ri)也在其主辦的(de) Networking Scale 2023 活(huo)動上(shang)展示了融(rong)合以太(tai)(tai)網上(shang)采用 RDMA 的(de)以太(tai)(tai)網(一種借鑒了 InfiniBand 的(de)許多想法的(de)低(di)延遲以太(tai)(tai)網)。
據(ju)nextplatform報道(dao),該公司談到了如(ru)何使(shi)用(yong)以太網進行中(zhong)等規(gui)模(mo)的(de)人工智能訓練(lian)(lian)和(he)推理(li)集群,以及其近(jin)期計(ji)劃(hua)如(ru)何擴展到具有 32,000 個 GPU 共享數據(ju)的(de)系(xi)統,并使(shi)規(gui)模(mo)比它一(yi)直用(yong)于創建和(he)訓練(lian)(lian) LLaMA 1 和(he) LLaMA 2 模(mo)型的(de)最初 2,000 個 GPU 集群提(ti)高了16 倍。需要強(qiang)調一(yi)下,Meta Platforms 從 Nvidia 購買的(de)研究超(chao)級計(ji)算機系(xi)統最多擁有 16,000 個 GPU,其中(zhong)大部(bu)分(fen)是 Nvidia 的(de)“Ampere”A100 GPU,其中(zhong)相對較(jiao)小(xiao)的(de)份額(e)是更(geng)新且容量更(geng)大的(de)“Hopper”H100 模(mo)塊。
“人工智能模型(xing)每兩到三(san)年就會(hui)增(zeng)長 1,000 倍,”該公(gong)司(si)網絡基礎設(she)施團隊軟件工程總監 Rajiv Krishnamurthy 解(jie)釋道。“我們在(zai) Meta 內部觀察到了這(zhe)一點,我認為(wei)根據我們在(zai)行業中觀察到的情況,這(zhe)似(si)乎是一種長期趨勢。這(zhe)個數(shu)字很難(nan)理(li)解(jie)。因(yin)此,從物(wu)理(li)角度來看,這(zhe)會(hui)轉(zhuan)化(hua)為(wei)數(shu)萬個 GPU 集群大小,這(zhe)意味(wei)著它們正在(zai)生成萬億次計算。這(zhe)是由 EB 級數(shu)據存儲(chu)支持的。”
“而(er)從網絡角(jiao)度(du)來看,您正(zheng)在考慮操縱每秒大(da)約太比特的(de)(de)數(shu)據。工(gong)作(zuo)負(fu)載(zai)本身(shen)就很(hen)挑剔。由此人們了解到,典型的(de)(de) AI HPC 工(gong)作(zuo)負(fu)載(zai)具有非(fei)常低的(de)(de)延遲要(yao)求,而(er)且從數(shu)據包的(de)(de)角(jiao)度(du)來看,他們無(wu)法容忍丟失。”Rajiv Krishnamurthy 說。
為此,Meta Platforms 希(xi)望(wang)用于 AI 訓練的(de)生產集群的(de)規模比其(qi) 2022 年(nian) 1 月購買的(de) Nvidia RSC 機器的(de)規模擴(kuo)大(da) 2 倍,并(bing)在去年(nian)全(quan)年(nian)不(bu)斷擴(kuo)大(da)規模,達(da)到 16,000 個(ge) GPU 的(de)完整(zheng)配置。然后(hou),不(bu)久(jiu)之后(hou),就會討論 48,000 個(ge) GPU,然后(hou)是 64,000 個(ge) GPU,依此類推。
在(zai)Meta看來(lai),構(gou)建一個可以進行(xing) LLM 訓(xun)練(lian)(目前在(zai)Meta Platforms 上使(shi)用 LLaMA 2)和推理以及 Reco 訓(xun)練(lian)和推理(在(zai)本例中為自主開發的(de)(de)深度學(xue)習推薦模型或 DLRM)的(de)(de)系統非常困(kun)難,而且考慮到這(zhe)四種工作(zuo)負載的(de)(de)不同要求(qiu),這(zhe)甚(shen)至(zhi)可以說(shuo)是不可能的(de)(de),正如 Meta Platforms 人(ren)工智能系統部門的(de)(de)研究科學(xue)家 Jongsoo Park 在(zai)這(zhe)個蜘蛛(zhu)圖中所示:
Park 表示,Meta Platforms 擁(yong)有(you) 32,000 個(ge) H100,在(zai) FP8 四分(fen)之(zhi)一精(jing)度(du)浮點數學(xue)生(sheng)產中產生(sheng)約 30% 的峰值性能(neng),Meta Platforms 將(jiang)能(neng)夠在(zai)一天內(nei)訓(xun)練(lian)具有(you) 650 億(yi)個(ge)參(can)數的 LLaMA2 模型。為了實(shi)現這一目標(biao),很多事(shi)情都必須改(gai)變,其(qi)中包括將(jiang)訓(xun)練(lian)令牌(token)批次增加到(dao) 2,000 以上,并(bing)在(zai)數千(qian)個(ge) GPU 上進行(xing)擴(kuo)展。全(quan)局訓(xun)練(lian)批量(liang)大小還必須在(zai) 32,000 個(ge) GPU 上保持不變,并(bing)使用他(ta)所謂(wei)的 3D 并(bing)行(xing)性(數據并(bing)行(xing)、張量(liang)并(bing)行(xing)和管道并(bing)行(xing)技術的組合)將(jiang)工(gong)作分(fen)散(san)到(dao) GPU 上。Park 表示,由于參(can)數和數據量(liang)變得如(ru)此(ci)之(zhi)大,數據并(bing)行(xing)性正(zheng)在(zai)耗盡,因此(ci)沒有(you)辦法解決(jue)這個(ge)問題(ti)。
為此,Meta一直(zhi)在改個(ge)其系(xi)統,以(yi)滿足客戶需(xu)求。
在(zai)幾(ji)年前,DLRM 訓練和(he)推理可(ke)以在(zai)單個節(jie)點上完成。然后(hou),通(tong)過第(di)一代以太(tai)網 RoCE 集群,Meta 可(ke)以將多(duo)個節(jie)點集群在(zai)一起,但集群規(gui)模(mo)相當(dang)有限。為了(le)獲得所需的規(gui)模(mo),它必須(xu)轉向(xiang) InfiniBand 和(he)以太(tai)網 RoCE v2,前者(zhe)存(cun)在(zai)財務(wu)問題(ti),后(hou)者(zhe)存(cun)在(zai)一些技術問題(ti),但該(gai)公司(si)到目前為止已經解決了(le)。
Meta Platforms 擔(dan)任網絡(luo)工程師Lapukhov 表(biao)示,從基(ji)本(ben)構建模塊開始(shi),基(ji)于 Nvidia 加速器的(de)(de)八路 GPU 服務器可(ke)以(yi)在節點(dian)(dian)內具有數十個加速器的(de)(de)設備之(zhi)間提(ti)供 450 GB/秒的(de)(de)帶(dai)寬(kuan)。模型并(bing)行流(liu)量在節點(dian)(dian)內互連上運行,在本(ben)例中為 NVLink,但也可(ke)以(yi)是 PCI-Express 交(jiao)換基(ji)礎設施(shi)。從這里(li)開始(shi),模型必須使(shi)用(yong)某種形(xing)式(shi)的(de)(de) RDMA(InfiniBand 或(huo)以(yi)太(tai)網 RoCE)跨數千個節點(dian)(dian)(具有數萬個聚合 GPU 計算引擎)進行數據并(bing)行擴展,并(bing)且您可(ke)以(yi)以(yi) 50 GB/秒的(de)(de)速度交(jiao)付具有合理數量的(de)(de)網絡(luo)接口(kou)卡的(de)(de)節點(dian)(dian)之(zhi)間的(de)(de)帶(dai)寬(kuan)。
對于以太網 AI 網絡,Meta Platforms 使(shi)用(yong)與數據中(zhong)心規模前端網絡應(ying)用(yong)程序(xu)相同的 Clos 拓撲(pu),而不(bu)是在 AI 訓練和(he) HPC 集群中(zhong)使(shi)用(yong) InfiniBand 的用(yong)戶普遍(bian)青睞(lai)的fat tree 拓撲(pu)。
為了達到 32,256 個(ge) GPU,該公(gong)司在一個(ge)機(ji)架中(zhong)放置了兩臺服務器(qi),每臺服務器(qi)配有 8 個(ge) Nvidia H100 GPU。就機(ji)架而言,這(zhe)并不是特別密集(ji),但它的密度并不比 Nvidia 本身對(dui)其(qi) DGX H100 集(ji)群所做的密集(ji)。這(zhe)意味(wei)著(zhu)有 2,000 個(ge)機(ji)架需要連接(jie),如下所示:
如果仔細觀(guan)察,它實際上是 8 個(ge)集(ji)(ji)群,每個(ge)集(ji)(ji)群有 4,096 個(ge) GPU,每個(ge)集(ji)(ji)群在兩(liang)層網絡中(zhong)交叉(cha)鏈接(jie)。
每個(ge)機(ji)架(jia)都有(you)一(yi)(yi)對服務器(qi),總(zong)共有(you) 16 個(ge) GPU 和一(yi)(yi)個(ge)架(jia)頂(ding)交換(huan)(huan)機(ji)。目前尚不清楚服務器(qi)或交換(huan)(huan)機(ji)中(zhong)有(you)多少(shao)個(ge)端口(kou)(kou),但(dan)每個(ge) GPU 最好有(you)一(yi)(yi)個(ge)上行(xing)端口(kou)(kou),這(zhe)意味著(zhu)每臺(tai)服務器(qi)有(you) 8 個(ge)端口(kou)(kou)。(這(zhe)就(jiu)是 Nvidia 對其 DGX 設(she)計所(suo)做的事情。)整個(ge) enchilada 中(zhong)總(zong)共有(you) 2,016 個(ge) TOR。隨著(zhu)網絡的發展,交換(huan)(huan)機(ji)的數量(liang)相當多。
這些架(jia)頂交(jiao)(jiao)換機(ji)(ji)使(shi)用 18 個集(ji)(ji)群交(jiao)(jiao)換機(ji)(ji)(您(nin)可以稱(cheng)之(zhi)為主干(gan))交(jiao)(jiao)叉(cha)連接(jie)成一個集(ji)(ji)群,整個集(ji)(ji)群中有(you) 144 個交(jiao)(jiao)換機(ji)(ji)。然(ran)后(hou)還有(you)另外 18 個具有(you) 7:1 超(chao)額訂(ding)閱錐度的(de)聚合交(jiao)(jiao)換機(ji)(ji),將 8 個子集(ji)(ji)群相互鏈(lian)接(jie)。即(ji) 2,178 個交(jiao)(jiao)換機(ji)(ji)互連 4,032 個節點。由于這些數據密(mi)集(ji)(ji)型 GPU 的(de)帶寬需求,該比率為 1.85:1。
Lapukhov 的這張表很酷,它(ta)表明就(jiu) AI 模型而言,子集群粒度實際上(shang)約為 256 到 512 個 GPU:
這顯示(shi)了支(zhi)撐(cheng)人工智能的集體操作如何映(ying)射(she)到(dao)網絡上(shang):
要點就(jiu)是這樣,這并不(bu)奇怪。當您(nin)制作(zuo)更大的(de)結構以跨(kua)越更多 GPU 時,您(nin)會向(xiang)網絡添加更多層,這意味著(zhu)更多延遲,這會降低 GPU 的(de)利用率,至少在 GPU 等待集體操作(zuo)完成(cheng)的(de)某(mou)些時間在集群(qun)周圍傳播。但完全共(gong)享(xiang)數據并行全收集操作(zuo)往(wang)往(wang)會發送小(xiao)消(xiao)息(通常為 1 MB 或更小(xiao)),如果您(nin)能夠很好(hao)地處理小(xiao)消(xiao)息,則可(ke)以通過(guo)通信(xin)和計算(suan)的(de)細粒度重(zhong)疊來實現張量(liang)并行。
聽(ting)起來好像有人需要大型 NUMA 節點(dian)來進行(xing)推理和訓練。。。。這正是(shi) NVLink 的(de)作用和 NVSwitch 的(de)擴展(zhan)。
那么(me)這(zhe)在 Meta Platforms 數(shu)據中(zhong)心中(zhong)是什么(me)樣子的呢?那么(me),前(qian)端數(shu)據中(zhong)心結(jie)構如下(xia)所示:
我們將(jiang)數(shu)據(ju)(ju)中心(xin)劃分為四個(ge)房(fang)間(jian)(jian),每(mei)個(ge)房(fang)間(jian)(jian)都有一些聚合網絡,然(ran)后核心(xin)網絡將(jiang)數(shu)據(ju)(ju)中心(xin)中心(xin)自己區域內的(de)房(fang)間(jian)(jian)連接在一起。為了將(jiang)人(ren)工智能(neng)添(tian)(tian)加到服務器機房(fang),集群訓練(lian)交(jiao)換機(CTSW)和(he)機架訓練(lian)交(jiao)換機(RTSW)與其他應(ying)用(yong)服務器添(tian)(tian)加到同(tong)一機房(fang),并且可(ke)以(yi)與應(ying)用(yong)服務器交(jiao)錯。在四個(ge)數(shu)據(ju)(ju)大廳中,Meta可(ke)以(yi)容納數(shu)以(yi)萬計的(de)緊(jin)密耦合的(de) GPU:
這(zhe)(zhe)是網絡平面(mian)的 3D 表示(shi)(如果這(zhe)(zhe)樣(yang)更(geng)容易可視化):
早在過去,Meta Platforms 使(shi)用 100 Gb/秒以太網(wang)和(he) RoCE v1 并取得了一些成功:
隨著轉向(xiang)以太網 RoCE v2(延遲和數據包保護(hu)功能得到極大(da)改善),Meta Platforms 將(jiang) 8 個(ge) 200 Gb/秒的端(duan)口連接到每(mei)臺服(fu)務器,并使用(yong) 400 Gb 將(jiang)這(zhe)些端(duan)口與機架和集(ji)群(qun)交換機交叉耦(ou)合/秒端(duan)口。
在(zai)第(di)二代(dai) AI 架構中,他們已將每(mei)個 GPU 的主(zhu)機下行(xing)鏈路速(su)度(du)提升至 400 Gb/秒(miao),并且仍在(zai)運行(xing)更高(gao)級別(bie)的網絡訂閱不足,無法(fa)保持(chi)比特順利傳輸。
Nextplatform的作者認為,在未來(lai)的很多(duo)年里,情況都會(hui)如此。但(dan)如果(guo)超(chao)以(yi)太網聯盟采(cai)用Neta的方式,以(yi)太網將更(geng)像(xiang) InfiniBand,并將擁有(you)多(duo)個供應商(shang)(shang),從而(er)為所有(you)超(chao)大規模提(ti)供商(shang)(shang)和(he)(he)云構(gou)建商(shang)(shang)提(ti)供更(geng)多(duo)選擇(ze)和(he)(he)更(geng)大的競爭壓力,以(yi)降低(di)網絡價格。
不過,不要(yao)指望它的(de)(de)(de)成(cheng)本(ben)(ben)會低于集群(qun)成(cheng)本(ben)(ben)的(de)(de)(de) 10%——只要(yao) GPU 的(de)(de)(de)成(cheng)本(ben)(ben)仍然很(hen)高(gao)。但(dan)有意思的(de)(de)(de)是(shi),隨著 GPU 成(cheng)本(ben)(ben)的(de)(de)(de)下降,來(lai)自網絡的(de)(de)(de)集群(qun)成(cheng)本(ben)(ben)份額(e)將會上升,從而給 InfiniBand 帶(dai)來(lai)更大的(de)(de)(de)壓力。
參考鏈接(jie)
//community.fs.com/blog/infiniband-vs-ethernet-which-is-right-for-your-data-center-network.html
//www.nextplatform.com/2023/09/26/meta-platforms-is-determined-to-make-ethernet-work-for-ai/
//www.theregister.com/2023/07/20/ultra_ethernet_consortium_ai_hpc/