本发明涉及人工智能,尤其涉及一种基于多层级的边缘设备分布式训练方法及装置。
背景技术:
1、在智能交通、智能医疗、智能农业等领域中,需要采集多个终端设备的数据进行模型训练,出于数据安全的考虑,每个终端设备在本地使用自己的数据训练模型的一个副本,然后只将模型参数发送到一个中心服务器。中心服务器聚合这些模型参数以改进模型,然后将改进的模型发送回各个终端设备。这种方法的主要优势在于它保护了数据隐私和安全,因为敏感数据不需要离开其原始位置。
2、然而,终端设备的差异(如处理能力、存储容量和通信带宽),可能导致终端设备在数据处理速度和模型训练能力上不一致,在训练时需要等待性能较差的终端设备完成任务,从而延长整体的训练时间和降低效率。如何降低设备异构性对模型训练时长的影响,提高各个终端设备间进行联合模型训练的效率已成为急需解决的问题。
技术实现思路
1、本发明提供了一种基于多层级的边缘设备分布式训练方法及装置,能够降低模型训练设备的异构性对模型参数在各个模型训练设备及中心服务器之间的交换的效率的影响,进而提高模型分布式训练的效率。
2、为了解决上述技术问题,本发明第一方面公开了一种基于多层级的模型参数聚合方法,所述方法应用于联邦学习系统中,所述联邦学习系统包括三个层级,所述三个层级依次包括由多个模型训练设备组成的设备层、由多个网关组成的网关层以及由中心服务器组成的主控层,所述方法包括:
3、将每个所述模型训练设备与一个所述网关匹配,使所述联邦学习系统中每个所述模型训练设备与其匹配的所述网关之间的关联指数之和最大,所述关联指数指一个所述模型训练设备与一个所述网关之间数据相似度及数据传输延迟度;
4、将每个所述网关对应的所有匹配设备划分为多个网关匹配设备层,使所有所述网关匹配设备层之间的模块度符合预设的模块度划分条件;每个所述网关对应的所有所述匹配设备指所有与其匹配的所述模型训练设备;所述模块度划分条件指一个所述网关匹配设备层内的所有所述匹配设备间的数据交互效率差异小于预设的交互效率最大阈值,且不同网关匹配设备层间的所有所述匹配设备间的数据交互效率差异大于预设的交互效率最小阈值;
5、在所述三个层级间交换模型参数,其中,每个所述网关匹配设备层内的所述匹配设备之间的所述模型参数的交换模式为同步模式,每个所述网关匹配设备层与其对应的所述网关间的所述模型参数的交换模式为异步模式,每个所述网关间的所述模型参数的交换模式为异步模式,每个所述网关与所述中心服务器间的所述模型参数的交换模式为异步模式;基于模型参数的交换,在所述三个层级执行联合模型训练,直到所述中心服务器训练的模型达到预设的收敛标准。
6、作为一种可选的实施方式,在本发明第一方面中,基于模型参数的交换,在所述三个层级执行联合模型训练,直到所述中心服务器训练的模型达到预设的收敛标准包括:基于模型参数的交换,在所述三个层级执行联合模型训练,在每轮模型训练时,以每个所述网关匹配设备层的训练负载,作为基于强化学习的多臂老虎机算法中的一个臂,使用上置信界限策略调整所述网关匹配设备层的训练负载,直到所述中心服务器训练的模型达到预设的收敛标准。
7、作为一种可选的实施方式,在本发明第一方面中,所述将每个所述模型训练设备与一个所述网关匹配,使所述联邦学习系统中每个所述模型训练设备与其匹配的所述网关之间的关联指数之和最大,包括:
8、在每一轮设备网关匹配迭代中,将每个未与任何所述网关建立匹配关系的所述模型训练设备作为待匹配设备,以与一个所述待匹配设备的所述关联指数最高的所述网关作为其目标网关,依次对每个所述待匹配设备,判断在当轮所述设备网关匹配迭代中,与其对应的所述目标网关建立匹配关系的所述模型训练设备的数量是否超过预设的单轮最大匹配数;
9、若超过,则在所述目标网关已匹配的所有所述模型训练设备中找出与其所述关联指数最低的所述模型训练设备作为低匹配设备,判断所述低匹配设备与所述目标网关的所述关联指数是否小于所述待匹配设备与所述目标网关的所述关联指数,若所述低匹配设备与所述目标网关的所述关联指数小于所述待匹配设备与所述目标网关的所述关联指数,则解除所述低匹配设备与所述目标网关的匹配关系,将所述待匹配设备与所述目标网关建立匹配关系;若所述低匹配设备与所述目标网关的所述关联指数大于或等于所述待匹配设备与所述目标网关的所述关联指数,则不建立所述待匹配设备与所述目标网关的匹配关系;
10、若在当轮所述设备网关匹配迭代中,与所述目标网关建立匹配关系的所述模型训练设备的数量未超过所述单轮最大匹配数,则将所述待匹配设备与所述目标网关建立匹配关系;
11、重复执行所述设备网关匹配迭代,直到所有的所述模型训练设备均与一个所述网关建立匹配关系。
12、作为一种可选的实施方式,在本发明第一方面中,所述关联指数的获取方式,包括:
13、将一个所述模型训练设备产生的训练数据均分为多个批次,在所述模型训练设备上进行多轮模型训练,以一轮内所有批次进行模型训练的梯度平均差异和该轮模型训练与其前一次模型训练的梯度差异组合作为所述模型训练设备在该轮模型训练的异质性参数,以所有轮模型训练的异质性参数的组合作为所述模型训练设备的异质性参数;
14、计算所述模型训练设备执行一次模型训练的平均时间,及所述模型训练设备向一个所述网关发送所述模型参数的平均时间,以两者之和作为所述模型训练设备与该网关的传输延迟参数;
15、对每一个所述网关,计算所有与其匹配的所述模型训练设备的所述异质性参数的均值作为该网关的异质性参数;
16、以一个所述网关的所述异质性参数及一个所述模型训练设备的所述异质性参数之间的数据相似性作为所述模型训练设备与所述网关间的数据关联度;
17、当一个所述网关未匹配任何所述模型训练设备时,所述网关与任一个所述模型训练设备间的关联指数与两者间的所述传输延迟参数成反比,当一个所述网关匹配任一所述模型训练设备时,所述网关与该模型训练设备间的关联指数与两者间的所述传输延迟参数成反比,且与两者间的所述数据关联度成正比。
18、作为一种可选的实施方式,在本发明第一方面中,所述将该网关对应的所有所述匹配设备划分为多个网关匹配设备层,使所有所述网关匹配设备层之间的模块度符合预设的模块度划分条件,包括:
19、以每个所述模型训练设备作为一个社区,以每个社区作为一个节点构建全连接的权重网络,两个所述节点之间的边的权重代表两个所述节点之间的训练效用;
20、判断两个所述节点间的所述训练效用是否超过全局平均效用,若超过,则断开两个所述节点间的连接,所述全局平均效用指所有所述模型训练设备的所述训练效用之和与所述模型训练设备的数量的比值;
21、定义社区间的模块度qm为:
22、
23、其中,为所述权重网络中所有边的权重的总和,ea和eb分别为第a个所述节点和第b个所述节点的度,utils(a,b)代表第a个所述节点和第b个所述节点之间的所述训练效用,ca和cb分别代表第a个所述节点和第b个所述节点所属的所述社区,代表指示函数;
24、重复执行迭代移动每个所述节点步骤,直到移动任意所述节点均不能使所述模块度qm增加,得到更新后的社区;其中,所述迭代移动每个所述节点指判断每个所述节点移动到其相邻社区是否能提高所述模块度qm,只有判断结果为能够提高时,才移动该节点到该相邻社区;
25、迭代执行社区合并操作,直到执行所述社区合并操作不能使所述模块度qm的值增加,得到若干个最终社区;其中,所述社区合并操作指以每个所述更新后的社区作为一个新节点,更新所述权重网络,对于任意两个所述新节点:新节点a和新节点b,两者之间的权重为在本次更新所述权重网络前所有构成所述新节点a的节点连接到任一构成所述新节点b的节点间的边的权重之和,使用在所述权重网络中迭代移动每个所述节点的方法移动每个所述新节点,直到移动任意所述新节点均不能使所述模块度qm增加;
26、以每个所述最终社区对应的所有所述模型训练设备构成一个网关匹配设备层。
27、作为一种可选的实施方式,在本发明第一方面中,所述上置信界限策略中的置信区间的上限为所述网关匹配设备层的组合奖励与预定义的探索因子的和;
28、以及,所述使用上置信界限策略调整所述网关匹配设备层的训练负载,包括:
29、将所有所述网关匹配设备层按照置信区间的上限进行升序或降序排序,计算每两个相邻所述网关匹配设备层的所述置信区间的上限的差值,以所述差值最大的两个所述网关匹配设备层中所述置信区间的上限大的所述网关匹配设备层作为基准设备层,将所述基准设备层及所有所述置信区间的上限超过所述基准设备层的所述网关匹配设备层作为上调网关匹配设备层,以其他所述网关匹配设备层作为下调网关匹配设备层;
30、将所述上调网关匹配设备层中每个所述网关匹配设备层的训练负载调整为k(1+π),将所述下调网关匹配设备层中每个所述网关匹配设备层的训练负载调整为k(1-π),其中,k代表所述网关匹配设备层的原训练负载,π为调整训练负载的超参数。
31、作为一种可选的实施方式,在本发明第一方面中,所述组合奖励的确定方式包括:
32、以一个所述网关匹配设备层的系统奖励与该网关匹配设备层的数据奖励的比值,作为所述网关匹配设备层的组合奖励;
33、其中,所述数据奖励的确定方式包括:
34、以一个所述网关匹配设备层在和与其匹配的所述网关进行所述模型参数的交换过程中的平均训练损失与所述网关下所有所述网关匹配设备层的平均训练损失之比,作为所述网关匹配设备层的数据奖励;
35、其中,所述系统奖励的确定方式包括:
36、以一个所述网关匹配设备层在和与其匹配的所述网关进行所述模型参数的交换过程中的平均延迟与所述网关下所有所述网关匹配设备层的平均延迟之比,作为所述网关匹配设备层的系统奖励。
37、本发明第二方面公开了一种基于多层级的边缘设备分布式训练装置,所述装置应用于联邦学习系统中,所述联邦学习系统包括三个层级,所述三个层级依次包括由多个模型训练设备组成的设备层、由多个网关组成的网关层以及由中心服务器组成的主控层,其特征在于,所述装置包括:
38、匹配模块,用于将每个所述模型训练设备与一个所述网关匹配,使所述联邦学习系统中每个所述模型训练设备与其匹配的所述网关之间的关联指数之和最大,所述关联指数指一个所述模型训练设备与一个所述网关之间数据相似度及数据传输延迟度;
39、分层模块,用于将每个所述网关对应的所有匹配设备划分为多个网关匹配设备层,使所有所述网关匹配设备层之间的模块度符合预设的模块度划分条件;每个所述网关对应的所有所述匹配设备指所有与其匹配的所述模型训练设备;所述模块度划分条件指一个所述网关匹配设备层内的所有所述匹配设备间的数据交互效率差异小于预设的交互效率最大阈值,且不同网关匹配设备层间的所有所述匹配设备间的数据交互效率差异大于预设的交互效率最小阈值;
40、训练模块,用于在所述三个层级间交换所述模型参数,其中,每个所述网关匹配设备层内的所述匹配设备之间的所述模型参数的交换模式为同步模式,每个所述网关匹配设备层与其对应的所述网关间的所述模型参数的交换模式为异步模式,每个所述网关间的所述模型参数的交换模式为异步模式,每个所述网关与所述中心服务器间的所述模型参数的交换模式为异步模式;基于模型参数的交换,在所述三个层级执行联合模型训练,直到所述中心服务器训练的模型达到预设的收敛标准。
41、本发明第三方面公开了另一种基于多层级的边缘设备分布式训练装置,所述装置包括:
42、存储有可执行程序代码的存储器;
43、与所述存储器耦合的处理器;
44、所述处理器调用所述存储器中存储的所述可执行程序代码,执行本发明第一方面公开的基于多层级的边缘设备分布式训练方法。
45、本发明第四方面公开了一种计算机存储介质,所述计算机存储介质存储有计算机指令,所述计算机指令被调用时,用于执行本发明第一方面公开的基于多层级的边缘设备分布式训练方法。
46、与现有技术相比,本发明实施例具有以下有益效果:
47、本发明通过优化模型训练设备与网关的匹配、网关内的设备分层以及采用多层级的参数交换模式,显著降低了模型训练设备的异构性对模型参数在各个模型训练设备及中心服务器之间的交换的效率的影响,减少了训练延迟,进而提高模型分布式训练的效率。
1.一种基于多层级的边缘设备分布式训练方法,所述方法应用于联邦学习系统中,所述联邦学习系统包括三个层级,所述三个层级依次包括由多个模型训练设备组成的设备层、由多个网关组成的网关层以及由中心服务器组成的主控层,其特征在于,所述方法包括:
2.如权利要求1所述的基于多层级的边缘设备分布式训练方法,其特征在于,基于模型参数的交换,在所述三个层级执行联合模型训练,直到所述中心服务器训练的模型达到预设的收敛标准包括:基于模型参数的交换,在所述三个层级执行联合模型训练,在每轮模型训练时,以每个所述网关匹配设备层的训练负载,作为基于强化学习的多臂老虎机算法中的一个臂,使用上置信界限策略调整所述网关匹配设备层的训练负载,直到所述中心服务器训练的模型达到预设的收敛标准。
3.如权利要求1所述的基于多层级的边缘设备分布式训练方法,其特征在于,所述将每个所述模型训练设备与一个所述网关匹配,使所述联邦学习系统中每个所述模型训练设备与其匹配的所述网关之间的关联指数之和最大,包括:
4.如权利要求1所述的基于多层级的边缘设备分布式训练方法,其特征在于,所述关联指数的获取方式,包括:
5.如权利要求1所述的基于多层级的边缘设备分布式训练方法,其特征在于,所述将该网关对应的所有所述匹配设备划分为多个网关匹配设备层,使所有所述网关匹配设备层之间的模块度符合预设的模块度划分条件,包括:
6.如权利要求2所述的基于多层级的边缘设备分布式训练方法,其特征在于,所述上置信界限策略中的置信区间的上限为所述网关匹配设备层的组合奖励与预定义的探索因子的和;
7.如权利要求6所述的基于多层级的边缘设备分布式训练方法,其特征在于,所述组合奖励的确定方式包括:
8.一种基于多层级的边缘设备分布式训练装置,其特征在于,所述装置应用于联邦学习系统中,所述联邦学习系统包括三个层级,所述三个层级依次包括由多个模型训练设备组成的设备层、由多个网关组成的网关层以及由中心服务器组成的主控层,其特征在于,所述装置包括:
9.一种基于多层级的边缘设备分布式训练装置,其特征在于,所述装置包括:
10.一种计算机存储介质,其特征在于,所述计算机存储介质存储有计算机指令,所述计算机指令被调用时,用于执行如权利要求1-7任一项所述的基于多层级的边缘设备分布式训练方法。