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