CN117076132A - 分层联邦学习系统的资源分配及聚合优化方法及装置 - Google Patents
分层联邦学习系统的资源分配及聚合优化方法及装置 Download PDFInfo
- Publication number
- CN117076132A CN117076132A CN202311320639.3A CN202311320639A CN117076132A CN 117076132 A CN117076132 A CN 117076132A CN 202311320639 A CN202311320639 A CN 202311320639A CN 117076132 A CN117076132 A CN 117076132A
- Authority
- CN
- China
- Prior art keywords
- time
- terminal
- edge server
- aggregation
- edge
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 230000002776 aggregation Effects 0.000 title claims abstract description 280
- 238000004220 aggregation Methods 0.000 title claims abstract description 274
- 238000000034 method Methods 0.000 title claims abstract description 118
- 238000005457 optimization Methods 0.000 title claims abstract description 80
- 238000013468 resource allocation Methods 0.000 title claims abstract description 60
- 238000012549 training Methods 0.000 claims abstract description 150
- 238000004364 calculation method Methods 0.000 claims abstract description 95
- 230000005540 biological transmission Effects 0.000 claims abstract description 34
- 238000004891 communication Methods 0.000 claims description 58
- 238000012544 monitoring process Methods 0.000 claims description 20
- 238000012545 processing Methods 0.000 claims description 20
- 238000003912 environmental pollution Methods 0.000 claims description 16
- 230000007613 environmental effect Effects 0.000 claims description 12
- 238000013145 classification model Methods 0.000 claims description 10
- 238000004422 calculation algorithm Methods 0.000 claims description 7
- 238000009826 distribution Methods 0.000 claims description 7
- 238000004590 computer program Methods 0.000 claims description 6
- 230000002787 reinforcement Effects 0.000 claims description 6
- 238000012163 sequencing technique Methods 0.000 claims description 6
- 230000004931 aggregating effect Effects 0.000 claims 2
- 238000010801 machine learning Methods 0.000 abstract description 3
- 230000008569 process Effects 0.000 description 23
- 230000001360 synchronised effect Effects 0.000 description 17
- 230000006870 function Effects 0.000 description 12
- 230000007246 mechanism Effects 0.000 description 10
- 238000003860 storage Methods 0.000 description 9
- 239000002699 waste material Substances 0.000 description 8
- 230000008901 benefit Effects 0.000 description 7
- 238000005265 energy consumption Methods 0.000 description 6
- 238000013461 design Methods 0.000 description 4
- 238000004519 manufacturing process Methods 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 239000010410 layer Substances 0.000 description 3
- 230000007786 learning performance Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000011160 research Methods 0.000 description 3
- 238000007792 addition Methods 0.000 description 2
- 238000011217 control strategy Methods 0.000 description 2
- 230000008520 organization Effects 0.000 description 2
- 238000006116 polymerization reaction Methods 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 230000007704 transition Effects 0.000 description 2
- 230000002159 abnormal effect Effects 0.000 description 1
- 238000003915 air pollution Methods 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000001174 ascending effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 239000002360 explosive Substances 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 239000000575 pesticide Substances 0.000 description 1
- 230000005855 radiation Effects 0.000 description 1
- 239000002356 single layer Substances 0.000 description 1
- 238000003900 soil pollution Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000005477 standard model Effects 0.000 description 1
- 239000000126 substance Substances 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 description 1
- 238000003911 water pollution Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5061—Partitioning or combining of resources
- G06F9/5072—Grid computing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Artificial Intelligence (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Medical Informatics (AREA)
- Computing Systems (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本申请提供一种分层联邦学习系统的资源分配及聚合优化方法及装置,涉及机器学习领域,方法包括:根据分层联邦学习系统中的各个边缘服务器各自的域内训练时间及传输延时信息,确定当前迭代轮次的提交时间区间;将全局模型参数和提交时间区间发送至各个边缘服务器,以使各个边缘服务器分别为自身分组中的各个终端分配针对当前迭代轮次的全局模型参数的目标计算任务并同步聚合各个子模型参数,对提交时间区间内接收到的边缘聚合结果数据进行云聚合。本申请能够有效降低分层联邦学习系统的计算复杂度,尤其适用于物联网等大量终端构成的分层联邦学习系统的场景,还能够提高终端和边缘服务器的计算资源利用率,进而能够有效提高分层联邦学习的效率。
Description
技术领域
本申请涉及机器学习技术领域,尤其涉及分层联邦学习系统的资源分配及聚合优化方法及装置。
背景技术
分层联邦学习架构中的终端将本地模型更新传输给附近的边缘服务器,边缘服务器收到终端模型更新后执行边缘参数聚合,并将聚合后的模型发送给云服务器进行云聚合并更新全局模型。现有的联邦学习相关研究主要基于终端参数服务器架构,一些研究成果迁移至分层联邦学习架构中不再适用。在现有成果中,边缘聚合和云聚合往往均采用同步聚合机制,在进行边缘聚合和云聚合时边缘设备之间相互等待。在物联网环境中,不同边缘区域计算资源存在较大差异,同步聚合的模式影响全局模型参数聚合效率。同时,物联网设备资源具有高度异构性,主要体现在设备能力和数据分布两方面。一方面,物联网设备的通信和计算能力存在差异,导致训练慢的客户端拖慢整体的训练进度。另一方面,物联网设备采集频率、功能类别的差异,使得设备间数据的规模、分布具有较强异构性,导致本地模型的局部梯度下降方向趋向于局部最优而偏离全局最优,进而影响全局模型训练效果和收敛速度。
结合目前已有的研究,现有分层联邦学习方案存在着几个问题:1)分层联邦学习架构中存在异构性,此处的设备包括终端和边缘服务器,异构性导致设备之间的训练不同步,为边缘聚合和云聚合造成了困难,降低了联邦学习的效率;2)现有分层联邦学习方案中边缘聚合和云聚合均采用同步聚合方案,边缘设备之间相互等待,训练过程中存在设备闲置现象,极大浪费了边缘设备的计算资源;3)若利用统计信道状态信息以及物联网设备耗能情况制定物联网设备计算能力控制策略以及物联网设备关联策略来提高联邦学习效率,则会大幅增加整个分层联邦系统的计算复杂度,不适用于大量终端场景。
基于此,亟需设计一种能够同时提高分层联邦学习系统的学习效率、降低终端的计算资源浪费情况以及分层联邦系统的计算复杂度的针对分层联邦学习系统的优化方式。
发明内容
鉴于此,本申请实施例提供了分层联邦学习系统的资源分配及聚合优化方法及装置,以消除或改善现有技术中存在的一个或更多个缺陷。
本申请的一个方面提供了一种分层联邦学习系统的资源分配及聚合优化方法,包括:
根据自身所在的分层联邦学习系统中的各个边缘服务器各自的域内训练时间及传输延时信息,确定当前迭代轮次的提交时间区间;
将当前迭代轮次的全局模型参数和所述提交时间区间分别发送至各个所述边缘服务器,以使各个所述边缘服务器分别为自身对应的分组中的各个终端分配针对当前迭代轮次的全局模型参数的目标计算任务以使各个所述终端分别采用本地计算资源和同组内的其他终端的计算资源执行所述目标计算任务,并接收自身对应的分组中的全部的所述终端分别采用各自本地的训练数据对自身的所述目标计算任务对应的所述全局模型参数训练后得到的子模型参数,并将各个所述子模型参数进行同步聚合以得到对应的边缘聚合结果数据,若得到该分组模型参数的时间在所述提交时间区间内,则发出所述边缘聚合结果数据;其中,各个所述边缘服务器各自对应的分组中的终端是预先根据所述分层联邦学习系统中当前全部终端各自的计算资源信息对各个所述终端进行计算资源均衡处理后划分的;
接收各个所述边缘服务器发送的各自得到的边缘聚合结果数据,若当前时间超过所述提交时间区间,则对当前接收到的边缘聚合结果数据进行云聚合以得到下一迭代轮次的全局模型参数。
在本申请的一些实施例中,在所述根据自身所在的分层联邦学习系统中的各个边缘服务器各自的域内训练时间及传输延时信息,确定当前迭代轮次的提交时间区间之前,还包括:
接收自身所在的分层联邦学习系统中的各个所述边缘服务器转发的各个终端的计算资源信息,其中,所述计算资源信息预先由所述终端发送至其通信范围内的一边缘服务器;
根据各个所述终端的计算资源信息确定各个所述终端各自执行一次本地目标计算任务的单次任务时间,并以各个所述单次任务时间降序的顺序对各个所述终端进行排序;
在排序后的各个所述终端中依次择一作为目标终端,并针对每次选取的所述目标终端分别执行预设的计算资源均衡分组步骤,以将各个所述终端分别划分至所述分层联邦学习系统中的各个边缘服务器各自对应的分组中;
其中,所述计算资源均衡分组步骤包括:
若当前目标终端的通信范围内的各个所述边缘服务器对应的分组中存在空集合,则将该目标终端划分至一当前为空集合的分组中;
若当前目标终端的通信范围内的各个所述边缘服务器对应的分组中不存在空集合,则依次计算该目标终端分别加入其通信范围内的各个所述边缘服务器对应的分组后各自对应的计算资源优化目标值,并将所述目标终端划分至其中最小的计算资源优化目标值对应的分组中。
在本申请的一些实施例中,所述终端的计算资源信息包括:所述终端的数据量、计算能力、单个训练样本计算所需的CPU周期数和本地迭代的轮数;
相对应的, 所述依次计算该目标终端分别加入其通信范围内的各个所述边缘服务器对应的分组后各自对应的计算资源优化目标值,包括:
在所述目标终端的通信范围内的各个所述边缘服务器中依次择一作为目标边缘服务器,并针对每次选取的所述目标边缘服务器执行预设的计算资源优化目标计算步骤;
其中,所述计算资源优化目标计算步骤包括:
假设将所述目标终端加入当前的目标边缘服务器对应的分组中,根据当前的目标边缘服务器的分组中已划分的终端和所述目标终端各自对应的数据量,确定该目标边缘服务器的分组数据量,并基于该分组数据量以及其他边缘服务器的分组数据量确定各个所述边缘服务器完成一次边缘聚合所需的数据量均值;
以及,根据所述目标终端的单个训练样本计算所需的CPU周期数、本地迭代的轮数和计算能力,以及所述目标边缘服务器的分组数据量,确定所述目标边缘服务器完成一次域内训练的所需时间,并基于该目标边缘服务器完成一次域内训练的所需时间以及其他边缘服务器的完成一次域内训练的所需时间确定各个所述边缘服务器完成一次边缘聚合所需的用时均值;
根据所述目标边缘服务器的分组数据量、数据量均值、目标边缘服务器完成一次域内训练的所需时间以及各个所述边缘服务器完成一次边缘聚合所需的用时均值,基于贪心算法求解预设的计算资源优化目标以得到对应的计算资源优化目标值。
在本申请的一些实施例中,所述根据自身所在的分层联邦学习系统中的各个边缘服务器各自的域内训练时间及传输延时信息,确定当前迭代轮次的提交时间区间,包括:
本地存储自身所在的分层联邦学习系统中的各个边缘服务器各自的域内训练时间及传输延时信息,其中,所述边缘服务器的域内训练时间及传输延时信息包括:各个所述分组各自对应的完成一次域内训练用时、域外传输时延、历史迭代轮次接收到全局模型的时间以及已参与云聚合的次数,还包含有全部的所述完成一次域内训练用时中的最长用时和最短用时;
基于预设的时间长度权重、所述最长用时和最短用时,确定提交时间区间的长度;
若所述最长用时和最短用时之间的差值小于所述提交时间区间的长度,则将前一迭代轮次参与云聚合的各个所述边缘服务器作为待参与当前迭代轮次中云聚合的对象;
根据待参与当前迭代轮次中云聚合的各个所述分组各自对应的完成一次域内训练用时、域外传输时延、历史迭代轮次接收到全局模型的时间以及已参与云聚合的次数,分别构建各个所述分组各自对应的备选开始时间;
基于预设的时间评分规则对各个所述备选开始时间进行评分以得到各个所述备选开始时间的分数;
选择最大的分数对应的备选开始时间作为本次迭代轮次的提交时间区间的开始时间,并根据该开始时间和所述提交时间区间的长度确定本次迭代轮次的提交时间区间的结束时间。
在本申请的一些实施例中,所述基于预设的时间评分规则对各个所述备选开始时间进行评分以得到各个所述备选开始时间的分数,包括:
根据待参与当前迭代轮次中云聚合的各个所述分组的总数、每个所述备选开始时间对应的边缘服务器在历史迭代轮次接收到全局模型的时间,分别对各个所述备选开始时间进行评分以得到各个所述备选开始时间的分数。
在本申请的一些实施例中,各个所述边缘服务器分别为自身对应的分组中的各个终端分配针对当前迭代轮次的全局模型参数的目标计算任务,包括:
各个所述边缘服务器分别基于强化学习的方式,基于预设的计算任务卸载目标获取各自对应的分组中各个终端各自对应的目标计算任务,并为各自对应的分组中各个所述终端分配针对当前迭代轮次的全局模型参数的目标计算任务;其中,一个所述终端的目标计算任务包括该终端的本地计算任务和其他终端计算任务;
其中,所述目标计算任务卸载目标为:一边缘服务器对应的分组中各个终端各自完成本地目标计算任务的用时中的最大值与该边缘服务器更新上传边缘聚合结果数据的用时之和。
在本申请的一些实施例中,所述全局模型参数为用于进行环境监测的分类模型的模型参数;
所述训练数据包括:各个环境监测数据以及各个所述环境监测数据各自对应的环境污染类型标签;
其中,所述环境污染类型标签包括:用于表示非环境污染的标签、用于表示无法识别的标签以及分别用于表示不同的各个环境污染类型的标签。
本申请的另一个方面提供了一种分层联邦学习系统的资源分配及聚合优化装置,包括:
区间确定模块,用于根据自身所在的分层联邦学习系统中的各个边缘服务器各自的域内训练时间及传输延时信息,确定当前迭代轮次的提交时间区间;
数据分发模块,用于将当前迭代轮次的全局模型参数和所述提交时间区间分别发送至各个所述边缘服务器,以使各个所述边缘服务器分别为自身对应的分组中的各个终端分配针对当前迭代轮次的全局模型参数的目标计算任务以使各个所述终端分别采用本地计算资源和同组内的其他终端的计算资源执行所述目标计算任务,并接收自身对应的分组中的全部的所述终端分别采用各自本地的训练数据对自身的所述目标计算任务对应的所述全局模型参数训练后得到的子模型参数,并将各个所述子模型参数进行同步聚合以得到对应的边缘聚合结果数据,若得到该分组模型参数的时间在所述提交时间区间内,则发出所述边缘聚合结果数据;其中,各个所述边缘服务器各自对应的分组中的终端是预先根据所述分层联邦学习系统中当前全部终端各自的计算资源信息对各个所述终端进行计算资源均衡处理后划分的;
云聚合模块,用于接收各个所述边缘服务器发送的各自得到的边缘聚合结果数据,若当前时间超过所述提交时间区间,则对当前接收到的边缘聚合结果数据进行云聚合以得到下一迭代轮次的全局模型参数。
本申请的第三个方面提供了一种分层联邦学习系统,包括:分别与一云服务器通信连接的各个边缘服务器,且每个所述边缘服务器均与多个终端之间通信连接;
所述云服务器用于执行所述的分层联邦学习系统的资源分配及聚合优化方法。
本申请的第四个方面提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现所述的分层联邦学习系统的资源分配及聚合优化方法。
本申请的第五个方面提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现所述的分层联邦学习系统的资源分配及聚合优化方法。
本申请提供的分层联邦学习系统的资源分配及聚合优化方法,可以由云服务器执行,该云服务器首先根据自身所在的分层联邦学习系统中的各个边缘服务器各自的域内训练时间及传输延时信息,确定当前迭代轮次的提交时间区间,将当前迭代轮次的全局模型参数和所述提交时间区间分别发送至各个所述边缘服务器,以使各个所述边缘服务器分别为自身对应的分组中的各个终端分配针对当前迭代轮次的全局模型参数的目标计算任务以使各个所述终端分别采用本地计算资源和同组内的其他终端的计算资源执行所述目标计算任务,并接收自身对应的分组中的全部的所述终端分别采用各自本地的训练数据对自身的所述目标计算任务对应的所述全局模型参数训练后得到的子模型参数,并将各个所述子模型参数进行同步聚合以得到对应的边缘聚合结果数据,若得到该分组模型参数的时间在所述提交时间区间内,则发出所述边缘聚合结果数据;其中,各个所述边缘服务器各自对应的分组中的终端是预先根据所述分层联邦学习系统中当前全部终端各自的计算资源信息对各个所述终端进行计算资源均衡 处理后划分的;接收各个所述边缘服务器发送的各自得到的边缘聚合结果数据,若当前时间超过所述提交时间区间,则对当前接收到的边缘聚合结果数据进行云聚合以得到下一迭代轮次的全局模型参数。也就是说,本申请首先提出一种提交时间区间的概念,能够使得边缘服务器在基于同步聚合机制获取自身分组的边缘聚合结果数据之后,如果在提交时间区间内发给云服务器,则会参与当前轮次的边缘服务器的云聚合,其他不满足提交边缘服务器继续组织域内训练,进而实现边缘服务器的同步聚合机制和云服务器实现的云服务器异步聚合机制,能够有效避免边缘服务器之间相互等待,能够有效提高分层联邦训练的效率,且能够降低训练过程中的设备闲置现象,进而能够有效降低边缘服务器的计算资源浪费现象。其次,本申请还提出一种终端计算资源均衡的分组方式,云服务器根据自身所在的分层联邦学习系统中的各个终端各自的计算资源信息对各个所述终端进行计算资源均衡处理,以将各个所述终端分别划分至所述分层联邦学习系统中的各个边缘服务器各自对应的分组中,以均衡不同域内的计算资源为出发点,设计终端分组策略,将终端与边缘服务器关联,终端参与关联边缘服务器域内训练过程,能够进一步解决不同域内计算资源不均衡而导致的训练不同步的问题,进而降低终端的计算资源浪费现象。另外,本申请还提供由边缘服务器对组内的终端进行计算任务分配的方式,各个所述边缘服务器分别为自身对应的分组中的各个终端分配针对当前迭代轮次的全局模型参数的目标计算任务以使各个所述终端分别采用本地计算资源和同组内的其他终端的计算资源执行所述目标计算任务,使得终端可以利用同一分组内其他终端富余的计算资源完成计算任务,协调域内计算资源,能够进一步提高终端的资源的利用率,加速联邦学习训练过程。同时,本申请提供的分层联邦学习系统的资源分配及聚合优化方法,不需要对各个终端的信道状态信息和耗能情况进行实时统计,因此能够有效降低分层联邦学习系统的计算复杂度,尤其适用于物联网等大量终端构成的分层联邦学习系统的场景。
本申请的附加优点、目的,以及特征将在下面的描述中将部分地加以阐述,且将对于本领域普通技术人员在研究下文后部分地变得明显,或者可以根据本申请的实践而获知。本申请的目的和其它优点可以通过在说明书以及附图中具体指出的结构实现到并获得。
本领域技术人员将会理解的是,能够用本申请实现的目的和优点不限于以上具体所述,并且根据以下详细说明将更清楚地理解本申请能够实现的上述和其他目的。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,并不构成对本申请的限定。附图中的部件不是成比例绘制的,而只是为了示出本申请的原理。为了便于示出和描述本申请的一些部分,附图中对应部分可能被放大,即,相对于依据本申请实际制造的示例性装置中的其它部件可能变得更大。在附图中:
图1为本申请一实施例中的分层联邦学习系统的架构示意图。
图2为本申请一实施例中的分层联邦学习系统的资源分配及聚合优化方法的第一种流程示意图。
图3为本申请一实施例中的分层联邦学习系统的资源分配及聚合优化方法的第二种流程示意图。
图4为本申请一实施例中的计算资源均衡分组步骤的流程示意图。
图5为本申请一实施例中的计算资源优化目标计算步骤的流程示意图。
图6为本申请一实施例中的分层联邦学习系统的资源分配及聚合优化装置的结构示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚明白,下面结合实施方式和附图,对本申请做进一步详细说明。在此,本申请的示意性实施方式及其说明用于解释本申请,但并不作为对本申请的限定。
在此,还需要说明的是,为了避免因不必要的细节而模糊了本申请,在附图中仅仅示出了与根据本申请的方案密切相关的结构和/或处理步骤,而省略了与本申请关系不大的其他细节。
应该强调,术语“包括/包含”在本文使用时指特征、要素、步骤或组件的存在,但并不排除一个或更多个其它特征、要素、步骤或组件的存在或附加。
在此,还需要说明的是,如果没有特殊说明,术语“连接”在本文不仅可以指直接连接,也可以表示存在中间物的间接连接。
在下文中,将参考附图描述本申请的实施例。在附图中,相同的附图标记代表相同或类似的部件,或者相同或类似的步骤。
在本申请的一个或多个实施例中,所述终端尤其可以指物联网设备。当前,物联网智能设备数量正在呈现爆炸式增长。海量多样的感知设备持续生成物理世界的多源异构数据,将深度学习嵌入物联网环境,分析和处理海量的复杂物联网数据从而推导有价值的信息,可为用户提供智能化、个性化的物联网应用服务。然而,传统将数据上传到云中心进行分析处理的方式存在严重的隐私泄露问题。因此可以采用联邦学习架构,客户端利用本地的数据与计算资源训练本地模型,然后发送给参数服务器进行聚合获得全局模型,提升总体模型的质量。但这种联邦学习模型同步方法大多基于终端参数服务器架构,终端在本地执行本地训练并将模型参数更新上传至参数服务器,参数服务器执行聚合操作更新全局模型并下发至终端。终端参数服务器架构难以适应当前异构无线网络场景,同时存在单点通信负载过重、系统延展性差等问题。具体的,该架构存在以下缺点:1)参数服务器要与所有参与训练的终端通信,存在单点通信负载过重的问题;2)该架构的单层结构不适用于现实中复杂的网络架构,延展性不强,无法支撑大规模节点;3)参数服务器与终端间的无线链路有动态性和异构性,而不同终端的计算性能有差异,在严格模型同步的方法下,快节点需要等待慢节点完成本地训练和模型传输,才能进行下一轮训练,这严重拖慢了联邦学习的训练进度,造成大量的资源浪费。
为解决终端参数服务器架构面临的上述问题,研究人员提出引入边缘参数聚合的分层联邦学习架构,该架构中终端将本地模型更新传输给附近的边缘服务器,边缘服务器收到终端模型更新后执行边缘参数聚合,并将聚合后的模型发送给云服务器进行云聚合并更新全局模型。分层联邦学习架构提高了联邦学习系统的拓展性,丰富了参与训练的数据。引入边缘参数聚合避免了频繁的云聚合,提高了联邦学习性能。在分层联邦学习架构中,相较于终端,边缘服务器和云服务器有着更加强大的计算能力和通信资源。在该架构中,终端与边缘服务器,边缘服务器与云服务器均可进行通信。终端与边缘服务器之间的距离和通信时延往往显著小于边缘服务器与云服务器之间的距离和通信时延,同时,边缘服务器与云服务器的通信往往更加不可预测。
目前,现有的针对分层联邦学习系统的优化方式主要有以下几种:
1)一种物联网设备能耗自适应控制的分层联邦学习方法,考虑到现有分层联邦学习框架大多只考虑了将边缘服务器部署到传统的联邦学习框架中,并没有同时考虑物联网设备能耗受限,训练时延较长,训练性能下降等问题,该方法在多个物联网设备和云服务器之间部署边缘服务器搭建分层联邦学习系统,云服务器利用统计信道状态信息以及物联网设备耗能情况制定物联网设备计算能力控制策略以及物联网设备关联策略,物联网设备,边缘服务器,云服务器协作完成模型训练。在满足物联网设备长期能耗约束的前提下,以较低的训练时延达到给定的训练损失。
2)一种高效通信的分层联邦学习框架及其优化方法和系统,该框架包括:一个云聚合器、多个边缘聚合器和多个分布式计算节点;在每轮云聚合迭代中,边缘聚合器首先从云聚合器下载全局学习模型,每个分布式计算节点从其关联的边缘聚合器下载全局学习模型,训练模型更新上传到关联的边缘聚合器,边缘聚合器聚合接收模型更新并聚合发送回关联的计算节点,经过多次边缘聚合迭代后,将边缘模型更新上传到云聚合器,云聚合器将多个边缘模型聚合后得到全局模型更新发送回所有的边缘聚合器,重复边缘聚合以及云聚合迭代,直至全局模型达到目标精度。将计算节点与边缘聚合器之间以及边缘聚合器与云聚合器之间在整个分布式学习期间的总通信开销最小作为分层联邦学习框架的优化目标,定义为通信开销最小化问题并求解。该发明提高学习性能的同时,可降低系统的通信开销。
3)一种边缘聚合间隔自适应控制的分层联邦学习方法,搭建以边缘设备,边缘服务器,云服务器为主要元素的分层联邦学习系统,在每个训练周期的起始阶段,云服务器根据当前的训练情况,优化边缘聚合间隔以及当前周期的训练时延预算。在训练过程中,边缘设备训练本地模型,并且根据边缘聚合间隔将本地模型发送到边缘服务器进行边缘聚合从而生成边缘模型,在每个周期的结束阶段,边缘服务器将边缘模型上传到云服务器进行全局聚合从而生成全局模型。该发明能够自适应地调整边缘聚合的间隔,在学习性能和训练时延中取得平衡。
上述技术方案1)、2)和3)分别提出了不同的分层联邦学习方法。然而,技术方案1)中使用物联网设备关联算法将物联网设备关联到对应的边缘服务器,该算法复杂度过高,不适用于大量终端场景;技术方案2)中,为了实现通信开销最小化,导致部分终端与边缘服务器无法参与联邦学习造成数据资源的浪费。同时,技术方案1)、2)和3)在进行边缘聚合和云聚合时均采用同步聚合机制,造成了终端,边缘服务器之间的相互等待,降低了联邦学习的效率。这些方案同时缺少对计算资源的合理分配策略,在没有计算任务时终端或者边缘服务器的计算资源处于空闲状态,造成了计算资源的浪费。
基于此,为了同时提高分层联邦学习系统的学习效率、降低终端的计算资源浪费情况以及分层联邦系统的计算复杂度,本申请实施例提出一种基于计算资源协调的半异步分层联邦学习方式,具体为一种分层联邦学习系统的资源分配及聚合优化方法,以在降低计算复杂度的基础上,能够有效提高联邦训练效率和终端以及边缘服务器的计算资源利用率。
具体来说,本申请的目的是对分层联邦学习方法进行优化,具体描述如下所述:
(1)设计半异步分层联邦学习架构,综合考虑端、边、云资源特征,设计聚合策略。边缘聚合基于同步聚合机制,云聚合基于异步聚合机制,提出提交时间区间概念,满足提交条件的边缘服务器参与云聚合,其他边缘服务器继续组织域内训练提高联邦学习效率。
(2)终端的通信范围内往往存在多个边缘服务器,以均衡不同域内的计算资源为出发点,设计终端分组策略,将终端与边缘服务器关联,终端参与关联边缘服务器域内训练过程,缓解了不同域内计算资源不均衡导致的训练不同步。
(3)设计域内协同训练方法,终端可以利用同一分组内其他终端富余的计算资源完成计算任务,协调域内计算资源。求解最佳域内联邦学习协同训练策略,从而提高物联网设备资源的利用率,加速联邦学习训练过程。
参见图1,本申请实施例首先提供一种分层联邦学习系统,具体包含有:分别与一云服务器通信连接的各个边缘服务器,且每个所述边缘服务器均与多个终端之间通信连接;所述云服务器用于执行前述实施例的分层联邦学习系统的资源分配及聚合优化方法。
本申请首先提供一种针对分层联邦学习系统的资源分配及聚合优化方法的具体应用实例,也可以称为基于计算资源协调的半异步分层联邦学习方法。本申请应用实例中的分层联邦学习系统架构由云服务器、边缘服务器和海量异构物联网终端组成。边缘服务器和云服务器分别充当边缘聚合中心和云聚合中心的角色。云服务器提供巨量的计算能力,从边缘服务器接收数量流,负责对边缘服务器上传的边缘聚合结果进行云聚合,更新全局模型并向边缘服务器返回执行结果。同时云服务器是整个系统的控制器和调度器。边缘服务器负责异构物联网设备模型参数的边缘聚合,接收、处理和转发来自终端的参数,接收云服务器的处理结果,边缘服务器还作为控制器和调度器进行域内终端管理,任务调度等。异构物联网设备具备少量的计算资源和通信资源,收集用户数据将其存储在本地,用于模型的训练。异构物联网设备通过无线网络与边缘服务器互联互通。
考虑一个分类问题,分类集合为/>。联邦学习系统中存在/>个终端,终端集合表示为/>,终端/>维护自己的本地数据集合/>,终端/>本地数据集合的数据量表示为/>,所有终端的总数据量表示为/>。系统中存在/>个边缘服务器,边缘服务器集合表示为/>。系统中的终端根据一些原则被划分为多个分组,每个边缘服务器是一个分组的边缘聚合中心,分组的终端集合表示为,满足/>,且/>,/>是终端集合/>所属分组的边缘服务器。终端/>与边缘服务器/>的关联关系用/>表示,具体的,如果/>,表示/>是/>所属分组的边缘聚合中心,否则/>。
在联邦学习的过程中,边缘服务器接受分组/>中终端的本地更新结果,执行边缘聚合操作得到边缘聚合结果,将终端/>完成本地训练后的模型表示为/>,边缘服务器/>处聚合得到的边缘聚合模型表示为/>。当满足上传条件时,边缘服务器将边缘聚合模型上传至云服务器,云服务器在适当的时机执行云聚合操作,得到全局模型/>。在云聚合执行后,参与云聚合的边缘服务器会接收由云服务器下发的更新后的全局模型,之后,边缘服务器将新的全局模型下发至分组内的终端,终端更新本地模型。
于此,本申请应用实例提供的基于计算资源协调的半异步分层联邦学习方法的执行步骤如下:
步骤1:边缘服务器和终端向云服务器通知自己的算力,数据量,带宽等信息,云服务器以均衡计算资源为原则对终端进行分组,每个分组分配一个边缘服务器,将终端与所属分组的边缘服务器关联。
步骤2:云服务器初始化全局模型参数。
步骤3:云服务器确定本轮云聚合的提交时间区间,将提交时间区间通知所有边缘服务器,将全局模型下发至参与上一次云聚合的边缘服务器(第一次下发时将下发至所有边缘服务器)。
步骤4:接收全局模型的边缘服务器在下发全局模型前检查域内终端的工作状态,综合考虑域内终端的算力,数据量等信息,协调域内终端计算资源,制定任务卸载策略,并将任务卸载策略和全局模型下发至域内终端,开始域内训练。
步骤5:终端根据任务卸载策略进行任务卸载并执行本地计算任务。
步骤6:终端在执行完本地训练任务后将模型参数更新上传至边缘服务器。
步骤7:边缘服务器接收到域内终端上传的模型参数更新后,执行边缘聚合,边缘聚合完成。若完成边缘聚合的时刻在提交时间区间内,将边缘聚合结果上传至云服务器,停止域内训练,否则继续域内训练。
步骤8:在本轮提交时间区间截止后,云服务器基于接收到的边缘聚合结果进行云聚合,更新全局模型,并测试全局模型精度。
步骤9:重复步骤3-步骤8直至全局模型收敛或达到最大训练轮次。
具体通过下述实施例进行详细说明。
本申请实施例提供一种可由分层联邦学习系统的资源分配及聚合优化装置实现的分层联邦学习系统的资源分配及聚合优化方法,参见图2,所述分层联邦学习系统的资源分配及聚合优化方法具体包含有如下内容:
步骤100:根据自身所在的分层联邦学习系统中的各个边缘服务器各自的域内训练时间及传输延时信息,确定当前迭代轮次的提交时间区间。
可以理解的是,提交时间区间由一个开始时间和一个结束时间组成,每一次云聚合均对应一个提交时间区间。
步骤200:将当前迭代轮次的全局模型参数和所述提交时间区间分别发送至各个所述边缘服务器,以使各个所述边缘服务器分别为自身对应的分组中的各个终端分配针对当前迭代轮次的全局模型参数的目标计算任务以使各个所述终端分别采用本地计算资源和同组内的其他终端的计算资源执行所述目标计算任务,并接收自身对应的分组中的全部的所述终端分别采用各自本地的训练数据对自身的所述目标计算任务对应的所述全局模型参数训练后得到的子模型参数,并将各个所述子模型参数进行同步聚合以得到对应的边缘聚合结果数据,若得到该分组模型参数的时间在所述提交时间区间内,则发出所述边缘聚合结果数据;其中,各个所述边缘服务器各自对应的分组中的终端是预先根据所述分层联邦学习系统中当前全部终端各自的计算资源信息对各个所述终端进行计算资源均衡处理后划分的。
在步骤200中,各个所述终端分别采用本地计算资源和同组内的其他终端的计算资源执行所述目标计算任务是指:对边缘服务器及其所属分组的终端集合,分组内的终端可以互相协作,计算能力弱的终端可以选择附近计算能力强或空闲的终端可以作为协作设备进行计算任务卸载。因为边缘聚合采用同步聚合策略,需要等待域内所有终端完成本地的计算任务,计算任务卸载能够加快域内训练的整体进度,充分利用空闲的计算资源。也即是说,目标计算任务不但包含有一个终端本地的计算任务,还包含有其他终端的计算任务,因此,当一个终端收到其目标计算任务时,会用本地的计算资源来处理该目标计算任务中的本地的计算任务,用该目标计算任务指定的其他终端来执行该目标计算任务中的其他终端的计算任务。
步骤300:接收各个所述边缘服务器发送的各自得到的边缘聚合结果数据,若当前时间超过所述提交时间区间,则对当前接收到的边缘聚合结果数据进行云聚合以得到下一迭代轮次的全局模型参数。
以环境监测场景为例,物联网赋能污染控制实时监控解决方案能够实现实时监控,自动告警,使生产过程更加安全环保。物联网终端部署在化工、轻工、火力发电厂等企业单位,实时获取设备运行状况,水质,空气污染指标等数据,使用机器学习模型根据获取的数据执行推理任务,检测感知排放超标,设备故障等生产环节中出现的异常情况,针对性采取停止生产过程等措施规范生产流程和及时止损。
因此,在本申请的一种举例中,所述全局模型参数可以为用于进行环境监测的分类模型的模型参数;所述训练数据包括:各个环境监测数据以及各个所述环境监测数据各自对应的环境污染类型标签;其中,所述环境污染类型标签包括:用于表示非环境污染的标签、用于表示无法识别的标签以及分别用于表示不同的各个环境污染类型的标签。基于此,在采用本申请提供的分层联邦学习系统的资源分配及聚合优化方法训练后的最终轮次云聚合得到的全局模型参数,用于作为进行环境监测的分类模型,该分类模型可以采用KNN模型等。具体应用时,所述终端接收目标环境监测文本数据,将该目标环境监测文本数据输入存储在本地的所述用于作为进行环境监测的分类模型,以使该用于作为进行环境监测的分类模型对应输出所述目标环境监测文本数据对应的环境污染分类结果。其中,所述分类模型可以由云服务器预先分发至各个边缘服务器,再由边缘服务器分发至其分组中的各个所述终端。所述环境污染分类结果可以为:非环境污染识别结果、无法识别结果以及不同的各个环境污染类型中的任一项。不同的各个所述环境污染类型可以包含有:大气污染、水体污染、土壤污染、噪声污染、农药污染、辐射污染和热污染等。基于此,采用本申请实施例提供的分层联邦学习系统的资源分配及聚合优化方法,能够有效提高用于进行环境监测的分类模型的训练效率及可靠性,能够进一步提高边缘服务器和终端的资源利用率,能够进而能够有效提高应该该分类模型进行环境监测的有效性及可靠性。
从上述描述可知,本申请实施例提供的分层联邦学习系统的资源分配及聚合优化方法,首先提出一种提交时间区间的概念,能够使得边缘服务器在基于同步聚合机制获取自身分组的边缘聚合结果数据之后,如果在提交时间区间内发给云服务器,则会参与当前轮次的边缘服务器的云聚合,其他不满足提交边缘服务器继续组织域内训练,进而实现边缘服务器的同步聚合机制和云服务器实现的云服务器异步聚合机制,能够有效避免边缘服务器之间相互等待,能够有效提高分层联邦训练的效率,且能够降低训练过程中的设备闲置现象,进而能够有效降低边缘服务器的计算资源浪费现象。
其次,本申请还提出一种终端计算资源均衡的分组方式,云服务器根据自身所在的分层联邦学习系统中的各个终端各自的计算资源信息对各个所述终端进行计算资源均衡处理,以将各个所述终端分别划分至所述分层联邦学习系统中的各个边缘服务器各自对应的分组中,以均衡不同域内的计算资源为出发点,设计终端分组策略,将终端与边缘服务器关联,终端参与关联边缘服务器域内训练过程,能够进一步解决不同域内计算资源不均衡而导致的训练不同步的问题,进而降低终端的计算资源浪费现象。
另外,本申请还提供由边缘服务器对组内的终端进行计算任务分配的方式,各个所述边缘服务器分别为自身对应的分组中的各个终端分配针对当前迭代轮次的全局模型参数的目标计算任务以使各个所述终端分别采用本地计算资源和同组内的其他终端的计算资源执行所述目标计算任务,使得终端可以利用同一分组内其他终端富余的计算资源完成计算任务,协调域内计算资源,能够进一步提高终端的资源的利用率,加速联邦学习训练过程。
在上述实施例的基础上,本申请提供的分层联邦学习系统的资源分配及聚合优化方法,不需要对各个终端的信道状态信息和耗能情况进行实时统计,因此能够有效降低分层联邦学习系统的计算复杂度,尤其适用于物联网等大量终端构成的分层联邦学习系统的场景。
为了缓解计算资源分配不均导致的训练不同步,本申请设计了一种以均衡计算资源为出发点的分组策略对终端进行分组。在本申请提出的架构中,边缘节点被划分为多个分组,每个分组内包含若干个终端和一个边缘服务器。设置一个云聚合中心,即云服务器。每个分组都设置一个边缘聚合中心,即分组内的边缘服务器。该架构中包含两层模型聚合。第一层是边缘聚合,边缘服务器将其分组内终端的计算任务执行结果聚合。第二层是云聚合,云服务器对边缘服务器上传的边缘聚合结果进行二次聚合。与终端参数服务器架构相比,该架构将中央服务器上的通信消耗分散到多个边缘服务器上,实现了更好的可拓展性。
终端设备的通信范围内往往存在多个边缘服务器,终端与边缘服务器的关联关系确定后只与该边缘服务器进行通信,制定合理的分组策略能够提升联邦学习的整体效率。在申请中,边缘聚合使用同步聚合策略,云聚合使用异步聚合策略。异步聚合策略可以避免同步聚合中广泛存在的滞后问题,缓解了设备之间的相互等待现象,但与此同时,异步聚合方案中存在的陈旧性问题会降低模型效用。具体来说,如果不同分组完成一次域内训练的时间存在较大差异,一些边缘服务器上传的更新可能基于过期的模型,这些陈旧的跟新可能损坏模型的训练过程。
陈旧性是由于终端训练过程的不同步导致的。为了缓解不同分组训练不同步导致的云聚合时存在的陈旧性问题,本申请综合考虑边缘设备的数据量与计算资源,从均衡计算资源的角度出发对终端进行分组。在进行终端分组时,如果各分组的计算任务和计算资源不匹配,会导致各分组完成一次域内训练用时差异大,当经历多轮的域内训练和边缘聚合后,这种差异会累加,域内训练用时决定了边缘服务器参与云聚合的频率,当边缘服务器多次错过云聚合,会导致严重的陈旧性问题。本申请中提出方案的核心思想是让不同分组完成一次域内训练用时尽量接近。因此需要根据终端设备的计算能力,终端设备的数据量将终端设备划归到合适的分组,由于执行分组操作需要获取所有终端设备的信息,分组操作由系统的整体管理者云服务器执行。
基于此,为了进一步提高分层联邦学习系统的资源分配的有效性及有效性,在本申请实施例提供的一种分层联邦学习系统的资源分配及聚合优化方法中,参见图3,所述分层联邦学习系统的资源分配及聚合优化方法的步骤100之前还具体包含有如下内容:
步骤010:接收自身所在的分层联邦学习系统中的各个所述边缘服务器转发的各个终端的计算资源信息,其中,所述计算资源信息预先由所述终端发送至其通信范围内的一边缘服务器;
步骤020:根据各个所述终端的计算资源信息确定各个所述终端各自执行一次本地目标计算任务的单次任务时间,并以各个所述单次任务时间降序的顺序对各个所述终端进行排序;
步骤030:在排序后的各个所述终端中依次择一作为目标终端,并针对每次选取的所述目标终端分别执行预设的计算资源均衡分组步骤,以将各个所述终端分别划分至所述分层联邦学习系统中的各个边缘服务器各自对应的分组中。
其中,参见图4,所述计算资源均衡分组步骤包括:
步骤01:若当前目标终端的通信范围内的各个所述边缘服务器对应的分组中存在空集合,则将该目标终端划分至一当前为空集合的分组中;
步骤02:若当前目标终端的通信范围内的各个所述边缘服务器对应的分组中不存在空集合,则依次计算该目标终端分别加入其通信范围内的各个所述边缘服务器对应的分组后各自对应的计算资源优化目标值,并将所述目标终端划分至其中最小的计算资源优化目标值对应的分组中。
为了进一步提高分层联邦学习系统的计算资源优化的有效性及有效性,在本申请实施例提供的一种分层联邦学习系统的资源分配及聚合优化方法中,所述终端的计算资源信息包括:所述终端的数据量、计算能力/>、单个训练样本计算所需的CPU周期数/>和本地迭代的轮数/>。
相对应的,所述计算资源均衡分组步骤中的依次计算该目标终端分别加入其通信范围内的各个所述边缘服务器对应的分组后各自对应的计算资源优化目标值的具体执行过程包含有如下内容:
在所述目标终端的通信范围内的各个所述边缘服务器中依次择一作为目标边缘服务器,并针对每次选取的所述目标边缘服务器执行预设的计算资源优化目标计算步骤。
其中,参见图5,所述计算资源优化目标计算步骤包括:
步骤03:假设将所述目标终端加入当前的目标边缘服务器对应的分组中,根据当前的目标边缘服务器的分组中已划分的终端和所述目标终端各自对应的数据量,确定该目标边缘服务器的分组数据量,并基于该分组数据量以及其他边缘服务器的分组数据量确定各个所述边缘服务器完成一次边缘聚合所需的数据量均值。
以及,步骤04:根据所述目标终端的单个训练样本计算所需的CPU周期数、本地迭代的轮数和计算能力,以及所述目标边缘服务器的分组数据量,确定所述目标边缘服务器完成一次域内训练的所需时间,并基于该目标边缘服务器完成一次域内训练的所需时间以及其他边缘服务器的完成一次域内训练的所需时间确定各个所述边缘服务器完成一次边缘聚合所需的用时均值;
步骤05:根据所述目标边缘服务器的分组数据量、数据量均值、目标边缘服务器完成一次域内训练的所需时间以及各个所述边缘服务器完成一次边缘聚合所需的用时均值,基于贪心算法求解预设的计算资源优化目标以得到对应的计算资源优化目标值。
在上述步骤03至步骤05中,云服务器根据当前的目标边缘服务器的分组中已划分的终端和所述目标终端各自对应的数据量,确定该目标边缘服务器的分组数据量,并基于该分组数据量/>以及其他边缘服务器的分组数据量确定各个所述边缘服务器完成一次边缘聚合所需的数据量均值/>;以及,根据所述目标终端的单个训练样本计算所需的CPU周期数/>、本地迭代的轮数/>和计算能力/>,以及所述目标边缘服务器的分组数据量/>,确定所述目标边缘服务器完成一次域内训练的所需时间/>,并基于该目标边缘服务器完成一次域内训练的所需时间/>以及其他边缘服务器的完成一次域内训练的所需时间确定各个所述边缘服务器完成一次边缘聚合所需的用时均值/>;根据所述目标边缘服务器的分组数据量/>、数据量均值/>、目标边缘服务器完成一次域内训练的所需时间以及各个所述边缘服务器完成一次边缘聚合所需的用时均值/>,基于贪心算法求解预设的计算资源优化目标以得到对应的计算资源优化目标值。
具体来说,分组操作的整体流程如下。各终端向任一通信范围内的边缘服务器通报其数据量和计算能力等信息。边缘服务器将接收到的终端信息上传至云端服务器。云端服务器在获取到所有终端的信息后,将终端划归其通信范围内的一个边缘服务器所属的分组,此后,该终端将参与其所属分组的域内训练。
终端的计算能力集合表示为,/>表示终端/>的计算能力(即:CPU频率)。终端可以与通信半径内的边缘服务器建立连接进行通信,每个终端维护自己通信半径内的边缘服务器集合/>,终端只能加入通信范围内边缘服务器所属分组。分组完成后边缘服务器/>所属分组内的终端设备集合为/>。
定义边缘服务器所属分组数据量为:
不考虑传输时延,可以通过下式简单的估计所属分组完成一次域内训练所用时间:
其中表示单个样本计算所需的CPU周期数,/>表示本地迭代的轮数。本申请中分组内部执行联邦训练时可以通过任务卸载来利用空闲的计算资源,将可利用的计算资源定义为分组内终端计算资源总和。
各分组完成一次边缘聚合用时的均值和数据量均值分别为:
/>
通过方差描述各分组之间完成一次域内训练用时和数据量的差异,衡量分组的合理程度。当分组之间完成一次域内训练用时差异较大时会导致训练的不同步,另一方面,分组数据量差异较大会导致云聚合时数据量较大的分组占据主导地位。分组的目标是保证各分组之间完成一次域内训练用时和数据量尽可能接近。问题形式化描述如下:
其中表示权重参数。
使用贪心算法对上述问题进行求解,该算法在云端执行。具体的,云端维护个集合,所有集合初始化为空,每个集合对应一个边缘服务器所属分组的终端集合。首先,将所有终端按照其执行一次本地数据计算任务用时/>进行降序排列。之后,遍历排序后的终端,对终端/>,如果云端维护的分组终端集合中存在为空的集合,将该终端分配到一个空的集合中,否则,遍历该终端的通信半径内的边缘服务器集合/>,依次尝试将该终端分配至当前边缘服务器所属分组并计算优化目标,选择使优化目标最小的分组分配。完成遍历后,所有终端被划分到分组终端集合当中,分组结果确定。
边缘聚合实现了分组内终端的数据共享,为了实现不同分组终端之间的数据共享,在云服务器处执行云聚合。虽然在进行分组时均衡了各分组的计算资源并通过任务卸载协调了统一分组内终端的计算资源,但由于分组内终端设备之间,终端设备与边缘服务器之间存在通信时延,依然难以保证各分组训练的同步。同时,各边缘服务器与云服务器的通信时延差异亦不可忽略。因此,在设计云聚合方案时基于异步聚合的思想,缓解边缘服务器之间的相互等待。具体的,本申请中定义了提交时间区间的概念,提交时间区间由一个开始时间和一个结束时间,每一次云聚合均对应一个提交时间区间。在一次云聚合结束后,云服务器会计算新的提交时间区间并广播至所有边缘服务器,提交时间区间是边缘服务器执行模型参数上传操作的参考。在边缘服务器执行完成一次边缘聚合后,如果当前时刻处在提交时间区间内,则边缘服务器会将边缘聚合结果上传至云服务器并停止域内训练,等待云聚合结果,云端服务器在接收边缘服务器提交的模型更新后执行云聚合。未执行上传操作的边缘服务器继续组织域内训练以避免计算资源的闲置。云聚合面临陈旧性问题,这是因为部分边缘服务器可能错过多个提交时间区间都未上传边缘聚合结果,导致域内的参数更新基于过期的全局模型,此时,如果这些边缘服务器将边缘聚合结果上传至云服务器参与云聚合,会损坏全局模型的聚合。
为了缓解云聚合面临的陈旧性问题,需要合理设置提交时间区间。在设置提交时间区间时,如果提交时间区间的长度过短,基于提交时间区间的云聚合会变成异步聚合,这会放大陈旧性问题,而如果提交时间区间设置的过长,云聚合会变成同步聚合,造成边缘服务器之间相互等待,降低联邦学习过程的效率与资源利用率。同时,合理设置提交时间区间的开始时间也非常重要,设置提交时间区间时应将尽量多的边缘服务器纳入云聚合过程。
基于此,为了进一步提高分层联邦学习系统的聚合优化的有效性及适用广泛性,在本申请实施例提供的一种分层联邦学习系统的资源分配及聚合优化方法中,参见图3,所述分层联邦学习系统的资源分配及聚合优化方法的步骤100具体包含有如下内容:
步骤110:本地存储自身所在的分层联邦学习系统中的各个边缘服务器各自的域内训练时间及传输延时信息,其中,所述边缘服务器的域内训练时间及传输延时信息包括:各个所述分组各自对应的完成一次域内训练用时、域外传输时延、历史迭代轮次接收到全局模型的时间以及已参与云聚合的次数,还包含有全部的所述完成一次域内训练用时中的最长用时和最短用时。
步骤120:基于预设的时间长度权重、所述最长用时和最短用时,确定提交时间区间的长度。
步骤130:若所述最长用时和最短用时之间的差值小于所述提交时间区间的长度,则将前一迭代轮次参与云聚合的各个所述边缘服务器作为待参与当前迭代轮次中云聚合的对象。
步骤140:根据待参与当前迭代轮次中云聚合的各个所述分组各自对应的完成一次域内训练用时、域外传输时延、历史迭代轮次接收到全局模型的时间以及已参与云聚合的次数,分别构建各个所述分组各自对应的备选开始时间。
步骤150:基于预设的时间评分规则对各个所述备选开始时间进行评分以得到各个所述备选开始时间的分数。
步骤160:选择最大的分数对应的备选开始时间作为本次迭代轮次的提交时间区间的开始时间,并根据该开始时间和所述提交时间区间的长度确定本次迭代轮次的提交时间区间的结束时间。
在步骤110至步骤160中,云服务器本地存储自身所在的分层联邦学习系统中的各个边缘服务器各自的域内训练时间及传输延时信息,其中,所述边缘服务器的域内训练时间及传输延时信息包括:各个所述分组各自对应的完成一次域内训练用时、域外传输时延/>、历史迭代轮次接收到全局模型的时间/>以及已参与云聚合的次数/>,还包含有全部的所述完成一次域内训练用时中的最长用时/>和最短用时/>;基于预设的时间长度权重/>、所述最长用时/>和最短用时/>,确定提交时间区间的长度;若所述最长用时/>和最短用时/>之间的差值小于所述提交时间区间的长度,则将前一迭代轮次参与云聚合的各个所述边缘服务器作为待参与当前迭代轮次中云聚合的对象;根据待参与当前迭代轮次中云聚合的各个所述分组各自对应的完成一次域内训练用时/>、域外传输时延/>、历史迭代轮次接收到全局模型的时间/>以及已参与云聚合的次数/>,分别构建各个所述分组各自对应的备选开始时间/>;基于预设的时间评分规则对各个所述备选开始时间/>进行评分以得到各个所述备选开始时间/>的分数/>;选择最大的分数对应的备选开始时间作为本次迭代轮次的提交时间区间的开始时间,并根据该开始时间和所述提交时间区间的长度确定本次迭代轮次的提交时间区间的结束时间。
其中,为了进一步提高对各个所述备选开始时间进行评分的有效性及可靠性,在本申请实施例提供的一种分层联邦学习系统的资源分配及聚合优化方法中,所述分层联邦学习系统的资源分配及聚合优化方法的步骤150具体包含有如下内容:
根据待参与当前迭代轮次中云聚合的各个所述分组的总数、每个所述备选开始时间/>对应的边缘服务器在历史迭代轮次接收到全局模型的时间/>,分别对各个所述备选开始时间/>进行评分以得到各个所述备选开始时间/>的分数/>。
举例来说,云服务器使用如下的方法决定提交时间区间。因为进行了计算资源的协调,不同分组完成一次域内训练用时仅会有较小的差异。云端维护所有分组完成一次域内训练用时的集合,所有边缘服务器和云服务器的传输时延集合,定义所有分组完成一次域内训练的最长用时和最短用时分别为和/>,分组完成一次域内训练用时和边缘服务器上传时延需要及时同步至云服务器以便于云服务器决定提交时间区间。云端同时维护所有边缘服务器全局模型更新信息集合/>,其中/>表示边缘服务器上一次接收云端下发全局模型的时间,/>表示边缘服务器已参与云聚合的次数。从第一轮云聚合开始,每次云聚合执行完成后,云端更新参与此次云聚合边缘服务器的全局模型更新信息。
设置提交时间区间的长度为,时间长度权重/>决定提交时间区间的长度,如果所有边缘服务器完成一轮域内训练用时非常接近,即/>和/>的差值小于提交时间区间长度,那么所有边缘服务器将参与每次云聚合。在计算提交时间区间开始时间时,云端首先创建一个备选时间集合/> ,集合中的元素是各边缘服务器上一次接收全局模型的时间加上若干次域内训练用时和与云服务器的传输时延,集合中的元素需满足和上一轮提交时间区间结束时间的间隔不低于/>,这将杜绝频繁的云聚合,集合中的元素按升序排列。最终选择/>中的一个元素作为提交时间区间的开始时间。
在选择提交时间区间开始时间时,云服务器遍历,为每一个备选时间节点/>计算一个评分/>。选择评分最高的时间节点作为提交时间区间的开始时间。
在设置评分标准时,应鼓励将更多的边缘服务器纳入云聚合过程,同时,将陈旧性较高的边缘服务器纳入提交时间区间是不被鼓励的。为了防止边缘服务器因错过多次提交时间区间而导致陈旧性过大,当与当前云聚合轮次差过大时,强制边缘服务器/>同步全局模型并下发至关联的终端。
在计算边缘服务器对应时间节点/>评分时,以时间节点/>作为提交时间区间开始时间,此时提交时间区间的结束时间是确定的。令被纳入提交时间区间的边缘服务器集合为/>,则当前时间节点/>的评分/>为:
其中表示在提交时间区间内边缘服务器的数量,/>表示当前开始时间和边缘服务器/>上一次接收全局模型的时间间隔,当时间间隔较大时,表示该边缘服务器关联的终端进行本地更新时基于的模型较为陈旧,将此边缘服务器纳入云聚合评分收益较低。
当完成对中所有元素的评分后,取评分最高的时间节点作为下一个提交时间区间的开始时间。
为了进一步提高分层联邦学习系统的资源分配及聚合优化的有效性及可靠性,在本申请实施例提供的一种分层联邦学习系统的资源分配及聚合优化方法中,所述分层联邦学习系统的资源分配及聚合优化方法的步骤200中的各个所述边缘服务器分别基于强化学习的方式为自身对应的分组中的各个终端分配针对当前迭代轮次的全局模型参数的目标计算任务的具体实现过程包含有如下内容:
各个所述边缘服务器分别基于强化学习的方式,基于预设的计算任务卸载目标获取各自对应的分组中各个终端各自对应的目标计算任务,并为各自对应的分组中各个所述终端分配针对当前迭代轮次的全局模型参数的目标计算任务;其中,一个所述终端的目标计算任务包括该终端的本地计算任务和其他终端计算任务;其中,所述目标计算任务卸载目标为:一边缘服务器对应的分组中各个终端各自完成本地目标计算任务的用时中的最大值与该边缘服务器更新上传边缘聚合结果数据的用时/>之和。
具体来说,对边缘服务器及其所属分组的终端集合/>,分组内的终端可以互相协作,计算能力弱的终端可以选择附近计算能力强或空闲的终端可以作为协作设备进行计算任务卸载。因为边缘聚合采用同步聚合策略,需要等待域内所有终端完成本地的计算任务,计算任务卸载能够加快域内训练的整体进度,充分利用空闲的计算资源。
对于中的终端/>,终端的计算任务可以在本地执行,也可以卸载至通信范围内其他计算能力较强的终端。因此,每个终端上有其本身的计算任务和来自其他终端的计算任务。终端/>总计算任务为:
其中代表终端/>通信范围内的终端集合,/>代表/>中终端/>卸载至终端/>处的计算任务比例,/>表示终端/>的原始数据对应的计算任务。终端/>完成所有本地计算任务用时和模型更新上传用时为:
其中联邦学习中各个终端模型参数大小一致。/>表示传输带宽,/>表示终端设备的传输功率,/>表示设备/>的信道增益,/>是信道噪声功率。本申请中假定终端设备在训练过程中的传输功率和信道增益保持不变,因此可以认为/>是一个定值。定义,表示边缘服务器/>组织完成一次域内训练用时。
为了提高域内训练的效率需要制定合理的任务卸载决策,任务卸载决策的目标是尽量减少同一分组内终端之间的相互等待。终端之间在进行任务卸载时存在传输时延,但终端可以通过任务编排先进行自身的训练任务后执行其他终端卸载的计算任务,忽略传输时延的影响。卸载决策的目标可以形式化的定义为:
使用强化学习求解上述问题。强化学习的标准模型是马尔可夫决策过程,它可以用表示,其中,/>表示状态空间,/>表示动作空间,/>表示状态转换函数,/>表示奖励函数。将任务卸载决策转化成序列决策任务,每次为一个终端制定其任务卸载决策。在/>时刻为终端/>进行任务卸载决策时的状态可以被抽象为:
其中表示域内终端的数量,/>表示当前进行决策终端的编号,/>表示终端/>处尚未进行卸载决策的任务量,终端/>未进行卸载决策时/>表示终端原始数据对应的计算任务,进行卸载决策后/>置为0,/>表示终端/>与终端/>的连通状态,/>时终端/>与终端连通,此时终端/>与终端/>之间可以互相进行任务卸载。/>表示终端/>的计算能力,/>表示终端/>已经累积的计算任务。
为终端进行决策时动作可以被抽象为:
其中表示终端/>卸载至终端/>的百分比,/>表示终端/>留在本地执行的计算任务百分比。
本申请设计的奖励函数可表示为:
公式(13)等号右侧括号中的第一项表示域内所有终端完成计算任务的时延应尽可能小,括号外最右侧的第二项用于鼓励终端尽量保证数据不出本地,为参数变量。
引入Actor网络和Critic网络/>来逼近策略函数和价值函数。其中/>和/>分别表示Actor网络和Critic网络的参数。当终端进行卸载决策时,终端基于当前的环境/>做出动作/>,得到当前奖励/>,环境转移至下一状态/>。/>和/>的更新方式如下:
公式中和/>表示模型更新步长,/>表示下一动作,Actor网络表示策略网络,Critic表示价值网络。
从上述描述可知,本申请提出了一种基于计算资源协调的半异步分层联邦学习方法。分层联邦学习框架中包括终端,边缘服务器和云服务器,在联邦学习过程中,在边缘服务器处执行边缘聚合,边缘聚合基于同步聚合策略,在云服务器处进行云聚合,云聚合基于异步聚合策略。为了缓解异步聚合导致的滞后性问题,基于均衡计算资源的思想对终端进行分组,使分组内的数据量与计算资源匹配。
2、本申请设计了一种基于任务卸载的域内训练方法,边缘服务器根据终端的资源信息和数据信息,为终端制定任务卸载策略,终端在执行计算任务时,计算能力差的终端将部分计算任务卸载至其他终,实现对域内空闲计算资源的充分利用,提高了域内训练效率。
3、本申请设计了基于提交时间区间的云聚合策略,由云服务器根据边缘服务器参与云聚合的历史记录,资源信息等确定下一轮全局迭代过程的提交时间区间,在提交时间区间内完成边缘聚合的边缘服务器将边缘聚合结果上传至云服务器参与云聚合。未参与云聚合的边缘服务器将继续域内训练。
利用本申请提供的分层联邦学习系统的资源分配及聚合优化方法,其优点在于:
相较于传统基于终端参数服务器架构的联邦学习方法,本申请在边缘服务器和云服务器处分别进行边缘聚合和云聚合。相较于与云服务器进行通信,边缘服务器与终端的距离更近,通信链路可靠性更高,引入边缘服务器提高了联邦学习框架的扩展性。为了提高联邦学习的效率,首先以均衡计算资源为原则对终端进行分组,避免了部分分组因为计算资源匮乏导致分组训练效率低,尽量保证各分组模型更新频率一致。其次,设计任务卸载策略,在进行模型本地训练时,计算能力差的终端将部分计算任务卸载至其他终端,避免了计算资源的闲置浪费,提高了分组内训练的效率。最后,设计了基于提交时间区间的云聚合策略,满足提交条件的边缘服务器参与云聚合,减少了边缘服务器即其所属分组内终端的空闲等待。通过合理设置提交时间区间,缓解异步聚合中存在的滞后性问题。
从软件层面来说,本申请还提供一种用于执行所述分层联邦学习系统的资源分配及聚合优化方法中全部或部分内的分层联邦学习系统的资源分配及聚合优化装置,参见图6,所述分层联邦学习系统的资源分配及聚合优化装置具体包含有如下内容:
区间确定模块10,用于根据自身所在的分层联邦学习系统中的各个边缘服务器各自的域内训练时间及传输延时信息,确定当前迭代轮次的提交时间区间。
数据分发模块20,用于将当前迭代轮次的全局模型参数和所述提交时间区间分别发送至各个所述边缘服务器,以使各个所述边缘服务器分别为自身对应的分组中的各个终端分配针对当前迭代轮次的全局模型参数的目标计算任务以使各个所述终端分别采用本地计算资源和同组内的其他终端的计算资源执行所述目标计算任务,并接收自身对应的分组中的全部的所述终端分别采用各自本地的训练数据对自身的所述目标计算任务对应的所述全局模型参数训练后得到的子模型参数,并将各个所述子模型参数进行同步聚合以得到对应的边缘聚合结果数据,若得到该分组模型参数的时间在所述提交时间区间内,则发出所述边缘聚合结果数据;其中,各个所述边缘服务器各自对应的分组中的终端是预先根据所述分层联邦学习系统中当前全部终端各自的计算资源信息对各个所述终端进行计算资源均衡处理后划分的。
云聚合模块30,用于接收各个所述边缘服务器发送的各自得到的边缘聚合结果数据,若当前时间超过所述提交时间区间,则对当前接收到的边缘聚合结果数据进行云聚合以得到下一迭代轮次的全局模型参数。
本申请提供的分层联邦学习系统的资源分配及聚合优化装置的实施例具体可以用于执行上述实施例中的分层联邦学习系统的资源分配及聚合优化方法的实施例的处理流程,其功能在此不再赘述,可以参照上述分层联邦学习系统的资源分配及聚合优化方法实施例的详细描述。
所述分层联邦学习系统的资源分配及聚合优化装置进行分层联邦学习系统的资源分配及聚合优化的部分可以在云服务器或中心服务器中执行,也可以在客户端设备中完成。具体可以根据所述客户端设备的处理能力,以及用户使用场景的限制等进行选择。本申请对此不作限定。若所有的操作都在所述客户端设备中完成,所述客户端设备还可以包括处理器,用于分层联邦学习系统的资源分配及聚合优化的具体处理。
上述的客户端设备可以具有通信模块(即通信单元),可以与远程的服务器进行通信连接,实现与所述服务器的数据传输。所述服务器可以包括任务调度中心一侧的服务器,其他的实施场景中也可以包括中间平台的服务器,例如与任务调度中心服务器有通信链接的第三方服务器平台的服务器。所述的服务器可以包括单台计算机设备,也可以包括多个服务器组成的服务器集群,或者分布式装置的服务器结构。
上述服务器与所述客户端设备端之间可以使用任何合适的网络协议进行通信,包括在本申请提交日尚未开发出的网络协议。所述网络协议例如可以包括TCP/IP协议、UDP/IP协议、HTTP协议、HTTPS协议等。当然,所述网络协议例如还可以包括在上述协议之上使用的RPC协议(Remote Procedure Call Protocol,远程过程调用协议)、REST协议(Representational State Transfer,表述性状态转移协议)等。
从上述描述可知,本申请实施例提供的分层联邦学习系统的资源分配及聚合优化装置,能够有效降低分层联邦学习系统的计算复杂度,尤其适用于物联网等大量终端构成的分层联邦学习系统的场景,还能够提高终端和边缘服务器的计算资源利用率,进而能够有效提高分层联邦学习的效率。
本申请实施例还提供了一种电子设备,该电子设备可以包括处理器、存储器、接收器及发送器,处理器用于执行上述实施例提及的分层联邦学习系统的资源分配及聚合优化方法,其中处理器和存储器可以通过总线或者其他方式连接,以通过总线连接为例。该接收器可通过有线或无线方式与处理器、存储器连接。
处理器可以为中央处理器(Central Processing Unit,CPU)。处理器还可以为其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-ProgrammableGate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等芯片,或者上述各类芯片的组合。
存储器作为一种非暂态计算机可读存储介质,可用于存储非暂态软件程序、非暂态计算机可执行程序以及模块,如本申请实施例中的分层联邦学习系统的资源分配及聚合优化方法对应的程序指令/模块。处理器通过运行存储在存储器中的非暂态软件程序、指令以及模块,从而执行处理器的各种功能应用以及数据处理,即实现上述方法实施例中的分层联邦学习系统的资源分配及聚合优化方法。
存储器可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储处理器所创建的数据等。此外,存储器可以包括高速随机存取存储器,还可以包括非暂态存储器,例如至少一个磁盘存储器件、闪存器件、或其他非暂态固态存储器件。在一些实施例中,存储器可选包括相对于处理器远程设置的存储器,这些远程存储器可以通过网络连接至处理器。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
所述一个或者多个模块存储在所述存储器中,当被所述处理器执行时,执行实施例中的分层联邦学习系统的资源分配及聚合优化方法。
在本申请的一些实施例中,用户设备可以包括处理器、存储器和收发单元,该收发单元可包括接收器和发送器,处理器、存储器、接收器和发送器可通过总线系统连接,存储器用于存储计算机指令,处理器用于执行存储器中存储的计算机指令,以控制收发单元收发信号。
作为一种实现方式,本申请中接收器和发送器的功能可以考虑通过收发电路或者收发的专用芯片来实现,处理器可以考虑通过专用处理芯片、处理电路或通用芯片实现。
作为另一种实现方式,可以考虑使用通用计算机的方式来实现本申请实施例提供的服务器。即将实现处理器,接收器和发送器功能的程序代码存储在存储器中,通用处理器通过执行存储器中的代码来实现处理器,接收器和发送器的功能。
本申请实施例还提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时以实现前述分层联邦学习系统的资源分配及聚合优化方法的步骤。该计算机可读存储介质可以是有形存储介质,诸如随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、软盘、硬盘、可移动存储盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质。
本领域普通技术人员应该可以明白,结合本文中所公开的实施方式描述的各示例性的组成部分、系统和方法,能够以硬件、软件或者二者的结合来实现。具体究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。当以硬件方式实现时,其可以例如是电子电路、专用集成电路(ASIC)、适当的固件、插件、功能卡等等。当以软件方式实现时,本申请的元素是被用于执行所需任务的程序或者代码段。程序或者代码段可以存储在机器可读介质中,或者通过载波中携带的数据信号在传输介质或者通信链路上传送。
需要明确的是,本申请并不局限于上文所描述并在图中示出的特定配置和处理。为了简明起见,这里省略了对已知方法的详细描述。在上述实施例中,描述和示出了若干具体的步骤作为示例。但是,本申请的方法过程并不限于所描述和示出的具体步骤,本领域的技术人员可以在领会本申请的精神后,作出各种改变、修改和添加,或者改变步骤之间的顺序。
本申请中,针对一个实施方式描述和/或例示的特征,可以在一个或更多个其它实施方式中以相同方式或以类似方式使用,和/或与其他实施方式的特征相结合或代替其他实施方式的特征。
以上所述仅为本申请的优选实施例,并不用于限制本申请,对于本领域的技术人员来说,本申请实施例可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (10)
1.一种分层联邦学习系统的资源分配及聚合优化方法,其特征在于,包括:
根据自身所在的分层联邦学习系统中的各个边缘服务器各自的域内训练时间及传输延时信息,确定当前迭代轮次的提交时间区间;
将当前迭代轮次的全局模型参数和所述提交时间区间分别发送至各个所述边缘服务器,以使各个所述边缘服务器分别为自身对应的分组中的各个终端分配针对当前迭代轮次的全局模型参数的目标计算任务以使各个所述终端分别采用本地计算资源和同组内的其他终端的计算资源执行所述目标计算任务,并接收自身对应的分组中的全部的所述终端分别采用各自本地的训练数据对自身的所述目标计算任务对应的所述全局模型参数训练后得到的子模型参数,并将各个所述子模型参数进行同步聚合以得到对应的边缘聚合结果数据,若得到该分组模型参数的时间在所述提交时间区间内,则发出所述边缘聚合结果数据;其中,各个所述边缘服务器各自对应的分组中的终端是预先根据所述分层联邦学习系统中当前全部终端各自的计算资源信息对各个所述终端进行计算资源均衡处理后划分的;
接收各个所述边缘服务器发送的各自得到的边缘聚合结果数据,若当前时间超过所述提交时间区间,则对当前接收到的边缘聚合结果数据进行云聚合以得到下一迭代轮次的全局模型参数。
2.根据权利要求1所述的分层联邦学习系统的资源分配及聚合优化方法,其特征在于,在所述根据自身所在的分层联邦学习系统中的各个边缘服务器各自的域内训练时间及传输延时信息,确定当前迭代轮次的提交时间区间之前,还包括:
接收自身所在的分层联邦学习系统中的各个所述边缘服务器转发的各个终端的计算资源信息,其中,所述计算资源信息预先由所述终端发送至其通信范围内的一边缘服务器;
根据各个所述终端的计算资源信息确定各个所述终端各自执行一次本地目标计算任务的单次任务时间,并以各个所述单次任务时间降序的顺序对各个所述终端进行排序;
在排序后的各个所述终端中依次择一作为目标终端,并针对每次选取的所述目标终端分别执行预设的计算资源均衡分组步骤,以将各个所述终端分别划分至所述分层联邦学习系统中的各个边缘服务器各自对应的分组中;
其中,所述计算资源均衡分组步骤包括:
若当前目标终端的通信范围内的各个所述边缘服务器对应的分组中存在空集合,则将该目标终端划分至一当前为空集合的分组中;
若当前目标终端的通信范围内的各个所述边缘服务器对应的分组中不存在空集合,则依次计算该目标终端分别加入其通信范围内的各个所述边缘服务器对应的分组后各自对应的计算资源优化目标值,并将所述目标终端划分至其中最小的计算资源优化目标值对应的分组中。
3.根据权利要求2所述的分层联邦学习系统的资源分配及聚合优化方法,其特征在于,所述终端的计算资源信息包括:所述终端的数据量、计算能力、单个训练样本计算所需的CPU周期数和本地迭代的轮数;
相对应的, 所述依次计算该目标终端分别加入其通信范围内的各个所述边缘服务器对应的分组后各自对应的计算资源优化目标值,包括:
在所述目标终端的通信范围内的各个所述边缘服务器中依次择一作为目标边缘服务器,并针对每次选取的所述目标边缘服务器执行预设的计算资源优化目标计算步骤;
其中,所述计算资源优化目标计算步骤包括:
假设将所述目标终端加入当前的目标边缘服务器对应的分组中,根据当前的目标边缘服务器的分组中已划分的终端和所述目标终端各自对应的数据量,确定该目标边缘服务器的分组数据量,并基于该分组数据量以及其他边缘服务器的分组数据量确定各个所述边缘服务器完成一次边缘聚合所需的数据量均值;
以及,根据所述目标终端的单个训练样本计算所需的CPU周期数、本地迭代的轮数和计算能力,以及所述目标边缘服务器的分组数据量,确定所述目标边缘服务器完成一次域内训练的所需时间,并基于该目标边缘服务器完成一次域内训练的所需时间以及其他边缘服务器的完成一次域内训练的所需时间确定各个所述边缘服务器完成一次边缘聚合所需的用时均值;
根据所述目标边缘服务器的分组数据量、数据量均值、目标边缘服务器完成一次域内训练的所需时间以及各个所述边缘服务器完成一次边缘聚合所需的用时均值,基于贪心算法求解预设的计算资源优化目标以得到对应的计算资源优化目标值。
4.根据权利要求1所述的分层联邦学习系统的资源分配及聚合优化方法,其特征在于,所述根据自身所在的分层联邦学习系统中的各个边缘服务器各自的域内训练时间及传输延时信息,确定当前迭代轮次的提交时间区间,包括:
本地存储自身所在的分层联邦学习系统中的各个边缘服务器各自的域内训练时间及传输延时信息,其中,所述边缘服务器的域内训练时间及传输延时信息包括:各个所述分组各自对应的完成一次域内训练用时、域外传输时延、历史迭代轮次接收到全局模型的时间以及已参与云聚合的次数,还包含有全部的所述完成一次域内训练用时中的最长用时和最短用时;
基于预设的时间长度权重、所述最长用时和最短用时,确定提交时间区间的长度;
若所述最长用时和最短用时之间的差值小于所述提交时间区间的长度,则将前一迭代轮次参与云聚合的各个所述边缘服务器作为待参与当前迭代轮次中云聚合的对象;
根据待参与当前迭代轮次中云聚合的各个所述分组各自对应的完成一次域内训练用时、域外传输时延、历史迭代轮次接收到全局模型的时间以及已参与云聚合的次数,分别构建各个所述分组各自对应的备选开始时间;
基于预设的时间评分规则对各个所述备选开始时间进行评分以得到各个所述备选开始时间的分数;
选择最大的分数对应的备选开始时间作为本次迭代轮次的提交时间区间的开始时间,并根据该开始时间和所述提交时间区间的长度确定本次迭代轮次的提交时间区间的结束时间。
5.根据权利要求4所述的分层联邦学习系统的资源分配及聚合优化方法,其特征在于,所述基于预设的时间评分规则对各个所述备选开始时间进行评分以得到各个所述备选开始时间的分数,包括:
根据待参与当前迭代轮次中云聚合的各个所述分组的总数、每个所述备选开始时间对应的边缘服务器在历史迭代轮次接收到全局模型的时间,分别对各个所述备选开始时间进行评分以得到各个所述备选开始时间的分数。
6.根据权利要求1所述的分层联邦学习系统的资源分配及聚合优化方法,其特征在于,各个所述边缘服务器分别为自身对应的分组中的各个终端分配针对当前迭代轮次的全局模型参数的目标计算任务,包括:
各个所述边缘服务器分别基于强化学习的方式,基于预设的计算任务卸载目标获取各自对应的分组中各个终端各自对应的目标计算任务,并为各自对应的分组中各个所述终端分配针对当前迭代轮次的全局模型参数的目标计算任务;其中,一个所述终端的目标计算任务包括该终端的本地计算任务和其他终端计算任务;
其中,所述目标计算任务卸载目标为:一边缘服务器对应的分组中各个终端各自完成本地目标计算任务的用时中的最大值与该边缘服务器更新上传边缘聚合结果数据的用时之和。
7.根据权利要求1至6任一项所述的分层联邦学习系统的资源分配及聚合优化方法,其特征在于,所述全局模型参数为用于进行环境监测的分类模型的模型参数;
所述训练数据包括:各个环境监测数据以及各个所述环境监测数据各自对应的环境污染类型标签;
其中,所述环境污染类型标签包括:用于表示非环境污染的标签、用于表示无法识别的标签以及分别用于表示不同的各个环境污染类型的标签。
8.一种分层联邦学习系统的资源分配及聚合优化装置,其特征在于,包括:
区间确定模块,用于根据自身所在的分层联邦学习系统中的各个边缘服务器各自的域内训练时间及传输延时信息,确定当前迭代轮次的提交时间区间;
数据分发模块,用于将当前迭代轮次的全局模型参数和所述提交时间区间分别发送至各个所述边缘服务器,以使各个所述边缘服务器分别为自身对应的分组中的各个终端分配针对当前迭代轮次的全局模型参数的目标计算任务以使各个所述终端分别采用本地计算资源和同组内的其他终端的计算资源执行所述目标计算任务,并接收自身对应的分组中的全部的所述终端分别采用各自本地的训练数据对自身的所述目标计算任务对应的所述全局模型参数训练后得到的子模型参数,并将各个所述子模型参数进行同步聚合以得到对应的边缘聚合结果数据,若得到该分组模型参数的时间在所述提交时间区间内,则发出所述边缘聚合结果数据;其中,各个所述边缘服务器各自对应的分组中的终端是预先根据所述分层联邦学习系统中当前全部终端各自的计算资源信息对各个所述终端进行计算资源均衡处理后划分的;
云聚合模块,用于接收各个所述边缘服务器发送的各自得到的边缘聚合结果数据,若当前时间超过所述提交时间区间,则对当前接收到的边缘聚合结果数据进行云聚合以得到下一迭代轮次的全局模型参数。
9.一种分层联邦学习系统,其特征在于,包括:分别与一云服务器通信连接的各个边缘服务器,且每个所述边缘服务器均与多个终端之间通信连接;
所述云服务器用于执行权利要求1至7任一项所述的分层联邦学习系统的资源分配及聚合优化方法。
10.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至7任一项所述的分层联邦学习系统的资源分配及聚合优化方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311320639.3A CN117076132B (zh) | 2023-10-12 | 2023-10-12 | 分层联邦学习系统的资源分配及聚合优化方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311320639.3A CN117076132B (zh) | 2023-10-12 | 2023-10-12 | 分层联邦学习系统的资源分配及聚合优化方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117076132A true CN117076132A (zh) | 2023-11-17 |
CN117076132B CN117076132B (zh) | 2024-01-05 |
Family
ID=88717316
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311320639.3A Active CN117076132B (zh) | 2023-10-12 | 2023-10-12 | 分层联邦学习系统的资源分配及聚合优化方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117076132B (zh) |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112817653A (zh) * | 2021-01-22 | 2021-05-18 | 西安交通大学 | 一种基于云边端的联邦学习计算卸载计算系统及方法 |
CN113902021A (zh) * | 2021-10-13 | 2022-01-07 | 北京邮电大学 | 一种高能效的聚类联邦边缘学习策略生成方法和装置 |
CN114116198A (zh) * | 2021-10-21 | 2022-03-01 | 西安电子科技大学 | 一种移动车辆的异步联邦学习方法、系统、设备及终端 |
CN114650227A (zh) * | 2022-01-27 | 2022-06-21 | 北京邮电大学 | 一种分层联邦学习场景下的网络拓扑构建方法及系统 |
US20220366320A1 (en) * | 2021-07-13 | 2022-11-17 | Beijing Baidu Netcom Science Technology Co., Ltd. | Federated learning method, computing device and storage medium |
CN115358487A (zh) * | 2022-09-21 | 2022-11-18 | 国网河北省电力有限公司信息通信分公司 | 面向电力数据共享的联邦学习聚合优化系统及方法 |
CN115408151A (zh) * | 2022-08-23 | 2022-11-29 | 哈尔滨工业大学 | 一种联邦学习训练加速方法 |
WO2023093238A1 (zh) * | 2021-11-29 | 2023-06-01 | 北京邮电大学 | 利用学习模型进行业务处理的方法以及装置 |
CN116610434A (zh) * | 2022-02-07 | 2023-08-18 | 上海大学 | 面向分层联邦学习系统的资源优化方法 |
CN116663675A (zh) * | 2023-05-26 | 2023-08-29 | 同济大学 | 适用于边缘车联网的区块链赋能联邦学习系统 |
-
2023
- 2023-10-12 CN CN202311320639.3A patent/CN117076132B/zh active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112817653A (zh) * | 2021-01-22 | 2021-05-18 | 西安交通大学 | 一种基于云边端的联邦学习计算卸载计算系统及方法 |
US20220366320A1 (en) * | 2021-07-13 | 2022-11-17 | Beijing Baidu Netcom Science Technology Co., Ltd. | Federated learning method, computing device and storage medium |
CN113902021A (zh) * | 2021-10-13 | 2022-01-07 | 北京邮电大学 | 一种高能效的聚类联邦边缘学习策略生成方法和装置 |
CN114116198A (zh) * | 2021-10-21 | 2022-03-01 | 西安电子科技大学 | 一种移动车辆的异步联邦学习方法、系统、设备及终端 |
WO2023093238A1 (zh) * | 2021-11-29 | 2023-06-01 | 北京邮电大学 | 利用学习模型进行业务处理的方法以及装置 |
CN114650227A (zh) * | 2022-01-27 | 2022-06-21 | 北京邮电大学 | 一种分层联邦学习场景下的网络拓扑构建方法及系统 |
CN116610434A (zh) * | 2022-02-07 | 2023-08-18 | 上海大学 | 面向分层联邦学习系统的资源优化方法 |
CN115408151A (zh) * | 2022-08-23 | 2022-11-29 | 哈尔滨工业大学 | 一种联邦学习训练加速方法 |
CN115358487A (zh) * | 2022-09-21 | 2022-11-18 | 国网河北省电力有限公司信息通信分公司 | 面向电力数据共享的联邦学习聚合优化系统及方法 |
CN116663675A (zh) * | 2023-05-26 | 2023-08-29 | 同济大学 | 适用于边缘车联网的区块链赋能联邦学习系统 |
Non-Patent Citations (3)
Title |
---|
TONGTONG YANG: "Dynamic Spectrum Sharing Based on Federated Learning and Multi-Agent Actor-Critic Reinforcement Learning", 《IEEE》 * |
贺文晨: "基于DRL的联邦学习节点选择方法", 《通信学报》, vol. 42, no. 06 * |
陶梅霞: "联邦学习中基于时分多址接入的用户调度策略", 《通信学报》, no. 06 * |
Also Published As
Publication number | Publication date |
---|---|
CN117076132B (zh) | 2024-01-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110099384B (zh) | 基于边-端协同的多用户多mec任务卸载资源调度方法 | |
CN110351754B (zh) | 基于Q-learning的工业互联网机器设备用户数据计算卸载决策方法 | |
CN107766135B (zh) | 移动朵云中基于粒子群和模拟退火优化的任务分配方法 | |
Dai et al. | Multi-armed bandit learning for computation-intensive services in MEC-empowered vehicular networks | |
Zhao et al. | Contract-based computing resource management via deep reinforcement learning in vehicular fog computing | |
CN110234127B (zh) | 一种基于sdn的雾网络任务卸载方法 | |
CN111629380B (zh) | 面向高并发多业务工业5g网络的动态资源分配方法 | |
CN113326002A (zh) | 基于计算迁移的云边协同控制系统及迁移决策生成方法 | |
CN112070240A (zh) | 一种高效通信的分层联邦学习框架及其优化方法和系统 | |
Wu et al. | Multi-agent DRL for joint completion delay and energy consumption with queuing theory in MEC-based IIoT | |
CN110519849B (zh) | 一种针对移动边缘计算的通信和计算资源联合分配方法 | |
CN114745383A (zh) | 一种移动边缘计算辅助多层联邦学习方法 | |
CN115278708B (zh) | 一种面向联邦学习的移动边缘计算资源管理方法 | |
CN113469325A (zh) | 一种边缘聚合间隔自适应控制的分层联邦学习方法、计算机设备、存储介质 | |
CN115277689A (zh) | 一种基于分布式联邦学习的云边网络通信优化方法及系统 | |
CN104219319A (zh) | 一种分布式网络流量自组织调度方法 | |
CN116681126B (zh) | 一种自适应等待时长的异步加权联邦学习方法 | |
Dai et al. | A learning algorithm for real-time service in vehicular networks with mobile-edge computing | |
CN113286329A (zh) | 基于移动边缘计算的通信和计算资源联合优化方法 | |
CN115392481A (zh) | 一种基于响应时间实时均衡的联邦学习高效通信方法 | |
CN110266757B (zh) | 一种面向任务协同场景的边缘计算资源优化方法 | |
CN115802389A (zh) | 一种利用数字孪生辅助模型训练的联邦学习方法 | |
CN113821346B (zh) | 基于深度强化学习的边缘计算中计算卸载与资源管理方法 | |
CN117076132B (zh) | 分层联邦学习系统的资源分配及聚合优化方法及装置 | |
CN115756873B (zh) | 一种基于联邦强化学习的移动边缘计算卸载方法和平台 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |