自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

提升12倍!中國(guó)香港浸會(huì)大學(xué)與MassGrid發(fā)布低帶寬高效AI訓(xùn)練新算法

新聞 人工智能 算法
香港浸會(huì)大學(xué)異構(gòu)計(jì)算實(shí)驗(yàn)室與MassGrid合作,通過(guò)研究提出一種可用于低帶寬網(wǎng)絡(luò)的全局Top-k稀疏化的分布式同步SGD算法,并通過(guò)實(shí)驗(yàn)論證出在低帶寬網(wǎng)絡(luò)下也能高效進(jìn)行AI訓(xùn)練。

[[264844]]

本文經(jīng)AI新媒體量子位(公眾號(hào)ID:QbitAI)授權(quán)轉(zhuǎn)載,轉(zhuǎn)載請(qǐng)聯(lián)系出處。

 隨著訓(xùn)練數(shù)據(jù)量的增加和深度神經(jīng)網(wǎng)絡(luò)(DNN)的日益復(fù)雜,分布式計(jì)算環(huán)境(如GPU集群)被廣泛采用,以加速DNN的訓(xùn)練。分布式計(jì)算網(wǎng)絡(luò)在機(jī)器學(xué)習(xí)方面的瓶頸在于節(jié)點(diǎn)之間的數(shù)據(jù)傳輸效率,那如何在這一網(wǎng)絡(luò)下高效地進(jìn)行AI訓(xùn)練?

2018年,中國(guó)香港浸會(huì)大學(xué)異構(gòu)計(jì)算實(shí)驗(yàn)室與MassGrid合作,通過(guò)研究提出一種可用于低帶寬網(wǎng)絡(luò)的全局Top-k稀疏化的分布式同步SGD算法,并通過(guò)實(shí)驗(yàn)論證出在低帶寬網(wǎng)絡(luò)下也能高效進(jìn)行AI訓(xùn)練。目前實(shí)驗(yàn)結(jié)果及相關(guān)論文已被ICDCS workshop收錄。

數(shù)據(jù)并行的分布式同步隨機(jī)梯度下降(S-SGD)方法是訓(xùn)練大規(guī)模神經(jīng)網(wǎng)絡(luò)常用的優(yōu)化器之一。與單節(jié)點(diǎn)的SGD相比,S-SGD將工作負(fù)載分配給多個(gè)計(jì)算節(jié)點(diǎn)以加速訓(xùn)練,但它也引入了在每次迭代中交換模型參數(shù)或梯度的通信開(kāi)銷(xiāo)。

舉例說(shuō)明

假設(shè)有P個(gè)節(jié)點(diǎn)用S-SGD訓(xùn)練DNN模型。在每次迭代中,所有計(jì)算節(jié)點(diǎn)都會(huì)采用不同的小批量(mini-batch)數(shù)據(jù)來(lái)并行計(jì)算模型的梯度。然后,對(duì)每個(gè)節(jié)點(diǎn)的梯度進(jìn)行平均后來(lái)更新模型,這便引入較大的通信開(kāi)銷(xiāo)。

由于計(jì)算節(jié)點(diǎn)的加速器(如GPU和TPU)的計(jì)算能力比網(wǎng)絡(luò)速度的增長(zhǎng)快得多,網(wǎng)絡(luò)通信性能通常成為訓(xùn)練的性能瓶頸,特別是當(dāng)通信與計(jì)算比率很高時(shí)。

許多大型IT公司使用昂貴的高速網(wǎng)絡(luò)(如40 / 100Gbps IB或以太網(wǎng))來(lái)減少通信壓力,但仍有許多研究人員和小公司只能使用由1Gig-Ethernet等低帶寬網(wǎng)絡(luò)連接的消費(fèi)級(jí)GPU。

為了克服通信的性能瓶頸,可以通過(guò)使用更大的mini-batch來(lái)增加工作負(fù)載從而降低通信與計(jì)算比,或者減少每次通信過(guò)程中所需的通信量:

  • 一方面,許多大批量SGD技術(shù)已經(jīng)提出了一些優(yōu)化策略來(lái)提高mini-batch而不會(huì)丟失模型準(zhǔn)確性。
  • 另一方面,研究人員也已經(jīng)提出了梯度稀疏化,量化和壓縮等方法,在不影響收斂速度的情況下顯著減小交換梯度的數(shù)量以降低通信量。

在模型/梯度壓縮技術(shù)中,Top-k稀疏化是關(guān)鍵方法之一,它可以將每個(gè)節(jié)點(diǎn)梯度稀疏到約為原來(lái)的千分之一(即 99.9%的梯度置為零而無(wú)需傳輸這些零值)。

Top-k稀疏化是一種較有效的梯度壓縮方法,相關(guān)研究已做進(jìn)行了實(shí)驗(yàn)和理論論證。

Top-k稀疏化的S-SGD在每次迭代中只需傳輸少量的梯度進(jìn)行平均也不影響模型收斂或精度。然而,稀疏化后的非零值梯度所在的索引位置在不同的計(jì)算節(jié)點(diǎn)是不一致的,這使得高效的稀疏化梯度聚合成為一項(xiàng)挑戰(zhàn)。

在稠密梯度上使用基于環(huán)形的AllReduce方法(DenseAllReduce)的通信復(fù)雜度為 O(P + m),其中 P為計(jì)算節(jié)點(diǎn)個(gè)數(shù),m為參數(shù)/梯度的數(shù)量。而在Top-k稀疏化中,假設(shè)每個(gè)節(jié)點(diǎn)的梯度稠密度為ρ,即 k = ρ×m ,因?yàn)槊總€(gè)節(jié)點(diǎn)非零值的對(duì)應(yīng)的索引在不同節(jié)點(diǎn)是不一致的。

因此,每次通信需要傳輸 2k個(gè)值(梯度值和索引)。采用AllGather對(duì)這2k個(gè)值進(jìn)行聚合(簡(jiǎn)稱(chēng)TopKAllReduce)則需要O(kP)的通信復(fù)雜度。當(dāng)擴(kuò)展到大規(guī)模集群時(shí)(即P很大),即使k較小也仍會(huì)產(chǎn)生顯著的通信開(kāi)銷(xiāo)。

Top-k稀疏化的主要思想是基于這樣一個(gè)事實(shí),即具有較大絕對(duì)值的梯度可以為模型收斂做出更多貢獻(xiàn)。因?yàn)樵赥op-k算法中,即使P個(gè)計(jì)算節(jié)點(diǎn)在聚合后***可生成 k×P個(gè)非零值梯度,但***絕對(duì)值***的 k個(gè)梯度值對(duì)于模型更新則更重要。

基于這一觀察,香港浸會(huì)大學(xué)異構(gòu)計(jì)算實(shí)驗(yàn)室MassGrid的研究人員,提出了一種有效的Top-k稀疏化方法來(lái)解決TopKAllReduce的低效問(wèn)題。

具體而言,根據(jù)不同節(jié)點(diǎn)的梯度絕對(duì)值來(lái)選擇全局的Top-k(簡(jiǎn)稱(chēng)gTop-k)梯度。在本文中,研究人員主要討論使用AllReduce的分布式S-SGD來(lái)應(yīng)用gTop-k稀疏化,但它也適用于基于參數(shù)服務(wù)器的分布式S-SGD。

gTop-k可以很好地利用樹(shù)結(jié)構(gòu)從所有節(jié)點(diǎn)中選擇全局top-k值,并稱(chēng)之為gTopKAllReduce,而通信復(fù)雜性從原來(lái)的O(kP)減少到O(klogP)。表1中總結(jié)了不同梯度聚合方法的通信復(fù)雜度。

提升12倍!香港浸會(huì)大學(xué)與MassGrid發(fā)布低帶寬高效AI訓(xùn)練新算法

