国产av一二三区|日本不卡动作网站|黄色天天久久影片|99草成人免费在线视频|AV三级片成人电影在线|成年人aV不卡免费播放|日韩无码成人一级片视频|人人看人人玩开心色AV|人妻系列在线观看|亚洲av无码一区二区三区在线播放

網(wǎng)易首頁 > 網(wǎng)易號 > 正文 申請入駐

到底什么是All-Reduce、All-to-All?

0
分享至

我們在看AIGC大模型、算力集群相關(guān)文獻(xiàn)的時候,經(jīng)常會看到“ All-Reduce ”、“ All-to-All ”這樣的詞組。

大家知道它們是什么意思嗎?


故事還是要從英偉達(dá)說起。

2014年,為了取代傳統(tǒng)的PCIe協(xié)議,英偉達(dá)推出了全新的NVLINK技術(shù),用于GPU和GPU之間的點(diǎn)對點(diǎn)高速互聯(lián)。

后來,NVLINK技術(shù)不斷迭代。 2018年,為了實(shí)現(xiàn)8顆GPU之間的互連,英偉達(dá)又發(fā)布了NVSwitch 1.0。

在搗鼓GPU互連技術(shù)的過程中,英偉達(dá)還發(fā)明了一個名叫 NCCL(NVIDIA Collective Communications Library)的集合通信庫。

NCCL支持多種編程語言和網(wǎng)絡(luò),在算法層面提供了豐富的外部API,可以大幅提升通信網(wǎng)絡(luò)性能,也可以讓GPU之間的通信設(shè)計(jì)變得更簡單。

在NCCL中,定義了兩種通信模式:

1、點(diǎn)對點(diǎn)通信(Point to point communication,P2P)

2、集合通信(Collective communication,CC)

點(diǎn)對點(diǎn)大家一看就懂,就是兩個點(diǎn)之間進(jìn)行通信。一個是Sender,一個是Receiver。

什么是集合通信呢?是指一組(多個)節(jié)點(diǎn)內(nèi)進(jìn)行通信。在我們傳統(tǒng)通信里,就是點(diǎn)到多點(diǎn),多點(diǎn)到多點(diǎn),涉及到組網(wǎng)(網(wǎng)狀、星狀、環(huán)狀、mesh等)那種。

