![]()
芯東西(公眾號:aichip001)
編譯 程茜
編輯 Panken
芯東西5月7日消息,昨日晚間,OpenAI與AMD、博通、英特爾、微軟、英偉達(dá)聯(lián)合發(fā)布全新開放網(wǎng)絡(luò)協(xié)議MRC(多路徑可靠連接),可幫助大型AI訓(xùn)練集群更快、更可靠地運(yùn)行。OpenAI通過開放計(jì)算項(xiàng)目(OCP)發(fā)布了MRC。
MRC已部署在OpenAI所有用于訓(xùn)練前沿模型的超級計(jì)算機(jī)上,包括位于美國德克薩斯州阿比林的美國甲骨文云基礎(chǔ)設(shè)施(OCI)站點(diǎn),以及微軟Fairwater超級計(jì)算機(jī)等。
![]()
MRC是一種內(nèi)置于最新800Gb/s網(wǎng)絡(luò)接口中的新網(wǎng)絡(luò)協(xié)議,可將單次數(shù)據(jù)傳輸分流至數(shù)百條路徑、微秒級繞開故障鏈路,同時(shí)還能簡化網(wǎng)絡(luò)控制面架構(gòu)。
OpenAI官方博客提到,近期為ChatGPT與Codex訓(xùn)練一款前沿大模型時(shí),他們不得不重啟四臺一級核心交換機(jī),以往重啟交換機(jī)需運(yùn)維團(tuán)隊(duì)極度謹(jǐn)慎,引入MRC之后,他們甚至無需與集群訓(xùn)練任務(wù)的運(yùn)維團(tuán)隊(duì)提前協(xié)調(diào)就可重啟。
在打造基建項(xiàng)目Stargate之前,OpenAI已與合作伙伴在幾年間開發(fā)并維護(hù)了前三代超級計(jì)算機(jī),這使其認(rèn)識到要在超級計(jì)算機(jī)上高效利用算力并成功完成任務(wù),需要大幅降低堆棧每一層的復(fù)雜性,包括重新設(shè)計(jì)網(wǎng)絡(luò)設(shè)計(jì)。
OpenAI官方賬號X的評論區(qū)有不少網(wǎng)友肯定了MRC的發(fā)布,稱其是真正的基礎(chǔ)設(shè)施進(jìn)步、標(biāo)志著基礎(chǔ)設(shè)施競爭轉(zhuǎn)向標(biāo)準(zhǔn)化集群通信效率時(shí)代。
![]()
論文地址:https://cdn.openai.com/pdf/resilient-ai-supercomputer-networking-using-mrc-and-srv6.pdf
一、破解網(wǎng)絡(luò)難題,MRC對擴(kuò)展超級計(jì)算機(jī)有三大助力
訓(xùn)練大模型時(shí),一個(gè)步驟可能涉及數(shù)百萬次數(shù)據(jù)傳輸,而一次延遲傳輸可能會在整個(gè)作業(yè)中波動導(dǎo)致GPU處于空閑狀態(tài),而網(wǎng)絡(luò)擁塞、鏈路和設(shè)備故障是傳輸延遲和抖動最常見的原因。
隨著算力基建規(guī)模的增大,這些問題發(fā)生得更頻繁且更難解決。其面臨兩個(gè)關(guān)鍵的網(wǎng)絡(luò)挑戰(zhàn):要盡可能降低網(wǎng)絡(luò)擁塞的發(fā)生概率,盡量減少網(wǎng)絡(luò)故障對訓(xùn)練工作本身的影響。
基于此,OpenAI聯(lián)合多家芯片公司打造了MRC。其目標(biāo)是打造一個(gè)即使在出現(xiàn)故障時(shí)也能提供高度可預(yù)測性能的網(wǎng)絡(luò),以保持訓(xùn)練任務(wù)能持續(xù)推進(jìn)。
MRC是對聚合以太網(wǎng)RDMA(RoCE)的擴(kuò)展。RoCE是由無限帶寬行業(yè)協(xié)會制定的標(biāo)準(zhǔn),能夠在GPU與CPU之間實(shí)現(xiàn)硬件加速的遠(yuǎn)程直接內(nèi)存訪問。MRC借鑒了超以太網(wǎng)聯(lián)盟(UEC)研發(fā)的技術(shù),并基于SRv6源路由對其進(jìn)行能力擴(kuò)展,從而支撐大規(guī)模AI網(wǎng)絡(luò)架構(gòu)組網(wǎng)。
該網(wǎng)絡(luò)架構(gòu)已依托英偉達(dá)和博通的硬件,支撐多款OpenAI模型訓(xùn)練。
AMD為MRC貢獻(xiàn)了擁塞控制技術(shù),以提升MRC的實(shí)際性能,且AMD已經(jīng)與頭部云服務(wù)商合作,在測試集群中大規(guī)模部署MRC,在MRC規(guī)范開發(fā)之前,AMD已有改進(jìn)版RoCEv2傳輸協(xié)議的預(yù)標(biāo)準(zhǔn)實(shí)現(xiàn),該協(xié)議演變?yōu)榻袢盏腗RC標(biāo)準(zhǔn)。AMD的官方新聞稿提到,其是最早且唯一在400G網(wǎng)卡上實(shí)現(xiàn)MRC的公司之一,他們可以無縫過渡到AMD Pensando“Vulcano”800G AI NIC的應(yīng)用,該NIC同樣支持MRC傳輸協(xié)議。
MRC是首次在英偉達(dá)Spectrum-X以太網(wǎng)上驗(yàn)證并優(yōu)化的新傳輸協(xié)議,其故障繞過技術(shù)可以在僅幾微秒內(nèi)檢測網(wǎng)絡(luò)路徑故障,并在硬件中自動重路由流量。英偉達(dá)官方博客提到,這種繞過失敗技術(shù)對于AI訓(xùn)練集群尤為重要,因?yàn)槌汕先f的GPU必須保持同步,即使是短暫的網(wǎng)絡(luò)中斷也可能減緩甚至中斷整個(gè)訓(xùn)練任務(wù)。
博通Thor Ultra是一款面向AI負(fù)載與多平面架構(gòu)網(wǎng)絡(luò)設(shè)計(jì)的800Gbps高性能以太網(wǎng)卡。該產(chǎn)品基于數(shù)代RoCE網(wǎng)卡技術(shù)打造,新增支持MRC以及高級RoCE技術(shù)。博通官方博客稱,其將這項(xiàng)技術(shù)與經(jīng)驗(yàn)投入到了MRC生態(tài)合作研發(fā)當(dāng)中。Thor Ultra集成了使用網(wǎng)絡(luò)編程語言(NPL)實(shí)現(xiàn)高帶寬線率可編程數(shù)據(jù)路徑,實(shí)現(xiàn)先進(jìn)擁塞控制(基于發(fā)送端和接收端)、負(fù)載均衡以及可靠傳輸?shù)裙δ埽梢越档拖到y(tǒng)成本和復(fù)雜度。
英特爾在官方X賬號發(fā)帖稱,借助MRC技術(shù),英特爾正構(gòu)建多平面以太網(wǎng)組網(wǎng)架構(gòu),該架構(gòu)可實(shí)現(xiàn)超大規(guī)模集群部署,同時(shí)減少交換機(jī)層級、降低功耗、提升整體可靠性。
MRC為其擴(kuò)展超級計(jì)算機(jī)帶來三個(gè)關(guān)鍵優(yōu)勢:
首先,該技術(shù)僅通過兩層以太網(wǎng)交換機(jī),就能搭建出可承載十萬塊GPU規(guī)模超算的多平面高速網(wǎng)絡(luò)。這套架構(gòu)具備充足冗余能力,可平穩(wěn)抵御網(wǎng)絡(luò)故障;同時(shí)相比同等規(guī)模的三層、四層單平面網(wǎng)絡(luò),功耗更低。
其次,MRC的自適應(yīng)數(shù)據(jù)包散射具備極佳的負(fù)載均衡能力,使得網(wǎng)絡(luò)核心基本不會出現(xiàn)擁塞。
這降低了同步訓(xùn)練中各數(shù)據(jù)流之間的吞吐量波動,而消除異常延遲正是同步訓(xùn)練性能優(yōu)化的核心關(guān)鍵。同時(shí),即便多項(xiàng)任務(wù)共享同一個(gè)超算集群,彼此之間也不會產(chǎn)生性能干擾。
最后,MRC采用SRv6源路由快速繞過故障鏈路,僅在正常可用路徑上轉(zhuǎn)發(fā)數(shù)據(jù)包。
這使得其可以采用簡潔的靜態(tài)網(wǎng)絡(luò)控制面,并從根本上規(guī)避一大類動態(tài)路由特有的故障異常問題。
二、支持多平面網(wǎng)絡(luò),可實(shí)現(xiàn)更低成本、功耗
MRC采用了多平面網(wǎng)絡(luò),不再把每個(gè)網(wǎng)絡(luò)接口視作一條800Gb/s的鏈路,而是將其拆分為多條更小粒度的子鏈路。例如,單個(gè)網(wǎng)絡(luò)接口可同時(shí)連接八臺不同交換機(jī)。由此便可搭建八路獨(dú)立并行網(wǎng)絡(luò)(網(wǎng)絡(luò)平面),每路帶寬為100Gb/s,而非構(gòu)建單一的800Gb/s網(wǎng)絡(luò)。
這樣做的好處是,一臺原本支持64個(gè)800Gb/s端口的交換機(jī),改用后可提供512個(gè)100Gb/s端口,借此僅用兩層交換機(jī)就能搭建出可全互聯(lián)約131000塊GPU的網(wǎng)絡(luò);而傳統(tǒng)800Gb/s組網(wǎng)則需要三層甚至四層交換機(jī)架構(gòu)。
![]()
▲支持多平面網(wǎng)絡(luò)
這樣設(shè)計(jì)的網(wǎng)絡(luò)成本、功耗都更低,且比傳統(tǒng)網(wǎng)絡(luò)設(shè)計(jì)能提供更多路徑多樣性的網(wǎng)絡(luò),還允許更多流量留在第0層交換機(jī)本地,從而提升性能。
然而,這樣的路徑多樣性往往難以被充分利用。用于AI訓(xùn)練的傳統(tǒng)網(wǎng)絡(luò)協(xié)議,通常要求每次數(shù)據(jù)傳輸固定走單一路徑,以保證數(shù)據(jù)包按序到達(dá)。
![]()
在大規(guī)模多平面網(wǎng)絡(luò)中,這會帶來兩大問題:一是不同數(shù)據(jù)流可能爭搶同一條鏈路,引發(fā)網(wǎng)絡(luò)擁塞;二是單條數(shù)據(jù)流只能占用眾多網(wǎng)絡(luò)平面中的其中一條。如果不做針對性優(yōu)化,多平面網(wǎng)絡(luò)反而會出現(xiàn)嚴(yán)重?fù)砣w性能表現(xiàn)會大打折扣。
![]()
▲數(shù)據(jù)包流相互碰撞導(dǎo)致?lián)砣?/p>
三、跨數(shù)百條路徑進(jìn)行數(shù)據(jù)包散射轉(zhuǎn)發(fā)
MRC從根本上改變了這一模式。
其不再將一次數(shù)據(jù)傳輸限定在單條路徑上,而是把單次傳輸?shù)臄?shù)據(jù)包分散分發(fā)到網(wǎng)絡(luò)中數(shù)百條路徑、跨所有獨(dú)立網(wǎng)絡(luò)平面并行傳輸。
數(shù)據(jù)包可以亂序到達(dá),但所有MRC數(shù)據(jù)包都攜帶最終內(nèi)存地址,因此接收端無需等待排序,可隨到隨寫入內(nèi)存。
![]()
這樣一來,每條MRC連接都會為其所使用的眾多路徑維護(hù)少量狀態(tài)信息。一旦檢測到某條路徑出現(xiàn)擁塞,就會立刻切換至其他路徑,從而均衡全網(wǎng)負(fù)載。
如果發(fā)生丟包,MRC會采取穩(wěn)妥策略,默認(rèn)該路徑可能已出現(xiàn)故障,隨即立即停用該路徑,并對可能丟失的數(shù)據(jù)包進(jìn)行重傳。
在淘汰某條路徑后,MRC會發(fā)送探測包核查是否確實(shí)存在故障;若確有故障,則進(jìn)一步檢測鏈路是否已經(jīng)恢復(fù)。
還有一個(gè)丟包原因是目標(biāo)端擁塞。MRC可以通過報(bào)文截?cái)鄼C(jī)制處理這類場景:當(dāng)交換機(jī)因擁塞即將丟棄報(bào)文時(shí),并不會直接整包丟棄,而是裁減掉有效載荷,僅將報(bào)文頭部轉(zhuǎn)發(fā)至目的端,以此觸發(fā)顯式重傳請求。
并且報(bào)文截?cái)嗄軌蛴行p少誤判,避免把單純擁塞導(dǎo)致的丟包,錯(cuò)誤判定為路徑故障。
結(jié)合多平面拓?fù)洹?shù)據(jù)包散射轉(zhuǎn)發(fā)、負(fù)載均衡與報(bào)文截?cái)噙@些機(jī)制,MRC連接能夠微秒級檢測網(wǎng)絡(luò)故障并完成迂回繞行,降低對同步訓(xùn)練任務(wù)的影響。相比之下,傳統(tǒng)網(wǎng)絡(luò)架構(gòu)往往需要數(shù)秒甚至數(shù)十秒才能完成收斂穩(wěn)定、實(shí)現(xiàn)故障繞行。
四、進(jìn)一步簡化網(wǎng)絡(luò),一旦丟包即停止路徑
MRC在簡化網(wǎng)絡(luò)方面更進(jìn)一步。
傳統(tǒng)方案中,交換機(jī)都會運(yùn)行BGP(邊界網(wǎng)關(guān)協(xié)議)這類動態(tài)路由協(xié)議,用以計(jì)算可用路徑并實(shí)現(xiàn)故障迂回。
但交換機(jī)本身結(jié)構(gòu)復(fù)雜、運(yùn)行的軟件也十分龐雜。一旦出現(xiàn)隱匿性異常,這類問題往往難以排查,還會持續(xù)引發(fā)連接中斷,直至故障修復(fù)。
采用MRC后,一旦某條路徑出現(xiàn)丟包,MRC便會停止使用該路徑。
其采取的方案是,關(guān)閉動態(tài)路由,轉(zhuǎn)而采用IPv6分段路由(SRv6)。SRv6允許發(fā)送端直接指定每個(gè)數(shù)據(jù)包在網(wǎng)絡(luò)中的轉(zhuǎn)發(fā)路徑,實(shí)現(xiàn)方式是將交換機(jī)標(biāo)識序列嵌入每個(gè)數(shù)據(jù)包的目的地址字段。
![]()
拆解原理如下:
交換機(jī)在轉(zhuǎn)發(fā)報(bào)文時(shí),會檢查自身標(biāo)識是否在路徑列表中。如果命中,就通過偏移目的地址字段移除當(dāng)前自身標(biāo)識,露出下一跳交換機(jī)的標(biāo)識。
隨后交換機(jī)在靜態(tài)路由表中查詢該標(biāo)識,據(jù)此決定報(bào)文的下一跳轉(zhuǎn)發(fā)去向。
與動態(tài)路由不同,這類靜態(tài)路由表在交換機(jī)初始配置階段一次性部署完成,后續(xù)不再變更。
MRC利用SRv6在所有網(wǎng)絡(luò)平面間分散分發(fā)數(shù)據(jù)包,同時(shí)在每個(gè)平面內(nèi)并行使用多條路徑。一旦某條路徑發(fā)生故障,MRC直接停止選用該路徑即可。
交換機(jī)無需重新計(jì)算路由,只需嚴(yán)格按照預(yù)設(shè)的靜態(tài)路由規(guī)則進(jìn)行轉(zhuǎn)發(fā),無需額外做任何復(fù)雜處理。
結(jié)語:大廠聯(lián)手,打破超算集群算力利用率瓶頸
根據(jù)官方博客,MRC顯著提升了OpenAI訓(xùn)練全新大模型的能力,同時(shí)讓網(wǎng)絡(luò)架構(gòu)能夠匹配其AI發(fā)展路線圖。
隨著訓(xùn)練集群規(guī)模持續(xù)擴(kuò)張,網(wǎng)絡(luò)設(shè)計(jì)愈發(fā)決定可用算力的實(shí)際利用率。MRC能夠讓GPU集群在遭遇擁塞、鏈路故障和運(yùn)維維護(hù)時(shí)保持協(xié)同穩(wěn)定運(yùn)行,而這類事件在過去都會中斷訓(xùn)練任務(wù)。
在超大規(guī)模算力場景下,這種可靠性與運(yùn)行效率或?qū)⒊蔀橹吻把卮竽P屯接?xùn)練得以實(shí)現(xiàn)的基礎(chǔ)前提。
來源:OpenAI
特別聲明:以上內(nèi)容(如有圖片或視頻亦包括在內(nèi))為自媒體平臺“網(wǎng)易號”用戶上傳并發(fā)布,本平臺僅提供信息存儲服務(wù)。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.