昇騰CANN集合通信技術解讀——細粒度分級流水算法

隨著AI技術的演進,模型的計算復雜度和參數量呈現幾何級數增長,這使得傳統單機單卡部署在算力供給與顯存容量方面顯得力不從心,從而直接推動了分布式訓練/推理技術的快速發展。今年年初爆火的DeepSeek在訓練及推理Prefill階段采用了分級流水AlltoAll算法,具體實現為:首先在Server間執行Token傳輸,當Token到達目標Server后,再在目標Server內執行Bcast操作,Server內和Server間的操作以Token為粒度進行流水掩蓋。

HCCL支持細粒度的分級流水算法,基于Atlas A2 訓練系列產品,可大幅提升DeepSeek集群訓練中Allgather、ReduceScatter、AlltoAll等集合通信算子的執行效率。

1、簡單分級算法存在的問題

為降低網絡流量沖突,AI計算集群中常常采用Server內Server間分級網絡架構,即Server內通過直連電纜互聯,Server間同號卡通過交換機互聯。

然而,在Server內Server間分級網絡對應的全局通信域中執行集合通信算子,將面臨以下兩個挑戰:

1)Server內鏈路和Server間鏈路帶寬不同,一般情況下Server內帶寬大于Server間帶寬,如果使用全局Ring或RHD(Recursive Halving Doubling)算法會存在慢鏈路的問題。

2)不同Server的不同號卡之間無直連鏈路,算法設計時,需要考慮連通性問題。

為了解決上述問題,在Server內Server間分級網絡中,通常使用分級算法,將全局通信操作分解為多層次的局部操作,利用分階段、分層遞進的方式優化通信效率。例如Allgather操作,Server間先執行一次同號卡間的Allgather(下圖紅色箭頭),再在Server內執行一次Allgather(下圖藍色箭頭)。

該分級算法仍然存在一些問題:

1)帶寬浪費:上圖中Server間數據傳輸時,Server內的鏈路處于空閑狀態,無法實現帶寬利用率的最大化。

2)存在離散數據:以Rank0為例,Server間完成數據傳輸后,持有Rank0、Rank2、Rank4的數據,這三塊數據在Server內數據傳輸過程中需要發送到Rank1上,但是這三塊數據在Rank1上并不是連續分布的,如果將這三塊數據分別發送到Rank1上,會引入每次發送的頭開銷;如果將這三塊數據合并發送,又需要引入數據重排的開銷。

2、細粒度分級流水算法技術解讀

帶寬浪費的問題,通常采用流水的方式解決。如下圖所示,通過切分數據塊,使得完成一部分Server內的數據傳輸后,就可以開始Server間的數據傳輸,同時啟動第二部分的Server內數據傳輸。這樣,Server內和Server間的數據傳輸可以并行進行(如紅框所示),從而提高總的帶寬利用率。

雖然這種方法可以解決帶寬利用率不足的問題,但是通過切分數據塊的方式進行流水掩蓋,會導致單次數據傳輸的數據量變小,頭開銷占比過大,通信效率降低,而且無法解決離散數據的問題。

因此,采用細粒度分級流水算法,一方面挖掘通信算法本身的數據依賴,另一方面結合流水并行的方式,解決帶寬利用率不足與離散數據的問題。以Allgather為例,Server間的通信選擇Ring算法,Server內的通信選擇Full Mesh算法。讓我們先回顧一下Ring算法的步驟:假設共有n個Server,那么Ring算法會執行n-1步操作,在第i步時,本Rank將獲得前i個Rank上的數據。

在簡單分級算法中,執行完全部n-1步操作后才會進行Server內的數據傳輸。然而,觀察Rank上每個步驟的數據狀態可以發現:每完成一步數據傳輸,都會有新的數據塊被傳輸到Rank上,該數據塊在下一步數據傳輸時,可以同時完成Server間的數據傳輸和Server內的數據傳輸。如下中圖所示,綠色數據塊從Rank5被發送到Rank1上(僅陳述部分Rank的行為,其它Rank對稱處理),在接下來的步驟中,Rank1繼續向Rank3發送綠色數據塊(Ring算法標準步驟),同時Rank1也可以向同Server中的Rank0發送綠色數據塊。

繼續執行Ring算法,每一步在進行Server間數據傳輸的同時,還會向Server內其它Rank傳輸上一步接收到的數據塊,Ring算法的最后一個步驟結束后,僅需要在Server內再進行一次數據塊的傳輸即可完成全部算法步驟(Rank初始數據塊的Server內傳輸操作,可以隱藏在Ring算法的第一步中進行),Rank0上的全部傳輸任務編排如下圖所示,LocalCpy操作僅在輸入輸出內存不同場景中執行,用于將數據塊從輸入內存移動到輸出內存,在輸入輸出內存相同場景中,則無需執行該操作。

該算法利用Ring算法的數據依賴關系,實現了Server內/Server間的并發執行,以提高帶寬利用率。同時,由于該算法的切分方式是對傳輸數據塊進行重排,每次數據傳輸所操作的數據塊僅包含一個Rank的初始數據,因此在跨卡傳輸時,數據可以直接傳輸到最終位置,從而避免了離散數據的問題。

3、性能收益評估

讓我們對該算法進行簡單的收益分析,假設n個Server,每個Server中有m張卡,Server內采用Full Mesh通信算法,每條鏈路的帶寬為bw_a,Server間Clos連接,帶寬為bw_e;假設輸入數據量s足夠大,僅考慮帶寬時延,并且bw_a > bw_e。

采用簡單分級算法,算子耗時為:

圖片

?采用細粒度分級流水算法,算子耗時為:

圖片

可以看到,當bw_e和bw_a接近時,n越大,算法性能提升越大,最大提升接近1倍。

4、更多學習資源

HCCL集合通信庫,通過高性能集合通信算法、計算通信統一硬化調度、計算通信高性能并發等創新技術,可充分利用硬件資源,顯著提升大模型通信效率。歡迎昇騰社區HCCL學習專區,獲取海量學習資源。

圖片

昇騰社區HCCL信息專區

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/bicheng/84385.shtml
繁體地址,請注明出處:http://hk.pswp.cn/bicheng/84385.shtml
英文地址,請注明出處:http://en.pswp.cn/bicheng/84385.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

水泥廠自動化升級利器:Devicenet轉Modbus rtu協議轉換網關

在水泥廠的生產流程中,工業自動化網關起著至關重要的作用,尤其是JH-DVN-RTU疆鴻智能Devicenet轉Modbus rtu協議轉換網關,為水泥廠實現高效生產與精準控制提供了有力支持。 水泥廠設備眾多,其中不少設備采用Devicenet協議。Devicen…

使用Matplotlib創建炫酷的3D散點圖:數據可視化的新維度

文章目錄 基礎實現代碼代碼解析進階技巧1. 自定義點的大小和顏色2. 添加圖例和樣式美化3. 真實數據應用示例實用技巧與注意事項完整示例(帶樣式)應用場景在數據科學和可視化領域,三維圖形能為我們提供更豐富的數據洞察。本文將手把手教你如何使用Python的Matplotlib庫創建引…

Copilot for Xcode (iOS的 AI輔助編程)

Copilot for Xcode 簡介Copilot下載與安裝 體驗環境要求下載最新的安裝包安裝登錄系統權限設置 AI輔助編程生成注釋代碼補全簡單需求代碼生成輔助編程行間代碼生成注釋聯想 代碼生成 總結 簡介 嘗試使用了Copilot,它能根據上下文補全代碼,快速生成常用…

React 進階特性

1. ref ref 是 React 提供的一種機制,用于訪問和操作 DOM 元素或 React 組件的實例。它可以用于獲取某個 DOM 元素的引用,從而執行一些需要直接操作 DOM 的任務,例如手動設置焦點、選擇文本或觸發動畫。 1.1. 使用 ref 的步驟 1. 創建一個 ref:使用 React.createRef 或 …

基于PHP的連鎖酒店管理系統

有需要請加文章底部Q哦 可遠程調試 基于PHP的連鎖酒店管理系統 一 介紹 連鎖酒店管理系統基于原生PHP開發,數據庫mysql,前端bootstrap。系統角色分為用戶和管理員。 技術棧 phpmysqlbootstrapphpstudyvscode 二 功能 用戶 1 注冊/登錄/注銷 2 個人中…

【大廠機試題解法筆記】報文響應時間

題目 IGMP 協議中,有一個字段稱作最大響應時間 (Max Response Time) ,HOST收到查詢報文,解折出 MaxResponseTime 字段后,需要在 (0,MaxResponseTime] 時間 (s) 內選取隨機時間回應一個響應報文,如果在隨機…

邏輯回歸暴力訓練預測金融欺詐

簡述 「使用邏輯回歸暴力預測金融欺詐,并不斷增加特征維度持續測試」的做法,體現了一種逐步建模與迭代驗證的實驗思路,在金融欺詐檢測中非常有價值,本文作為一篇回顧性記錄了早年間公司給某行做反欺詐預測用到的技術和思路。百度…

Python爬蟲實戰:研究demiurge框架相關技術

1. 引言 在當今數字化時代,互聯網上蘊含著海量的有價值信息。爬蟲技術作為獲取這些信息的重要手段,被廣泛應用于學術研究、商業分析、輿情監測等多個領域。然而,構建一個高效、穩定且可維護的爬蟲系統面臨諸多挑戰,如網頁結構復雜多變、反爬機制日益嚴格、數據處理流程繁瑣…