NCCL還定義了一些計(jì)算節(jié)點(diǎn)之間數(shù)據(jù)交換的基本操作模式,并將其命名為——“通信原語(也有寫作通信元語

這些通信原語包括:Broadcast、Scatter、Gather、All-Gather、Reduce、All-Reduce、Reduce-Scatter、All-to-All等。

沒錯,All-Reduce和All-to-All,就是其中之二。

這些通信原語是構(gòu)建復(fù)雜通信行為的“原子操作”?,F(xiàn)在所有復(fù)雜的AI算力集群,內(nèi)部通信都是基于這些通信原語。它們極大地提升了并行計(jì)算的效率和便利性。

接下來,我們就逐個解釋一下,這些通信原語的意思。

Broadcast(1對多的廣播

這個最簡單。當(dāng)主節(jié)點(diǎn)執(zhí)行Broadcast操作時,數(shù)據(jù)會從主節(jié)點(diǎn)發(fā)送至其他所有節(jié)點(diǎn)。


Broadcast是一個典型的分發(fā)、散播行為。在分布式機(jī)器學(xué)習(xí)中,Broadcast常用于網(wǎng)絡(luò)參數(shù)的初始化。

Scatter(1對多的發(fā)散)

Scatter也是一種分發(fā)、散播行為。它也是 將主節(jié)點(diǎn)的數(shù)據(jù)發(fā)送至其他所有節(jié)點(diǎn)。只不過, Broadcast發(fā)送的是完整數(shù)據(jù),而 Scatter是將數(shù)據(jù)進(jìn)行切割后,再分發(fā),就像分生日蛋糕。


Gather(多對1的收集)

Gather,是將多個sender(發(fā)送節(jié)點(diǎn))上的數(shù)據(jù)收集到單個節(jié)點(diǎn)上,可以理解為反向的Scatter。


All-Gather(多對多的收集)

Gather是多個到一個,All-Gather是多個到多個。

All-Gather是將多個sender(發(fā)送節(jié)點(diǎn))上的數(shù)據(jù)收集到多個節(jié)點(diǎn)上。它相當(dāng)于多個Gather操作。或者說,是一個Gather操作之后,跟著一個Broadcast操作。


Reduce(多對1的規(guī)約)

Reduce的英文意思是“減少、降低”。在集合通信里,它表示“規(guī)約”運(yùn)算,是一系列簡單運(yùn)算操作(包括:SUM、MIN、MAX、PROD、LOR等)的統(tǒng)稱。

經(jīng)常用Excel表格的童鞋,對這些簡單運(yùn)算應(yīng)該不陌生。例如SUM,就是求和。MIN,就是找出最小值。

其實(shí)說白了,Reduce就是:輸入多個數(shù),執(zhí)行操作后,得到更少的數(shù)(例如1個數(shù))。

下面這個,就是以ReduceSum(求和規(guī)約)為例:


All-Reduce(多對多的規(guī)約)

All-Reduce,這個是我們在文章開頭提到的,AI領(lǐng)域非常常見的一個詞組。

在大模型訓(xùn)練中,經(jīng)常會用到數(shù)據(jù)并行(DP)這個并行方式。里面就有AIl Reduce這個關(guān)鍵操作。

我們以All Reduce Sum(求和)為例:

首先,對所有節(jié)點(diǎn)進(jìn)行數(shù)據(jù)收集。然后,對數(shù)據(jù)進(jìn)行求和。再然后,把結(jié)果重新發(fā)回給所有節(jié)點(diǎn)。


在大模型訓(xùn)練中,Server GPU節(jié)點(diǎn)收集的數(shù)據(jù),就是各個Worker GPU節(jié)點(diǎn)計(jì)算得出的“梯度”。求和之后再發(fā)回的過程,是“更新梯度”。看不懂沒關(guān)系,以后小棗君會再介紹。

Reduce-Scatter(組合的規(guī)約與發(fā)散)

Reduce-Scatter稍微有點(diǎn)復(fù)雜、燒腦。

它是先歸約(Reduce),再分散(Scatter)。具體來說:

首先,在所有參與計(jì)算的GPU節(jié)點(diǎn)上,對位于相同位置或索引的數(shù)據(jù)塊執(zhí)行指定的規(guī)約運(yùn)算(例如求和SUM)。

接著,將規(guī)約后的完整結(jié)果按維度切分,并將不同的數(shù)據(jù)塊分發(fā)給各個節(jié)點(diǎn)。最終,每個節(jié)點(diǎn)只得到整個規(guī)約結(jié)果的一部分,而不是全部。


簡單來說,它先對所有數(shù)據(jù)進(jìn)行“匯總計(jì)算”,然后再將計(jì)算好的結(jié)果“分散下發(fā)”。

All-to-All(多對多的全互連)

AIl-to-AII也是AI領(lǐng)域出現(xiàn)頻率很高的一個詞組。它是全交換操作,可以讓每個節(jié)點(diǎn)都獲取其他節(jié)點(diǎn)的值。

在使用All-to-All時,每一個節(jié)點(diǎn)都會向任意一個節(jié)點(diǎn)發(fā)送消息,每一個節(jié)點(diǎn)也都會接收到任意一個節(jié)點(diǎn)的消息。每個節(jié)點(diǎn)的接收緩沖區(qū)和發(fā)送緩沖區(qū)都是一個分為若干個數(shù)據(jù)塊的數(shù)組。


All-to-All的具體操作是:將節(jié)點(diǎn)i的發(fā)送緩沖區(qū)中的第j塊數(shù)據(jù)發(fā)送給節(jié)點(diǎn)j。節(jié)點(diǎn)j將接收到的來自節(jié)點(diǎn)i的數(shù)據(jù)塊,放在自身接收緩沖區(qū)的第i塊位置。

All-to-All與All-Gather相比較,區(qū)別在于:All-Gather操作中,不同節(jié)點(diǎn)向某一節(jié)點(diǎn)收集到的數(shù)據(jù)是完全相同的。而在All-to-All中,不同的節(jié)點(diǎn)向某一節(jié)點(diǎn)收集到的數(shù)據(jù)是不同的。在每個節(jié)點(diǎn)的發(fā)送緩沖區(qū)中,為每個節(jié)點(diǎn)都單獨(dú)準(zhǔn)備了一塊數(shù)據(jù)。

上面這個圖,大家如果學(xué)過工程數(shù)學(xué)的話,就會發(fā)現(xiàn),它就是一個矩陣倒置?;蛘哒f,是Excel里的行列倒轉(zhuǎn)。

All-to-All的核心目標(biāo)是重分布。它不進(jìn)行聚合運(yùn)算,而是專注于在不同節(jié)點(diǎn)間重新分布數(shù)據(jù)塊。

以后小棗君會給大家介紹, All-to-All 操作在大模型訓(xùn)練中的混合并行策略里至關(guān)重要。例如, 當(dāng)需要從數(shù)據(jù)并行組切換到模型并行組時,All-to-All可以高效地重組數(shù)據(jù)。

Ring-base collective(基于環(huán)的集合)

最后還要提一個有趣的結(jié)構(gòu)——環(huán)(Ring)。

Ring-base collective是將所有的通信節(jié)點(diǎn)通過首位相連形成一個單向環(huán),數(shù)據(jù)在環(huán)上依次傳輸。

傳輸方式有兩種,一種是一次性傳輸全部,還有一種,是對數(shù)據(jù)進(jìn)行切割,然后分別發(fā)送。


All-Reduce里有一種Ring All-Reduce(環(huán)形全規(guī)約)算法。它是通過組合Reduce-Scatter和All-Gather兩個操作來實(shí)現(xiàn)的。

Ring All-Reduce算法分為兩個階段:

第一階段,將N個worker分布在一個環(huán)上,并且把每個worker的數(shù)據(jù)分成N份。


對于第k個worker,這個worker會把第k份數(shù)據(jù)發(fā)給下一個worker,同時從前一個worker收到第k-1份數(shù)據(jù)。


然后,第k個worker會把收到的第k-1份數(shù)據(jù)和自己的第k-1份數(shù)據(jù)整合,再將整合的數(shù)據(jù)發(fā)送給下一個worker。


以此循環(huán)N次之后,每一個worker都會包含最終整合結(jié)果的一份。


第二階段,每個worker將整合好的部分發(fā)送給下一個worker。worker在收到數(shù)據(jù)之后,更新自身數(shù)據(jù)對應(yīng)的部分即可。

很顯然,這種環(huán)形算法可以解決傳統(tǒng)All-Reduce中Server節(jié)點(diǎn)的能力瓶頸問題。

最后的話

好啦,以上就是常見通信原語的具體工作原理。

AI大模型訓(xùn)練推理任務(wù),是由海量的GPU共同完成的。而這些GPU之間的通信,就是基于上面這些通信原語模型。


下一期,小棗君會詳細(xì)介紹一下大模型訓(xùn)推任務(wù)中的并行計(jì)算方式,以及這些通信原語究竟是如何運(yùn)用于不同的并行計(jì)算方式中。

敬請關(guān)注!

特別聲明:以上內(nèi)容(如有圖片或視頻亦包括在內(nèi))為自媒體平臺“網(wǎng)易號”用戶上傳并發(fā)布,本平臺僅提供信息存儲服務(wù)。

Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.

相關(guān)推薦
熱點(diǎn)推薦
王思雨今夜砍下11分,劉禹彤16分!WCBA季后賽:四川大勝上海30分

王思雨今夜砍下11分,劉禹彤16分!WCBA季后賽:四川大勝上海30分

足球評論qs
2026-03-27 21:33:24
血虧!曼聯(lián) 6500 萬買的水貨,如今要花 1 億請 19 歲小孩來救場

血虧!曼聯(lián) 6500 萬買的水貨,如今要花 1 億請 19 歲小孩來救場

奶蓋熊本熊
2026-03-27 04:24:38
67年張治中登上天安門,苦笑著對毛主席說:您走的太快我跟不上了

67年張治中登上天安門,苦笑著對毛主席說:您走的太快我跟不上了

北海史記
2026-03-27 12:20:29
陳思誠給天下男人上了一課:48歲可以花心可以貪心,但千萬要收心

陳思誠給天下男人上了一課:48歲可以花心可以貪心,但千萬要收心

小椰的奶奶
2026-03-22 16:38:49
清明將至,俗話說:“墳頭三不動,一動窮三代”今年應(yīng)如何祭祖?

清明將至,俗話說:“墳頭三不動,一動窮三代”今年應(yīng)如何祭祖?

磊子講史
2026-03-20 16:07:07
裁員裁到大動脈是啥體驗(yàn)?網(wǎng)友:我現(xiàn)在感覺我也是別人的大動脈

裁員裁到大動脈是啥體驗(yàn)?網(wǎng)友:我現(xiàn)在感覺我也是別人的大動脈

解讀熱點(diǎn)事件
2026-03-27 00:05:10
國足半場壓哨絕殺!媒體人熱議:邵佳一帶來進(jìn)步,敢用身體敢對抗

國足半場壓哨絕殺!媒體人熱議:邵佳一帶來進(jìn)步,敢用身體敢對抗

奧拜爾
2026-03-27 15:05:01
美國:謀劃“致命一擊”,考慮向中東增派萬人部隊(duì)!伊朗動員百萬兵力,準(zhǔn)備與美國進(jìn)行地面作戰(zhàn)!伊朗或開辟新戰(zhàn)線,胡塞武裝:已做好準(zhǔn)備

美國:謀劃“致命一擊”,考慮向中東增派萬人部隊(duì)!伊朗動員百萬兵力,準(zhǔn)備與美國進(jìn)行地面作戰(zhàn)!伊朗或開辟新戰(zhàn)線,胡塞武裝:已做好準(zhǔn)備

每日經(jīng)濟(jì)新聞
2026-03-27 12:02:13
繁華后的凄涼:耗資近34億的鳥巢,如今被用來干嘛了?回本了嗎?

繁華后的凄涼:耗資近34億的鳥巢,如今被用來干嘛了?回本了嗎?

蜉蝣說
2026-03-19 18:39:48
美媒稱萬斯批評內(nèi)塔尼亞胡

美媒稱萬斯批評內(nèi)塔尼亞胡

界面新聞
2026-03-27 21:56:02
老頭樂與時俱進(jìn)用上智駕小藍(lán)燈 網(wǎng)友:自欺欺人

老頭樂與時俱進(jìn)用上智駕小藍(lán)燈 網(wǎng)友:自欺欺人

快科技
2026-03-27 14:30:33
一天蒸發(fā)6200億!谷歌算法黑科技擊潰存儲股,華爾街痛批市場“不懂技術(shù)”

一天蒸發(fā)6200億!谷歌算法黑科技擊潰存儲股,華爾街痛批市場“不懂技術(shù)”

每日經(jīng)濟(jì)新聞
2026-03-26 19:00:13
蒙古朝鮮越南這三大鄰國,面對中國都做出了同一個抉擇

蒙古朝鮮越南這三大鄰國,面對中國都做出了同一個抉擇

凡知
2026-03-27 18:31:34
專訪 OPPO 陳希:打造 AIOS,就是模擬人生 | 系統(tǒng)觀

專訪 OPPO 陳希:打造 AIOS,就是模擬人生 | 系統(tǒng)觀

愛范兒
2026-03-26 20:14:26
荸薺立大功?研究發(fā)現(xiàn):荸薺可在24小時清除47%炎癥因子?

荸薺立大功?研究發(fā)現(xiàn):荸薺可在24小時清除47%炎癥因子?

醫(yī)學(xué)科普匯
2026-03-04 19:35:03
特朗普被曝希望“快速”結(jié)束對伊朗戰(zhàn)爭

特朗普被曝希望“快速”結(jié)束對伊朗戰(zhàn)爭

界面新聞
2026-03-26 12:37:58
重返廣東,趙睿感慨萬千,特別感謝2人!

重返廣東,趙睿感慨萬千,特別感謝2人!

體育哲人
2026-03-27 18:10:00
中國移動正式發(fā)布通知:全國將統(tǒng)一執(zhí)行:4月30日起

中國移動正式發(fā)布通知:全國將統(tǒng)一執(zhí)行:4月30日起

云舟史策
2026-03-26 07:34:02
這跟不穿有啥區(qū)別?內(nèi)褲外露、開叉開到腰,有錢人的時尚真看不懂

這跟不穿有啥區(qū)別?內(nèi)褲外露、開叉開到腰,有錢人的時尚真看不懂

潮鹿逐夢
2026-03-02 17:19:02
費(fèi)率0.3%,社保“第六險”來了,退休人員也要交

費(fèi)率0.3%,社保“第六險”來了,退休人員也要交

財(cái)話連篇
2026-03-26 13:09:33
2026-03-27 22:36:49
鮮棗課堂 incentive-icons
鮮棗課堂
ICT知識科普。
1011文章數(shù) 1257關(guān)注度
往期回顧 全部

科技要聞

楊植麟張鵬夏立雪羅福莉,聊龍蝦、聊漲價

頭條要聞

男生欲性侵15歲女同學(xué)將其殺害 事后去事發(fā)地查看情況

頭條要聞

男生欲性侵15歲女同學(xué)將其殺害 事后去事發(fā)地查看情況

體育要聞

邵佳一:足球就像一場馬拉松

娛樂要聞

范瑋琪加盟,官宣《浪姐7》遭全網(wǎng)抵制

財(cái)經(jīng)要聞

我在小吃培訓(xùn)機(jī)構(gòu)學(xué)習(xí)“科技與狠活”

汽車要聞

與眾08,金標(biāo)大眾不能輸?shù)囊粦?zhàn)

態(tài)度原創(chuàng)

游戲
教育
家居
親子
藝術(shù)

PS5國行版官宣漲價!Pro版高達(dá)6299元!

教育要聞

中考解方程,根式方程

家居要聞

曲線華爾茲 現(xiàn)代簡約

親子要聞

爺孫倆逛北京胡同兒,2歲孫子為了讓爺爺抱,這心眼子是真多?。?/h3>

藝術(shù)要聞

張大千:形成于未畫之先,神留于既畫之后

無障礙瀏覽 進(jìn)入關(guān)懷版