CN114357676A - 一种针对层次化模型训练框架的聚合频率控制方法 - Google Patents

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

Info

Publication number
CN114357676A
CN114357676A CN202111535624.XA CN202111535624A CN114357676A CN 114357676 A CN114357676 A CN 114357676A CN 202111535624 A CN202111535624 A CN 202111535624A CN 114357676 A CN114357676 A CN 114357676A
Authority
CN
China
Prior art keywords
node
aggregation
model
nodes
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
Application number
CN202111535624.XA
Other languages
English (en)
Other versions
CN114357676B (zh
Inventor
杨磊
甘颖棋
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
South China University of Technology SCUT
Original Assignee
South China University of Technology SCUT
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by South China University of Technology SCUT filed Critical South China University of Technology SCUT
Priority to CN202111535624.XA priority Critical patent/CN114357676B/zh
Publication of CN114357676A publication Critical patent/CN114357676A/zh
Application granted granted Critical
Publication of CN114357676B publication Critical patent/CN114357676B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

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

Description

一种针对层次化模型训练框架的聚合频率控制方法
技术领域
本发明涉及分布式边缘学习领域,特别涉及一种针对层次化模型训练框架的聚合频率控制方法。
背景技术
越来越多的边缘设备接入到互联网,如移动电话、物联网设备等,这些设备产生丰富的数据信息。由于通信成本的高昂和数据隐私的保护,直接将大量的数据从数据源传输到云数据中心进行机器学习训练是不现实的。为了解决这个挑战,边缘智能应运而生,它指在尽可能靠近数据源的地方运行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 andCommunicates Little.”ArXiv abs/1805.09767(2019):n.pag.),系统中所有节点被逻辑上分为训练节点和聚合节点,训练节点并行地进行一定次数的本地训练后,把模型参数或梯度发送给聚合节点,聚合节点负责聚合各个训练节点发送过来的参数,并将更新后的参数下发给各个训练节点,再迭代地进行以上步骤。这种集中式的模型训练框架有以下缺点:有些训练节点因为计算资源受限且工作负载大,进行本地更新的速度非常慢,称为掉队者,影响整个训练的收敛速率。另外,因为训练节点到聚合节点的通信带宽受限,会影响传输效率,称为通信的瓶颈。集中式的模型训练框架还会面临单点故障问题,当中心节点出现故障会影响整个训练的进行。
为了解决集中式模型训练框架的缺点,层次化的模型训练框架应运而生,如E-Tree Learning,Hierarchical Federated Learning(HFL)等等。这些层次化的模型训练框架采用了一个“树形”的聚合结构,其中叶子节点作为训练节点负责本地训练,非叶子节点作为聚合节点负责模型聚合。“树形”结构,包括树的层数和节点分组是根据网络拓扑和数据分布构建的,能够适用于包括动态的多跳网络的任何基础结构。
在层次化的模型训练框架中,最有挑战性和最重要的问题是优化“树形”结构中每一个边缘节点的聚合频率。边缘计算环境具有以下特征:第一,边缘设备具备一定的计算能力和存储能力,其大小可以不同,从传感器、家庭网关、小型的服务器到带有多个服务器机架的微型数据中心,这些设备具有不同的计算能力和存储能力,这使得边缘环境下的边缘设备具有计算资源异构的特点;第二,边缘设备之间的通信链路上的网络资源异构,各链路可获得的带宽是异构并且受限的;第三,边缘设备之间具有的数据量不同以及数据是非独立同分布的,因为设备归属于某个用户,其数据分布往往是差异极大的,而且由于受到用户群体、地域关联等隐私影响,这些设备的数据分布往往都是有关联的。在层次化的模型训练框架中,现有的通信方法都是采用强同步的通信方式,要求同一层的所有节点以同样的步调进行训练或聚合。这种强同步的通信方式不适用于异构的边缘环境,因为各个节点进行训练或聚合的速度不同,如果要完全以同样的步调训练,各个节点之间需要彼此等待,造成计算资源的浪费,甚至会影响训练收敛和模型精度。
在节点聚合频率控制方面,现有的工作,例如parallel mini-batch SGD,LocalSGD,Federated Learning,和HFL(Liu,Lumin et al.“Client-Edge-Cloud HierarchicalFederated Learning.”ICC2020-2020IEEE International Conference onCommunications(ICC)(2020):1-6.)采用强同步的通信方式,即在同一层的节点具有相同的聚合频率,聚合节点负责周期性地计算模型参数的带权平均值。如图1所示,这种通信方式的缺点是,训练速度快的节点需要等待其他节点训练完,才能继续往下推进,这会造成训练速度快的节点的资源浪费。这种强同步的通信方式不适用于异构的边缘环境。为了解决这个问题,E-Tree learning和PR-SGD(Yu,Hao et al.“Parallel Restarted SGD withFaster Convergence and Less Communication:Demystifying Why Model AveragingWorks for Deep Learning.”AAAI(2019).)采用了弱同步的通信方式,它允许各个训练节点具有不同的聚合频率。它提出允许速度快的节点进行更多轮的本地更新和模型聚合,以最大化地利用资源和减少节点的等待时间。但是,这些工作缺少实验验证弱同步这种通信方式的有效性,以及缺少对每个节点的聚合频率进行量化的方法。
发明内容
为了解决上述问题,本发明提供一种针对层次化模型训练框架的聚合频率控制方法。本发明将考虑在层次化的模型聚合框架下,采用弱同步的通信方式,针对边缘环境资源异构的特点,对边缘节点的聚合频率进行优化,目标是提高节点的资源利用率,训练的收敛速率及模型精度。因此,本发明设计了基于异构资源的聚合频率控制方法,该方法能够充分利用节点的资源。此外,在该方法的基础上提出在训练模型的过程中,自适应地调整节点频率以减少因节点聚合频率相差太大带来的精度下降。
本发明至少通过如下技术方案之一实现。
一种针对层次化模型训练框架的聚合频率控制方法,其特征在于,包括以下步骤:
S1、根据边缘节点的网络拓扑结构和其数据集的数据分布,确定层次化模型训练聚合拓扑,边缘节点以树的形式连接,叶子节点负责进行本地更新,非叶子节点负责模型聚合;
S2、定义在层次化模型训练框架下进行模型训练和聚合的过程;
S3、基于层次化模型训练聚合拓扑,对每个边缘节点进行资源建模;
S4、根据每个边缘节点的计算资源和通信资源,使用启发式的算法输出每个边缘节点的聚合频率;
S5、使用输出的聚合频率在层次化模型训练框架下进行模型训练,判断该方法的训练效果是否比基准方法差,如果比基准方法好,则步骤S4的输出为每个边缘节点的最优聚合频率;如果比基准方法差,则使用自适应的方法,在模型训练的过程中动态地调整节点的聚合频率。
进一步地,所述步骤S1具体为:
S101、使用节点分组算法,根据物理网络拓扑、边缘节点所拥有的资源以及其数据分布,将同一层次的边缘节点分成不同的小组,组内的边缘节点会进行模型聚合;
S102、找出每一组节点的中心节点,所述中心节点负责模型聚合,组内的所有节点作为其孩子节点;孩子节点在本地进行模型训练或模型聚合,并将聚合后的模型参数传输给中心节点进行模型聚合,中心节点聚合完成后将聚合后的模型参数下发给中心节点的所有子孙节点,此步骤中,每一个分组节点构成一颗子树;
S103、把步骤S102中构建的子树作为新的节点,形成新的网络拓扑结构,以进行进一步的分组,在新的网络拓扑结构中,步骤S102构建的子树的根节点是网络拓扑中的一个顶点;重复进行步骤S101和步骤S102,对子树进行分组,并形成新的子树结构,直到最终只剩下一颗子树,该子树就是最终确定的层次化模型训练聚合拓扑。
进一步地,步骤S2是在层次化模型训练框架下采用弱同步的通信方式进行模型训练和聚合的过程:
根据网络拓扑和数据分布,边缘节点组织成树的形状,其中叶子节点作为训练节点进行本地更新,非叶子节点作为聚合节点进行模型聚合;若一个边缘节点拥有更多的资源,则该边缘节点既是训练节点,也是聚合节点;一个节点拥有更多的资源,指的是在同一分组内连接同一个父节点的孩子节点进行本地计算和模型传输所花费的时间比其他节点少;
整个模型训练过程,按照层次化的模型训练聚合拓扑,自底向上地进行训练,分为本地更新和模型聚合两个步骤;对于本地更新,叶子节点i并行地进行
Figure BDA0003413064010000031
轮本地更新;接着,叶子节点把本地训练后得到的模型参数上传给其父节点p;对于模型聚合,父节点p接收到其所有孩子节点的模型参数后,计算所有节点模型参数的带权平均和,并把聚合后的模型参数下发给其所有的子孙节点;当聚合节点进行
Figure BDA0003413064010000032
轮的模型聚合后,聚合节点把更新的模型参数发送给其父节点进行模型聚合;整个训练过程,递归地自下往上,直到根节点进行完一轮的全局聚合,并把聚合的模型参数下发给其所有的子孙节点,此时根节点完成一轮全局聚合,即为一轮模型训练,其中,
Figure BDA0003413064010000041
表示在树形结构的第h层且其父节点是p的边缘节点i的聚合频率值;当h=1时,
Figure BDA0003413064010000042
表示边缘节点i的本地更新频率,节点i是训练节点负责本地更新;当1<h时,
Figure BDA0003413064010000043
表示边缘节点i的模型聚合频率,节点是聚合节点负责模型聚合。
进一步地,本地模型参数ωi(ki)的更新遵循以下方式:
Figure BDA0003413064010000044
时,在树形结构第一层的边缘节点进行本地更新,并且更新其本地模型参数:
Figure BDA0003413064010000045
其中,ki表示节点i进行第ki轮本地更新,
Figure BDA0003413064010000046
表示节点i进行第ki轮本地更新时的学习率,
Figure BDA0003413064010000047
表示神经网络反向传播时损失函数的梯度大小;层次化模型训练聚合拓扑呈树形结构,其中叶子节点进行本地更新,即每个叶子节点使用其本地的数据集,对本地模型进行梯度计算,并根据规则更新模型参数;叶子节点进行一定轮次的本地更新后,会把本地模型参数传输给其父节点进行聚合;本地模型参数ωi(ki)指的是每个叶子节点,利用其本地数据集对本地模型进行更新后,传输给其父节点的模型参数;当叶子节点的祖先节点进行完一轮的模型聚合后,也会将聚合后的模型参数下发给该叶子节点,并且更新该叶子节点的本地模型参数ωi(ki);
Figure BDA0003413064010000048
时,在树形结构第二层的边缘节点进行模型聚合,公式为:
Figure BDA0003413064010000049
其中,Cp,h表示在树形结构的第h层的节点p的孩子节点集合;Di表示节点i的本地数据集;|Dp,h|表示在树形结构的第h层的节点p,其所有孩子节点共有的本地数据集数量;
Figure BDA00034130640100000410
表示在树形结构的第h层且其父节点是p的边缘节点i,进行模型聚合后的模型参数;
Figure BDA00034130640100000411
时,在树形结构第h层的边缘节点进行模型聚合,公式为:
Figure BDA00034130640100000412
其中,H表示层次化模型训练聚合拓扑(树形结构)的层数,
Figure BDA0003413064010000051
表示聚合节点ph-2进行模型聚合后的模型参数,这个聚合节点ph-2在树形结构的第h层,且其父节点为ph-1
Figure BDA0003413064010000052
表示在树形结构的第h层的节点ph-2的孩子节点集合;Di,h-1表示在树形结构的第h-1层的节点i,其所有孩子节点共有的本地数据集;
Figure BDA0003413064010000053
表示聚合节点i进行模型聚合后的模型参数,这个聚合节点i在树形结构的第h-1层,且其父节点为ph-2
对于祖先节点为ph-2的所有叶子节点,这些叶子节点的模型参数更新为
Figure BDA0003413064010000054
Figure BDA0003413064010000055
时,在树形结构的第H层的根节点进行全局聚合,并把聚合后的模型参数下发给其所有的子孙节点,全局聚合的公式为:
Figure BDA0003413064010000056
其中,ωt表示在第t轮模型训练的全局模型参数,对于每一个叶子节点,它们的模型参数更新为ωt;N表示网络拓扑中边缘节点的数量,D表示网络拓扑中所有边缘节点的本地数据集。
进一步地,所述步骤S3对每个边缘节点进行资源建模,包括以下步骤:
S301、对于计算资源,在批处理大小、学习率确定的情况下,进行预训练,获得每个边缘节点进行一轮本地更新所需的平均时间
Figure BDA0003413064010000057
其中i表示边缘节点的序号,p是边缘节点i的父节点;预训练的实验条件跟正式的模型训练相同,包括边缘设备所分配的计算和通信资源,预训练的实验条件所拥有的数据集,进行机器学习训练的批量大小、学习率相同;
S302、对于通信资源,评估节点间传输时间:
Figure BDA0003413064010000058
其中,Bi,j表示边缘节点i和节点j间的网络带宽,d表示传输的模型大小。
进一步地,步骤S4中,使用启发式的算法输出每个边缘节点的聚合频率
Figure BDA0003413064010000059
其中,i表示边缘节点的序号,且边缘节点在树中的父节点是p,h表示边缘节点在树的层级,确定在树形结构中每个边缘节点的聚合频率,包括以下步骤:
S401、以连接到同一父节点的边缘节点为一组,比较组内边缘节点的资源异构程度;
S402、找到每一组节点中的掉队者,即在本地计算和模型传输中花费最长时间的节点,并将掉队者的聚合频率设置为1;
S403、计算组内其他边缘节点的聚合频率;
S404、在树形结构,自底向上递归地计算每一组边缘节点的聚合频率;
S405、设置根节点的聚合频率,即为模型训练的轮数。
进一步地,步骤S401中,将边缘节点的资源异构映射到时间的维度以比较组内边缘节点的资源异构程度,具体包括以下步骤:
a、对于训练节点,节点i的资源指的是节点i进行一轮本地更新所花费的平均时间和节点i跟其父节点进行模型传输的时间;当节点的父节点是其本身,传输时间的值为0;
b、对于聚合节点,节点j的资源指的是节点j进行一轮模型聚合的平均时间和节点j跟其父节点进行模型传输的时间;一轮模型聚合的时间包括聚合节点j进行聚合的时间以及聚合节点j的孩子节点中,进行相应本地更新或模型聚合和模型传输所花费最长的时间;
c、计算树形结构中所有边缘节点所拥有的资源,包括计算时间
Figure BDA0003413064010000061
和通信时间
Figure BDA0003413064010000062
之和计算结果
Figure BDA0003413064010000063
其中i表示序号为i的节点,且在树的第h层。
进一步地,掉队者是从组中找到所拥有的资源最少的节点,即从
Figure BDA0003413064010000064
中找到最大值
Figure BDA0003413064010000065
其中边缘节点m即为掉队者,p1为边缘节点m的父节点;为了减少掉队者对组内训练效果的影响,将掉队者m的聚合频率设置为
Figure BDA0003413064010000066
其中h表示节点m在树形结构的第h层。
进一步地,对于同一组内,除了掉队者外,其他节点的聚合频率为:
对于训练节点,计算公式为:
Figure BDA0003413064010000067
对于聚合节点,计算公式为:
Figure BDA0003413064010000068
其中
Figure BDA0003413064010000069
表示组中找到所拥有的资源最少的节点,边缘节点m为掉队者,节点p1为节点m的父节点;
Figure BDA00034130640100000610
表示从节点i传输模型参数到节点p所需的传输时间;
Figure BDA00034130640100000611
表示节点i进行一轮本地更新所花费的平均时间,也称为计算时间,其中节点p为节点i的父节点。
进一步地,在层次化的模型训练框架下,模型训练的过程中动态地调整节点的聚合频率,包括以下步骤:
a、根据实时的训练效果,确定开始调整节点聚合频率的时间点t0;在时间点t0模型精度比基准方法在时间点t0时的模型精度低,且低于阈值;
b、确定在训练过程中调整聚合频率的时间间隔T0
c、使用以下更新规则调整训练节点的聚合频率:
Figure BDA0003413064010000071
其中,
Figure BDA0003413064010000074
表示在时间点t0的学习率,
Figure BDA0003413064010000072
表示在时间点t0的训练损失函数值,
Figure BDA0003413064010000073
表示步骤S4输出的每个边缘节点的聚合频率,τn表示在训练过程中,第n次调整节点聚合频率的频率值。
与现有技术相比,本发明具有以下有益效果:
本发明提出一种针对层次化模型训练框架的聚合频率控制方法,能够最大化节点资源的利用率、减少速度较快的训练节点的等待时间、加快模型的收敛速度以及提高模型最终的收敛精度。为了寻找一种折中的通信方式平衡同步和异步通信的优缺点,本发明根据边缘环境资源异构的特点,控制各个边缘节点的聚合频率,以充分利用节点的资源。此外,为了减少因频率相差太大带来的精度损失,本发明提出了在训练模型的过程中,动态地调整节点的聚合频率,以进一步优化节点的通信频率。
附图说明
图1是实施例异构环境下,节点以强同步的通信方式进行模型训练的示意图;
图2是实施例一种针对层次化模型训练框架的聚合频率控制方法的流程图;
图3是实施例网络拓扑图;
图4是实施例根据网络拓扑图建立层次化模型训练的过程图;
图5是实施例展示在图4b的三层模型训练框架下进行一轮模型训练的示意图。
具体实施方式
下面结合实施例及各个附图对本发明作进一步详细的描述,但本发明的实施不限于此。
实施例1
如图2所示的一种针对层次化模型训练框架的聚合频率控制方法,包括以下步骤:
一种针对层次化模型训练框架的聚合频率控制方法,包括以下步骤:
S1、根据边缘节点的网络拓扑结构和其数据集的数据分布,确定层次化模型训练聚合拓扑,边缘节点以“树”的形式连接,叶子节点负责进行本地更新,非叶子节点负责模型聚合;拥有异构资源的边缘节点相互连接,形成网络拓扑G=(V,E),其中,G表示非完全连接的无向图,E表示边缘节点之间的网络连接,边上的权重代表网络通信带宽;
S2、定义在层次化模型训练框架下,采用弱同步的通信方式进行模型训练和聚合的过程;
S3、基于层次化模型训练聚合拓扑,对每个边缘节点进行资源建模,来衡量边缘节点之间资源的异构程度;
S4、根据每个边缘节点的计算资源和通信资源,使用启发式的算法输出每个边缘节点的聚合频率
Figure BDA0003413064010000081
其中,i表示边缘节点的序号,且其在树中的父节点是p,h表示边缘节点在树的层级;
S5、使用输出的聚合频率进行模型训练,判断该方法的训练效果是否比基准方法差,如果比基准方法好,则步骤S4输出的,是每个边缘节点的最优聚合频率;如果比基准方法差,则使用自适应的方法,在模型训练的过程中动态地调整节点的聚合频率,以加快模型收敛速度以及提高模型收敛精度。
边缘节点具有资源异构的特点,包括:计算资源异构,边缘节点拥有不同的CPU资源;数据量异构,边缘节点的本地数据集的大小不同以及进行梯度下降的批处理大小也不同;通信资源异构,边缘节点之间连接的通信资源是不同的。
实施例2
作为优选的例子,步骤S1可以采用以下步骤确定层次化模型训练聚合拓扑:
S101、使用节点分组算法,根据物理网络拓扑、边缘节点所拥有的资源以及其数据分布,将同一层次的边缘节点分成不同的小组,组内的边缘节点会进行模型聚合;
所述节点分组算法,会将网络距离相近的边缘节点分为一组,且组间节点的数据分布尽可能相近,组内节点所含有的标签类别数尽可能多。
S102、找出每一组节点的中心节点,所述中心节点负责模型聚合,组内的所有节点作为其孩子节点;孩子节点在本地进行模型训练或模型聚合,并将聚合后的模型参数传输给中心节点进行模型聚合,中心节点聚合完成后将聚合后的模型参数下发给中心节点的所有子孙节点,此步骤中,每一个分组节点构成一颗子树。
找到每一组的中心节点
Figure BDA0003413064010000082
的公式为:
Figure BDA0003413064010000083
其中,di,j表示边缘节点i到节点j的通信带宽,ki,h表示在树结构的第h层的第i组。
S103、把步骤S102中构建的子树作为新的节点,形成新的网络拓扑结构,以进行进一步的分组,在新的网络拓扑结构中,步骤S102构建的子树的根节点是网络拓扑中的一个顶点;重复进行步骤S101和步骤S102,对子树进行分组,并形成新的子树结构,直到最终只剩下一颗子树,该子树就是最终确定的层次化模型训练聚合拓扑。
作为另一优选的实施例,所述步骤S2具体可以为:在层次化模型训练框架下进行模型训练和聚合的过程为:根据网络拓扑和数据分布,边缘节点组织成“树”的形状,其中叶子节点作为训练节点进行本地更新,非叶子节点作为聚合节点进行模型聚合。若一个边缘节点拥有更多的资源,则该边缘节点既是训练节点,也是聚合节点;一个节点拥有更多的资源,指的是在同一分组内连接同一个父节点的孩子节点进行本地计算和模型传输所花费的时间比其他节点少。
整个模型训练,遵循自底向上的训练规则,分为本地更新和模型聚合两个步骤。对于本地更新,叶子节点i并行地进行
Figure BDA0003413064010000091
轮本地更新,目的是最小化本地的损失函数;接着,叶子节点把本地训练后得到的模型参数上传给其父节点p。对于模型聚合,父节点p接收到其所有孩子节点的模型参数后,计算所有节点模型参数的带权平均和,并把聚合后的模型参数下发给其所有的子孙节点;当聚合节点进行
Figure BDA0003413064010000092
轮的模型聚合后,聚合节点把更新的模型参数发送给其父节点进行模型聚合;整个训练过程,递归地自下往上,直到根节点进行完一轮的全局聚合,并把聚合的模型参数下发给其所有的子孙节点,此时根节点完成一轮全局聚合,即为一轮模型训练。其中,
Figure BDA0003413064010000093
表示在树形结构的第h层且其父节点是p的边缘节点i的聚合频率值;当h=1时,
Figure BDA0003413064010000094
表示边缘节点i的本地更新频率,节点i是训练节点负责本地更新;当1<h时,
Figure BDA0003413064010000095
表示边缘节点i的模型聚合频率,节点是聚合节点负责模型聚合。
在“树”形的模型训练聚合拓扑中,由于边缘节点之间计算资源、数据集的大小不同,每个边缘节点进行一轮本地更新或模型聚合所花费的时间是不同的。因此,为了减少训练速度快的节点的等待时间以及降低其资源的浪费,连接同一个父节点的孩子节点具有不同的聚合频率
Figure BDA0003413064010000096
也就是它们拥有不同的本地更新或模型聚合频率。
层次化模型训练框架下,采用弱同步的通信方式进行训练,本地模型参数ωi(ki)的更新遵循以方式:
Figure BDA0003413064010000097
时,在树形结构第一层的边缘节点进行本地更新,并且更新其本地模型参数:
Figure BDA0003413064010000098
其中,ki表示节点i进行第ki轮本地更新,
Figure BDA0003413064010000099
表示节点i进行第ki轮本地更新时的学习率,
Figure BDA00034130640100000910
表示神经网络反向传播时损失函数的梯度大小;层次化模型训练聚合拓扑呈“树”形结构,其中叶子节点进行本地更新,即每个叶子节点使用其本地的数据集,对本地模型进行梯度计算,并根据规则更新模型参数;叶子节点进行一定轮次的本地更新后,会把本地模型参数传输给其父节点进行聚合;因此,本地模型参数ωi(ki)指的是每个叶子节点,利用其本地数据集对本地模型进行更新后,传输给其父节点的模型参数;当叶子节点的祖先节点进行完一轮的模型聚合后,也会将聚合后的模型参数下发给该叶子节点,并且更新该叶子节点的本地模型参数ωi(ki)。
Figure BDA0003413064010000101
时,在树形结构第二层的边缘节点进行模型聚合,公式为:
Figure BDA0003413064010000102
其中,Cp,h表示在树形结构的第h层的节点p的孩子节点集合;Di表示节点i的本地数据集;|Dp,h|表示在树形结构的第h层的节点p,其所有孩子节点共有的本地数据集数量;
Figure BDA0003413064010000103
表示在树形结构的第h层且其父节点是p的边缘节点i,进行模型聚合后的模型参数;
Figure BDA0003413064010000104
时,在树形结构第h层的边缘节点进行模型聚合,公式为:
Figure BDA0003413064010000105
其中,H表示层次化模型训练聚合拓扑(树形结构)的层数,
Figure BDA0003413064010000106
表示聚合节点ph-2进行模型聚合后的模型参数,这个聚合节点ph-2在树形结构的第h层,且其父节点为ph-1
Figure BDA0003413064010000107
表示在树形结构的第h层的节点ph-2的孩子节点集合;Di,h-1表示在树形结构的第h-1层的节点i,其所有孩子节点共有的本地数据集;
Figure BDA0003413064010000108
表示聚合节点i进行模型聚合后的模型参数,这个聚合节点i在树形结构的第h-1层,且其父节点为ph-2
对于祖先节点为ph-2的所有叶子节点,这些叶子节点的模型参数更新为
Figure BDA0003413064010000109
Figure BDA00034130640100001010
时,在树形结构的第H层的根节点进行全局聚合,并把聚合后的模型参数下发给其所有的子孙节点,全局聚合的公式为:
Figure BDA00034130640100001011
其中,ωt表示在第t轮模型训练的全局模型参数,对于每一个叶子节点,它们的模型参数更新为ωt;N表示网络拓扑中边缘节点的数量,D表示网络拓扑中所有边缘节点的本地数据集;
所述步骤S3对每个边缘节点进行资源建模,包括以下步骤:
S301、对于计算资源,CPU能力和数据集的大小是影响边缘节点进行本地计算的时间的主要因素;在批处理大小、学习率确定的情况下,进行预训练,获得每个边缘设备进行一轮本地更新所需的平均时间
Figure BDA0003413064010000111
其中i表示边缘节点的序号,p是边缘节点i的父节点;预训练的实验条件跟正式的模型训练相同,包括边缘设备所分配的计算和通信资源,预训练的实验条件所拥有的数据集,进行机器学习训练的批量大小、学习率相同;唯一不相同的是,预训练只进行少轮模型训练,目的是测量出每个边缘设备进行一轮本地更新所需的时间;而正式的训练,需要进行多轮的模型训练,模型才能达到收敛;预训练和正式训练都遵循上述所约定的模型训练过程。
S302、对于通信资源,网络带宽是影响边缘节点间传输时间的主要因素。评估节点间传输时间:
Figure BDA0003413064010000112
其中,Bi,j表示边缘节点i和节点j间的网络带宽,d表示传输的模型大小。
所述步骤S4具体为:
S401、以连接到同一父节点的边缘节点为一组,比较组内边缘节点的资源异构程度;步骤S401将边缘节点的资源异构映射到时间的维度,其描述如下:
a、对于训练节点,节点i的资源指的是节点i进行一轮本地更新所花费的平均时间和节点i跟其父节点进行模型传输的时间;需要注意的是,当节点的父节点是其本身,传输时间的值为0;
b、对于聚合节点,节点j的资源指的是节点j进行一轮模型聚合的平均时间和节点j跟其父节点进行模型传输的时间;需要注意的是,一轮模型聚合的时间包括聚合节点j进行聚合的时间以及聚合节点j的孩子节点中,进行相应本地更新或模型聚合和模型传输所花费最长的时间;
c、计算树形结构中所有边缘节点所拥有的资源,也就是计算时间
Figure BDA0003413064010000113
和通信时间
Figure BDA0003413064010000114
之和,结果用
Figure BDA0003413064010000115
表示,其中i表示序号为i的节点,且在树形结构的第h层;
S402、找到每一组节点中的掉队者,即拥有资源最少的节点,并将掉队者的聚合频率设置为1。从组中找到本地计算和模型传输中花费最长时间的节点,即从
Figure BDA0003413064010000116
中找到最大值
Figure BDA0003413064010000117
其中边缘节点m即为掉队者,p1为边缘节点m的父节点;另外,为了减少掉队者对组内训练效果的影响,将掉队者m的聚合频率设置为
Figure BDA0003413064010000118
其中h表示节点m在第h层。
S403、计算组内其他边缘节点的聚合频率。对于同一组内,除了掉队者外,其他节点的聚合频率的计算为:
对于训练节点,计算公式为:
Figure BDA0003413064010000121
对于聚合节点,计算公式为:
Figure BDA0003413064010000122
其中
Figure BDA0003413064010000123
表示组中找到所拥有的资源最少的节点,边缘节点m为掉队者,节点p1为节点j和节点m的父节点,节点j为节点i的父节点;
Figure BDA0003413064010000124
表示从节点i传输模型参数到节点p所需的传输时间;
Figure BDA0003413064010000125
表示节点i进行一轮本地更新所花费的平均时间,也称为计算时间,其中节点p为节点i的父节点;此计算方法能够最大化边缘节点的利用率。
S404、在“树”形结构,自底向上递归地计算每一组边缘节点的聚合频率;
S405、设置根节点的聚合频率,即为模型训练的轮数。
所述步骤S5包括以下步骤:
S501、使用步骤S4输出的聚合频率,进行模型训练;
S502、判断步骤S501的训练效果是否比基准方法要差。其中,基准方法指的是在同样的层次化模型训练框架中,使用强同步的通信方式进行模型训练,即在“树”形结构中,每个边缘节点的聚合频率都设置为1;判断步骤S501的训练效果是否比基准方法要差的情形是,步骤S501的模型训练收敛速度和最终的收敛精度比基准方法要快、要高。
S503、如果是,则使用自适应的方法,在模型训练的过程中动态地调整节点的聚合频率,具体为:
a、根据实时的训练效果,确定开始调整节点聚合频率的时间点t0;这个时间点指步骤S501在t0时间点的模型精度比基准方法在t0时的模型精度低,且低于某个阈值;
b、确定在训练过程中调整聚合频率的时间间隔T0,这个时间间隔可以手动设置;
c、使用以下更新规则来调整训练节点的聚合频率:
Figure BDA0003413064010000126
其中,ηt表示在时间点t的学习率,
Figure BDA0003413064010000127
表示在时间点t0的训练损失函数值,
Figure BDA0003413064010000128
表示步骤S4输出的每个边缘节点的聚合频率,τn表示在训练过程中,第n次调整节点聚合频率的频率值;需要注意的是,步骤S503只适应地调整“树”形结构中,叶子节点(即训练节点)的聚合频率值。
S504、如果不是,则步骤S4输出的结果就是层次化模型训练框架中每个边缘节点的最优聚合频率。
实施例3
作为另一优选的实施例,如图1和图3所示,使用拥有异构资源的5个边缘节点作为例子,对本发明的一种针对层次化模型训练框架的聚合频率控制方法,进行详细说明,具体步骤如下:
S1、根据边缘节点的网络拓扑结构和其数据集的数据分布,确定层次化模型训练聚合拓扑,边缘节点以“树”的形式连接,叶子节点负责进行本地更新,非叶子节点负责模型聚合;
图3为网络拓扑图,在图中,拥有异构资源的5个边缘节点相互连接,形成网络拓扑G=(V,E),其中,每个边缘节点vi可用三元组表示其所拥有的资源{CPU,data size,datadistribution},如{2cores,1400datasets,5classes}表示边缘节点vi分配了2核的CPU,本地数据集共有1400个训练样本,数据集中共有5种类型的标签;边缘节点之间的网络连接情况可以用三元组表示,如{v1,v2,500bps}表示节点v1与v2相连,并且通信带宽为500bps。
需要说明的是,在实际的边缘环境中,无法准确地得知每个边缘节点的数据分布,只能通过在同等条件下进行模型训练,根据训练模型的精度来评估边缘节点的数据分布情况。
图4为根据网络拓扑图(图3)建立层次化模型训练框架的过程,其中图4a为建立层次化模型训练框架的中间过程,图4b为最终的层次化模型训练拓扑。
S101、使用节点分组算法,根据物理网络拓扑、边缘节点所拥有的资源以及其数据分布,将同一层次的边缘节点分成不同的小组,组内的边缘节点会进行模型聚合;
由于节点v1和节点v2的网络距离相近(节点间通信带宽比较大),且两个节点的本地数据集共有8种类型的标签,假设节点v1和节点v2的数据集所含的标签不重合,故将节点v1和节点v2分为一组;由于节点v3、v4和v5的网络距离相近,且三个节点的本地数据集共有8种类型的标签(组间节点的数据分布尽可能相近,组内节点所含有的标签类别数尽可能多),假设v3、v4和v5的数据集所含的标签不重合,故将节点v3、v4和v5分为一组。因此,根据图3的网络拓扑图,可将节点分为两个组,分别为C1={v1,v2}和C2={v3,v4,v5}。
S102、找出每一组节点的中心节点,这个中心节点负责模型聚合,组内的其他节点(包括中心节点)作为其孩子节点。孩子节点会在本地进行模型训练或模型聚合,并将其模型参数传输给中心节点进行模型聚合,中心节点聚合完成后将聚合后的模型参数下发给其所有的孩子节点。
当组内只有两个节点时,拥有更多的计算资源的节点作为中心节点,如组C1中只有两个节点,其中节点v1拥有4核的CPU,节点v2拥有2核的CPU,节点1具备更强的计算能力,因此,组C1的中心节点为v1
当组内的节点数大于两个时,找到的中心节点应满足,该中心节点距离同一组内的其它节点的网络距离之和是最小的,或该中心节点跟同一组内的其他节点的网络带宽之和是最大的。对于小组C2:
Figure BDA0003413064010000141
Figure BDA0003413064010000142
Figure BDA0003413064010000143
因此,组C2的中心节点为v3,其跟同一组其他节点的网络带宽之和是最大的。
确定每一组的中心节点后,每一个小组可以连接成“树”形结构,中心节点作为父节点,小组内的所有节点作为孩子节点,中心节点既为父节点,也为孩子节点。
S103、自底向上逐层地找到所有分组的中心节点,直到找到层次化模型训练框架的根节点为止。
如图4a所示,步骤S202形成了两棵树,把这两棵树看成新的“边缘节点”重复步骤S201和S202。目前,只剩下两个“边缘节点”,将这两个节点分为一组为C3。根据S202,节点v1拥有更多的CPU资源,因此,组C3中心节点为v1。将节点v1作为父节点,连接两棵树。到此,层次化模型训练聚合拓扑形成,如图4b所示。
S2、定义在层次化模型训练框架下,采用弱同步的通信方式进行模型训练和聚合的过程。
以图4b为例,“树”形结构有三层,共有5个叶子节点。叶子节点作为训练节点负责模型训练,非叶子节点作为聚合节点负责模型聚合。其中,在“树”的第一层,训练节点1和训练节点2为一组,它们的父节点为聚合节点1,由聚合节点1进行模型聚合;训练节点3、训练节点4和训练节点5为一组,它们的父节点为聚合节点3;在“树”的第二层,聚合节点1和聚合节点3为一组,它们的父节点为聚合节点1,由根节点1进行全局模型聚合。
由于边缘节点具有资源异构的特点,采用弱同步的通信方式进行模型训练和聚合,也就是说连接到同一个父节点的孩子节点具有不同的聚合频率
Figure BDA0003413064010000144
图5展示在图4b的三层模型训练框架下进行一轮模型训练的过程。因为具有不同的资源,叶子节点1到5进行不同次数的本地更新,分别是
Figure BDA0003413064010000145
Figure BDA0003413064010000146
次,才把模型参数上传给它们的父节点1和3。由于叶子节点1和3,它们的父节点是它们本身,因此它们的传输时间为0。对于在“树”结构的第二层的节点,聚合节点1和3在传输模型参数给它们的父节点1之前,会分别进行
Figure BDA0003413064010000147
Figure BDA0003413064010000148
次的模型聚合。根节点1负责全局聚合,并把更新的模型参数下发给其所有子孙节点。到此,我们认为一轮模型训练结束。根据根节点的聚合频率
Figure BDA0003413064010000151
进行相应轮数的全局聚合。
S3、基于层次化模型训练聚合拓扑,对每个边缘节点进行资源建模,来衡量边缘节点之间资源的异构程度;
需要说明的是,在实际的环境中是无法准确地获取边缘节点的资源信息的,因此本发明通过预训练和理论计算,将边缘节点的所拥有的资源映射为计算时间或通信时间。
S301、对于计算资源,CPU能力和数据集的大小是影响边缘节点进行本地计算的时间的主要因素;在批处理大小、学习率等确定的情况下,进行预训练,获得每个边缘设备进行一轮本地更新所需的平均时间
Figure BDA0003413064010000152
其中i表示边缘节点的序号,p是边缘节点i的父节点;假设,通过预训练,图4b的边缘节点所对应的进行一轮本地更新的时间为
Figure BDA0003413064010000153
Figure BDA0003413064010000154
S302、对于通信资源,网络带宽是影响边缘节点间传输时间的主要因素。评估节点间传输时间的公式为:
Figure BDA0003413064010000155
其中,Bi,j表示边缘节点i和节点j间的网络带宽,d表示传输的模型大小。假设d为1000bit,通过理论计算,图4b的边缘节点之间所对应的传输时间为
Figure BDA0003413064010000156
S4、根据每个边缘节点的计算资源和通信资源,使用启发式的算法输出每个边缘节点的聚合频率
Figure BDA0003413064010000157
其中,i表示边缘节点的序号,且其在树中的父节点是p,h表示边缘节点在树的层级;
以图4b的层次化模型训练框架为例,自底向上递归地计算每一组边缘节点的聚合频率;
首先,计算叶子节点(第一层)的本地更新频率:
S401、比较组内边缘节点的资源异构程度,即计算组内每个边缘节点所拥有的资源,结果用
Figure BDA0003413064010000158
表示,其中i表示序号为i的节点,且在“树”的第i层;对于训练节点,节点i的资源指的是节点i进行一轮本地更新所花费的平均时间和节点i跟其父节点进行模型传输的时间;需要注意的是,当节点的父节点是其本身,传输时间的值为0;
因此,对于小组C1={v1,v2},组内的边缘节点所拥有的资源可表示为
Figure BDA0003413064010000159
Figure BDA00034130640100001510
对于小组C2={v3,v4,v5},组内的边缘节点所拥有的资源可表示为
Figure BDA00034130640100001511
需要注意的是,边缘节点所拥有的资源越多,进行一次本地计算和通信的时间就越短。
S402、找到每一组节点中的掉队者,即拥有资源最少的节点,并将掉队者的聚合频率设置为1。对于小组C1={v1,v2},掉队者为节点v2,因为它是组内进行本地计算和模型传输花费时间最长的节点,其所花费的时间为
Figure BDA0003413064010000161
为了减少掉队者对组内训练效果的影响,将节点v2的频率设置为
Figure BDA0003413064010000162
对于小组C2={v3,v4,v5},掉队者为节点v4,其所花费的时间为
Figure BDA0003413064010000163
将节点v4的频率设置为
Figure BDA0003413064010000164
S403、计算组内其他边缘节点的聚合频率。对于同一组内,除了掉队者外,其他节点的聚合频率的计算公式为:
Figure BDA0003413064010000165
其中边缘节点m为掉队者,节点p1为节点j和节点m的父节点,节点j为节点i的父节点。因此,对于小组C1={v1,v2},节点v1的聚合频率
Figure BDA0003413064010000166
对于小组C2={v3,v4,v5},节点v3的聚合频率
Figure BDA0003413064010000167
Figure BDA0003413064010000168
节点v5的聚合频率
Figure BDA0003413064010000169
根据S402和S403,能够得出图4b树结构第一层所有节点的聚合频率,分别为
Figure BDA00034130640100001610
Figure BDA00034130640100001611
接着,计算非叶子节点(第二层)的模型聚合频率:
S401、比较组内边缘节点的资源异构程度,即计算组内每个边缘节点所拥有的资源,结果用
Figure BDA00034130640100001612
表示,其中i表示序号为i的节点,且在“树”的第h层;对于聚合节点,节点j的资源指的是节点j进行一轮模型聚合的平均时间和节点j跟其父节点进行模型传输的时间;需要注意的是,一轮模型聚合的时间包括聚合节点j进行聚合的时间以及聚合节点j的孩子节点中,进行相应本地更新或模型聚合和模型传输所花费最长的时间;由于节点进行聚合的时间很短,可忽略不计;
由于第二层只有两个节点,将这两个节点分组,表示为小组C3={C1,C2}。因此,对于小组C3={C1,C2},组内的边缘节点所拥有的资源可表示为
Figure BDA00034130640100001613
Figure BDA00034130640100001614
S402、找到每一组节点中的掉队者,即拥有资源最少的节点,并将掉队者的聚合频率设置为1。对于小组C3={C1,C2},掉队者为组C2中的父节点v3,因为它是组内进行模型聚合和模型传输花费时间最长的节点,其所花费的时间为
Figure BDA0003413064010000171
为了减少掉队者对组内训练效果的影响,将第二层的节点v3的频率设置为
Figure BDA0003413064010000172
S403、计算组内其他边缘节点的聚合频率。对于同一组内,除了掉队者外,其他节点的聚合频率的计算公式为:
Figure BDA0003413064010000173
其中边缘节点m为掉队者,节点p1为节点j和节点m的父节点,节点j为节点i的父节点。因此,对于小组C3={C1,C2},树的第二层节点v1的聚合频率
Figure BDA0003413064010000174
根据S402和S403,能够得出图4b树结构第二层所有节点的聚合频率,分别为
Figure BDA0003413064010000175
Figure BDA0003413064010000176
最后,根据S405,设置根节点的聚合频率,即为模型训练的轮数
Figure BDA0003413064010000177
S5、使用输出的聚合频率进行模型训练,判断该方法的训练效果是否比基准方法差,如果比基准方法好,则S4输出的,是每个边缘节点的最优聚合频率;如果比基准方法差,则使用自适应的方法,在模型训练的过程中动态地调整节点的聚合频率;
S501、使用步骤S4输出的聚合频率,进行模型训练;
S502、判断步骤S501的训练效果是否比基准方法要差;
S503、如果是,则使用自适应的方法,在模型训练的过程中动态地调整节点的聚合频率,具体为:
a、根据实时的训练效果,确定开始调整节点聚合频率的时间点t0=500s;这个时间点指步骤S501在t0时间点的模型精度比基准方法在t0时的模型精度低,且低于某个阈值;需要说明的是,这一步其实就是在判断步骤S501的训练效果是否比基准方法要差。
b、确定在训练过程中调整聚合频率的时间间隔T0=100s,这个时间间隔可以手动设置;
c、使用以下更新规则来调整训练节点的聚合频率:
Figure BDA0003413064010000178
其中,ηt表示在时间点t的学习率,
Figure BDA0003413064010000179
表示在时间点t0的训练损失函数值,
Figure BDA00034130640100001710
表示步骤S4输出的每个边缘节点的聚合频率,τn表示在训练过程中,第n次调整节点聚合频率的频率值;需要注意的是,步骤S503只自适应地调整“树”形结构中,叶子节点(即训练节点)的聚合频率值。
S504、如果不是,则S4输出的结果就是层次化模型训练框架中每个边缘节点的最优聚合频率;
上述实施例为本发明较佳的实施方式,但本发明的实施方式并不受上述实施例的限制,其他的任何未背离本发明的精神实质与原理下所作的改变、修饰、替代、组合、简化,均应为等效的置换方式,都包含在本发明的保护范围之内。

Claims (10)

1.一种针对层次化模型训练框架的聚合频率控制方法,其特征在于,包括以下步骤:
S1、根据边缘节点的网络拓扑结构和其数据集的数据分布,确定层次化模型训练聚合拓扑,边缘节点以树的形式连接,叶子节点负责进行本地更新,非叶子节点负责模型聚合;
S2、定义在层次化模型训练框架下进行模型训练和聚合的过程;
S3、基于层次化模型训练聚合拓扑,对每个边缘节点进行资源建模;
S4、根据每个边缘节点的计算资源和通信资源,使用启发式的算法输出每个边缘节点的聚合频率;
S5、使用输出的聚合频率在层次化模型训练框架下进行模型训练,判断该方法的训练效果是否比基准方法差,如果比基准方法好,则步骤S4的输出为每个边缘节点的最优聚合频率;如果比基准方法差,则使用自适应的方法,在模型训练的过程中动态地调整节点的聚合频率。
2.根据权利要求1所述一种针对层次化模型训练框架的聚合频率控制方法,其特征在于,所述步骤S1具体为:
S101、使用节点分组算法,根据物理网络拓扑、边缘节点所拥有的资源以及其数据分布,将同一层次的边缘节点分成不同的小组,组内的边缘节点会进行模型聚合;
S102、找出每一组节点的中心节点,所述中心节点负责模型聚合,组内的所有节点作为其孩子节点;孩子节点在本地进行模型训练或模型聚合,并将聚合后的模型参数传输给中心节点进行模型聚合,中心节点聚合完成后将聚合后的模型参数下发给中心节点的所有子孙节点,此步骤中,每一个分组节点构成一颗子树;
S103、把步骤S102中构建的子树作为新的节点,形成新的网络拓扑结构,以进行进一步的分组,在新的网络拓扑结构中,步骤S102构建的子树的根节点是网络拓扑中的一个顶点;重复进行步骤S101和步骤S102,对子树进行分组,并形成新的子树结构,直到最终只剩下一颗子树,该子树就是最终确定的层次化模型训练聚合拓扑。
3.根据权利要求1所述一种针对层次化模型训练框架的聚合频率控制方法,其特征在于,步骤S2是在层次化模型训练框架下采用弱同步的通信方式进行模型训练和聚合的过程:
根据网络拓扑和数据分布,边缘节点组织成树的形状,其中叶子节点作为训练节点进行本地更新,非叶子节点作为聚合节点进行模型聚合;若一个边缘节点拥有更多的资源,则该边缘节点既是训练节点,也是聚合节点;一个节点拥有更多的资源,指的是在同一分组内连接同一个父节点的孩子节点进行本地计算和模型传输所花费的时间比其他节点少;
整个模型训练过程,按照层次化的模型训练聚合拓扑,自底向上地进行训练,分为本地更新和模型聚合两个步骤;对于本地更新,叶子节点i并行地进行
Figure FDA0003413064000000021
轮本地更新;接着,叶子节点把本地训练后得到的模型参数上传给其父节点p;对于模型聚合,父节点p接收到其所有孩子节点的模型参数后,计算所有节点模型参数的带权平均和,并把聚合后的模型参数下发给其所有的子孙节点;当聚合节点进行
Figure FDA0003413064000000022
轮的模型聚合后,聚合节点把更新的模型参数发送给其父节点进行模型聚合;整个训练过程,递归地自下往上,直到根节点进行完一轮的全局聚合,并把聚合的模型参数下发给其所有的子孙节点,此时根节点完成一轮全局聚合,即为一轮模型训练,其中,
Figure FDA0003413064000000023
表示在树形结构的第h层且其父节点是p的边缘节点i的聚合频率值;当h=1时,
Figure FDA0003413064000000024
表示边缘节点i的本地更新频率,节点i是训练节点负责本地更新;当1<h时,
Figure FDA0003413064000000025
表示边缘节点i的模型聚合频率,节点是聚合节点负责模型聚合。
4.根据权利要求3所述一种针对层次化模型训练框架的聚合频率控制方法,其特征在于,本地模型参数ωi(ki)的更新遵循以下方式:
Figure FDA0003413064000000026
时,在树形结构第一层的边缘节点进行本地更新,并且更新其本地模型参数:
Figure FDA0003413064000000027
其中,ki表示节点i进行第ki轮本地更新,
Figure FDA0003413064000000028
表示节点i进行第ki轮本地更新时的学习率,
Figure FDA0003413064000000029
表示神经网络反向传播时损失函数的梯度大小;层次化模型训练聚合拓扑呈树形结构,其中叶子节点进行本地更新,即每个叶子节点使用其本地的数据集,对本地模型进行梯度计算,并根据规则更新模型参数;叶子节点进行一定轮次的本地更新后,会把本地模型参数传输给其父节点进行聚合;本地模型参数ωi(ki)指的是每个叶子节点,利用其本地数据集对本地模型进行更新后,传输给其父节点的模型参数;当叶子节点的祖先节点进行完一轮的模型聚合后,也会将聚合后的模型参数下发给该叶子节点,并且更新该叶子节点的本地模型参数ωi(ki);
Figure FDA00034130640000000210
时,在树形结构第二层的边缘节点进行模型聚合,公式为:
Figure FDA00034130640000000211
其中,Cp,h表示在树形结构的第h层的节点p的孩子节点集合;Di表示节点i的本地数据集;|Dp,h|表示在树形结构的第h层的节点p,其所有孩子节点共有的本地数据集数量;
Figure FDA00034130640000000212
表示在树形结构的第h层且其父节点是p的边缘节点i,进行模型聚合后的模型参数;
Figure FDA0003413064000000031
时,在树形结构第h层的边缘节点进行模型聚合,公式为:
Figure FDA0003413064000000032
其中,H表示层次化模型训练聚合拓扑(树形结构)的层数,
Figure FDA0003413064000000033
表示聚合节点ph-2进行模型聚合后的模型参数,这个聚合节点ph-2在树形结构的第h层,且其父节点为ph-1
Figure FDA0003413064000000034
表示在树形结构的第h层的节点ph-2的孩子节点集合;Di,h-1表示在树形结构的第h-1层的节点i,其所有孩子节点共有的本地数据集;
Figure FDA0003413064000000035
表示聚合节点i进行模型聚合后的模型参数,这个聚合节点i在树形结构的第h-1层,且其父节点为ph-2
对于祖先节点为ph-2的所有叶子节点,这些叶子节点的模型参数更新为
Figure FDA0003413064000000036
Figure FDA0003413064000000037
时,在树形结构的第H层的根节点进行全局聚合,并把聚合后的模型参数下发给其所有的子孙节点,全局聚合的公式为:
Figure FDA0003413064000000038
其中,ωt表示在第t轮模型训练的全局模型参数,对于每一个叶子节点,它们的模型参数更新为ωt;N表示网络拓扑中边缘节点的数量,D表示网络拓扑中所有边缘节点的本地数据集。
5.根据权利要求1所述一种针对层次化模型训练框架的聚合频率控制方法,其特征在于,所述步骤S3对每个边缘节点进行资源建模,包括以下步骤:
S301、对于计算资源,在批处理大小、学习率确定的情况下,进行预训练,获得每个边缘节点进行一轮本地更新所需的平均时间
Figure FDA0003413064000000039
其中i表示边缘节点的序号,p是边缘节点i的父节点;预训练的实验条件跟正式的模型训练相同,包括边缘设备所分配的计算和通信资源,预训练的实验条件所拥有的数据集,进行机器学习训练的批量大小、学习率相同;
S302、对于通信资源,评估节点间传输时间:
Figure FDA00034130640000000310
其中,Bi,j表示边缘节点i和节点j间的网络带宽,d表示传输的模型大小。
6.根据权利要求1所述一种针对层次化模型训练框架的聚合频率控制方法,其特征在于,步骤S4中,使用启发式的算法输出每个边缘节点的聚合频率
Figure FDA00034130640000000311
其中,i表示边缘节点的序号,且边缘节点在树中的父节点是p,h表示边缘节点在树的层级,确定在树形结构中每个边缘节点的聚合频率,包括以下步骤:
S401、以连接到同一父节点的边缘节点为一组,比较组内边缘节点的资源异构程度;
S402、找到每一组节点中的掉队者,即在本地计算和模型传输中花费最长时间的节点,并将掉队者的聚合频率设置为1;
S403、计算组内其他边缘节点的聚合频率;
S404、在树形结构,自底向上递归地计算每一组边缘节点的聚合频率;
S405、设置根节点的聚合频率,即为模型训练的轮数。
7.根据权利要求6所述一种针对层次化模型训练框架的聚合频率控制方法,其特征在于,步骤S401中,将边缘节点的资源异构映射到时间的维度以比较组内边缘节点的资源异构程度,具体包括以下步骤:
a、对于训练节点,节点i的资源指的是节点i进行一轮本地更新所花费的平均时间和节点i跟其父节点进行模型传输的时间;当节点的父节点是其本身,传输时间的值为0;
b、对于聚合节点,节点j的资源指的是节点j进行一轮模型聚合的平均时间和节点j跟其父节点进行模型传输的时间;一轮模型聚合的时间包括聚合节点j进行聚合的时间以及聚合节点j的孩子节点中,进行相应本地更新或模型聚合和模型传输所花费最长的时间;
c、计算树形结构中所有边缘节点所拥有的资源,包括计算时间
Figure FDA0003413064000000041
和通信时间
Figure FDA0003413064000000042
之和计算结果
Figure FDA0003413064000000043
其中i表示序号为i的节点,且在树的第h层。
8.根据权利要求6所述一种针对层次化模型训练框架的聚合频率控制方法,其特征在于,掉队者是从组中找到所拥有的资源最少的节点,即从
Figure FDA0003413064000000044
中找到最大值
Figure FDA0003413064000000045
其中边缘节点m即为掉队者,p1为边缘节点m的父节点;为了减少掉队者对组内训练效果的影响,将掉队者m的聚合频率设置为
Figure FDA0003413064000000046
其中h表示节点m在树形结构的第h层。
9.根据权利要求8所述一种针对层次化模型训练框架的聚合频率控制方法,其特征在于,对于同一组内,除了掉队者外,其他节点的聚合频率为:
对于训练节点,计算公式为:
Figure FDA0003413064000000047
对于聚合节点,计算公式为:
Figure FDA0003413064000000048
其中
Figure FDA0003413064000000049
表示组中找到所拥有的资源最少的节点,边缘节点m为掉队者,节点p1为节点m的父节点;
Figure FDA0003413064000000051
表示从节点i传输模型参数到节点p所需的传输时间;
Figure FDA0003413064000000052
表示节点i进行一轮本地更新所花费的平均时间,也称为计算时间,其中节点p为节点i的父节点。
10.根据权利要求1~9任一项所述一种针对层次化模型训练框架的聚合频率控制方法,其特征在于,在层次化的模型训练框架下,模型训练的过程中动态地调整节点的聚合频率,包括以下步骤:
a、根据实时的训练效果,确定开始调整节点聚合频率的时间点t0;在时间点t0模型精度比基准方法在时间点t0时的模型精度低,且低于阈值;
b、确定在训练过程中调整聚合频率的时间间隔T0
c、使用以下更新规则调整训练节点的聚合频率:
Figure FDA0003413064000000053
其中,
Figure FDA0003413064000000054
表示在时间点t0的学习率,
Figure FDA0003413064000000055
表示在时间点t0的训练损失函数值,
Figure FDA0003413064000000056
表示步骤S4输出的每个边缘节点的聚合频率,τn表示在训练过程中,第n次调整节点聚合频率的频率值。
CN202111535624.XA 2021-12-15 2021-12-15 一种针对层次化模型训练框架的聚合频率控制方法 Active CN114357676B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111535624.XA CN114357676B (zh) 2021-12-15 2021-12-15 一种针对层次化模型训练框架的聚合频率控制方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111535624.XA CN114357676B (zh) 2021-12-15 2021-12-15 一种针对层次化模型训练框架的聚合频率控制方法

Publications (2)

Publication Number Publication Date
CN114357676A true CN114357676A (zh) 2022-04-15
CN114357676B CN114357676B (zh) 2024-04-02

Family

ID=81099614

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111535624.XA Active CN114357676B (zh) 2021-12-15 2021-12-15 一种针对层次化模型训练框架的聚合频率控制方法

Country Status (1)

Country Link
CN (1) CN114357676B (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115173924A (zh) * 2022-07-06 2022-10-11 多彩贵州印象网络传媒股份有限公司 一种基于云边协同技术的无人机无人巡检管理系统
CN115630745A (zh) * 2022-11-03 2023-01-20 重庆理工大学 一种面向城市分级协同供水的多区域需水量预测方法
CN117709486A (zh) * 2024-02-05 2024-03-15 清华大学 一种面向协作学习的动态聚合方法及装置

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017041372A1 (zh) * 2015-09-07 2017-03-16 百度在线网络技术(北京)有限公司 基于人工智能的人机交互方法和系统
CN109818796A (zh) * 2019-02-11 2019-05-28 南方科技大学 数据中心构建方法、装置、电子设备和介质
CN112070240A (zh) * 2020-09-07 2020-12-11 清华大学 一种高效通信的分层联邦学习框架及其优化方法和系统
CN112817653A (zh) * 2021-01-22 2021-05-18 西安交通大学 一种基于云边端的联邦学习计算卸载计算系统及方法
CN113286329A (zh) * 2021-05-19 2021-08-20 南京邮电大学 基于移动边缘计算的通信和计算资源联合优化方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017041372A1 (zh) * 2015-09-07 2017-03-16 百度在线网络技术(北京)有限公司 基于人工智能的人机交互方法和系统
CN109818796A (zh) * 2019-02-11 2019-05-28 南方科技大学 数据中心构建方法、装置、电子设备和介质
CN112070240A (zh) * 2020-09-07 2020-12-11 清华大学 一种高效通信的分层联邦学习框架及其优化方法和系统
CN112817653A (zh) * 2021-01-22 2021-05-18 西安交通大学 一种基于云边端的联邦学习计算卸载计算系统及方法
CN113286329A (zh) * 2021-05-19 2021-08-20 南京邮电大学 基于移动边缘计算的通信和计算资源联合优化方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
解红;刘建;: "基于结构化Gossip协议的网格服务发现", 山东理工大学学报(自然科学版), no. 01, 28 February 2007 (2007-02-28) *

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115173924A (zh) * 2022-07-06 2022-10-11 多彩贵州印象网络传媒股份有限公司 一种基于云边协同技术的无人机无人巡检管理系统
CN115630745A (zh) * 2022-11-03 2023-01-20 重庆理工大学 一种面向城市分级协同供水的多区域需水量预测方法
CN115630745B (zh) * 2022-11-03 2023-04-18 重庆理工大学 一种面向城市分级协同供水的多区域需水量预测方法
CN117709486A (zh) * 2024-02-05 2024-03-15 清华大学 一种面向协作学习的动态聚合方法及装置
CN117709486B (zh) * 2024-02-05 2024-04-19 清华大学 一种面向协作学习的动态聚合方法及装置

Also Published As

Publication number Publication date
CN114357676B (zh) 2024-04-02

Similar Documents

Publication Publication Date Title
CN114357676B (zh) 一种针对层次化模型训练框架的聚合频率控制方法
Liu et al. FedCPF: An efficient-communication federated learning approach for vehicular edge computing in 6G communication networks
CN111629380B (zh) 面向高并发多业务工业5g网络的动态资源分配方法
CN112070240A (zh) 一种高效通信的分层联邦学习框架及其优化方法和系统
CN112598150B (zh) 一种在智能电厂中基于联邦学习提升火灾检测效果的方法
CN114697229B (zh) 一种分布式路由规划模型的构建方法及应用
CN113518007B (zh) 一种基于联邦学习的多物联网设备异构模型高效互学习方法
WO2024032121A1 (zh) 一种基于云边端协同的深度学习模型推理加速方法
CN105515987A (zh) 一种基于sdn架构面向虚拟光网络的映射方法
CN103596191A (zh) 一种无线传感器网络智能配置系统及其方法
CN112637883A (zh) 电力物联网中对无线环境变化具有鲁棒性的联邦学习方法
WO2023109699A1 (zh) 一种多智能体的通信学习方法
CN102299854A (zh) 一种面向机会网络环境的多目标路由决策系统
Sun et al. Accelerating convergence of federated learning in mec with dynamic community
Liu et al. Finch: Enhancing federated learning with hierarchical neural architecture search
Zehtabi et al. Decentralized event-triggered federated learning with heterogeneous communication thresholds
CN115907038A (zh) 一种基于联邦拆分学习框架的多元控制决策方法
Cui et al. Multi-Agent Reinforcement Learning Based Cooperative Multitype Task Offloading Strategy for Internet of Vehicles in B5G/6G Network
Zehtabi et al. Event-triggered decentralized federated learning over resource-constrained edge devices
Chen et al. Enhancing decentralized federated learning for non-iid data on heterogeneous devices
CN116233954A (zh) 基于联邦学习系统的分簇数据共享方法、装置及存储介质
Liu et al. Adaptive Federated Pruning in Hierarchical Wireless Networks
CN112511445B (zh) 一种基于负载加权的最短路径路由生成方法
CN114022731A (zh) 基于drl的联邦学习节点选择方法
Qi et al. Edge-edge Collaboration Based Micro-service Deployment in Edge Computing Networks

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