在實(shí)驗(yàn)研究及所發(fā)表的論文中主要貢獻(xiàn)如下:

  1. 研究人員觀察到Top-k稀疏化的聚合結(jié)果可以在更新模型前做進(jìn)一步稀疏化
  2. 在分布式SGD上提出了一種有效的全局Top-k稀疏化算法,稱(chēng)為gTop-k S-SGD,用于加速深度神經(jīng)網(wǎng)絡(luò)的分布式訓(xùn)練。
  3. 在主流的深度學(xué)習(xí)框架PyTorch和MPI上實(shí)現(xiàn)了gTop-k S-SGD,代碼和參數(shù)配置將在GitHub上開(kāi)源。
  4. 多種神經(jīng)網(wǎng)絡(luò)數(shù)據(jù)集進(jìn)行了實(shí)驗(yàn)驗(yàn)證,實(shí)驗(yàn)結(jié)果表明gTop- k S-SGD在低帶寬網(wǎng)絡(luò)GPU集群上(MassGrid礦機(jī)集群)顯著地提高系統(tǒng)的擴(kuò)展效率。
  5. MassGrid分布式計(jì)算網(wǎng)絡(luò)使用虛擬化技術(shù)將全球范圍可用的計(jì)算資源虛擬成通用計(jì)算設(shè)備,可快速部署連接組網(wǎng)進(jìn)行大規(guī)模分布式計(jì)算,具有成本低,使用靈活等優(yōu)勢(shì)。本次實(shí)驗(yàn)中MassGrid提供了配置如下的礦機(jī)集群:

提升12倍!香港浸會(huì)大學(xué)與MassGrid發(fā)布低帶寬高效AI訓(xùn)練新算法

訓(xùn)練方法

gTop-k的關(guān)鍵思想

在Top-k S-SGD中,每個(gè)節(jié)點(diǎn)在本地選出k個(gè)梯度值,然后所有節(jié)點(diǎn)進(jìn)行聚合得到。研究人員發(fā)現(xiàn)并非所有(其非零元素?cái)?shù)量為且)都有助于模型收斂。

具體來(lái)說(shuō),可以進(jìn)一步稀疏化為,這樣每次模型更新只需要更少數(shù)量的非零梯度。換句話說(shuō),可以進(jìn)一步從中選擇top-k個(gè)***絕對(duì)值的梯度(表示為)來(lái)更新模型,同時(shí)保證模型的收斂速度。一個(gè)4節(jié)點(diǎn)的示例如圖1所示。

提升12倍!香港浸會(huì)大學(xué)與MassGrid發(fā)布低帶寬高效AI訓(xùn)練新算法

△ 圖1 從Top-k算法中的最多k×P個(gè)非零值進(jìn)一步選擇k個(gè)梯度示例

為驗(yàn)證相比對(duì)收斂速度沒(méi)有影響,通過(guò)訓(xùn)練ResNet 來(lái)進(jìn)行對(duì)比,實(shí)驗(yàn)結(jié)果如圖2所示。

提升12倍!香港浸會(huì)大學(xué)與MassGrid發(fā)布低帶寬高效AI訓(xùn)練新算法

△ 圖2 從Top-k算法中選擇k個(gè)梯度進(jìn)行模型更新的收斂結(jié)果

gTopKAllReduce:gTop-k稀疏化的高效AllReduce算法

從表1可以看到AllGather集合對(duì)從不規(guī)則索引進(jìn)行AllReduce操作效率很低,特別是P對(duì)通信性能的影響。而新提出的有效算法的主要目的是減輕變量P對(duì)通信開(kāi)銷(xiāo)的影響。因?yàn)樽罱K只需要選擇k個(gè)值對(duì)模型進(jìn)行更新,所以在通信過(guò)程中,每次只需要傳輸k個(gè)非0值。

利用樹(shù)狀結(jié)構(gòu)進(jìn)行兩兩通信,每次只傳輸k個(gè)非0值,而接收者則會(huì)有2k個(gè)值,為下次傳輸也只傳輸k個(gè)值,接收者從2k個(gè)值中再選出k個(gè)值傳遞給下一個(gè)接收者。由于兩兩通信是可以同時(shí)進(jìn)行,因此對(duì)于P個(gè)節(jié)點(diǎn),只需要logP輪通信,一個(gè)8節(jié)點(diǎn)的示例如圖3所示。

由圖3可以看出,第1個(gè)節(jié)點(diǎn)在每一輪通信中都會(huì)接收另一個(gè)節(jié)點(diǎn)的k個(gè)非0元素,在***一輪通信后,第1個(gè)節(jié)點(diǎn)則選出了k個(gè)非0元素然后廣播給其他節(jié)點(diǎn),所以整體的通信開(kāi)銷(xiāo)為:2αlogP + 4kβlogP。當(dāng)機(jī)器規(guī)模P變大時(shí),gTop-k還能維持較高的擴(kuò)展性。算法偽代碼為圖4所示。

提升12倍!香港浸會(huì)大學(xué)與MassGrid發(fā)布低帶寬高效AI訓(xùn)練新算法

△ 圖3 對(duì)8個(gè)節(jié)點(diǎn),共需要3輪通信,每輪通信只傳輸k個(gè)非0值

提升12倍!香港浸會(huì)大學(xué)與MassGrid發(fā)布低帶寬高效AI訓(xùn)練新算法

△ 圖4 gTopKAllReduce算法偽代碼

實(shí)驗(yàn)結(jié)果

中國(guó)香港浸會(huì)大學(xué)異構(gòu)計(jì)算實(shí)驗(yàn)室與MassGrid的研究人員在32臺(tái)礦機(jī)環(huán)境上進(jìn)行實(shí)驗(yàn),每臺(tái)礦機(jī)使用一個(gè)Nvidia P102-100顯卡。

首先驗(yàn)證gTop-k S-SGD的收斂性。之后,對(duì)三種S-SGD算法(即基于稠密梯度的S-SGD,Top-k S-SGD和gTop-k S-SGD)的訓(xùn)練效率進(jìn)行了比較。

實(shí)驗(yàn)具體硬件配置如表II所示

提升12倍!香港浸會(huì)大學(xué)與MassGrid發(fā)布低帶寬高效AI訓(xùn)練新算法

用于實(shí)驗(yàn)的神經(jīng)網(wǎng)絡(luò)配置如表III所示

提升12倍!香港浸會(huì)大學(xué)與MassGrid發(fā)布低帶寬高效AI訓(xùn)練新算法

gTop-k的收斂性能

總體來(lái)看,在不同數(shù)據(jù)集上三種不同類(lèi)型的DNN的收斂結(jié)果表明研究人員提出的gTop-k S-SGD在訓(xùn)練期間不會(huì)損壞模型性能。

提升12倍!香港浸會(huì)大學(xué)與MassGrid發(fā)布低帶寬高效AI訓(xùn)練新算法

△ 圖5 gTop-k S-SGD收斂性能

提升12倍!香港浸會(huì)大學(xué)與MassGrid發(fā)布低帶寬高效AI訓(xùn)練新算法

提升12倍!香港浸會(huì)大學(xué)與MassGrid發(fā)布低帶寬高效AI訓(xùn)練新算法

gTop-k的擴(kuò)展性能

與S-SGD和Top-k S-SGD相比,在32個(gè)計(jì)算節(jié)點(diǎn)的集群環(huán)境上,gTop-k S-SGD比S-SGD快6.7倍,比Top-k S-SGD平均快1.4倍。不同的模型和不同節(jié)點(diǎn)數(shù)加速比如圖6和表IV所示。

提升12倍!香港浸會(huì)大學(xué)與MassGrid發(fā)布低帶寬高效AI訓(xùn)練新算法

△ 圖6不同節(jié)點(diǎn)數(shù)的擴(kuò)展效率對(duì)比

提升12倍!香港浸會(huì)大學(xué)與MassGrid發(fā)布低帶寬高效AI訓(xùn)練新算法

△ 表7不同模型的擴(kuò)展效率對(duì)比

局部稀疏化時(shí)間(tcompr.)和通信時(shí)間(tcommu.)。結(jié)果如圖11所示。

