AI 和科學(xué)計算是分布式計算問題的典型示例。這些問題通常計算量巨大,計算很密集,無法在單臺機器上完成。于是,這些計算被分解為并行任務(wù),由分布在數(shù)千個 CPU 或 GPU 的計算引擎上運行。
為了實現(xiàn)可擴展的性能,需要把工作負載劃分在多個節(jié)點,如訓(xùn)練數(shù)據(jù)、模型參數(shù)或兩者一起劃分。然后,這些節(jié)點之間需要頻繁交換信息,例如模型訓(xùn)練中反向傳播期間新處理的模型計算的梯度。這些通信往往需要高效的集合通信,如 all-reduce、broadcast 以及 gather 和 scatter 等操作。
這些集合通信模式可確保整個分布式計算中模型參數(shù)的同步和收斂。這些操作的效率對于最大限度地減少通信開銷和最大限度地提高并行計算效率至關(guān)重要,優(yōu)化不佳的集合通信可能會導(dǎo)致瓶頸,限制可擴展性。
瓶頸源于以下幾個因素:
延遲和帶寬限制:集合操作依賴于節(jié)點間的高速數(shù)據(jù)傳輸,而這些高速數(shù)據(jù)傳輸受到物理網(wǎng)絡(luò)延遲和帶寬的限制。隨著系統(tǒng)規(guī)模的增加,要交換的數(shù)據(jù)量也隨之增加,通信所花費的時間成為至關(guān)重要的因素。
同步開銷:許多集合操作需要同步點,確保所有參與的節(jié)點必須先達到相同的狀態(tài),才能繼續(xù)下一步操作。如果某些節(jié)點速度較慢,將拖累整個系統(tǒng)延遲,從而導(dǎo)致效率低下,被稱為 stragglers。
網(wǎng)絡(luò)爭用:隨著越來越多的節(jié)點試圖同時通信,網(wǎng)絡(luò)變得更加擁塞,對帶寬和網(wǎng)絡(luò)資源的爭奪也在增加,這進一步降低了集合操作的性能。
非優(yōu)化通信模式:一些集合通信算法(例如基于樹的歸約操作或基于 Ring 的 all-reduce 操作)并非始終針對大規(guī)模系統(tǒng)進行了良好優(yōu)化,導(dǎo)致可用資源的低效利用和延遲增加。
克服這一瓶頸需要先進的網(wǎng)絡(luò)技術(shù)(例如 InfiniBand 和 RDMA)和算法優(yōu)化(例如分層 all-reduce 或流水線技術(shù)),以最大限度地減少同步延遲、減少資源爭用并優(yōu)化分布式系統(tǒng)之間的數(shù)據(jù)流。
創(chuàng)建 NVIDIA SHARP
關(guān)鍵的集合通信使所有計算引擎能夠相互交換數(shù)據(jù)。在網(wǎng)卡或服務(wù)器上管理這類通信需要交換大量數(shù)據(jù),并且會受到延遲或集合性能差異的影響,稱為服務(wù)器抖動。
將管理和執(zhí)行這些集合通信的任務(wù)遷移到網(wǎng)絡(luò)交換機上,可以將傳輸?shù)臄?shù)據(jù)量減半,并最大限度地減少抖動。NVIDIA Scalable Hierarchical Aggregation and Reduction Protocol(SHARP)技術(shù)實現(xiàn)了這一理念,并引入了網(wǎng)絡(luò)計算概念。它集成在交換機 ASIC 中,旨在加速分布式計算系統(tǒng)中的集合通信。
SHARP 已隨著NVIDIA InfiniBand網(wǎng)絡(luò)一起推出,可將集合通信操作(如 all-reduce、reduce 和 broadcast 等)從服務(wù)器的計算引擎卸載到網(wǎng)絡(luò)交換機。通過直接在網(wǎng)絡(luò)中執(zhí)行歸約(如求和、平均等),SHARP 可以顯著改進這些操作并提升整體應(yīng)用程序性能。
NVIDIA SHARP 代際演進
第一代 SHARP 專為科學(xué)計算應(yīng)用而設(shè)計,側(cè)重于小消息歸約操作。它隨著NVIDIA EDR 100Gb/s 交換機產(chǎn)品推出,并迅速得到行業(yè)領(lǐng)先 MPI 通訊庫的支持。SHARPv1 小消息歸約可以并行支持多個科學(xué)計算應(yīng)用。
MVAPICH2 是 MPI 標(biāo)準(zhǔn)的開源實現(xiàn),專為 HPC 場景而設(shè)計。負責(zé) MVAPICH MPI 通信庫的俄亥俄州立大學(xué)團隊在德克薩斯先進計算中心 Frontera 超級計算機上驗證了 SHARP 的性能。MPI AllReduce 的性能提高了 5 倍,而 MPI Barrier 集合通信的性能則提高了 9 倍。
第二代 SHARP 隨著NVIDIA HDR 200Gb/s Quantum InfiniBand 交換機推出,增加了對 AI 工作負載的支持。SHARPv2 支持大消息規(guī)約操作,每次支持一個工作負載。這一版本進一步提升了該技術(shù)的可擴展性和靈活性,支持更復(fù)雜的數(shù)據(jù)類型和集合操作。
2021 年 6 月 NVIDIA MLPerf 提交的結(jié)果展示了 SHARPv2 的性能優(yōu)勢,其中 BERT 的訓(xùn)練性能提高了 17%。掃描二維碼,參閱技術(shù)博客:
NVIDIA 副總裁兼人工智能系統(tǒng)首席架構(gòu)師 Michael Houston在加州大學(xué)伯克利分校的機器學(xué)習(xí)系統(tǒng)課程中介紹了 SHARPv2 的 AllReduce 性能優(yōu)勢。
SHARPv2 將 AllReduce 的帶寬性能提高了一倍,將 BERT 訓(xùn)練性能提高了 17%。
圖 1.加州大學(xué)伯克利分校機器學(xué)習(xí)系統(tǒng)課程示例(來源:分布式深度學(xué)習(xí),第 II 部分:擴展約束)
第三代 SHARP 隨著NVIDIA Quantum-2 NDR 400G InfiniBand平臺推出。SHARPv3 支持多租戶 AI 工作負載網(wǎng)絡(luò)計算,與 SHARPv2 的單工作負載相比,可同時支持多個 AI 工作負載的并行使用。
Microsoft Azure 首席軟件工程師 Jithin Jose 在“Transforming Clouds to Cloud-Native Supercomputing:Best Practices with Microsoft Azure”專題會議上展示了 SHARPv3 性能。Jithin 介紹了 InfiniBand 網(wǎng)絡(luò)計算技術(shù)在 Azure 上的應(yīng)用,并展示了 AllReduce 在延遲方面取得數(shù)量級的性能優(yōu)勢。
圖 2. SHARPv3 的 AllReduce 延遲性能
端到端 AI 系統(tǒng)優(yōu)化
SHARP 強大功能的經(jīng)典示例是 allreduce 運算。在模型訓(xùn)練期間,多個 GPU 或節(jié)點之間需要進行梯度求和,SHARP 在網(wǎng)絡(luò)中實現(xiàn)梯度求和,從而無需在 GPU 之間或節(jié)點之間進行完整的數(shù)據(jù)集傳送。這縮短了通信時間,從而加快 AI 工作負載的迭代速度并提高吞吐量。
在網(wǎng)絡(luò)計算和 SHARP 時代到來之前,NVIDIA Collective Communication Library(NCCL)通信軟件會從圖中復(fù)制所有模型權(quán)重,執(zhí)行 all-reduce 運算來計算權(quán)重之和,然后將更新的權(quán)重寫回圖,從而產(chǎn)生多次數(shù)據(jù)復(fù)制。
2021 年,NCCL 團隊開始集成 SHARP,引入了用戶緩沖區(qū)注冊。這使 NCCL 集合操作能夠直接使用指針,從而消除了在此過程中來回復(fù)制數(shù)據(jù)的需求,提高了效率。
如今,SHARP 已與廣泛用于分布式 AI 訓(xùn)練框架的 NCCL 緊密集成。經(jīng)過優(yōu)化的 NCCL 充分利用 SHARP 的能力,將關(guān)鍵的集合通信操作卸載到網(wǎng)絡(luò),從而顯著提高分布式深度學(xué)習(xí)工作負載的可擴展性和性能。
SHARP 技術(shù)有助于提高分布式計算應(yīng)用程序的性能。SHARP 正被 HPC 超級計算中心用于科學(xué)計算工作負載,也被人工智能(AI)超級計算機用于 AI 應(yīng)用程序。SHARP 已成為實現(xiàn)競爭優(yōu)勢的“秘訣”。一家大型服務(wù)提供商使用 SHARP 將其內(nèi)部 AI 工作負載的性能提高了 10% 到 20%。
SHARPv4
SHARPv4 引入了新算法,可支持更多種類的集合通信,這些通信類型已用于領(lǐng)先的人工智能訓(xùn)練應(yīng)用。
SHARPv4 將隨著NVIDIA Quantum-X800 XDR InfiniBand 交換機平臺一起發(fā)布,從而將網(wǎng)絡(luò)計算能力提升至更高水平。
-
cpu
+關(guān)注
關(guān)注
68文章
10905瀏覽量
213035 -
NVIDIA
+關(guān)注
關(guān)注
14文章
5076瀏覽量
103734 -
網(wǎng)絡(luò)
+關(guān)注
關(guān)注
14文章
7600瀏覽量
89257 -
Sharp
+關(guān)注
關(guān)注
0文章
6瀏覽量
9126
原文標(biāo)題:利用 NVIDIA SHARP 網(wǎng)絡(luò)計算提升系統(tǒng)性能
文章出處:【微信號:NVIDIA-Enterprise,微信公眾號:NVIDIA英偉達企業(yè)解決方案】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
評論