一种针对层次化模型训练框架的聚合频率控制方法技术

技术编号:33125283 阅读:21 留言:0更新日期:2022-04-17 00:33
本发明专利技术公开了一种针对层次化模型训练框架的聚合频率控制方法,包括以下步骤:确定层次化模型训练聚合拓扑;定义在层次化模型训练框架下,采用弱同步的通信方式进行模型训练和聚合的过程;基于层次化模型训练聚合拓扑,对每个边缘节点进行资源建模;根据每个边缘节点的计算资源和通信资源,使用启发式的算法输出每个边缘节点的聚合频率,使得同一层的边缘节点具有不同的聚合频率,达到资源利用率的最大化;为了解决边缘节点聚合频率相差太大所带来的精度损失,使用自适应的方法,在模型训练的过程中动态地调整节点的聚合频率。本发明专利技术能够解决异构的边缘环境下,使用强同步的通信方法,造成通信时间长、资源利用率低以及训练效果不佳的问题。果不佳的问题。果不佳的问题。

【技术实现步骤摘要】
一种针对层次化模型训练框架的聚合频率控制方法


[0001]本专利技术涉及分布式边缘学习领域,特别涉及一种针对层次化模型训练框架的聚合频率控制方法。

技术介绍

[0002]越来越多的边缘设备接入到互联网,如移动电话、物联网设备等,这些设备产生丰富的数据信息。由于通信成本的高昂和数据隐私的保护,直接将大量的数据从数据源传输到云数据中心进行机器学习训练是不现实的。为了解决这个挑战,边缘智能应运而生,它指在尽可能靠近数据源的地方运行AI算法的范例,其数据是在设备上创建的。在边缘智能领域,现有的模型训练框架有联邦学习(H.McMahan,E.Moore,D.Ramage et al.,“Communication efficient learning of deep networks from decentralized data,”in AISTATS,2017.)和Local SGD(Stich,Sebastian U..“Local SGD Converges Fast and Communicates Little.”ArXiv abs/1805.09767(2019):n.pag.),系统中所有节点被逻辑上分为训练节点和聚合节点,训练节点并行地进行一定次数的本地训练后,把模型参数或梯度发送给聚合节点,聚合节点负责聚合各个训练节点发送过来的参数,并将更新后的参数下发给各个训练节点,再迭代地进行以上步骤。这种集中式的模型训练框架有以下缺点:有些训练节点因为计算资源受限且工作负载大,进行本地更新的速度非常慢,称为掉队者,影响整个训练的收敛速率。另外,因为训练节点到聚合节点的通信带宽受限,会影响传输效率,称为通信的瓶颈。集中式的模型训练框架还会面临单点故障问题,当中心节点出现故障会影响整个训练的进行。
[0003]为了解决集中式模型训练框架的缺点,层次化的模型训练框架应运而生,如E

Tree Learning,Hierarchical Federated Learning(HFL)等等。这些层次化的模型训练框架采用了一个“树形”的聚合结构,其中叶子节点作为训练节点负责本地训练,非叶子节点作为聚合节点负责模型聚合。“树形”结构,包括树的层数和节点分组是根据网络拓扑和数据分布构建的,能够适用于包括动态的多跳网络的任何基础结构。
[0004]在层次化的模型训练框架中,最有挑战性和最重要的问题是优化“树形”结构中每一个边缘节点的聚合频率。边缘计算环境具有以下特征:第一,边缘设备具备一定的计算能力和存储能力,其大小可以不同,从传感器、家庭网关、小型的服务器到带有多个服务器机架的微型数据中心,这些设备具有不同的计算能力和存储能力,这使得边缘环境下的边缘设备具有计算资源异构的特点;第二,边缘设备之间的通信链路上的网络资源异构,各链路可获得的带宽是异构并且受限的;第三,边缘设备之间具有的数据量不同以及数据是非独立同分布的,因为设备归属于某个用户,其数据分布往往是差异极大的,而且由于受到用户群体、地域关联等隐私影响,这些设备的数据分布往往都是有关联的。在层次化的模型训练框架中,现有的通信方法都是采用强同步的通信方式,要求同一层的所有节点以同样的步调进行训练或聚合。这种强同步的通信方式不适用于异构的边缘环境,因为各个节点进行训练或聚合的速度不同,如果要完全以同样的步调训练,各个节点之间需要彼此等待,造成
计算资源的浪费,甚至会影响训练收敛和模型精度。
[0005]在节点聚合频率控制方面,现有的工作,例如parallel mini

batch SGD,Local SGD,Federated Learning,和HFL(Liu,Lumin et al.“Client

Edge

Cloud Hierarchical Federated Learning.”ICC2020

2020IEEE International Conference on Communications(ICC)(2020):1

6.)采用强同步的通信方式,即在同一层的节点具有相同的聚合频率,聚合节点负责周期性地计算模型参数的带权平均值。如图1所示,这种通信方式的缺点是,训练速度快的节点需要等待其他节点训练完,才能继续往下推进,这会造成训练速度快的节点的资源浪费。这种强同步的通信方式不适用于异构的边缘环境。为了解决这个问题,E

Tree learning和PR

SGD(Yu,Hao et al.“Parallel Restarted SGD with Faster Convergence and Less Communication:Demystifying Why Model Averaging Works for Deep Learning.”AAAI(2019).)采用了弱同步的通信方式,它允许各个训练节点具有不同的聚合频率。它提出允许速度快的节点进行更多轮的本地更新和模型聚合,以最大化地利用资源和减少节点的等待时间。但是,这些工作缺少实验验证弱同步这种通信方式的有效性,以及缺少对每个节点的聚合频率进行量化的方法。

技术实现思路

[0006]为了解决上述问题,本专利技术提供一种针对层次化模型训练框架的聚合频率控制方法。本专利技术将考虑在层次化的模型聚合框架下,采用弱同步的通信方式,针对边缘环境资源异构的特点,对边缘节点的聚合频率进行优化,目标是提高节点的资源利用率,训练的收敛速率及模型精度。因此,本专利技术设计了基于异构资源的聚合频率控制方法,该方法能够充分利用节点的资源。此外,在该方法的基础上提出在训练模型的过程中,自适应地调整节点频率以减少因节点聚合频率相差太大带来的精度下降。
[0007]本专利技术至少通过如下技术方案之一实现。
[0008]一种针对层次化模型训练框架的聚合频率控制方法,其特征在于,包括以下步骤:
[0009]S1、根据边缘节点的网络拓扑结构和其数据集的数据分布,确定层次化模型训练聚合拓扑,边缘节点以树的形式连接,叶子节点负责进行本地更新,非叶子节点负责模型聚合;
[0010]S2、定义在层次化模型训练框架下进行模型训练和聚合的过程;
[0011]S3、基于层次化模型训练聚合拓扑,对每个边缘节点进行资源建模;
[0012]S4、根据每个边缘节点的计算资源和通信资源,使用启发式的算法输出每个边缘节点的聚合频率;
[0013]S5、使用输出的聚合频率在层次化模型训练框架下进行模型训练,判断该方法的训练效果是否比基准方法差,如果比基准方法好,则步骤S4的输出为每个边缘节点的最优聚合频率;如果比基准方法差,则使用自适应的方法,在模型训练的过程中动态地调整节点的聚合频率。
[0014]进一步地,所述步骤S1具体为:
[0015]S101、使用节点分组算法,根据物理网络拓扑、边缘节点所拥有的资源以及其数据分布,将同一层次的边缘节点分成不同的小本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种针对层次化模型训练框架的聚合频率控制方法,其特征在于,包括以下步骤:S1、根据边缘节点的网络拓扑结构和其数据集的数据分布,确定层次化模型训练聚合拓扑,边缘节点以树的形式连接,叶子节点负责进行本地更新,非叶子节点负责模型聚合;S2、定义在层次化模型训练框架下进行模型训练和聚合的过程;S3、基于层次化模型训练聚合拓扑,对每个边缘节点进行资源建模;S4、根据每个边缘节点的计算资源和通信资源,使用启发式的算法输出每个边缘节点的聚合频率;S5、使用输出的聚合频率在层次化模型训练框架下进行模型训练,判断该方法的训练效果是否比基准方法差,如果比基准方法好,则步骤S4的输出为每个边缘节点的最优聚合频率;如果比基准方法差,则使用自适应的方法,在模型训练的过程中动态地调整节点的聚合频率。2.根据权利要求1所述一种针对层次化模型训练框架的聚合频率控制方法,其特征在于,所述步骤S1具体为:S101、使用节点分组算法,根据物理网络拓扑、边缘节点所拥有的资源以及其数据分布,将同一层次的边缘节点分成不同的小组,组内的边缘节点会进行模型聚合;S102、找出每一组节点的中心节点,所述中心节点负责模型聚合,组内的所有节点作为其孩子节点;孩子节点在本地进行模型训练或模型聚合,并将聚合后的模型参数传输给中心节点进行模型聚合,中心节点聚合完成后将聚合后的模型参数下发给中心节点的所有子孙节点,此步骤中,每一个分组节点构成一颗子树;S103、把步骤S102中构建的子树作为新的节点,形成新的网络拓扑结构,以进行进一步的分组,在新的网络拓扑结构中,步骤S102构建的子树的根节点是网络拓扑中的一个顶点;重复进行步骤S101和步骤S102,对子树进行分组,并形成新的子树结构,直到最终只剩下一颗子树,该子树就是最终确定的层次化模型训练聚合拓扑。3.根据权利要求1所述一种针对层次化模型训练框架的聚合频率控制方法,其特征在于,步骤S2是在层次化模型训练框架下采用弱同步的通信方式进行模型训练和聚合的过程:根据网络拓扑和数据分布,边缘节点组织成树的形状,其中叶子节点作为训练节点进行本地更新,非叶子节点作为聚合节点进行模型聚合;若一个边缘节点拥有更多的资源,则该边缘节点既是训练节点,也是聚合节点;一个节点拥有更多的资源,指的是在同一分组内连接同一个父节点的孩子节点进行本地计算和模型传输所花费的时间比其他节点少;整个模型训练过程,按照层次化的模型训练聚合拓扑,自底向上地进行训练,分为本地更新和模型聚合两个步骤;对于本地更新,叶子节点i并行地进行轮本地更新;接着,叶子节点把本地训练后得到的模型参数上传给其父节点p;对于模型聚合,父节点p接收到其所有孩子节点的模型参数后,计算所有节点模型参数的带权平均和,并把聚合后的模型参数下发给其所有的子孙节点;当聚合节点进行轮的模型聚合后,聚合节点把更新的模型参数发送给其父节点进行模型聚合;整个训练过程,递归地自下往上,直到根节点进行完一轮的全局聚合,并把聚合的模型参数下发给其所有的子孙节点,此时根节点完成一轮全
局聚合,即为一轮模型训练,其中,表示在树形结构的第h层且其父节点是p的边缘节点i的聚合频率值;当h=1时,表示边缘节点i的本地更新频率,节点i是训练节点负责本地更新;当1<h时,表示边缘节点i的模型聚合频率,节点是聚合节点负责模型聚合。4.根据权利要求3所述一种针对层次化模型训练框架的聚合频率控制方法,其特征在于,本地模型参数ω
i
(k
i
)的更新遵循以下方式:当时,在树形结构第一层的边缘节点进行本地更新,并且更新其本地模型参数:其中,k
i
表示节点i进行第k
i
轮本地更新,表示节点i进行第k
i
轮本地更新时的学习率,表示神经网络反向传播时损失函数的梯度大小;层次化模型训练聚合拓扑呈树形结构,其中叶子节点进行本地更新,即每个叶子节点使用其本地的数据集,对本地模型进行梯度计算,并根据规则更新模型参数;叶子节点进行一定轮次的本地更新后,会把本地模型参数传输给其父节点进行聚合;本地模型参数ω
i
(k
i
)指的是每个叶子节点,利用其本地数据集对本地模型进行更新后,传输给其父节点的模型参数;当叶子节点的祖先节点进行完一轮的模型聚合后,也会将聚合后的模型参数下发给该叶子节点,并且更新该叶子节点的本地模型参数ω
i
(k
i
);当时,在树形结构第二层的边缘节点进行模型聚合,公式为:其中,C
p,h
表示在树形结构的第h层的节点p的孩子节点集合;D
i
表示节点i的本地数据集;|D
p,h
|表示在树形结构的第h层的节点p,其所有孩子节点共有的本地数据集数量;表示在树形结构的第h层且其父节点是p的边缘节点i,进行模型聚合后的模型参数;当时,在树形结构第h层的边缘节点进行模型聚合,公式为:其中...

【专利技术属性】
技术研发人员:杨磊甘颖棋
申请(专利权)人:华南理工大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1