本發(fā)明屬于屬于邊緣計(jì)算領(lǐng)域,具體涉及一種適用于邊緣計(jì)算場景的分布式訓(xùn)練通信壓縮方法、裝置、分布式訓(xùn)練系統(tǒng)。
背景技術(shù):
1、當(dāng)前的分布式深度神經(jīng)網(wǎng)絡(luò)訓(xùn)練大多基于云服務(wù)器集群環(huán)境,依靠充裕的計(jì)算資源和高速網(wǎng)絡(luò)進(jìn)行大規(guī)模模型訓(xùn)練。但是隨著邊緣計(jì)算的興起,直接在邊緣端利用海量分散數(shù)據(jù)進(jìn)行就地智能處理的需求日益增長。將分布式訓(xùn)練部署到資源受限的邊緣設(shè)備中面臨巨大挑戰(zhàn)。邊緣設(shè)備的帶寬、計(jì)算能力等硬件條件普遍較弱,而分布式訓(xùn)練又極為依賴節(jié)點(diǎn)間的高頻通信。已有研究表明,通信開銷占分布式訓(xùn)練總時(shí)間的比例可達(dá)80%以上。因此,現(xiàn)有云服務(wù)器環(huán)境的分布式訓(xùn)練方案并不適用于邊緣端,急需針對邊緣設(shè)備的通信優(yōu)化方法。
2、因此,易于想到對分布式訓(xùn)練中的通信量進(jìn)行壓縮處理從而減少節(jié)點(diǎn)間的通信量進(jìn)而加快整體訓(xùn)練速度。
技術(shù)實(shí)現(xiàn)思路
1、針對現(xiàn)有技術(shù)的不足,本發(fā)明提出一種適用于邊緣計(jì)算場景的分布式訓(xùn)練通信壓縮方法、裝置、分布式訓(xùn)練系統(tǒng),其可以在降低邊緣設(shè)備通信量的同時(shí),獲得分布式加速效果,達(dá)到在邊緣環(huán)境高效分布式訓(xùn)練的目的。
2、為了實(shí)現(xiàn)上述目的,本發(fā)明一方面提供分布式訓(xùn)練通信壓縮方法,適用于邊緣計(jì)算場景,該方法包含:
3、將分布式集群中各節(jié)點(diǎn)的全局梯度信息進(jìn)行分組;
4、在每個(gè)分組內(nèi)選擇梯度絕對值最大的前k個(gè)梯度值,將其余未選中的梯度值置為0,生成稀疏梯度矩陣;
5、在各節(jié)點(diǎn)之間共享該稀疏梯度矩陣。
6、在一些實(shí)施例中,設(shè)定分組大小與梯度壓縮率;
7、依據(jù)該分組大小對該全局梯度信息進(jìn)行分組;
8、在每個(gè)分組內(nèi),根據(jù)該梯度壓縮率和該分組大小的乘積確定k的值。
9、在一些實(shí)施例中,在各節(jié)點(diǎn)之間共享該稀疏梯度矩陣,包含如下步驟:
10、a1)每個(gè)節(jié)點(diǎn)將自己的該稀疏梯度矩陣按照總節(jié)點(diǎn)數(shù)n進(jìn)行分割,得到n等份子梯度數(shù)據(jù)塊;
11、a2)每個(gè)節(jié)點(diǎn)選擇將其中一份子梯度數(shù)據(jù)塊發(fā)送給其鄰居節(jié)點(diǎn);
12、a3)重復(fù)步驟a2),直到每個(gè)節(jié)點(diǎn)將其該稀疏梯度矩陣的每一份子梯度數(shù)據(jù)塊發(fā)送至少一次;
13、a4)每個(gè)節(jié)點(diǎn)將其接收到的其他節(jié)點(diǎn)的子梯度數(shù)據(jù)塊與自身持有的一子梯度數(shù)據(jù)塊進(jìn)行累加,得到一聚合梯度數(shù)據(jù)塊。
14、在一些實(shí)施例中,在各節(jié)點(diǎn)之間共享該稀疏梯度矩陣,還包含如下步驟:
15、b1)每個(gè)節(jié)點(diǎn)將自身持有的聚合梯度數(shù)據(jù)塊發(fā)送給其鄰居節(jié)點(diǎn);
16、b2)該鄰居節(jié)點(diǎn)將接收的該聚合梯度數(shù)據(jù)塊替換對應(yīng)位置處原有的梯度數(shù)據(jù)塊;
17、b3)該鄰居節(jié)點(diǎn)將接收的該聚合梯度數(shù)據(jù)塊發(fā)送給其另一鄰居節(jié)點(diǎn),該另一鄰居節(jié)點(diǎn)將接收的該聚合梯度數(shù)據(jù)塊替換對應(yīng)位置處原有的梯度數(shù)據(jù)塊;
18、b4)重復(fù)步驟b1)-b4),直至每一節(jié)點(diǎn)包含n份聚合梯度數(shù)據(jù)塊,且該n份聚合梯度數(shù)據(jù)塊聚合為一完整梯度矩陣。
19、在一些實(shí)施例中,還包含:
20、調(diào)整分布式訓(xùn)練過程中的學(xué)習(xí)率,以補(bǔ)償模型精度損失。
21、在一些實(shí)施例中,采用linear?scaling?rule線性縮放規(guī)則,補(bǔ)償學(xué)習(xí)率,包含:
22、根據(jù)分布式訓(xùn)練中節(jié)點(diǎn)數(shù)量的增加比例,線性增加該學(xué)習(xí)率,以補(bǔ)償節(jié)點(diǎn)數(shù)量增加導(dǎo)致的模型迭代步長變化。
23、在一些實(shí)施例中,還包含:
24、利用給定的分布式集群框架構(gòu)建該分布式集群,且于開始訓(xùn)練之前對該分布式集群的每個(gè)節(jié)點(diǎn)完成數(shù)據(jù)的分發(fā),各個(gè)節(jié)點(diǎn)訓(xùn)練的初始數(shù)據(jù)均不相同。
25、本發(fā)明另一方面還提供一種分布式訓(xùn)練通信壓縮裝置,包含:
26、分組模塊,用以將分布式集群中各節(jié)點(diǎn)的全局梯度信息進(jìn)行分組;
27、梯度壓縮模塊,用以在每個(gè)分組內(nèi)選擇梯度絕對值最大的前k個(gè)梯度值,將其余未選中的梯度值置為0,生成稀疏梯度矩陣;
28、共享模塊,用以在各節(jié)點(diǎn)之間共享該稀疏梯度矩陣。
29、在一些實(shí)施例中,在每個(gè)分組內(nèi),根據(jù)預(yù)設(shè)的梯度壓縮率和分組大小的乘積確定k的值。
30、本發(fā)明再一方面還提供一種分布式訓(xùn)練系統(tǒng),包含:
31、多個(gè)邊緣設(shè)備節(jié)點(diǎn),每個(gè)邊緣設(shè)備節(jié)點(diǎn)配置為執(zhí)行上述的分布式訓(xùn)練通信壓縮方法。
32、由以上方案可知,本發(fā)明的優(yōu)點(diǎn)在于:
33、本發(fā)明揭示的分布式訓(xùn)練通信壓縮方法,適用于邊緣計(jì)算場景,使用group-topk算法,將分布式集群中各節(jié)點(diǎn)的全局梯度信息進(jìn)行分組;在每個(gè)分組內(nèi)選擇梯度絕對值最大的前k個(gè)梯度值,將其余未選中的梯度值置為0,生成稀疏梯度矩陣;在各節(jié)點(diǎn)之間共享該稀疏梯度矩陣。該方法能夠有效地減少邊緣設(shè)備訓(xùn)練集群中節(jié)點(diǎn)間的通信量,從而實(shí)現(xiàn)更高效的分布式協(xié)同訓(xùn)練,并且保持模型的精度。
1.一種分布式訓(xùn)練通信壓縮方法,適用于邊緣計(jì)算場景,其特征在于,包含:
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,
3.根據(jù)權(quán)利要求1所述的方法,其特征在于,在各節(jié)點(diǎn)之間共享該稀疏梯度矩陣,包含如下步驟:
4.根據(jù)權(quán)利要求3所述的方法,其特征在于,在各節(jié)點(diǎn)之間共享該稀疏梯度矩陣,還包含如下步驟:
5.根據(jù)權(quán)利要求1所述的方法,其特征在于,還包含:
6.根據(jù)權(quán)利要求5所述的方法,其特征在于,
7.根據(jù)權(quán)利要求1所述的方法,其特征在于,還包含:
8.一種分布式訓(xùn)練通信壓縮裝置,其特征在于,包含:
9.根據(jù)權(quán)利要求9所述的裝置,其特征在于,
10.一種分布式訓(xùn)練系統(tǒng),其特征在于,包含: