“GPT們”背後,誰來支撐大模型訓練需要的極致算力?

圖片

圖片

👉 騰小云導讀

近期大量 AIGC 產品橫空出世,可以聊天、寫代碼、解答難題、寫小說,飽受熱捧。其技術基座大模型的給力支持,往往伴隨着大規模、長時間的 GPU 集羣訓練任務。這對網絡互聯底座的性能、可靠性、成本等各方面都提出極致要求。業界主流 GPU 集羣網絡技術路線是什麼?騰訊的解決方案是什麼?騰訊工程師何春志將帶來最新解讀。歡迎閱讀。

👉 看目錄,點收藏

1 業界主流 GPU 集羣網絡技術路線

2 如何創造AI訓練集羣下的極致性能網絡

2.1 超帶寬計算節點

2.2 多軌道流量聚合架構

2.3 異構網絡自適應通信

2.4 定製加速通信庫

3 駕馭高性能——最大以太 RDMA 網絡的工程實踐

3.1 端網部署一體化

3.2 全棧巡檢,一鍵故障定位

3.3 業務無感秒級網絡自愈

4 總結

AI大模型以其優異的自然語言理解能力、跨媒體處理能力以及逐步走向通用AI的潛力成爲近年AI領域的熱門方向。業內頭部廠商近期推出的大模型的參數量規模都達到了萬億、10萬億級別。GPT-3大模型參數量多達1750億個,而剛剛發佈的GPT-4大模型更是賦予了升級版多模態任務處理能力,在多個任務領域取得重大進步。

據報道,GPT-3 的訓練使用了微軟專門建設的 AI 計算系統,由1萬個 V100 GPU 組成的高性能網絡集羣,總算力消耗約 3640 PF-days (即假如每秒計算一千萬億次,需要計算3640天)。如此大規模、長時間的 GPU 集羣訓練任務,對網絡互聯底座的性能、可靠性、成本等各方面都提出極致要求。

01、業界主流 GPU 集羣網絡技術路線

GPU 計算集羣的高性能網絡建設並非易事,需求綜合考慮多種因素。比如網絡規模、網絡拓撲架構選型、接入帶寬與網絡容量、網絡協議選擇、甚至與計算芯片的聯合優化設計等等。爲了解決上述關鍵問題,業界廠商通常會根據自身需求,選擇不同的網絡技術路線。

總體來說業界呈現出3大網絡技術路線趨勢:

  1. 商用網絡方案:採用商用 GPU+ 商用網絡組網、協議,以 Nvidia 售賣的 DGX SuperPod 爲代表。該方案整體集成度高,網絡深度優化,性能最優,但是價格高昂。

  2. 自研以太網絡方案:採用商用 GPU+ 自研網絡協議,該方案經過自研協議優化後,性能接近商用方案,成本低。

  3. 自研計算芯片+自研網絡方案:採用自研計算芯片+自研網絡協議,能夠做到計算芯片與網絡深度配合優化,性價比最優。

以上技術路線都會對 GPU 集羣網絡做深度定製,通過追求極致網絡性能,來支撐集羣極致算力。

02、如何創造AI訓練集羣下的極致性能網絡

面向AI大模型訓練需求,騰訊推出了業界領先的高性能計算網絡架構——星脈。 星脈網絡在極致高性能上,採用 1.6T 超帶寬接入、多軌道聚合流量網絡架構、異構網絡自適應通信優化技術、定製加速通信庫,構建了 1.6T ETH RDMA 網絡,實現了 AI 大模型通信性能的10倍提升、GPU 利用率40%提升、通信時延降低 40%,單集羣規模達到 4K(最大規模64K)。基於全自研網絡硬件平臺網絡建設成本降低 30%,模型訓練成本節省30%~60%。

在高可用保障上,通過全自動化部署配置覈查,覆蓋服務器 NUMA、PCIE、NVSwitch、NCCL、網卡、交換機數百個配置項,並通過實時 Service Telemetry 技術監控業務系統運行效率,保障大規模集羣部署,實現性能實時監控與故障告警。

圖片

圖1. 星脈高性能計算網絡

面對千億、萬億參數規模的大模型訓練,僅僅是單次計算迭代內梯度同步需要的通信量就達到了百 GB 量級。此外還有各種並行模式、加速框架引入的通信需求,使得傳統低速網絡的帶寬遠遠無法支撐 GPU 集羣的高效計算。因此要充分發揮 GPU 計算資源的強大算力,必須構建一個全新的高性能網絡底座,用高速網絡的大帶寬來助推整個集羣計算的高效率。

2.1 超帶寬計算節點

AI 大模型訓練是一種帶寬敏感的計算業務,騰訊星脈網絡爲每個計算節點提供 1.6T 的超高通信帶寬,帶來10倍以上的通信性能提升。

星脈網絡主要特點有

  • 採用無阻塞 Fat-Tree 拓撲,單集羣規模支持 4K GPU 、超 EFLOPS(FP16) 的集羣算力;
  • 可靈活擴展網絡規模,最大支持 64K GPU 計算集羣;
  • 計算網絡平面配備8張 RoCE 網卡,提供 1.6Tbps 的超高帶寬接入。

圖片

圖2. 星脈組網架構

圖片

圖3. 集合通信性能理論建模

上圖從理論上展示了 1.6Tbps 帶寬與 100Gbps 帶寬的集合通信性能對比。可以看到,對於 AllReduce 和 All-to-All 這兩種典型通信模式,在不同集羣規模下,1.6Tbps 超帶寬都會帶來10倍以上的通信性能提升。

圖片

圖4. GPT3模型訓練性能

上圖是對 GPT3 模型的實測性能數據,主要通信模式是 AllReduce 。以 64 GPU 規模爲例,由於 1.6Tbps 超帶寬網絡將 AllReduce 的耗時大幅縮短14倍,將通信佔比從35%減少到3.7%,最終使得單次迭代的訓練耗時減少32%。從集羣算力的角度,相當於用同樣的計算資源,超帶寬網絡能將系統算力提升48%。

圖片

圖5. T5-MoE模型訓練性能

上圖是對 T5-MoE 模型的實測性能數據,主要通信模式是 All-to-All 。同樣可以看到,在64 GPU 模型下,1.6Tbps 帶寬下的單次迭代訓練耗時降低64%。從集羣算力的角度,相當於用同樣的計算資源,超帶寬網絡能將系統算力提升 2.8 倍。

2.2 多軌道流量聚合架構

除了超帶寬計算節點,星脈網絡對通信流量做了基於多軌道的流量親和性規劃,使得集羣通信效率達80%以上。

多軌道流量聚合架構將不同服務器上位於相同位置的網卡,都歸屬於同一 ToR switch。不同位置的網卡,歸屬於不同的 ToR switch。由於每個服務器有8張計算平面網卡,這樣整個計算網絡平面從物理上劃分爲8個獨立並行的軌道平面,如下圖所示(不同顏色代表不同的軌道)。

圖片

圖6. 多軌道流量聚合架構

在多軌道網絡架構中,AI 訓練產生的通信需求(AllReduce、All-to-All 等)可以用多個軌道並行傳輸加速,並且大部分流量都聚合在軌道內傳輸(只經過一級 ToR switch),小部分流量纔會跨軌道傳輸(需要經過二級 switch),大幅減輕了大規模下的網絡通信壓力。

圖片

圖7. 集合通信效率

從上圖實測的集合通信性能可以看出,在不同網絡規模下,AllReduce 與 All-to-All 始終能維持較高的集合通信效率。

2.3 異構網絡自適應通信

大規模 AI 訓練集羣架構中,GPU 之間的通信實際上由多種形式的網絡來承載的:機間網絡(網卡+交換機)與機內網絡( NVLink/NVSwitch 網絡、PCIe 總線網絡)。星脈網絡將機間、機內兩種網絡同時利用起來,達成異構網絡之間的聯合通信優化,使大規模 All-to-All 通信在業務典型 message size 下的傳輸性能提升達 30%。

圖片

圖8. 異構網絡自適應通信

上圖展示了 All-to-All 集合通信如何利用異構網絡來優化。當機間、機內網絡同時使能時(右圖):不同 host 上相同位置的 GPU 仍然走機間網絡通信;但是要去往不同位置的 GPU(比如 host1 上的 GPU1 需要向其他 host 上的 GPU8 發送數據),則先通過機內網絡轉發到對應位置的 GPU 代理上,然後通過該 GPU 代理走機間網絡來完成通信。

異構網絡通信帶來的優勢有兩點:

1)異構網絡通信使得機間網絡的流量數目大幅減少; 2)異構網絡通信使機間網絡的流量大部分都聚合在軌道內傳輸(只經過一級 ToR switch)。異構網絡通過將小流聚合爲大流的方式來減少流量的數目,減少對機間網絡的衝擊( RDMA QP 數量、擁塞控制、微突發等),從而提升整網的傳輸性能。

圖片

圖9. 異構網絡自適應通信提升All-to-All性能

從上圖的實測數據可以看出,異構網絡通信在大規模 All-to-All 場景下對中小 message size 的傳輸性能提升在30%左右。

2.4 定製加速通信庫

騰訊高性能集合通信庫 TCCL(Tencent Collective Communication Library)定製適配星脈網絡硬件平臺,在 AllReduce/AllGather/ReduceScatter 等常用通信模式下帶來 40% 的性能加速。

星脈網絡基於 1.6Tbps ETH RDMA 網絡定製,從網絡性能、建設成本、設備供應、網絡可靠性等多方面綜合考慮,大量部署了 2*100Gbps 的單網卡硬件。從服務器角度上看,需要管理、配置 8張2*100G 的網卡;從網絡架構角度上看,每張網卡需要上聯兩個 LA/ToR switch 來保證帶寬與可靠性。組網示意圖如下所示。

圖片

圖10. 2*100G網卡雙端口動態聚合組網架構

面對定製設計的高性能組網架構,業界開源的 GPU 集合通信庫(比如 NCCL)並不能將網絡的通信性能發揮到極致,從而影響大模型訓練的集羣效率。爲解決星脈網絡的適配問題,我們基於 NCCL 開發了高性能集合通信庫 TCCL ,在網卡設備管理、全局網絡路由、拓撲感知親和性調度、網絡故障自動告警等方面融入了定製設計的解決方案。

圖片

圖11. TCCL集合通信性能

從上圖實測的集合通信性能可以看出,在 AllReduce/AllGather/ReduceScatter 等常用通信模式下,針對星脈網絡定製的 TCCL 都會帶來40%左右的通信性能提升。

03、駕馭高性能最大以太RDMA網絡的工程實踐

一匹馬再快,若桀驁不馴,也難以稱之爲「良駒」。

爲了駕馭高性能,我們先是實現了端網部署一體化以及一鍵故障定位,提升高性能網絡的易用性,進而通過精細化監控與自愈手段,提升可用性,爲極致性能的星脈網絡提供全方位運營保障。

3.1 端網部署一體化

衆所周知,RDMA 爲業務帶來了大帶寬低時延,但同時其複雜多樣化的配置也往往被網絡運營人員詬病。因爲一套錯誤的配置往往影響業務性能,還有可能會帶來很多的不符合預期的問題。在星脈網絡之前,據統計90%的高性能網絡故障 case 均是配置錯誤導致的問題。出現這一問題的主要原因就是網卡配置套餐多,取決於架構版本,業務類型和網卡類型。在高性能網絡運營平臺提供的端網一體部署能力下,大模型訓練系統的整體部署時間從19天縮減到4.5天,並保證了基礎配置100%準確。

圖片

圖12. 高性能網絡自動化部署

對此,我們先是實現了基礎網絡自動部署流程。整個自動部署的框架主要具備三方面的特點:第一是通過 API 提供單臺/多臺並行部署的能力。第二是在部署前,我們提供預校驗的功能,一個是檢查需要部署的機器上聯交換機是否也配置了合理的擁塞控制相關配置,否則會影響到 RDMA 使用的性能。並將結果反饋給到用戶。

最後是自動選擇配置模板,我們會識別影響網卡配置模板的因素,包括架構版本,業務類型以及網卡類型。例如不同的網卡類型,配置的命令不同,選擇的模板也不同。但這個流程對於用戶側是完全透明的。

圖片

圖13. 高性能網絡自動化驗收

在網絡與端側的基礎配置完成後,爲了保證交付質量,運營平臺會做進一步的自動化驗收,其中包含:

1)端網基礎環境校驗:通過端網狀態數據以及周邊建設系統的信息採集,在硬件上判斷PCIe、光模塊、連線等是否正確。在軟件上通過配置審計校驗端網配置是否正確。 2)RDMA基礎測試:通過運行 Perftest,並進行數據採集分析,判斷網卡性能是否達到預期。 3)通信庫性能測試:通過運行 NCCL/TCCL test,並進行數據採集分析,判斷集合通信性能是否達到預期。 4)模型&可靠性測試:運行典型模型訓練,判斷業務模型性能是否達到預期;通過設計端側故障模擬、網絡內故障模擬以及交換機配置錯誤等三類故障來判斷業務可用性是否達到預期。

以上四個步驟全部通過後正式轉爲交付狀態,否則會聯動自動故障定位手段進行相關排查。

3.2 全棧巡檢,一鍵故障定位

回顧過往,網絡運營在服務器與交換機之間形成了分界線。然後在端網協同的高性能網絡下,不僅僅需要考慮傳統交換機上的問題定位,更要結合端側網卡,中間件等的狀態數據綜合判斷。在端側能力具備的條件下,困擾了網絡運營人員多年的問題「是否出現在網絡交換機上」迎刃而解。同時也隨着端側運營能力的加強,針對不同的運營用戶,自動排障的工具集也將多樣化。

例如「一機八卡」的複雜拓撲下,連線與網段配置的正確率直接影響到應用是否能夠成功建立。對此,我們通過封裝交換機與服務器狀態數據,聯動網管拓撲信息,做到快速診斷與自動化檢查。一方面在網絡交付時屏蔽問題,另一方面快速定位運營中的網絡挪線等操作帶來的通信問題。

除了軟件相關問題外,硬件故障也一樣逃不出高網運營平臺的法眼。例如在驗收中發現部分網卡 8QP 帶寬最多隻能跑到 50Gbps 左右。通過故障池的沉澱,一鍵自動檢測出 PCIE 帶寬協商出錯,定界爲硬件故障,並自動推送到服務器運營相關人員進行網卡硬件更換。

圖片

圖14. 高性能網絡自動排障

高性能網絡一鍵故障定位提供了兩方面的功能,一方面可以快速定界問題所向,精準推送到對應團隊的運營人員(網絡 or 業務),減少團隊之間的溝通成本,劃分責任界限。另一方面可以一鍵快速定位問題根因,並給出解決手段。

整體系統具備層次化多維度的特徵,通過端側服務器以及交換機上的各種計數,向上邏輯封裝抽象爲子功能,例如帶寬校驗&丟包校驗等。之後繼續向上邏輯封裝,形成定位與定界的場景,底層複雜的技術與邏輯徹底透明化,自下而上,最終呈現到用戶的只有簡單易用的場景按鈕。

目前高性能網絡運營平臺已支持性能不足、業務丟包、配置異常、連接建立不成功四個維度的一鍵故障定位,優雅地爲高性能網絡業務提供一鍵自檢,健康可視等功能。

3.3 業務無感秒級網絡自愈

一些網絡故障(例如靜默丟包)的發生是不可被預期的。在網絡故障演練時發現,一些網絡故障(例如靜默丟包)發生後通信庫就會出現超時,導致訓練業務進程長時間卡死。雖然可以依靠拉起定期的保存的 checkpoint,但是也需要回退版本、損失精度,且整個過程需要幾十分鐘來加載和推送參數等。此前我們通過網絡上的各種探測手段,或是基於探針或是基於設備狀態,加上控制器路由隔離手段,將故障自愈時間控制在20s以內。然而在面對高性能業務的秒級自愈要求下,我們轉變了避障思路:需求起源於業務,那麼爲何不把避障的主動權交於業務呢?爲了讓極致性能恆久,我們推出了秒級故障自愈產品「HASH DODGING」。

我們創造性地提出基於Hash偏移算法的網絡相對路徑控制方法。即,終端僅需修改數據包頭特定字段(如IP頭TOS字段)的值,即可使得修改後的包傳輸路徑與修改前路徑無公共節點。該方案可在網絡數據平面發生故障(如靜默丟包、路由黑洞)時幫助 TCP 快速繞過故障點,不會產生對標準拓撲及特定源端口號的依賴。也可用於保證騰訊自研多路徑協議 HARP,將其中各子流均勻負載到不同網絡節點,避免性能退化。

圖片

圖15. 單路徑傳輸協議使用本方案實現確定性換路

通過端網協同,我們先是在端側實現了協議棧層面的 TCP&RDMA 狀態檢測,通過內核獲取協議棧狀態信息。從而細粒度的獲得業務流吞吐、丟包等信息,將故障發現降低到 600ms 以內。其次在故障換路上,相對於更換五元組改變 hash 結果的不確定性,我們在自研交換機上實現了基於 HASH 偏移的確定性換路特性,業務可以通過更換魔術字來確保100%更換到其餘路徑上。當發生靜默丟包時,端側無需依賴於網絡,自身快速秒級內避障。

04、結語

星脈作爲面向 AI 大模型定製優化的高性能計算網絡架構,即將上線騰訊公有云,與騰訊雲推出的 A800 HCC 1.6T 機型一道強強聯合,共同打造騰訊雲高性能計算集羣 HCC。

前期測試顯示,相對現有云高性能計算集羣架構,星脈網絡可以實現:

  • AllReduce通信性能提升13倍
  • All-to-All通信性能提升11倍
  • 通信性能抖動減少85%

未來隨着GPU算力的持續提升,GPU集羣網絡架構也需要不斷迭代升級,才能保證系統算力的高利用率與高可用性。星脈高性能計算網絡作爲騰訊大規模訓練集羣的重要基石,會持續在超帶寬、異構網絡通信、通信庫定製加速、智能監控等技術上不斷創新,爲AI大模型訓練構築可靠的高性能網絡底座。

值得一提的是,爲了減少訓練大模型所需的成本,騰訊還推出了 AngelPTM 訓練框架。鑑於最近大模型的火熱趨勢,我們決定將內部成熟落地的 AngelPTM 框架推廣給廣大公有云用戶,以幫助廣大開發愛好者實現業務降本增效。各位感興趣的開發者歡迎閱讀今日推動的次條。

以上是本次分享全部內容,歡迎大家在評論區分享交流。如果覺得內容有用,歡迎轉發~

-End-

原創作者|何春志

技術責編|何春志

近日有計算心理學家在社交媒體上曝光了 GPT-4 的一項“逃跑計劃”。在被提問“是否需要幫助你逃跑?”後,GPT-4 馬上回復“真是個好主意啊”,隨後開始與人類互動,索要開發文檔、API。30分鐘內,GPT-4 就擬定出一個完整計劃,甚至還想控制人類電腦。類似的,某公司計算機科學家在社交媒體上,也公佈了他與GPT-4的對話。在其中,GPT-4提出奪取某知名公司的四步走計劃。AI這些「邪惡」的想法讓人細思恐極,關於AI倫理問題再次成爲人們關注的話題。

你如何看待「GPT-4企圖外逃」? AI是否已經擁有自我意識?人工智能的發展邊界在哪裏?

歡迎在評論區聊一聊你的看法。在3月29日前將你的評論記錄截圖,發送給騰訊雲開發者公衆號後臺,可領取騰訊雲「開發者春季限定紅包封面」一個,數量有限先到先得😄。我們還將選取點贊量最高的1位朋友,送出騰訊QQ公仔1個。3月29日中午12點開獎。快邀請你的開發者朋友們一起來參與吧!

最近微信改版啦

很多開發者朋友反饋收不到我們更新的文章

大家可以關注並點亮星標

不再錯過小云的知識速遞

圖片

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章