提到人工智能(AI)時(shí),您的腦海中會(huì )浮現什么?對于我而言,這一切始于去年11月,我的一位老友在領(lǐng)英(LinkedIn)上發(fā)了一篇帖子,表達他對ChatGPT的印象有多深刻。然而當我也注冊了OpenAI賬號后,真正讓我著(zhù)迷的是ChatGPT能夠像人類(lèi)一樣提供答案,這些答案既符合語(yǔ)境,又具有技術(shù)上的合理性。
當然,它的局限性也比較明顯,那就好似我在跟一個(gè)聰明但有點(diǎn)遲鈍的人類(lèi)朋友互動(dòng)。它會(huì )以要點(diǎn)形式給出回答,并不斷提醒我,它其實(shí)是一個(gè)人工智能模型。它督促我對它的回答保持一絲懷疑。在我看來(lái),最吸引人的是屏幕輸出答案的方式——每個(gè)字母和詞都緩慢地出現,如同連接在另一端的人在打字輸入一樣。
六個(gè)月時(shí)光飛逝。如今,當我在ChatGPT上輸入一個(gè)問(wèn)題時(shí),它的反應快得讓我有點(diǎn)不知所措。在過(guò)去的六個(gè)月時(shí)間里,究竟發(fā)生了什么?ChatGPT的開(kāi)發(fā)者們做了哪些更新調整?
最有可能的情況是,OpenAI擴展了其人工智能集群的推理能力,從而滿(mǎn)足超過(guò)1億用戶(hù)的需求。據報道,在人工智能芯片制造商中處于領(lǐng)先地位的英偉達(NVIDIA)已供應大約20000顆圖形處理器(GPU),用于支持ChatGPT的開(kāi)發(fā),并且有大幅增加圖形處理單元使用的計劃。據推測,即將推出的人工智能模型可能需要多達1000萬(wàn)個(gè)圖形處理單元。
GPU集群架構——生成式人工智能的基礎
現在,讓我們退一步想想。對我而言,努力去理解20000顆GPU的概念并非難事,但是,通過(guò)1000萬(wàn)顆GPU的光連接來(lái)執行智能任務(wù)的想法很有挑戰性。
經(jīng)過(guò)數小時(shí)的互聯(lián)網(wǎng)搜索,我偶然發(fā)現各種設計指南,其中詳細介紹如何構建高性能網(wǎng)絡(luò ),以提供人工智能工作負載所需的高速連接。
在這里我想探討一下,如何通過(guò)最初配置較小的設置,然后將其逐漸擴大至包含數千顆GPU,從而創(chuàng )建GPU集群。我們將以英偉達設計指南為例,這些指南源于高性能計算(HPC)網(wǎng)絡(luò )的傳統。
根據英偉達在該組設計指南中的建議,此過(guò)程涉及使用多個(gè)具有256顆GPU的pod的較小單元(可擴展單元)來(lái)構建大量GPU集群。每個(gè)pod包括8個(gè)計算機架和2個(gè)位于一排中間位置的網(wǎng)絡(luò )機架。這些pod內部及pod之間的連接通過(guò)InfiniBand(一種高速、低時(shí)延的交換協(xié)議)建立的,采用的是英偉達的Quantum-2交換機。
當前的InfiniBand交換機利用800G OSFP端口,采用下一代數據速率為400G(NDR)的雙工端口。在該配置中,每個(gè)端口使用8根光纖,因而每臺交換機使用64x400G端口。下一代交換機,無(wú)論其名稱(chēng)如何,將采用極限數據速率(XDR)。這意味著(zhù),每臺交換機使用64x800G端口,每個(gè)端口也使用8根光纖——主要是單模光纖。該4通道(8光纖)模式似乎是InfiniBand路線(xiàn)圖中反復出現的圖示(如下表所示),而未來(lái)將使用更快的速度。
*在4X(4通道)以Gb/s為單位表示鏈路速度
就布線(xiàn)方法而言,在高性能計算(HPC)領(lǐng)域,普遍采用的最佳做法需要采用點(diǎn)對點(diǎn)有源光纜(AOC)。這些光纜在光纖收發(fā)器之間建立牢固的連接,一根光纜連接兩臺光纖收發(fā)器。
但是,隨著(zhù)帶有多芯光纖連接器(MPO)接口的最新800G NDR端口的面世,點(diǎn)對點(diǎn)連接的情形已從AOC光纜轉變?yōu)镸PO-MPO無(wú)源跳線(xiàn)。在考慮單個(gè)具有256個(gè)GPU的pod時(shí),利用點(diǎn)對點(diǎn)連接沒(méi)有什么大問(wèn)題。我個(gè)人的做法是選擇MPO跳線(xiàn),以簡(jiǎn)化裝置。
大規模運行
到目前為止,進(jìn)展仍然相對順利,但是在追求更大的規模時(shí)(例如實(shí)現16k GPU將需要將64個(gè)具有256顆GPU的pod互連起來(lái)),挑戰就會(huì )出現,這是因為這些高性能GPU集群使用的計算結構具有線(xiàn)路優(yōu)化特性。在線(xiàn)路優(yōu)化設置中,來(lái)自各個(gè)計算系統的全部主機通道適配器(HCA)均連接至同一個(gè)葉交換機(leaf switch)。
據說(shuō),該設置對于在多任務(wù)(multi-job)環(huán)境中最大限度提高深度學(xué)習(DL)訓練性能至關(guān)重要。一個(gè)標準的H100計算節點(diǎn)配備4x雙端口QSFP,轉換為8個(gè)上行鏈路端口(每個(gè)GPU一個(gè)獨立上行鏈路)與8個(gè)不同的葉交換機連接,由此建立一個(gè)8條線(xiàn)路優(yōu)化結構。
在處理單個(gè)具有256顆GPU的pod時(shí),該設計的工作可實(shí)現無(wú)縫銜接。但是,如果目標是構建一個(gè)包含16384顆GPU的結構,該怎么辦?在這種場(chǎng)景中,我們有必要增加兩個(gè)交換層。來(lái)自每個(gè)pod的第一個(gè)葉交換機與脊組一(SG1)中的每個(gè)交換機連接,每個(gè)pod內的第二個(gè)葉交換機與脊組二(SG2)中的每個(gè)交換機連接,以此類(lèi)推。為取得完全實(shí)現的胖樹(shù)(fat-tree)拓撲結構,則須加入第三層核心交換組(CG)。
讓我們再次回顧一套搭載16384顆 GPU集群的一些數據。在計算節點(diǎn)和葉交換機(每個(gè)pod有8個(gè)葉交換機)之間建立連接時(shí)需要16384根光纜,意味著(zhù)每個(gè)pod有256根MPO跳線(xiàn)。在我們開(kāi)始網(wǎng)絡(luò )拓展的過(guò)程時(shí),建立葉-脊連接和脊-核心連接的任務(wù)變得更具有挑戰性。這涉及首先捆扎多根點(diǎn)對點(diǎn)MPO跳線(xiàn),然后將其敷設跨越50米至500米不等的距離。
有沒(méi)有更高效的運作方式?建議之一是采用結構化布線(xiàn)系統,該系統采用兩個(gè)接線(xiàn)板設計,利用大芯數MPO干線(xiàn),可能采用144根光纖。這樣,我們就能把18根MPO跳線(xiàn)(18x8=144)合并成一根Base-8干線(xiàn)光纜。合并后的光纜可以一次性敷設和連通數據中心場(chǎng)地。通過(guò)在端點(diǎn)使用適合8光纖連接的接線(xiàn)板和MPO適配器面板,我們可將其拆開(kāi)并連接至我們的優(yōu)化線(xiàn)路架構。該方法無(wú)需捆綁許多MPO跳線(xiàn)。
為說(shuō)明這一點(diǎn),讓我們考慮以下場(chǎng)景:對于一個(gè)非阻塞結構,每個(gè)pod需要256條上行鏈路。我們可選擇自每個(gè)pod拉出15x144根光纖干線(xiàn),生成15x18=270上行鏈路。值得注意的是,這只需使用15個(gè)電纜護套即可實(shí)現。另外,該設置提供270-256=14個(gè)備用連接,這些備用連接可作為備份,或者甚至用于存儲或管理網(wǎng)絡(luò )連接。
最終,人工智能在理解我們的問(wèn)題方面取得了重大進(jìn)展,我們將見(jiàn)證其持續演變。在實(shí)現這一轉變的過(guò)程中,尋求能夠支持大規模GPU集群(無(wú)論是16K還是24KGPU)的布線(xiàn)解決方案是難題的重要組成部分,也是光通信行業(yè)正在迎接的一項挑戰。
作者:Mustafa Keskin 康寧光通信公司應用解決方案經(jīng)理