Jenkins | Jenkins構建成功服務進程關閉問題

Jenkins構建成功服務進程關閉問題 1. 原因2. 解決 1. 原因 Jenkins 默認會在構建結束時終止所有由構建任務啟動的子進程,即使使用了nohup或后臺運行符號&。 2. 解決 在啟動腳本中加上 BULID_IDdontkillme #--------------解決jenkins 自動關閉進程問題-----…

深度學習習題2

1.如果增加神經網絡的寬度,精確度會增加到一個特定閾值后,便開始降低。造成這一現象的可能原因是什么? A、即使增加卷積核的數量,只有少部分的核會被用作預測 B、當卷積核數量增加時,神經網絡的預測能力會降低 C、當卷…

猜字符位置游戲-position gasses

import java.util.*;public class Main {/*字符猜位置游戲;每次提交只能被告知答對幾個位置;根據提示答對的位置數推測出每個字符對應的正確位置;*/public static void main(String[] args) {char startChar A;int gameLength 8;List<String> ballList new ArrayList&…

解析兩階段提交與三階段提交的核心差異及MySQL實現方案

引言 在分布式系統的事務處理中&#xff0c;如何保障跨節點數據操作的一致性始終是核心挑戰。經典的兩階段提交協議&#xff08;2PC&#xff09;通過準備階段與提交階段的協調機制&#xff0c;以同步決策模式確保事務原子性。其改進版本三階段提交協議&#xff08;3PC&#xf…

Towards Open World Object Detection概述(論文)

論文&#xff1a;https://arxiv.org/abs/2103.02603 代碼&#xff1a;https://github.com/JosephKJ/OWOD Towards Open World Object Detection 邁向開放世界目標檢測 Abstract 摘要 Humans have a natural instinct to identify unknown object instances in their environ…

QT3D學習筆記——圓臺、圓錐

類名作用Qt3DWindow3D渲染窗口容器QEntity場景中的實體&#xff08;對象或容器&#xff09;QCamera控制觀察視角QPointLight點光源QConeMesh圓錐幾何網格QTransform控制實體的位置/旋轉/縮放QPhongMaterialPhong光照材質&#xff08;定義顏色、反光等&#xff09;QFirstPersonC…

CSS | transition 和 transform的用處和區別

省流總結&#xff1a; transform用于變換/變形&#xff0c;transition是動畫控制器 transform 用來對元素進行變形&#xff0c;常見的操作如下&#xff0c;它是立即生效的樣式變形屬性。 旋轉 rotate(角度deg)、平移 translateX(像素px)、縮放 scale(倍數)、傾斜 skewX(角度…

夏普比率(Sharpe ratio)?

具有投資常識的人都明白&#xff0c;投資光看收益是不夠的&#xff0c;還要看承受的風險&#xff0c;也就是收益風險比。 夏普比率描述的正是這個概念&#xff0c;即每承受一單位的總風險&#xff0c;會產生多少超額的報酬。 用數學公式描述就是&#xff1a; 其中&#xff1…

C#學習第29天:表達式樹(Expression Trees)

目錄 什么是表達式樹&#xff1f; 核心概念 1.表達式樹的構建 2. 表達式樹與Lambda表達式 3.解析和訪問表達式樹 4.動態條件查詢 表達式樹的優勢 1.動態構建查詢 2.LINQ 提供程序支持&#xff1a; 3.性能優化 4.元數據處理 5.代碼轉換和重寫 適用場景 代碼復雜性…

計算機網絡備忘錄

計算機網絡 - 網絡互聯與互聯網 計算機網絡重點學習本章&#xff0c;屬于核心知識 包含網絡層和傳輸層 的 相關協議 計算機網絡層次重點掌握網絡層與傳輸層。其中網絡層主要是IP協議&#xff0c;解決主機-主機通信&#xff0c;傳輸層主要是TCP/UDP 協議&#xff0c;解決應用-…

跨界破局者魯力:用思辨與創新重塑汽車流通行業標桿

來源&#xff1a;投資家 在汽車流通行業深度變革的浪潮中&#xff0c;東莞東風南方汽車銷售服務有限公司塘廈分公司總經理魯力歷經近二十年行業深耕&#xff0c;構建了一條從汽車銷售顧問到區域運營掌舵者的進階范本。作為東風日產體系內兼具理論建構與實戰穿透力的標桿管理者…

玄機-日志分析-IIS日志分析

1.phpstudy-2018站點日志.(.log文件)所在路徑&#xff0c;提供絕對路徑 2.系統web日志中狀態碼為200請求的數量是多少 3.系統web日志中出現了多少種請求方法 4.存在文件上傳漏洞的路徑是什么(flag{/xxxxx/xxxxx/xxxxxx.xxx} 5.攻擊者上傳并且利用成功的webshell的文件名是什…