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