一方面,在VGG-16和AlexNet型號(hào)的時(shí)間細(xì)分中通信開(kāi)銷(xiāo)遠(yuǎn)大于計(jì)算。因?yàn)閂GG-16和AlexNet有三個(gè)完全連接的層,具有大量參數(shù),而計(jì)算速度相對(duì)較快。這些也反映出即使使用gTop-k稀疏化,圖6中S-SGD的縮放效率也很低。

另一方面,通信和稀疏化的時(shí)間遠(yuǎn)小于使用ResNet20和ResNet-50計(jì)算的時(shí)間,這表明通信計(jì)算比率低,因此即使在低帶寬網(wǎng)絡(luò)上,擴(kuò)展效率也可高達(dá)80%。

此外,應(yīng)注意梯度稀疏化所用的時(shí)間是與VGG-16和AlexNet型號(hào)的計(jì)算時(shí)間相當(dāng)。主要原因是GPU上的Top-k選擇效率低下,并且在SIMD架構(gòu)上高度并行化可能并非易事。研究人員將此作為未來(lái)的優(yōu)化方向。

提升12倍!香港浸會(huì)大學(xué)與MassGrid發(fā)布低帶寬高效AI訓(xùn)練新算法

實(shí)驗(yàn)總結(jié)

分布式同步隨機(jī)梯度下降(S-SGD)已經(jīng)廣泛用于訓(xùn)練大規(guī)模深度神經(jīng)網(wǎng)絡(luò)(DNN),但是它通常需要計(jì)算工作者(例如,GPU)之間非常高的通信帶寬以迭代交換梯度。

最近,已經(jīng)提出了Top-k稀疏化技術(shù)來(lái)減少工人之間要交換的數(shù)據(jù)量。Top-k稀疏化可以將大部分梯度歸零,而不會(huì)影響模型收斂。

通過(guò)對(duì)不同DNN的廣泛實(shí)驗(yàn),這一研究驗(yàn)證了gTop-k S-SGD與S-SGD具有幾乎一致的收斂性能,并且在泛化性能上只有輕微的降級(jí)。

在擴(kuò)展效率方面,研究人員在具有32個(gè)GPU機(jī)器的集群上(MassGrid礦機(jī)集群)評(píng)估gTop-k,這些機(jī)器與1 Gbps以太網(wǎng)互連。

實(shí)驗(yàn)結(jié)果表明,該方法比S-SGD實(shí)現(xiàn)了2.7-12倍的縮放效率,比現(xiàn)有的Top-k S-SGD提高了1.1-1.7倍。

傳送門(mén)

論文原文鏈接:https://arxiv.org/abs/1901.04359

更多關(guān)于MassGrid的應(yīng)用場(chǎng)景請(qǐng)查詢:www.massgrid.com

 

責(zé)任編輯:張燕妮 來(lái)源: 量子位
相關(guān)推薦

2023-11-22 11:33:37

模型訓(xùn)練

2018-12-10 12:08:14

聯(lián)想

2022-08-30 20:50:48

阿里云飛天人工智能

2024-03-25 11:37:40

機(jī)器學(xué)習(xí)人工智能進(jìn)化算法

2022-07-15 09:25:01

AI制藥

2018-04-03 12:41:30

UAI-Train計(jì)算運(yùn)維

2023-12-14 13:30:00

AI模型

2018-04-10 10:31:04

人工智能AI全球高校排名

2024-07-08 09:00:00

2023-02-19 10:22:06

ChatGPT人工智能

2020-06-19 10:33:16

阿里AIICML

2025-03-10 09:15:00

2017-08-28 15:32:52

內(nèi)存DDR4DDR3

2014-04-01 09:52:46

MySQL

2013-08-21 14:20:50

飛魚(yú)星流控王飛魚(yú)星

2023-01-03 13:20:44

框架AI

2019-10-26 22:43:42

AI移動(dòng)開(kāi)發(fā)測(cè)試

2019-07-18 08:54:42

谷歌Android開(kāi)發(fā)者

2020-02-12 09:35:30

AI 數(shù)據(jù)人工智能

2021-03-08 15:39:58

人工智能科技數(shù)據(jù)
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)