本發(fā)明涉及人工智能,尤其涉及一種基于多層級的邊緣設備分布式訓練方法及裝置。
背景技術:
1、在智能交通、智能醫(yī)療、智能農(nóng)業(yè)等領域中,需要采集多個終端設備的數(shù)據(jù)進行模型訓練,出于數(shù)據(jù)安全的考慮,每個終端設備在本地使用自己的數(shù)據(jù)訓練模型的一個副本,然后只將模型參數(shù)發(fā)送到一個中心服務器。中心服務器聚合這些模型參數(shù)以改進模型,然后將改進的模型發(fā)送回各個終端設備。這種方法的主要優(yōu)勢在于它保護了數(shù)據(jù)隱私和安全,因為敏感數(shù)據(jù)不需要離開其原始位置。
2、然而,終端設備的差異(如處理能力、存儲容量和通信帶寬),可能導致終端設備在數(shù)據(jù)處理速度和模型訓練能力上不一致,在訓練時需要等待性能較差的終端設備完成任務,從而延長整體的訓練時間和降低效率。如何降低設備異構性對模型訓練時長的影響,提高各個終端設備間進行聯(lián)合模型訓練的效率已成為急需解決的問題。
技術實現(xiàn)思路
1、本發(fā)明提供了一種基于多層級的邊緣設備分布式訓練方法及裝置,能夠降低模型訓練設備的異構性對模型參數(shù)在各個模型訓練設備及中心服務器之間的交換的效率的影響,進而提高模型分布式訓練的效率。
2、為了解決上述技術問題,本發(fā)明第一方面公開了一種基于多層級的模型參數(shù)聚合方法,所述方法應用于聯(lián)邦學習系統(tǒng)中,所述聯(lián)邦學習系統(tǒng)包括三個層級,所述三個層級依次包括由多個模型訓練設備組成的設備層、由多個網(wǎng)關組成的網(wǎng)關層以及由中心服務器組成的主控層,所述方法包括:
3、將每個所述模型訓練設備與一個所述網(wǎng)關匹配,使所述聯(lián)邦學習系統(tǒng)中每個所述模型訓練設備與其匹配的所述網(wǎng)關之間的關聯(lián)指數(shù)之和最大,所述關聯(lián)指數(shù)指一個所述模型訓練設備與一個所述網(wǎng)關之間數(shù)據(jù)相似度及數(shù)據(jù)傳輸延遲度;
4、將每個所述網(wǎng)關對應的所有匹配設備劃分為多個網(wǎng)關匹配設備層,使所有所述網(wǎng)關匹配設備層之間的模塊度符合預設的模塊度劃分條件;每個所述網(wǎng)關對應的所有所述匹配設備指所有與其匹配的所述模型訓練設備;所述模塊度劃分條件指一個所述網(wǎng)關匹配設備層內(nèi)的所有所述匹配設備間的數(shù)據(jù)交互效率差異小于預設的交互效率最大閾值,且不同網(wǎng)關匹配設備層間的所有所述匹配設備間的數(shù)據(jù)交互效率差異大于預設的交互效率最小閾值;
5、在所述三個層級間交換模型參數(shù),其中,每個所述網(wǎng)關匹配設備層內(nèi)的所述匹配設備之間的所述模型參數(shù)的交換模式為同步模式,每個所述網(wǎng)關匹配設備層與其對應的所述網(wǎng)關間的所述模型參數(shù)的交換模式為異步模式,每個所述網(wǎng)關間的所述模型參數(shù)的交換模式為異步模式,每個所述網(wǎng)關與所述中心服務器間的所述模型參數(shù)的交換模式為異步模式;基于模型參數(shù)的交換,在所述三個層級執(zhí)行聯(lián)合模型訓練,直到所述中心服務器訓練的模型達到預設的收斂標準。
6、作為一種可選的實施方式,在本發(fā)明第一方面中,基于模型參數(shù)的交換,在所述三個層級執(zhí)行聯(lián)合模型訓練,直到所述中心服務器訓練的模型達到預設的收斂標準包括:基于模型參數(shù)的交換,在所述三個層級執(zhí)行聯(lián)合模型訓練,在每輪模型訓練時,以每個所述網(wǎng)關匹配設備層的訓練負載,作為基于強化學習的多臂老虎機算法中的一個臂,使用上置信界限策略調(diào)整所述網(wǎng)關匹配設備層的訓練負載,直到所述中心服務器訓練的模型達到預設的收斂標準。
7、作為一種可選的實施方式,在本發(fā)明第一方面中,所述將每個所述模型訓練設備與一個所述網(wǎng)關匹配,使所述聯(lián)邦學習系統(tǒng)中每個所述模型訓練設備與其匹配的所述網(wǎng)關之間的關聯(lián)指數(shù)之和最大,包括:
8、在每一輪設備網(wǎng)關匹配迭代中,將每個未與任何所述網(wǎng)關建立匹配關系的所述模型訓練設備作為待匹配設備,以與一個所述待匹配設備的所述關聯(lián)指數(shù)最高的所述網(wǎng)關作為其目標網(wǎng)關,依次對每個所述待匹配設備,判斷在當輪所述設備網(wǎng)關匹配迭代中,與其對應的所述目標網(wǎng)關建立匹配關系的所述模型訓練設備的數(shù)量是否超過預設的單輪最大匹配數(shù);
9、若超過,則在所述目標網(wǎng)關已匹配的所有所述模型訓練設備中找出與其所述關聯(lián)指數(shù)最低的所述模型訓練設備作為低匹配設備,判斷所述低匹配設備與所述目標網(wǎng)關的所述關聯(lián)指數(shù)是否小于所述待匹配設備與所述目標網(wǎng)關的所述關聯(lián)指數(shù),若所述低匹配設備與所述目標網(wǎng)關的所述關聯(lián)指數(shù)小于所述待匹配設備與所述目標網(wǎng)關的所述關聯(lián)指數(shù),則解除所述低匹配設備與所述目標網(wǎng)關的匹配關系,將所述待匹配設備與所述目標網(wǎng)關建立匹配關系;若所述低匹配設備與所述目標網(wǎng)關的所述關聯(lián)指數(shù)大于或等于所述待匹配設備與所述目標網(wǎng)關的所述關聯(lián)指數(shù),則不建立所述待匹配設備與所述目標網(wǎng)關的匹配關系;
10、若在當輪所述設備網(wǎng)關匹配迭代中,與所述目標網(wǎng)關建立匹配關系的所述模型訓練設備的數(shù)量未超過所述單輪最大匹配數(shù),則將所述待匹配設備與所述目標網(wǎng)關建立匹配關系;
11、重復執(zhí)行所述設備網(wǎng)關匹配迭代,直到所有的所述模型訓練設備均與一個所述網(wǎng)關建立匹配關系。
12、作為一種可選的實施方式,在本發(fā)明第一方面中,所述關聯(lián)指數(shù)的獲取方式,包括:
13、將一個所述模型訓練設備產(chǎn)生的訓練數(shù)據(jù)均分為多個批次,在所述模型訓練設備上進行多輪模型訓練,以一輪內(nèi)所有批次進行模型訓練的梯度平均差異和該輪模型訓練與其前一次模型訓練的梯度差異組合作為所述模型訓練設備在該輪模型訓練的異質(zhì)性參數(shù),以所有輪模型訓練的異質(zhì)性參數(shù)的組合作為所述模型訓練設備的異質(zhì)性參數(shù);
14、計算所述模型訓練設備執(zhí)行一次模型訓練的平均時間,及所述模型訓練設備向一個所述網(wǎng)關發(fā)送所述模型參數(shù)的平均時間,以兩者之和作為所述模型訓練設備與該網(wǎng)關的傳輸延遲參數(shù);
15、對每一個所述網(wǎng)關,計算所有與其匹配的所述模型訓練設備的所述異質(zhì)性參數(shù)的均值作為該網(wǎng)關的異質(zhì)性參數(shù);
16、以一個所述網(wǎng)關的所述異質(zhì)性參數(shù)及一個所述模型訓練設備的所述異質(zhì)性參數(shù)之間的數(shù)據(jù)相似性作為所述模型訓練設備與所述網(wǎng)關間的數(shù)據(jù)關聯(lián)度;
17、當一個所述網(wǎng)關未匹配任何所述模型訓練設備時,所述網(wǎng)關與任一個所述模型訓練設備間的關聯(lián)指數(shù)與兩者間的所述傳輸延遲參數(shù)成反比,當一個所述網(wǎng)關匹配任一所述模型訓練設備時,所述網(wǎng)關與該模型訓練設備間的關聯(lián)指數(shù)與兩者間的所述傳輸延遲參數(shù)成反比,且與兩者間的所述數(shù)據(jù)關聯(lián)度成正比。
18、作為一種可選的實施方式,在本發(fā)明第一方面中,所述將該網(wǎng)關對應的所有所述匹配設備劃分為多個網(wǎng)關匹配設備層,使所有所述網(wǎng)關匹配設備層之間的模塊度符合預設的模塊度劃分條件,包括:
19、以每個所述模型訓練設備作為一個社區(qū),以每個社區(qū)作為一個節(jié)點構建全連接的權重網(wǎng)絡,兩個所述節(jié)點之間的邊的權重代表兩個所述節(jié)點之間的訓練效用;
20、判斷兩個所述節(jié)點間的所述訓練效用是否超過全局平均效用,若超過,則斷開兩個所述節(jié)點間的連接,所述全局平均效用指所有所述模型訓練設備的所述訓練效用之和與所述模型訓練設備的數(shù)量的比值;
21、定義社區(qū)間的模塊度qm為:
22、
23、其中,為所述權重網(wǎng)絡中所有邊的權重的總和,ea和eb分別為第a個所述節(jié)點和第b個所述節(jié)點的度,utils(a,b)代表第a個所述節(jié)點和第b個所述節(jié)點之間的所述訓練效用,ca和cb分別代表第a個所述節(jié)點和第b個所述節(jié)點所屬的所述社區(qū),代表指示函數(shù);
24、重復執(zhí)行迭代移動每個所述節(jié)點步驟,直到移動任意所述節(jié)點均不能使所述模塊度qm增加,得到更新后的社區(qū);其中,所述迭代移動每個所述節(jié)點指判斷每個所述節(jié)點移動到其相鄰社區(qū)是否能提高所述模塊度qm,只有判斷結果為能夠提高時,才移動該節(jié)點到該相鄰社區(qū);
25、迭代執(zhí)行社區(qū)合并操作,直到執(zhí)行所述社區(qū)合并操作不能使所述模塊度qm的值增加,得到若干個最終社區(qū);其中,所述社區(qū)合并操作指以每個所述更新后的社區(qū)作為一個新節(jié)點,更新所述權重網(wǎng)絡,對于任意兩個所述新節(jié)點:新節(jié)點a和新節(jié)點b,兩者之間的權重為在本次更新所述權重網(wǎng)絡前所有構成所述新節(jié)點a的節(jié)點連接到任一構成所述新節(jié)點b的節(jié)點間的邊的權重之和,使用在所述權重網(wǎng)絡中迭代移動每個所述節(jié)點的方法移動每個所述新節(jié)點,直到移動任意所述新節(jié)點均不能使所述模塊度qm增加;
26、以每個所述最終社區(qū)對應的所有所述模型訓練設備構成一個網(wǎng)關匹配設備層。
27、作為一種可選的實施方式,在本發(fā)明第一方面中,所述上置信界限策略中的置信區(qū)間的上限為所述網(wǎng)關匹配設備層的組合獎勵與預定義的探索因子的和;
28、以及,所述使用上置信界限策略調(diào)整所述網(wǎng)關匹配設備層的訓練負載,包括:
29、將所有所述網(wǎng)關匹配設備層按照置信區(qū)間的上限進行升序或降序排序,計算每兩個相鄰所述網(wǎng)關匹配設備層的所述置信區(qū)間的上限的差值,以所述差值最大的兩個所述網(wǎng)關匹配設備層中所述置信區(qū)間的上限大的所述網(wǎng)關匹配設備層作為基準設備層,將所述基準設備層及所有所述置信區(qū)間的上限超過所述基準設備層的所述網(wǎng)關匹配設備層作為上調(diào)網(wǎng)關匹配設備層,以其他所述網(wǎng)關匹配設備層作為下調(diào)網(wǎng)關匹配設備層;
30、將所述上調(diào)網(wǎng)關匹配設備層中每個所述網(wǎng)關匹配設備層的訓練負載調(diào)整為k(1+π),將所述下調(diào)網(wǎng)關匹配設備層中每個所述網(wǎng)關匹配設備層的訓練負載調(diào)整為k(1-π),其中,k代表所述網(wǎng)關匹配設備層的原訓練負載,π為調(diào)整訓練負載的超參數(shù)。
31、作為一種可選的實施方式,在本發(fā)明第一方面中,所述組合獎勵的確定方式包括:
32、以一個所述網(wǎng)關匹配設備層的系統(tǒng)獎勵與該網(wǎng)關匹配設備層的數(shù)據(jù)獎勵的比值,作為所述網(wǎng)關匹配設備層的組合獎勵;
33、其中,所述數(shù)據(jù)獎勵的確定方式包括:
34、以一個所述網(wǎng)關匹配設備層在和與其匹配的所述網(wǎng)關進行所述模型參數(shù)的交換過程中的平均訓練損失與所述網(wǎng)關下所有所述網(wǎng)關匹配設備層的平均訓練損失之比,作為所述網(wǎng)關匹配設備層的數(shù)據(jù)獎勵;
35、其中,所述系統(tǒng)獎勵的確定方式包括:
36、以一個所述網(wǎng)關匹配設備層在和與其匹配的所述網(wǎng)關進行所述模型參數(shù)的交換過程中的平均延遲與所述網(wǎng)關下所有所述網(wǎng)關匹配設備層的平均延遲之比,作為所述網(wǎng)關匹配設備層的系統(tǒng)獎勵。
37、本發(fā)明第二方面公開了一種基于多層級的邊緣設備分布式訓練裝置,所述裝置應用于聯(lián)邦學習系統(tǒng)中,所述聯(lián)邦學習系統(tǒng)包括三個層級,所述三個層級依次包括由多個模型訓練設備組成的設備層、由多個網(wǎng)關組成的網(wǎng)關層以及由中心服務器組成的主控層,其特征在于,所述裝置包括:
38、匹配模塊,用于將每個所述模型訓練設備與一個所述網(wǎng)關匹配,使所述聯(lián)邦學習系統(tǒng)中每個所述模型訓練設備與其匹配的所述網(wǎng)關之間的關聯(lián)指數(shù)之和最大,所述關聯(lián)指數(shù)指一個所述模型訓練設備與一個所述網(wǎng)關之間數(shù)據(jù)相似度及數(shù)據(jù)傳輸延遲度;
39、分層模塊,用于將每個所述網(wǎng)關對應的所有匹配設備劃分為多個網(wǎng)關匹配設備層,使所有所述網(wǎng)關匹配設備層之間的模塊度符合預設的模塊度劃分條件;每個所述網(wǎng)關對應的所有所述匹配設備指所有與其匹配的所述模型訓練設備;所述模塊度劃分條件指一個所述網(wǎng)關匹配設備層內(nèi)的所有所述匹配設備間的數(shù)據(jù)交互效率差異小于預設的交互效率最大閾值,且不同網(wǎng)關匹配設備層間的所有所述匹配設備間的數(shù)據(jù)交互效率差異大于預設的交互效率最小閾值;
40、訓練模塊,用于在所述三個層級間交換所述模型參數(shù),其中,每個所述網(wǎng)關匹配設備層內(nèi)的所述匹配設備之間的所述模型參數(shù)的交換模式為同步模式,每個所述網(wǎng)關匹配設備層與其對應的所述網(wǎng)關間的所述模型參數(shù)的交換模式為異步模式,每個所述網(wǎng)關間的所述模型參數(shù)的交換模式為異步模式,每個所述網(wǎng)關與所述中心服務器間的所述模型參數(shù)的交換模式為異步模式;基于模型參數(shù)的交換,在所述三個層級執(zhí)行聯(lián)合模型訓練,直到所述中心服務器訓練的模型達到預設的收斂標準。
41、本發(fā)明第三方面公開了另一種基于多層級的邊緣設備分布式訓練裝置,所述裝置包括:
42、存儲有可執(zhí)行程序代碼的存儲器;
43、與所述存儲器耦合的處理器;
44、所述處理器調(diào)用所述存儲器中存儲的所述可執(zhí)行程序代碼,執(zhí)行本發(fā)明第一方面公開的基于多層級的邊緣設備分布式訓練方法。
45、本發(fā)明第四方面公開了一種計算機存儲介質(zhì),所述計算機存儲介質(zhì)存儲有計算機指令,所述計算機指令被調(diào)用時,用于執(zhí)行本發(fā)明第一方面公開的基于多層級的邊緣設備分布式訓練方法。
46、與現(xiàn)有技術相比,本發(fā)明實施例具有以下有益效果:
47、本發(fā)明通過優(yōu)化模型訓練設備與網(wǎng)關的匹配、網(wǎng)關內(nèi)的設備分層以及采用多層級的參數(shù)交換模式,顯著降低了模型訓練設備的異構性對模型參數(shù)在各個模型訓練設備及中心服務器之間的交換的效率的影響,減少了訓練延遲,進而提高模型分布式訓練的效率。