• <xmp id="om0om">
  • <table id="om0om"><noscript id="om0om"></noscript></table>
  • 3 月 19 日下午 2 點,鎖定 NVIDIA AI 網絡中文專場。立即注冊觀看
    數據中心/云端

    利用 NVIDIA SHARP 網絡計算提升系統性能

    AI 和科學計算應用是分布式計算問題的絕佳示例。這些問題太大了,計算太密集,無法在單臺機器上運行。這些計算被分解為并行任務,這些任務分布在數千個計算引擎中,如 CPU 和 GPU。

    為了實現可擴展的性能,該系統依賴于在多個節點上劃分工作負載,如訓練數據、模型參數或兩者。然后,這些節點必須頻繁交換信息,例如模型訓練中反向傳播期間新處理的模型計算的梯度,需要高效的集合通信,如 all-reduce、broadcast 以及 gather 和 scatter 操作。

    這些集合通信模式可確保整個分布式系統中模型參數的同步和收斂。這些操作的效率對于最大限度地減少通信開銷和最大限度地提高并行計算至關重要,因為優化不佳的集合通信可能會導致瓶頸,限制可擴展性。

    瓶頸源于以下幾個因素:

    • 延遲和帶寬限制: 集合操作依賴于節點間的高速數據傳輸,而這些高速數據傳輸受物理網絡延遲和帶寬的限制。隨著系統規模的增加,要交換的數據量也隨之增加,通信所花費的時間成為比計算更重要的因素。
    • 同步開銷: 許多集合操作需要同步點,在此之前所有參與的節點必須先達到相同的狀態,然后才能繼續。如果某些節點速度較慢,整個系統會出現延遲,從而導致效率低下,被稱為 stragglers
    • 網絡爭用: 隨著越來越多的節點試圖同時通信,網絡變得更加擁塞,對帶寬和網絡資源的爭奪也在增加,這進一步減慢了集體操作的速度。
    • 非優化通信模式: 一些集合通信算法(例如基于樹的歸約或基于環的 all-reduce)并非始終針對大規模系統進行良好優化,導致可用資源的低效利用和延遲增加。

    克服這一瓶頸需要改進網絡技術(例如 InfiniBand 或 RDMA)和算法優化(例如分層 all-reduce 或流水線技術),以最大限度地減少同步延遲、減少爭用并優化分布式系統之間的數據流。

    創建 NVIDIA SHARP?

    關鍵的集合通信使所有計算引擎能夠相互交換數據。在 NIC 或服務器上管理此類通信需要交換大量數據,并且會受到延遲或集合性能差異的影響,也稱為 服務器抖動

    通過在交換機結構上遷移管理和執行這些集合通信的責任,可以將傳輸的數據量減半,并最大限度地減少抖動。NVIDIA Scalable Hierarchical Aggregation and Reduction Protocol(SHARP)是實現這一概念的技術,并引入了 網絡計算 概念。它集成在交換機 ASIC 中,旨在加速分布式計算系統中的集合通信。

    SHARP 已隨 NVIDIA InfiniBand 網絡一起推出,可將集合通信運算(如 all-reduce、reduce 和 broadcast)從服務器的計算引擎卸載到網絡交換機。通過直接在網絡結構中執行歸約(求和、平均等),SHARP 可改進這些運算和整體應用程序性能。

    借助 NVIDIA SHARP 實現代際進步?

    第一代 SHARP 專為科學計算應用而設計,側重于小消息歸約操作。它隨 NVIDIA EDR 100Gb/s 交換機生成而推出,并得到領先的消息傳遞接口(MPI)庫的快速支持。SHARPv1 小消息歸約以并行方式支持多個科學計算應用。

    MVAPICH2 是 MPI 標準的開源實現,專為高性能計算 (HPC) 環境而設計。俄亥俄州立大學負責 MVAPICH MPI 庫的團隊已經證明了 SHARP 在德克薩斯州高級計算中心 Frontera 超級計算機上的性能成就。從 MPI AllReduce 的性能提高了 5 倍,到 MPI Barrier 集合通信的性能提高了 9 倍。 有關更多信息,請參閱使用 SHARP 的可擴展 MPI 集合:TACC Frontera 系統上的大規模性能評估

    第二代 SHARP 隨 NVIDIA HDR 200Gb/s Quantum InfiniBand 交換機一起推出,并增加了對 AI 工作負載的支持。SHARPv2 支持大型消息簡化操作,一次支持單個工作負載。這一版本進一步提升了該技術的可擴展性和靈活性,支持更復雜的數據類型和聚合操作。

    2021 年 6 月的 NVIDIA MLPerf 提交和結果證明了 SHARPv2 的性能優勢,證明 BERT 訓練性能提高了 17%。有關更多信息,請參閱 MLPerf v1.0 訓練基準測試:對創紀錄的 NVIDIA 性能的見解

    NVIDIA 副總裁兼人工智能系統首席架構師 Michael Houston 在加州大學伯克利分校的機器學習系統課程中介紹了 SHARPv2 的 AllReduce 性能優勢

    AllReduce 帶寬的 2 倍性能優勢可將 BERT 訓練性能提高 17%。

    Two graphs. A line chart shows performance at various scales with and without SHARP. A bar chart shows SHARP performance across the most commonly used message sizes.
    圖 1. 加州大學伯克利分校機器學習系統課程示例 (來源:分布式深度學習,第 II 部分:擴展約束)

    最近,第三代 SHARP 推出了 NVIDIA Quantum-2 NDR 400G InfiniBand 平臺。SHARPv3 支持 AI 工作負載的多租戶網絡計算,這意味著與使用 SHARPv2 的單個工作負載相比,多個 AI 工作負載可并行支持。

    Microsoft Azure 首席軟件工程師 Jithin Jose 在“ 將云轉變為云原生超級計算:借助 Microsoft Azure 實現最佳實踐 ”專題會議上展示了 SHARPv3 性能。Jithin 在 Azure 上介紹了 InfiniBand 的網絡計算技術,并展示了 AllReduce 延遲方面的近一個數量級的性能優勢。

    Line chart shows latency benefits of SHARPv3 compared to no SHARP across a range of message sizes.
    圖 2. SHARPv3 的 AllReduce 延遲性能優勢

    端到端 AI 系統優化?

    通過 all-reduce 運算,可以看到 SHARP 的一個強大示例。在模型訓練期間,多個 GPU 或節點之間的梯度求和,SHARP 聚合網絡中的梯度,從而無需在 GPU 之間或節點之間發送完整的數據集。這縮短了通信時間,從而加快 AI 工作負載的迭代速度并提高吞吐量。

    在網絡計算和 SHARP 時代到來之前,NVIDIA Collective Communication Library (NCCL) 通信軟件會從圖形中復制所有模型權重,執行 all-reduce 運算來計算權重之和,然后將更新的權重寫回圖形,從而產生多個數據復制。

    2021 年,NCCL 團隊開始集成 SHARP,引入了用戶緩沖區注冊。這使 NCCL 集合能夠直接使用指針,從而消除了在此過程中來回復制數據的需求,并提高了效率。

    如今,SHARP 已與廣泛用于分布式 AI 訓練框架的 NCCL 緊密集成。NCCL 經過優化,可將關鍵的集合通信操作分流到網絡,從而充分利用 SHARP,顯著提高分布式深度學習工作負載的可擴展性和性能。

    SHARP 技術有助于提高分布式計算應用程序的性能。SHARP 正被高性能計算(HPC)超級計算中心用于其科學計算工作負載,也被人工智能(AI)超級計算機用于 AI 應用程序。SHARP 是實現競爭優勢的“秘訣”。一家大型服務提供商使用 SHARP 將其內部 AI 工作負載的性能提高了 10% 到 20%。

    SHARPv4?

    SHARPv4 引入了新算法,可支持更多種類的集合通信,這些通信現已用于領先的人工智能訓練應用。SHARPv4 將隨 NVIDIA Quantum-X800 XDR InfiniBand 交換機平臺 一起發布,從而將網絡計算能力提升至更高水平。

    總結?

    有關更多信息,請參閱以下資源:

    ?

    0

    標簽

    人人超碰97caoporen国产