[发明专利]一种联邦学习的模型分发与聚合的传输调度方法有效
申请号: | 202010377635.9 | 申请日: | 2020-05-07 |
公开(公告)号: | CN111580970B | 公开(公告)日: | 2023-02-03 |
发明(设计)人: | 罗龙;蔡伟博;周华漫;李宗航;虞红芳;孙罡 | 申请(专利权)人: | 电子科技大学 |
主分类号: | G06F9/50 | 分类号: | G06F9/50;G06N20/00 |
代理公司: | 北京正华智诚专利代理事务所(普通合伙) 11870 | 代理人: | 李梦蝶 |
地址: | 611731 四川省成*** | 国省代码: | 四川;51 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 联邦 学习 模型 分发 聚合 传输 调度 方法 | ||
1.一种联邦学习的模型分发与聚合的传输调度方法,包括模型分发调度方法以及模型聚合调度方法,联邦学习中的中心服务器和参与节点均为用于执行流程的执行节点,其特征在于,
所述模型分发调度方法包括:通过调度节点实现对各执行节点的在线调度,使已拥有最新全局模型的执行节点,向不具有最新全局模型的执行节点传输最新全局模型,直至所有的执行节点均拥有最新全局模型,结束模型分发;
所述调度节点设置有分发状态记录表,所述分发状态记录表记录了各执行节点是否拥有最新全局模型的状态值,所述分发状态记录表根据执行节点发出的分发请求消息实时更新;
若调度节点收到的分发请求消息包含上次模型分发任务中模型接收执行节点的编号,则更新分发状态记录表中该编号所对应的状态为已拥有最新全局模型;
当调度节点接收到来自某执行节点的分发请求消息时,则需向该执行节点发送分发回复消息;
当执行节点拥有最新全局模型且还未执行过模型分发任务时,其向所述调度节点发送的分发请求消息包括其编号;
当执行节点拥有最新全局模型且已执行过模型分发任务时,其向所述调度节点发送的分发请求消息包括其编号以及上次模型分发任务中模型接收执行节点的编号;
若最新的分发状态记录表中显示所有的执行节点均拥有最新全局模型,则调度节点结束模型分发调度,所述分发回复消息显示模型分发完成,收到该分发回复消息的执行节点停止向调度节点发送分发请求消息;
若最新的分发状态记录表中显示还存在执行节点未拥有最新全局模型,则调度节点等待接收分发请求消息,拥有最新全局模型且无其它操作的执行节点向调度节点发送分发请求消息,所述分发回复消息显示模型分发未完成,以及未拥有最新全局模型的执行节点的编号,收到该分发回复消息的执行节点,向该分发回复消息中指定的未拥有最新全局模型的执行节点分发最新全局模型;
当模型分发未完成时,所述分发回复消息所显示的未拥有最新全局模型的执行节点的编号有且仅有一个;
当前执行节点拥有最新全局模型且已执行过模型分发任务时,其发送的分发请求消息还包括上次模型分发任务中其与模型接收执行节点之间的网络吞吐量数据,所述调度节点将已知的与该当前执行节点之间网络吞吐量最大的执行节点,作为其下次模型分发任务中的模型接收执行节点;
所述模型聚合调度方法包括:通过调度节点实现对各执行节点的在线调度,使各执行节点之间进行模型数据的局部聚合,所有模型数据的聚合方向最终均指向中心服务器,直至所有参与节点的本地模型数据均聚合至中心服务器,结束模型聚合;
所述模型聚合调度方法具体包括以下步骤:
S1、具备聚合条件的执行节点向调度节点发送聚合请求消息,所述具备聚合条件的执行节点指的是已完成本地模型训练或局部聚合任务的执行节点,所述聚合请求消息包括本次请求的执行节点编号;
S2、调度节点持续等待接收消息,如果收到聚合请求消息,则转至步骤S3,如果收到聚合确认消息,则转至步骤S7;
S3、调度节点将该聚合请求消息中的执行节点编号加入聚合调度队列中,若此时聚合调度队列中的编号个数为1,则转至步骤S2,若此时聚合调度队列中的编号个数为2,则继续执行步骤S4;
S4、调度节点从聚合调度队列中取出两个编号,使得聚合调度队列为空,根据该两个编号构建聚合回复消息,所述聚合回复消息能体现出将该两个编号中的一编号所对应的执行节点作为发送执行节点,以及将该两个编号中的另一编号所对应的执行节点作为接收执行节点,将聚合回复消息发送至该发送执行节点和接收执行节点;
S5、执行节点收到聚合回复消息,若其根据该聚合回复消息判断其自身为接收执行节点,则等待接收到来自发送执行节点的本地模型数据后,将该接收到的本地模型数据与自身原有的本地模型数据聚合,并转至步骤S1,若其根据该聚合回复消息判断其自身为发送执行节点,则将其所有的本地模型数据发送至接收执行节点后转至步骤S6;
S6、发送执行节点向调度节点发送聚合确认消息,并结束本次局部聚合任务,所述聚合确认消息包括该次局部聚合任务的发送执行节点编号和接收执行节点编号;
所述步骤S6中,发送执行节点所发送的聚合确认消息,还包括其本次局部聚合任务中,与接收执行节点之间的网络吞吐量数据;在聚合回复消息的决策中,对于执行节点h和执行节点k,设ahk为执行节点h向执行节点k发送数据时的网络吞吐量,akh为执行节点k向执行节点h发送数据时的网络吞吐量,若ahkakh,则调度节点将执行节点h作为发送执行节点,将执行节点k作为接收执行节点,否则将执行节点k作为发送执行节点,将执行节点h作为接收执行节点;
S7、调度节点根据接收到的聚合确认消息数量判断是否所有参与节点的本地模型数据均聚合至中心服务器,若是,则结束模型聚合,否则转至步骤S2;
所述调度节点设置有确认计数变量count,在整体训练开始及每一轮模型聚合结束时,其值均初始化为0;在同一轮模型聚合中,调度节点每接收到一次聚合确认消息,count的值均加1。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于电子科技大学,未经电子科技大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010377635.9/1.html,转载请声明来源钻瓜专利网。