CN111580970A - 一种联邦学习的模型分发与聚合的传输调度方法 - Google Patents
一种联邦学习的模型分发与聚合的传输调度方法 Download PDFInfo
- Publication number
- CN111580970A CN111580970A CN202010377635.9A CN202010377635A CN111580970A CN 111580970 A CN111580970 A CN 111580970A CN 202010377635 A CN202010377635 A CN 202010377635A CN 111580970 A CN111580970 A CN 111580970A
- Authority
- CN
- China
- Prior art keywords
- node
- model
- aggregation
- distribution
- scheduling
- 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
Images
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
- 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/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Artificial Intelligence (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Medical Informatics (AREA)
- Computing Systems (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种联邦学习的模型分发与聚合的传输调度方法,涉及模型训练通信技术领域,该方法通过调度节点实现对各执行节点的在线调度,使已拥有最新全局模型的执行节点,向不具有最新全局模型的执行节点传输最新全局模型,直至所有的执行节点均拥有最新全局模型;通过调度节点实现对各执行节点的在线调度,使各执行节点之间进行模型数据的局部聚合,所有模型数据的聚合方向最终均指向中心服务器,直至所有参与节点的本地模型数据均聚合至中心服务器。本发明充分利用参与节点间的带宽资源加速模型通信,缓解了模型分发或聚合过程中流组的盲目竞争,减小了带宽受限的域间网络的拥塞程度,大大提高了联邦学习模型的训练效率,不会降低模型质量。
Description
技术领域
本发明涉及模型训练通信技术领域,具体而言,涉及一种联邦学习的模型分发与聚合的传输调度方法。
背景技术
联邦(机器)学习是一种新兴的分布式机器学习范式,在该范式下,各个计算实体(移动/边缘设备、跨地域的机构)在中心服务器(例如,服务提供商)的协调下共同训练一个机器学习模型。由于数据始终驻留在计算实体本地,联邦学习降低了传统集中式机器学习的隐私风险和数据转移成本。作为一种新型的人工智能基础技术,联邦学习近几年已经得到学术界和工业界的广泛关注,成为机器学习发展和应用的新趋势。
联邦学习中一次模型训练通常包含多个迭代轮次,每一个迭代轮次包含模型分发、模型计算、模型聚合和模型更新四个步骤(当计算实体数量大时可能包含实体选择步骤)。模型分发指中心服务器将最新模型分发给各个参与节点;模型计算指参与节点依据最新模型和本地数据计算后获得模型更新量或梯度;模型聚合指参与节点将计算后的模型更新量或梯度汇聚到中心服务器;模型更新指中心服务器依据聚合后的模型更新量或梯度更新全局模型。模型训练过程不断重复以上四个步骤,直至全局模型收敛(即该模型在标准测试集的精度达到理想值)。在已有联邦学习架构(例如TensorFlow Federated、FATE)中,上述步骤中的模型分发与模型聚合普遍采用Hub-and-spoke模式,在该模式下,中心服务器作为唯一的模型分发者和聚合者,与参与节点间周期性的产生大量的模型通信。在实际的部署环境中,中心服务器和各个参与节点通常是跨地域分布的,它们之间的网络是跨域公共网络的一部分,具有带宽受限、异构动态等特点。因而,频繁且大量的模型通信产生的通信开销是联邦学习训练效率的主要瓶颈。目前,一般是从通信高效的算法层面研究压缩方法来降低模型通信的数据量,但是这些方法可能会导致模型质量降低。
已有的联邦学习架构中,模型分发与聚合普遍采用简单的Hub-and-spoke模式,该模式下,中心服务器与参与节点的模型通信流存在盲目的流组竞争,加剧了带宽受限的域间网络的拥塞程度,使得通信瓶颈更加严峻。
发明内容
本发明在于提供一种联邦学习的模型分发与聚合的传输调度方法,其能够缓解上述问题。
为了缓解上述的问题,本发明采取的技术方案如下:
一种联邦学习的模型分发与聚合的传输调度方法,包括模型分发调度方法以及模型聚合调度方法,联邦学习中的中心服务器和参与节点均为用于执行流程的执行节点;
所述模型分发调度方法包括:通过调度节点实现对各执行节点的在线调度,使已拥有最新全局模型的执行节点,向不具有最新全局模型的执行节点传输最新全局模型,直至所有的执行节点均拥有最新全局模型,结束模型分发;
所述模型聚合调度方法包括:通过调度节点实现对各执行节点的在线调度,使各执行节点之间进行模型数据的局部聚合,所有模型数据的聚合方向最终均指向中心服务器,直至所有参与节点的本地模型数据均聚合至中心服务器,结束模型聚合。
本技术方案的技术效果是:该方法将参与节点也作为模型分发中的最新全局模型发送方,且使各执行节点之间进行局部聚合,并最终将所有参与节点的本地模型数据均聚合至中心服务器,充分利用参与节点间的带宽资源加速模型通信,在一定程度上缓解了模型分发或聚合过程中流组的盲目竞争问题,减小了带宽受限的域间网络的拥塞程度,能够大大的提高联邦学习模型的训练效率,而且不会降低模型质量。
进一步地,所述调度节点与各执行节点通过调度信息交互逻辑网络进实时交互调度控制信息。
本技术方案的技术效果是:可以动态地尽可能及时适应网络状况的变化,更为充分地发掘和利用了网络性能。
进一步地,各执行节点均具有用于表示自己身份信息的唯一编号。
本技术方案的技术效果是:便于传输调度时实现对各执行节点的准确区分。
更进一步地,所述调度节点设置有分发状态记录表,所述分发状态记录表记录了各执行节点是否拥有最新全局模型的状态值,所述分发状态记录表根据执行节点发出的分发请求消息实时更新;
若调度节点收到的分发请求消息包含上次模型分发任务中模型接收执行节点的编号,则更新分发状态记录表中该编号所对应的状态为已拥有最新全局模型;
当调度节点接收到来自某执行节点的分发请求消息时,则需向该执行节点发送分发回复消息;
当执行节点拥有最新全局模型且还未执行过模型分发任务时,其向所述调度节点发送的分发请求消息包括其编号;
当执行节点拥有最新全局模型且已执行过模型分发任务时,其向所述调度节点发送的分发请求消息包括其编号以及上次模型分发任务中模型接收执行节点的编号;
若最新的分发状态记录表中显示所有的执行节点均拥有最新全局模型,则调度节点结束模型分发调度,所述分发回复消息显示模型分发完成,收到该分发回复消息的执行节点停止向调度节点发送分发请求消息;
若最新的分发状态记录表中显示还存在执行节点未拥有最新全局模型,则调度节点等待接收分发请求消息,拥有最新全局模型且无其它操作的执行节点向调度节点发送分发请求消息,所述分发回复消息显示模型分发未完成,以及未拥有最新全局模型的执行节点的编号,收到该分发回复消息的执行节点,向该分发回复消息中指定的未拥有最新全局模型的执行节点分发最新全局模型。
本技术方案的技术效果是:缓解了模型分发过程中流组的盲目竞争,充分利用参与节点间的带宽资源加速模型通信,与利用网内组播协议或网内计算技术使模型在网络设备内进行分发以降低通信流量的方法相比,不依赖于网内设备的协议支持和计算支持,不需要对网内设备进行调控,便于实施和部署,能适用于跨广域网的联邦学习场景。
更进一步地,当模型分发未完成时,所述分发回复消息所显示的未拥有最新全局模型的执行节点的编号有且仅有一个。
本技术方案的技术效果是:能实现更及时的动态决策,进一步缓解模型分发过程中流组的盲目竞争。
更进一步地,当前执行节点拥有最新全局模型且已执行过模型分发任务时,其发送的分发请求消息还包括上次模型分发任务中其与模型接收执行节点之间的网络吞吐量数据,所述调度节点将已知的与该当前执行节点之间网络吞吐量最大的执行节点,作为其下次模型分发任务中的模型接收执行节点。
本技术方案的技术效果是:能够动态的自适应于节点间的网络吞吐变化,使得该方法在跨广域的动态网络下依然能够实时构建较优的分发路径;充分利用节点间的带宽资源加速模型通信,能够显著降低模型分发的通信时延。
更进一步地,所述模型聚合调度方法具体包括以下步骤:
S1、具备聚合条件的执行节点向调度节点发送聚合请求消息,所述具备聚合条件的执行节点指的是已完成本地模型训练或局部聚合任务的执行节点,所述聚合请求消息包括本次请求的执行节点编号;
S2、调度节点持续等待接收消息,如果收到聚合请求消息,则转至步骤S3,如果收到聚合确认消息,则转至步骤S7;
S3、调度节点将该聚合请求消息中的执行节点编号加入聚合调度队列中,若此时聚合调度队列中的编号个数为1,则转至步骤S2,若此时聚合调度队列中的编号个数为2,则继续执行步骤S4;
S4、调度节点从聚合调度队列中取出两个编号,使得聚合调度队列为空,根据该两个编号构建聚合回复消息,所述聚合回复消息能体现出将该两个编号中的一编号所对应的执行节点作为发送执行节点,以及将该两个编号中的另一编号所对应的执行节点作为接收执行节点,将聚合回复消息发送至该发送执行节点和接收执行节点;
S5、执行节点收到聚合回复消息,若其根据该聚合回复消息判断其自身为接收执行节点,则等待接收到来自发送执行节点的本地模型数据后,将该接收到的本地模型数据与自身原有的本地模型数据聚合,并转至步骤S1,若其根据该聚合回复消息判断其自身为发送执行节点,则将其所有的本地模型数据发送至接收执行节点后转至步骤S6;
S6、发送执行节点向调度节点发送聚合确认消息,并结束本次局部聚合任务,所述聚合确认消息包括该次局部聚合任务的发送执行节点编号和接收执行节点编号;
S7、调度节点根据接收到的聚合确认消息数量判断是否所有参与节点的本地模型数据均聚合至中心服务器,若是,则结束模型聚合,否则转至步骤S2。
本技术方案的技术效果是:缓解了模型聚合过程中流组的盲目竞争,充分利用参与节点间的带宽资源加速模型通信,与利用网内组播协议或网内计算技术使模型在网络设备内进行聚合以降低通信流量的方法相比,不依赖于网内设备的协议支持和计算支持,不需要对网内设备进行调控,便于实施和部署,能适用于跨广域网的联邦学习场景。
更进一步地,所述步骤S6中,发送执行节点所发送的聚合确认消息,还包括其本次局部聚合任务中,与接收执行节点之间的网络吞吐量数据;在聚合回复消息的决策中,对于执行节点h和执行节点k,设ahk为执行节点h向执行节点k发送数据时的网络吞吐量,akh为执行节点k向执行节点h发送数据时的网络吞吐量,若ahk>akh,则调度节点将执行节点h作为发送执行节点,将执行节点k作为接收执行节点,否则将执行节点k作为发送执行节点,将执行节点h作为接收执行节点。
本技术方案的技术效果是:能够自适应于参与节点间网络吞吐的变化,尽可能降低局部聚合的通信时延,使得该方法在非专用网络下始终能够保持较低的聚合时延。
更进一步地,所述调度节点设置有确认计数变量count,在整体训练开始及每一轮模型聚合结束时,其值均初始化为0;在同一轮模型聚合中,调度节点每接收到一次聚合确认消息,count的值均加1。
本技术方案的技术效果是:便于判断是否所有参与节点的本地模型数据均聚合至中心服务器。
为使本发明的上述目的、特征和优点能更明显易懂,下文特举本发明实施例,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1是实施例中联邦学习的模型分发与聚合的传输调度架构图;
图2是实施例中模型分发调度方法的流程图;
图3是实施例中聚合调度队列及其工作模式的示意图;
图4是实施例中模型聚合调度方法的流程图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和展示出的本发明实施例的组件可以以各种不同的配置来布置和设计。
因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例
请参照图1~图4,本实施例提供了一种联邦学习的模型分发与聚合的传输调度方法,包括模型分发调度方法以及模型聚合调度方法,联邦学习中的中心服务器和参与节点均为用于执行流程的执行节点。
在本实施例中,传输调度方法的调度架构如图1所示,其包括一调度组件和若干执行组件。调度组件所在的节点即为调度节点,负责感知集群状态、执行传输调度决策等。执行组件所在的节点即为执行节点,包含联邦学习中的中心服务器和参与节点,是模型传输的对等实体。调度节点与各执行节点组成星形逻辑网络,实时交互调度控制信息(例如调度策略和执行反馈)。
在本实施例中,各执行节点均具有用于表示自己身份信息的唯一编号。
如图2所示,本实施例的模型分发调度方法具体包括:
调度节点设置有分发状态记录表,分发状态记录表记录了各执行节点是否拥有最新全局模型的状态值,分发状态记录表根据执行节点发出的分发请求消息实时更新;
若调度节点收到的分发请求消息包含上次模型分发任务中模型接收执行节点的编号,则更新分发状态记录表中该编号所对应的状态为已拥有最新全局模型;
当调度节点接收到来自某执行节点的分发请求消息时,则需向该执行节点发送分发回复消息;
当执行节点拥有最新全局模型且还未执行过模型分发任务时,其向调度节点发送的分发请求消息包括其编号;
当执行节点拥有最新全局模型且已执行过模型分发任务时,其向调度节点发送的分发请求消息包括其编号以及上次模型分发任务中模型接收执行节点的编号;
若最新的分发状态记录表中显示所有的执行节点均拥有最新全局模型,则调度节点结束模型分发调度,分发回复消息显示模型分发完成,收到该分发回复消息的执行节点停止向调度节点发送分发请求消息;
若最新的分发状态记录表中显示还存在执行节点未拥有最新全局模型,则调度节点等待接收分发请求消息,拥有最新全局模型且无其它操作的执行节点向调度节点发送分发请求消息,分发回复消息显示模型分发未完成,以及未拥有最新全局模型的执行节点的编号,收到该分发回复消息的执行节点,向该分发回复消息中指定的未拥有最新全局模型的执行节点分发最新全局模型;
当模型分发未完成时,分发回复消息所显示的未拥有最新全局模型的执行节点的编号有且仅有一个,即使得已拥有模型的执行节点在一次传输请求中仅向一个不拥有模型的执行节点传送模型,这样能缓解流竞争;
当前执行节点拥有最新全局模型且已执行过模型分发任务时,其发送的分发请求消息还包括上次模型分发任务中其与模型接收执行节点之间的网络吞吐量数据,调度节点将已知的与该当前执行节点之间网络吞吐量最大的执行节点,作为其下次模型分发任务中的模型接收执行节点。
表1为本实施例中分发请求消息的关键变量。
表1
当执行节点拥有最新全局模型且还未执行过模型分发任务时,分发请求消息中的sa缺省,当执行节点拥有最新全局模型且已执行过模型分发任务时,分发请求消息中的sa赋值为(j,x)。
在本实施例中,调度节点按照既定的调度策略,基于其内部动态集群状态信息,其除了设置有分发状态记录表B外,还具有集群网络状态矩阵A。
集群网络状态矩阵A的公式为:
其中,aij表示节点i到节点j的网络吞吐量,若aij=-1表示当前节点i到节点j的网络吞吐量未知。
分发状态记录表B的公式为:
[b1 b2 b3…bn]
其中,bi表示该轮模型分发中节点i是否收到全局模型,bi=0表示节点i未收到,bi=1表示节点i已收到。
分发状态记录表B和集群网络状态矩阵A根据分发请求消息进行更新,若分发请求消息中的sa缺省,则无需对集群网络状态矩阵A进行更新,仅对分发状态记录表B进行更新,否则更新集群网络状态矩阵A;
如执行节点S向调度节点发送了缺省sa的分发请求消息,且分发状态记录表B中与执行节点S对应的bs=0,则修改为bs=1。
如执行节点S向调度节点发送了不缺省sa=(j,x)的分发请求消息,则将集群网络状态矩阵A中与执行节点S对应的的元素asj的值修改为x。
在进行了上述更新后,调度节点就可依据状态信息,为执行节点在线决策模型接收节点,本实施例中提出是路径探索和贪心决策相结合的接收节点决策算法,由于模型分发是反复迭代的,该决策算法使得调度节点能够根据模型传输的反馈逐渐感知执行节点间的网络状态(实时网络吞吐),并逐步优化分发路径,具体如下:
1)调度节点检查分发状态记录表B是否所有项全为1(可通过表项求和方式快速确定),若是执行步骤2),否则执行步骤3);
2)调度节点设定分发回复消息中变量ns为0,r缺省,然后调度节点向请求执行节点发送分发回复消息;
3)遍历集群网络状态矩阵A的第s行,获取状态值为(ash !=-1,bh=0,h=0,1,2,…,n)的h的数目SN和ash最大值对应的列索引k;
4)从s行中状态值为(ash=-1,bh=0,h=0,1,2,…,n)的h中随机选取k*;
5)以概率p(p=SN/TOTs,TOTs为总执行节点数)设置分发回复消息中r=k,否则设置r=k*,然后调度节点向请求执行节点发送分发回复消息。
分发回复消息的关键变量如表2所示:
表2
如图3、图4所示,下面对本实施例的模型聚合调度方法进行说明:
为了缓解流竞争,本实施例规定在一次局部聚合中节点组仅有两个执行节点(分别为发送节点和接收节点)。
由于联邦学习中参与节点的算力是异构的,参与节点完成本地训练的时间差异较大,为了最小化局部聚合的等待时延,本实施例优先局部聚合请求时间相邻的参与节点,直至模型聚合完成。
在本实施例中,调度节点使用聚合调度队列Q(先进先出队列,如图3所示)来完成传输调度,并且复合使用模型分发中的集群网络状态矩阵A感知执行节点间的网络吞吐。表3、4、5分别为聚合请求消息、聚合回复消息和聚合确认消息的关键变量说明。
表3
变量名称 | 描述 |
S | 本次请求的执行节点编号 |
表4
变量名称 | 描述 |
s | 局部聚合的发送节点编号 |
r | 局部聚合的接收节点编号 |
表5
本实施中的模型聚合调度方法具体包括以下步骤:
S1、具备聚合条件的执行节点向调度节点发送聚合请求消息,具备聚合条件的执行节点指的是已完成本地模型训练或局部聚合任务的执行节点,聚合请求消息包括本次请求的执行节点编号,见表3;
S2、调度节点持续等待接收消息,如果收到聚合请求消息,则转至步骤S3,如果收到聚合确认消息,则转至步骤S7;
S3、调度节点将该聚合请求消息中的执行节点编号加入聚合调度队列Q中,若此时聚合调度队列Q中的编号个数为1,则转至步骤S2,若此时聚合调度队列中的编号个数为2,则继续执行步骤S4;
S4、调度节点从聚合调度队列中取出两个编号,使得聚合调度队列为空,根据该两个编号构建聚合回复消息,见表4,聚合回复消息能体现出将该两个编号中的一编号所对应的执行节点作为发送执行节点,以及将该两个编号中的另一编号所对应的执行节点作为接收执行节点,将聚合回复消息发送至该发送执行节点和接收执行节点;
S5、执行节点收到聚合回复消息,若其根据该聚合回复消息判断其自身为接收执行节点,则等待接收到来自发送执行节点的本地模型数据后,将该接收到的本地模型数据与自身原有的本地模型数据聚合,并转至步骤S1,若其根据该聚合回复消息判断其自身为发送执行节点,则将其所有的本地模型数据发送至接收执行节点后转至步骤S6;
S6、发送执行节点向调度节点发送聚合确认消息,并结束本次局部聚合任务,如表5所示,聚合确认消息包括该次局部聚合任务的发送执行节点编号、接收执行节点编号以及模型传输过程中统计的发送方与接收方之间的网络吞吐量;
S7、调度节点根据接收到的聚合确认消息数量对集群网络状态矩阵A进行更新,并判断是否所有参与节点的本地模型数据均聚合至中心服务器,若是,则结束模型聚合,否则转至步骤S2。
在步骤S4中,对于两个执行节点,按如下方式确定发送执行节点和接收执行节点。
例如对于执行节点h和执行节点k;
设ahk为执行节点h向执行节点k发送数据时的网络吞吐量,akh为执行节点k向执行节点h发送数据时的网络吞吐量;
若ahk>akh,则调度节点将执行节点h作为发送执行节点,将执行节点k作为接收执行节点,即设置聚合回复消息:s=h,r=k。之后向并向节点h和k发送该设置的聚合回复消息。
否则将执行节点k作为发送执行节点,将执行节点h作为接收执行节点,设置聚合回复消息:s=k,r=h。之后向并向节点h和k发送该设置的聚合回复消息。
在本实施例中,调度节点设置有确认计数变量count,在整体训练开始及每一轮模型聚合结束时,其值均初始化为0;在同一轮模型聚合中,调度节点每接收到一次聚合确认消息,则解析聚合确认消息,利用聚合确认消息中的x更新矩阵A中元素aij的值,并将计数变量count加1。
在本实施例中,可根据count的累加值判断是否所有参与节点的本地模型数据均聚合至中心服务器,若count=n-1(n为执行节点数目),则说明所有参与节点的本地模型数据均聚合至中心服务器。调度节点将中心服务器也看作是执行节点来调度,聚合结束时,除中心服务器外其它所有执行节点均向调度节点发送了确认消息,所以共有n-1条确认消息。
根据上述实施例可知,本发明所述联邦学习的模型分发与聚合的传输调度方法具有以下特点:
1)提出集中式的传输调度架构及方法对模型分发与聚合过程的模型传输路径和传输顺序进行调度。该传输调度方法不针对特定的联邦学习框架,可以适配到目前主流的联邦学习框架中,并且兼容其它联邦学习的通信优化方案。
2)将模型分发的传输调度问题转化成为已拥有模型的执行节点在线决策模型接收节点的问题。本发明采用随机和贪心相结合的方法决策模型接收节点,由于模型分发反复周期迭代的特点,该方法能够探索参与节点间网络吞吐,并在感知网络状态的基础上逐渐优化模型分发的传输路径。
3)将模型聚合的传输调度问题转化为局部聚合的节点组和聚合方向的在线决策问题。本发明优先聚合请求消息到达时间相邻的执行节点,并选择网络吞吐较大的方向作为模型聚合方向。该方法可降低模型聚合中的等待时延。
本发明所述联邦学习的模型分发与聚合的传输调度方法可按如下方法部署:
1)适用场景
本发明适用于中心服务器协调的联邦学习范式,本发明可作为该类联邦学习框架的传输调度组件使用。由于本发明的组件间的信息交互和调度方法对联邦学习应用上层是透明的,因而本发明不对应用上层所采用的联邦学习算法做任何限制。为了使本发明的传输调度方法能够正常执行并发挥有益效果,本发明的应用场景应满足如下条件:1)参与节点间是互相可访问的,即参与节点有唯一的寻址标识。由于本发明的传输调度方法利用参与节点协助转发和汇聚,所以参与节点间必须能够互相访问,例如,在跨机构的联邦学习中,机构内接入的物理服务器具有唯一的公网IP,此时机构间的物理服务器可互相访问。2)参与联邦学习的节点对象、数目是固定的。由于本发明的传输调度方法依赖参与节点间的网络吞吐,为了保证网络感知的有效性,必须保证联邦学习训练周期内每一轮次的参与节点对象、数目是固定的,例如,在跨机构的联邦学习中,在一次联邦学习训练周期中参与机构是不变的且稳定可靠。
2)部署和使用方法
如图1所示,本发明的传输调度架构包含调度组件和执行组件,在应用部署中,通常将调度组件部署在联邦学习框架中的调度节点中(部署调度组件的节点称为调度节点),而执行组件分别部署在联邦学习框架中的中心服务器和参与节点中(部署执行组件的节点称为执行节点)。在应用使用中,中心服务器完成模型更新后调用模型分发接口(本发明提供的API为_distribute_(),见表6)将模型发送到执行组件中,并阻塞等待模型聚合后的模型。参与节点完成模型计算后调用模型聚合接口(本发明提供的API为_aggregate_(),见表6)将模型发送到执行组件中,并阻塞等待模型分发后的模型。
表6模型分发和聚合函数接口
以上仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (9)
1.一种联邦学习的模型分发与聚合的传输调度方法,包括模型分发调度方法以及模型聚合调度方法,联邦学习中的中心服务器和参与节点均为用于执行流程的执行节点,其特征在于,
所述模型分发调度方法包括:通过调度节点实现对各执行节点的在线调度,使已拥有最新全局模型的执行节点,向不具有最新全局模型的执行节点传输最新全局模型,直至所有的执行节点均拥有最新全局模型,结束模型分发;
所述模型聚合调度方法包括:通过调度节点实现对各执行节点的在线调度,使各执行节点之间进行模型数据的局部聚合,所有模型数据的聚合方向最终均指向中心服务器,直至所有参与节点的本地模型数据均聚合至中心服务器,结束模型聚合。
2.根据权利要求1所述联邦学习的模型分发与聚合的传输调度方法,其特征在于,所述调度节点与各执行节点通过调度信息交互逻辑网络进实时交互调度控制信息。
3.根据权利要求1或2所述联邦学习的模型分发与聚合的传输调度方法,其特征在于,各执行节点均具有用于表示自己身份信息的唯一编号。
4.根据权利要求3所述的联邦学习的模型分发与聚合的传输调度方法,其特征在于,
所述调度节点设置有分发状态记录表,所述分发状态记录表记录了各执行节点是否拥有最新全局模型的状态值,所述分发状态记录表根据执行节点发出的分发请求消息实时更新;
若调度节点收到的分发请求消息包含上次模型分发任务中模型接收执行节点的编号,则更新分发状态记录表中该编号所对应的状态为已拥有最新全局模型;
当调度节点接收到来自某执行节点的分发请求消息时,则需向该执行节点发送分发回复消息;
当执行节点拥有最新全局模型且还未执行过模型分发任务时,其向所述调度节点发送的分发请求消息包括其编号;
当执行节点拥有最新全局模型且已执行过模型分发任务时,其向所述调度节点发送的分发请求消息包括其编号以及上次模型分发任务中模型接收执行节点的编号;
若最新的分发状态记录表中显示所有的执行节点均拥有最新全局模型,则调度节点结束模型分发调度,所述分发回复消息显示模型分发完成,收到该分发回复消息的执行节点停止向调度节点发送分发请求消息;
若最新的分发状态记录表中显示还存在执行节点未拥有最新全局模型,则调度节点等待接收分发请求消息,拥有最新全局模型且无其它操作的执行节点向调度节点发送分发请求消息,所述分发回复消息显示模型分发未完成,以及未拥有最新全局模型的执行节点的编号,收到该分发回复消息的执行节点,向该分发回复消息中指定的未拥有最新全局模型的执行节点分发最新全局模型。
5.根据权利要求4所述联邦学习的模型分发与聚合的传输调度方法,其特征在于,当模型分发未完成时,所述分发回复消息所显示的未拥有最新全局模型的执行节点的编号有且仅有一个。
6.根据权利要求5所述联邦学习的模型分发与聚合的传输调度方法,其特征在于,当前执行节点拥有最新全局模型且已执行过模型分发任务时,其发送的分发请求消息还包括上次模型分发任务中其与模型接收执行节点之间的网络吞吐量数据,所述调度节点将已知的与该当前执行节点之间网络吞吐量最大的执行节点,作为其下次模型分发任务中的模型接收执行节点。
7.根据权利要求3所述的联邦学习的模型分发与聚合的传输调度方法,其特征在于,所述模型聚合调度方法具体包括以下步骤:
S1、具备聚合条件的执行节点向调度节点发送聚合请求消息,所述具备聚合条件的执行节点指的是已完成本地模型训练或局部聚合任务的执行节点,所述聚合请求消息包括本次请求的执行节点编号;
S2、调度节点持续等待接收消息,如果收到聚合请求消息,则转至步骤S3,如果收到聚合确认消息,则转至步骤S7;
S3、调度节点将该聚合请求消息中的执行节点编号加入聚合调度队列中,若此时聚合调度队列中的编号个数为1,则转至步骤S2,若此时聚合调度队列中的编号个数为2,则继续执行步骤S4;
S4、调度节点从聚合调度队列中取出两个编号,使得聚合调度队列为空,根据该两个编号构建聚合回复消息,所述聚合回复消息能体现出将该两个编号中的一编号所对应的执行节点作为发送执行节点,以及将该两个编号中的另一编号所对应的执行节点作为接收执行节点,将聚合回复消息发送至该发送执行节点和接收执行节点;
S5、执行节点收到聚合回复消息,若其根据该聚合回复消息判断其自身为接收执行节点,则等待接收到来自发送执行节点的本地模型数据后,将该接收到的本地模型数据与自身原有的本地模型数据聚合,并转至步骤S1,若其根据该聚合回复消息判断其自身为发送执行节点,则将其所有的本地模型数据发送至接收执行节点后转至步骤S6;
S6、发送执行节点向调度节点发送聚合确认消息,并结束本次局部聚合任务,所述聚合确认消息包括该次局部聚合任务的发送执行节点编号和接收执行节点编号;
S7、调度节点根据接收到的聚合确认消息数量判断是否所有参与节点的本地模型数据均聚合至中心服务器,若是,则结束模型聚合,否则转至步骤S2。
8.根据权利要求7所述的联邦学习的模型分发与聚合的传输调度方法,其特征在于,所述步骤S6中,发送执行节点所发送的聚合确认消息,还包括其本次局部聚合任务中,与接收执行节点之间的网络吞吐量数据;在聚合回复消息的决策中,对于执行节点h和执行节点k,设ahk为执行节点h向执行节点k发送数据时的网络吞吐量,akh为执行节点k向执行节点h发送数据时的网络吞吐量,若ahk>akh,则调度节点将执行节点h作为发送执行节点,将执行节点k作为接收执行节点,否则将执行节点k作为发送执行节点,将执行节点h作为接收执行节点。
9.根据权利要求8所述的联邦学习的模型分发与聚合的传输调度方法,其特征在于,所述调度节点设置有确认计数变量count,在整体训练开始及每一轮模型聚合结束时,其值均初始化为0;在同一轮模型聚合中,调度节点每接收到一次聚合确认消息,count的值均加1。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010377635.9A CN111580970B (zh) | 2020-05-07 | 2020-05-07 | 一种联邦学习的模型分发与聚合的传输调度方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010377635.9A CN111580970B (zh) | 2020-05-07 | 2020-05-07 | 一种联邦学习的模型分发与聚合的传输调度方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111580970A true CN111580970A (zh) | 2020-08-25 |
CN111580970B CN111580970B (zh) | 2023-02-03 |
Family
ID=72112009
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010377635.9A Active CN111580970B (zh) | 2020-05-07 | 2020-05-07 | 一种联邦学习的模型分发与聚合的传输调度方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111580970B (zh) |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112148437A (zh) * | 2020-10-21 | 2020-12-29 | 深圳致星科技有限公司 | 用于联邦学习的计算任务加速处理方法、装置及设备 |
CN112565331A (zh) * | 2020-11-02 | 2021-03-26 | 中山大学 | 一种基于边缘计算的端-边协同联邦学习优化方法 |
CN112801731A (zh) * | 2021-01-06 | 2021-05-14 | 广东工业大学 | 一种接单辅助决策的联邦强化学习方法 |
CN113315604A (zh) * | 2021-05-25 | 2021-08-27 | 电子科技大学 | 一种联邦学习自适应梯度量化方法 |
CN113762525A (zh) * | 2021-09-07 | 2021-12-07 | 桂林理工大学 | 一种具有差分隐私保护的联邦学习模型训练方法 |
WO2022116323A1 (zh) * | 2020-12-04 | 2022-06-09 | 中国科学院深圳先进技术研究院 | 一种联邦学习调度方法、装置及*** |
WO2022126706A1 (zh) * | 2020-12-19 | 2022-06-23 | 中国科学院深圳先进技术研究院 | 一种个性化联邦学习加速方法、装置 |
CN115460484A (zh) * | 2022-08-23 | 2022-12-09 | 苏州大学 | 一种联邦学习***中用户调度和资源分配方法 |
CN115829028A (zh) * | 2023-02-14 | 2023-03-21 | 电子科技大学 | 一种多模态联邦学习任务处理方法及*** |
US11755954B2 (en) | 2021-03-11 | 2023-09-12 | International Business Machines Corporation | Scheduled federated learning for enhanced search |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105956021A (zh) * | 2016-04-22 | 2016-09-21 | 华中科技大学 | 一种适用于分布式机器学习的自动化任务并行的方法及其*** |
WO2018103839A1 (en) * | 2016-12-07 | 2018-06-14 | Huawei Technologies Co., Ltd. | An efficient method for aggregating and monitoring in large scale distributed systems |
WO2019042571A1 (en) * | 2017-09-04 | 2019-03-07 | Huawei Technologies Co., Ltd. | DESCENT OF STOCHASTIC GRADIENT DISTRIBUTED TO AVERAGE ASYNCHRONOUS GRADIENT FORMATION |
CN110929880A (zh) * | 2019-11-12 | 2020-03-27 | 深圳前海微众银行股份有限公司 | 一种联邦学习方法、装置及计算机可读存储介质 |
CN110942154A (zh) * | 2019-11-22 | 2020-03-31 | 深圳前海微众银行股份有限公司 | 基于联邦学习的数据处理方法、装置、设备及存储介质 |
CN110995488A (zh) * | 2019-12-03 | 2020-04-10 | 电子科技大学 | 一种基于分层参数服务器的多机构协同学习***及方法 |
-
2020
- 2020-05-07 CN CN202010377635.9A patent/CN111580970B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105956021A (zh) * | 2016-04-22 | 2016-09-21 | 华中科技大学 | 一种适用于分布式机器学习的自动化任务并行的方法及其*** |
WO2018103839A1 (en) * | 2016-12-07 | 2018-06-14 | Huawei Technologies Co., Ltd. | An efficient method for aggregating and monitoring in large scale distributed systems |
WO2019042571A1 (en) * | 2017-09-04 | 2019-03-07 | Huawei Technologies Co., Ltd. | DESCENT OF STOCHASTIC GRADIENT DISTRIBUTED TO AVERAGE ASYNCHRONOUS GRADIENT FORMATION |
CN110929880A (zh) * | 2019-11-12 | 2020-03-27 | 深圳前海微众银行股份有限公司 | 一种联邦学习方法、装置及计算机可读存储介质 |
CN110942154A (zh) * | 2019-11-22 | 2020-03-31 | 深圳前海微众银行股份有限公司 | 基于联邦学习的数据处理方法、装置、设备及存储介质 |
CN110995488A (zh) * | 2019-12-03 | 2020-04-10 | 电子科技大学 | 一种基于分层参数服务器的多机构协同学习***及方法 |
Cited By (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112148437B (zh) * | 2020-10-21 | 2022-04-01 | 深圳致星科技有限公司 | 用于联邦学习的计算任务加速处理方法、装置及设备 |
CN112148437A (zh) * | 2020-10-21 | 2020-12-29 | 深圳致星科技有限公司 | 用于联邦学习的计算任务加速处理方法、装置及设备 |
CN112565331A (zh) * | 2020-11-02 | 2021-03-26 | 中山大学 | 一种基于边缘计算的端-边协同联邦学习优化方法 |
WO2022116323A1 (zh) * | 2020-12-04 | 2022-06-09 | 中国科学院深圳先进技术研究院 | 一种联邦学习调度方法、装置及*** |
WO2022126706A1 (zh) * | 2020-12-19 | 2022-06-23 | 中国科学院深圳先进技术研究院 | 一种个性化联邦学习加速方法、装置 |
CN112801731B (zh) * | 2021-01-06 | 2021-11-02 | 广东工业大学 | 一种接单辅助决策的联邦强化学习方法 |
CN112801731A (zh) * | 2021-01-06 | 2021-05-14 | 广东工业大学 | 一种接单辅助决策的联邦强化学习方法 |
US11755954B2 (en) | 2021-03-11 | 2023-09-12 | International Business Machines Corporation | Scheduled federated learning for enhanced search |
CN113315604B (zh) * | 2021-05-25 | 2022-06-03 | 电子科技大学 | 一种联邦学习自适应梯度量化方法 |
CN113315604A (zh) * | 2021-05-25 | 2021-08-27 | 电子科技大学 | 一种联邦学习自适应梯度量化方法 |
CN113762525A (zh) * | 2021-09-07 | 2021-12-07 | 桂林理工大学 | 一种具有差分隐私保护的联邦学习模型训练方法 |
CN113762525B (zh) * | 2021-09-07 | 2024-04-05 | 桂林理工大学 | 一种具有差分隐私保护的联邦学习模型训练方法 |
CN115460484A (zh) * | 2022-08-23 | 2022-12-09 | 苏州大学 | 一种联邦学习***中用户调度和资源分配方法 |
CN115460484B (zh) * | 2022-08-23 | 2023-07-21 | 苏州大学 | 一种联邦学习***中用户调度和资源分配方法及*** |
CN115829028A (zh) * | 2023-02-14 | 2023-03-21 | 电子科技大学 | 一种多模态联邦学习任务处理方法及*** |
CN115829028B (zh) * | 2023-02-14 | 2023-04-18 | 电子科技大学 | 一种多模态联邦学习任务处理方法及*** |
Also Published As
Publication number | Publication date |
---|---|
CN111580970B (zh) | 2023-02-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111580970B (zh) | 一种联邦学习的模型分发与聚合的传输调度方法 | |
CN110187973B (zh) | 一种面向边缘计算的服务部署优化方法 | |
JP5390413B2 (ja) | 階層的にクラスタ化されたp2pストリーミング・システム | |
CN110502328B (zh) | 一种海上边缘计算可信协同任务迁移方法 | |
CN103873523B (zh) | 客户端集群访问方法及装置 | |
CN101296152B (zh) | 对等连接网络的数据调度方法和*** | |
Liu et al. | Task scheduling in fog enabled Internet of Things for smart cities | |
CN109862592A (zh) | 一种基于多基站协作的移动边缘计算环境下资源管理和调度方法 | |
CN114143264B (zh) | 一种SRv6网络下基于强化学习的流量调度方法 | |
CN102195885A (zh) | 报文处理方法及装置 | |
CN104322011A (zh) | 连通***编排器 | |
Chemodanov et al. | A near optimal reliable composition approach for geo-distributed latency-sensitive service chains | |
Liu | Intelligent routing based on deep reinforcement learning in software-defined data-center networks | |
CN114567598A (zh) | 一种基于深度学习和跨域协作的负载均衡方法及装置 | |
CN110929878A (zh) | 一种分布式随机梯度下降方法 | |
Kliazovich et al. | CA-DAG: Communication-aware directed acyclic graphs for modeling cloud computing applications | |
CN110278254A (zh) | 用于FogCDN场景的调度方法及调度端 | |
CN101013955B (zh) | 用于业务量矩阵估计的快速模拟退火 | |
Banaie et al. | Performance analysis of multithreaded IoT gateway | |
CN108833294B (zh) | 面向数据中心广域网的低带宽开销的流量调度方法 | |
CN105791371A (zh) | 一种云存储服务***及方法 | |
CN107454009B (zh) | 面向数据中心的离线场景低带宽开销流量调度方案 | |
Morillo et al. | A latency-aware partitioning method for distributed virtual environment systems | |
CN113672372B (zh) | 一种基于强化学习的多边缘协同负载均衡任务调度方法 | |
CN115174404A (zh) | 一种基于sdn组网的多设备联邦学习*** |
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 |