CN112508205A - 一种联邦学习调度方法、装置及系统 - Google Patents
一种联邦学习调度方法、装置及系统 Download PDFInfo
- Publication number
- CN112508205A CN112508205A CN202011405422.9A CN202011405422A CN112508205A CN 112508205 A CN112508205 A CN 112508205A CN 202011405422 A CN202011405422 A CN 202011405422A CN 112508205 A CN112508205 A CN 112508205A
- Authority
- CN
- China
- Prior art keywords
- training
- client
- server
- model
- data
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 60
- 238000012549 training Methods 0.000 claims abstract description 492
- 238000002360 preparation method Methods 0.000 claims abstract description 45
- 230000002776 aggregation Effects 0.000 claims abstract description 31
- 238000004220 aggregation Methods 0.000 claims abstract description 31
- 238000004364 calculation method Methods 0.000 claims description 36
- 238000004422 calculation algorithm Methods 0.000 claims description 10
- 238000010586 diagram Methods 0.000 description 11
- 238000003860 storage Methods 0.000 description 11
- 238000010801 machine learning Methods 0.000 description 6
- 230000003287 optical effect Effects 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 238000013459 approach Methods 0.000 description 2
- 238000004590 computer program Methods 0.000 description 2
- 238000012935 Averaging Methods 0.000 description 1
- 230000003044 adaptive effect Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
- G06N20/20—Ensemble learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/23—Clustering techniques
Landscapes
- Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Theoretical Computer Science (AREA)
- Evolutionary Computation (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Computer Vision & Pattern Recognition (AREA)
- General Physics & Mathematics (AREA)
- Artificial Intelligence (AREA)
- Physics & Mathematics (AREA)
- Evolutionary Biology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Medical Informatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请实施例属于信息技术领域,涉及一种联邦学习调度方法,包括服务器接收客户端发送的联邦学习训练请求;服务器响应联邦学习训练请求,将当前全局模型的模型数据发送至客户端进行训练;服务器调度客户端的历史训练记录,得到客户端的历史训练时间;服务器基于历史训练时间计算时间窗口的预备值;当服务器接收到客户端发送的训练报告时,基于预备值设置训练时间窗口;服务端基于在训练时间窗口内接收到的所有客户端发送的训练报告中的数据进行模型聚合操作,得到新的全局模型。本申请还提供一种联邦学习调度装置及系统。本申请能够实现服务器对客户端的灵活调度,能够提高训练模型的准确度以及节约训练时间。
Description
技术领域
本申请涉及信息技术领域,尤其涉及一种联邦学习调度方法、装置及系统。
背景技术
联邦学习联邦机器学习是一个机器学习框架,能有效帮助多个机构在满足用户隐私保护、数据安全和政府法规的要求下,进行数据使用和机器学习建模。联邦学习作为分布式的机器学习范式,可以有效解决数据孤岛问题,让参与方在不共享数据的基础上联合建模,能从技术上打破数据孤岛,实现AI协作。总的流程就是用户在本地客户端进行训练,然后将训练好的模型发给服务器端,服务端对模型进行一定的处理,再下放给用户的客户端,客户端再根据新的模型进行训练。但是在具体的如何协调客户端和服务器进行联邦学习是一个重要的挑战。
随着移动智能设备的使用,产生越来越多的数据,所以迫切需要基于这些数据的机器学习方式。适应移动端的机器学习的联邦学习框架也受到越来越多的人深入研究。联邦学习的框架业主要分成两类。起初,在论文《Communication-Efficient Learning ofDeep Networks from Decentralized Data》中提出了一种同步的协同方式。随后在论文《Asynchronous Federated Optimization》又提出一种异步的协同方式。
但是,采用同步方案时,一方面,其全局模型更新速度慢,因为每一轮服务器都要等待选中的客户端的报告,且因为客户端是现实中用户的各种各样的终端,所以客户端的训练时间是不一样的并且有可能突然断网,所以服务器需要设置时间窗口去等待足够多的客户端报告,如果收不到足够多的客户端,就放弃本轮的训练,这样会减缓更新速度;另一方面,服务器调度客户端的方式不够灵活,由于服务器调度客户端和更新全局模型的步骤是串行的,每次都要等待本轮的更新完成才能进行下一次训练任务,重新调度客户端,又因为客户端是用户的移动端,处于现实的不可控环境而不是稳定的集成环境,所以客户端不能随时参与训练,所以在调度客户端上会受到服务器调度方式和客户端状态的限制,且对于这个客户端状态的限制条件,是没有办法控制的。而采用异步方案时,一方面,其训练结果受版本差(staleness)影响大,异步方案将调度客户端和更新全局模型分开,虽然客户端调度更灵活,但是服务器会收到基于更早全局模型训练的更新,服务器和更新的版本差会对模型造成坏的影响;另一方面,在客户端报告的高并发的状况下,版本差(staleness)增大过快,异步方案是周期调度一些客户端,发送全局模型给它们训练,在良好的训练环境中,客户端可能会同时向服务器报告,例如有20个客户端同时报告,服务器是来一个客户端更新就更新一次,所以服务器的版本就迅速增加,这样基于相同的全局模型的更新就会产生不同的版本差,最后一个更新的版本差就是20,而版本差越大,最后一个模型的更新就容易出现浪费的情况。
发明内容
本申请实施例的目的在于提出一种联邦学习调度方法、装置及系统,以解决传统的联邦学习方法模型更新速度慢以及服务器调度客户端灵活度不高的问题。
为了解决上述技术问题,本申请实施例提供一种联邦学习调度方法,采用了如下所述的技术方案:
服务器接收客户端发送的联邦学习训练请求;
服务器响应联邦学习训练请求,将当前全局模型的模型数据发送至客户端进行训练;
服务器调度客户端的历史训练记录,得到客户端的历史训练时间;
服务器基于历史训练时间计算时间窗口的预备值;
当服务器接收到客户端发送的训练报告时,基于预备值设置训练时间窗口;
服务端基于在训练时间窗口内接收到的所有客户端发送的训练报告中的数据进行模型聚合操作,得到新的全局模型。
进一步的,服务器基于历史训练时间计算时间窗口的预备值的步骤具体包括:
服务器基于密度聚类算法对历史训练时间进行聚类操作,得到训练时间聚类;
服务器将每个训练时间聚类的直径作为时间窗口的预备值。
进一步地,服务端基于在训练时间窗口内接收到的所有客户端发送的训练报告中的数据进行模型聚合操作,得到新的全局模型的步骤包括:
服务器基于惩罚因子对当前全局模型以及客户端模型进行加权计算,得到模型中间值;
服务器基于模型中间值进行平均计算,得到新的全局模型。
进一步地,该方法还包括:
服务器基于当前全局模型的版本数据以及客户端版本数据进行差值计算,得到版本差;
服务器基于版本差进行中间值计算,得到惩罚因子。
进一步地,该方法还包括:
服务器将模型训练时间作为客户端的历史训练记录保存至数据库中。
为了解决上述技术问题,本申请实施例还提供一种联邦学习调度方法,应用于服务器以及与服务器连接的至少一个客户端,采用了如下所述的技术方案:
客户端向服务器发送联邦学习训练请求;
当服务器接收到客户端发送的联邦学习训练请求时,服务器将当前全局模型的模型数据发送至客户端进行训练;
当客户端接收到服务器发送的模型数据时,客户端基于模型数据进行训练,得到训练后的客户端模型以及客户端模型对应的客户端版本数据;
当训练完成后,客户端记录完成训练的时间,得到模型训练时间;
客户端基于客户端模型、客户端版本数据以及模型训练时间生成训练报告,并将训练报告发送至服务器;
服务器调度客户端的历史训练记录,得到客户端的历史训练时间;
服务器基于历史训练时间计算时间窗口的预备值;
当服务器接收到客户端发送的训练报告时,基于预备值设置训练时间窗口;
服务器基于在训练时间窗口内接收到的所有客户端发送的训练报告中的数据进行模型聚合操作,得到的新的全局模型。
进一步的,当服务器接收到客户端发送的联邦学习训练请求时,服务器将当前全局模型的模型数据发送至客户端进行训练的步骤包括:
服务器调度所有发送联邦学习训练请求的客户端的当前状态数据;
服务器基于当前状态数据选取m个训练客户端,其中m为大于0的正整数;
服务器将当前全局模型的模型数据分别发送至m个训练客户端进行训练;
当客户端接收到服务器发送的模型数据时,则客户端基于模型数据进行训练,得到训练后的客户端模型以及客户端模型对应的客户端版本数据的步骤具体包括:
当训练客户端接收到服务器发送的模型数据时,则训练客户端基于模型数据进行训练,得到训练后的客户端模型以及客户端模型对应的客户端版本数据。
为了解决上述技术问题,本申请实施例还提供一种联邦学习调度装置,采用了如下所述的技术方案:
请求接收模块,用于接收客户端发送的联邦学习训练请求;
数据发送模块,用于响应联邦学习训练请求,将当前全局模型的模型数据发送至客户端进行训练;
训练时间获取模块,用于调度客户端的历史训练记录,得到客户端的历史训练时间;
预备值计算模块,用于基于历史训练时间计算时间窗口的预备值;
时间窗口设置模块,用于当服务器接收到客户端发送的训练报告时,基于预备值设置训练时间窗口;
全局模型更新模块,用于基于在训练时间窗口内接收到的所有客户端发送的训练报告中的客户端训练数据进行模型聚合操作,得到新的全局模型。
进一步地,预备值计算模块包括:
时间聚类单元,用于基于密度聚类算法对历史训练时间进行聚类操作,得到训练时间聚类;
预备值获取单元,用于将每个训练时间聚类的直径作为时间窗口的预备值。
为了解决上述技术问题,本申请实施例还提供一种联邦学习调度系统,采用了如下所述的技术方案:
该系统包括服务器以及与服务器连接的至少一个客户端,其中:
客户端向服务器发送联邦学习训练请求;
当服务器接收到客户端发送的联邦学习训练请求时,服务器将当前全局模型的模型数据发送至客户端进行训练;
当客户端接收到服务器发送的模型数据时,客户端基于模型数据进行训练,得到训练后的客户端模型以及客户端模型对应的客户端版本数据;
当训练完成后,客户端记录完成训练的时间,得到模型训练时间;
客户端基于客户端模型、客户端版本数据以及模型训练时间生成训练报告,并将训练报告发送至服务器;
服务器调度客户端的历史训练记录,得到客户端的历史训练时间;
服务器基于历史训练时间计算时间窗口的预备值;
当服务器接收到客户端发送的训练报告时,基于预备值设置训练时间窗口;
服务器基于在训练时间窗口内接收到的所有客户端发送的训练报告中的数据进行模型聚合操作,得到新的全局模型。
与现有技术相比,本申请实施例主要有以下有益效果:
本申请提供了一种联邦学习调度方法、装置及系统,包括:服务器接收客户端发送的联邦学习训练请求;服务器响应联邦学习训练请求,将当前全局模型的模型数据发送至客户端进行训练;服务器调度客户端的历史训练记录,得到客户端的历史训练时间;服务器基于历史训练时间计算时间窗口的预备值;当服务器接收到客户端发送的训练报告时,基于预备值设置训练时间窗口;服务端基于在训练时间窗口内接收到的所有客户端发送的训练报告中的数据进行模型聚合操作,得到新的全局模型。基于服务器调度线程,对联邦学习训练请求进行响应,能够将服务器的当前全局模型的模型数据发送至客户端进行训练,同时,服务器对客户端的历史训练记录进行调度,从而获取客户端的历史训练时间;进而基于历史训练时间计算时间窗口的预备值,并基于预备值设置训练时间窗口,能够根据客户端过往的历史训练情况来获取并设置时间窗口,有利于服务器进行适宜的时间窗口的设置;然后,基于服务器的更新线程,并结合在训练时间窗口内接收到的所有客户端发送的训练报告中的数据,对模型进行聚合操作,从而获取新的全局模型。不仅能够实现服务器的调度线程与更新线程分开进行,使得服务器调度客户端更灵活,还能够通过时间窗口的设置,能够提高训练模型的准确度,以及加快服务器模型的迭代速度,从而节约训练时间。
附图说明
为了更清楚地说明本申请中的方案,下面将对本申请实施例描述中所需要使用的附图作一个简单介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是根据本申请的联邦学习调度方法的一个实施例的流程图;
图2是图1中步骤S4的一种具体实施方式的流程图;
图3是图1中步骤S6的一种具体实施方式的流程图;
图4是根据本申请的联邦学习调度方法的获取惩罚因子的流程图;
图5是根据本申请的联邦学习调度方法的另一个实施例的流程图;
图6是图5中步骤S502的一种具体实施方式的流程图;
图7是根据本申请的联邦学习调度装置的一个实施例的结构示意图;
图8是图7所示预备值计算模块一种具体实施方式的结构示意图;
图9是根据本申请的计算机设备的一个实施例的结构示意图;
图10是根据本申请的联邦学习调度系统的客户端的原理示意图;
图11是根据本申请的联邦学习调度系统的服务器调度线程的原理示意图;
图12是根据本申请的联邦学习调度系统的服务器更新线程的原理示意图;
图13是根据本申请的联邦学习调度系统的调度原理示意图。
具体实施方式
除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的技术领域的技术人员通常理解的含义相同;本文中在申请的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本申请;本申请的说明书和权利要求书及上述附图说明中的术语“包括”和“具有”以及它们的任何变形,意图在于覆盖不排他的包含。本申请的说明书和权利要求书或上述附图中的术语“第一”、“第二”等是用于区别不同对象,而不是用于描述特定顺序。
在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。
为了使本技术领域的人员更好地理解本申请方案,下面将结合附图,对本申请实施例中的技术方案进行清楚、完整地描述。
实施例一
参阅图1,示出了根据本申请的联邦学习调度方法的一个实施例的流程图,为了便于说明,仅示出与本申请相关的部分。
在步骤S1中,服务器接收客户端发送的联邦学习训练请求。
在本实施例中,联邦学习训练请求是客户端向服务器发出的是否可以参加联邦学习训练的请求,以使服务器能够周期调度客户端参与模型训练。
在步骤S2中,服务器响应联邦学习训练请求,将当前全局模型的模型数据发送至客户端进行训练。
在本实施例中,当前全局模型的模型数据包括服务器的全局模型如Wt以及版本号如t。
在本实施例中,将当前全局模型的模型数据发送至客户端进行训练具体可以是基于服务器的调度线程,周期性地向客户端发送最新的全局模型以及其版本号,以使客户端根据获取到的全局模型以及其版本号进行客户端模型训练,得到更新模型,使得后续能够基于服务器的更新线程,并基于收到的客户端的更新模型以及当前的全局模型计算出新的全局模型,从而加快服务器模型的迭代速度,从而节约训练时间。
在步骤S3中,服务器调度客户端的历史训练记录,得到客户端的历史训练时间。
在本实施例中,历史训练记录是指调度的客户端的以往完成一个训练任务的时间。
在步骤S4中,服务器基于历史训练时间计算时间窗口的预备值。
在本实施例中,时间窗口的预备值是能够用于服务器的时间窗口设置的时间长度备选值。
在本实施例中,服务器基于历史训练时间计算时间窗口的预备值具体可以是利用密度聚类算法DBSCAN计算出时间窗口的预备值,还可以采用其他方法,此处不作具体限制。
在步骤S5中,当服务器接收到客户端发送的训练报告时,基于预备值设置训练时间窗口。
在本实施例中,训练报告是调度的客户端完成一个训练任务所生成的训练报告,该训练包括具体可以包括但不限于基于当前全局模型训练后得到客户端模型、客户端版本数据以及模型训练时间。
在本实施例中,训练时间窗口是服务器等待客户端训练的时间,如timewindow。
在本实施例中,当服务器接收到客户端发送的训练报告时,基于预备值设置训练时间窗口具体可以是将预备值赋值给时间窗口,即服务器就从预备值列表T_list中取出第0下标的值作为时间窗口的值,得到该训练时间窗口,同时将T_list中第0下标的值删掉,以使T_list中第0下标后面的的值能够作为下一次的训练时间窗口的值,不仅能够实现服务器的调度线程与更新线程分开进行,使得服务器调度客户端更灵活,还通过时间窗口的设置,能够提高训练模型的准确度,同时,能够在客户端报告的高并发状态下,避免服务器更新全局模型过快,使得后续可以把获取到所有客户端的更新模型进行一次更新全局模型,能够加快服务器模型的迭代速度,从而节约训练时间。
在步骤S6中,服务端基于在训练时间窗口内接收到的所有客户端发送的训练报告中的数据进行模型聚合操作,得到新的全局模型。
在本实施例中,服务端基于在训练时间窗口内接收到的所有客户端发送的训练报告中的数据进行模型聚合操作,把在这个时间窗口内获取到所有客户端的更新模型都用来进行一次聚合更新,得到服务器的新的全局模型,能够加快服务器模型的迭代速度,从而节约训练时间。
本申请提供了一种联邦学习调度方法,包括:服务器接收客户端发送的联邦学习训练请求;服务器响应联邦学习训练请求,将当前全局模型的模型数据发送至客户端进行训练;服务器调度客户端的历史训练记录,得到客户端的历史训练时间;服务器基于历史训练时间计算时间窗口的预备值;当服务器接收到客户端发送的训练报告时,基于预备值设置训练时间窗口;服务端基于在训练时间窗口内接收到的所有客户端发送的训练报告中的数据进行模型聚合操作,得到新的全局模型。基于服务器调度线程,对联邦学习训练请求进行响应,能够将服务器的当前全局模型的模型数据发送至客户端进行训练,同时,服务器对客户端的历史训练记录进行调度,从而获取客户端的历史训练时间;进而基于历史训练时间计算时间窗口的预备值,并基于预备值设置训练时间窗口,能够根据客户端过往的历史训练情况来获取并设置时间窗口,有利于服务器进行适宜的时间窗口的设置;然后,基于服务器的更新线程,并结合在训练时间窗口内接收到的所有客户端发送的训练报告中的数据,对模型进行聚合操作,从而获取新的全局模型。能够实现服务器的调度线程与更新线程分开进行,使得服务器调度客户端更灵活,同时,也通过时间窗口的设置,能够提高训练模型的准确度,以及加快服务器模型的迭代速度,从而节约训练时间。
继续参考图2,示出了图1中步骤S4的一种具体实施方式的流程图,为了便于说明,仅示出与本申请相关的部分。
在本实施例一的一些可选的实现方式中,上述步骤S4具体包括:步骤S201以及步骤S202。
在步骤S201中,服务器基于密度聚类算法对历史训练时间进行聚类操作,得到训练时间聚类。
在步骤S202中,服务器将每个训练时间聚类的直径作为时间窗口的预备值。
在本实施例中,服务器基于调度的客户端的以往完成一个训练任务的时间,即历史训练时间,进而,基于密度聚类算法DBSCAN对历史训练时间进行聚类,然后将每个类的直径作为时间窗口的备选值,即预备值,进而得到预备值列表T_list,能够用于预估大概有哪些客户端会同时向服务器报告,以使后续基于该预备值进行训练时间窗口的设置,从而实现服务器的调度线程与更新线程分开进行,使得服务器调度客户端更灵活,同时,也通过时间窗口的设置,能够提高训练模型的准确度,以及加快服务器模型的迭代速度,从而节约训练时间。
继续参考图3,示出了图1中步骤S6的一种具体实施方式的流程图,为了便于说明,仅示出与本申请相关的部分。
在本实施例一的一些可选的实现方式中,训练报告包括客户端模型,上述步骤S6具体包括:步骤S301以及步骤S302。
在步骤S301中,服务器基于惩罚因子对当前全局模型以及客户端模型进行加权计算,得到模型中间值。
在步骤S302中,服务器基于模型中间值进行平均计算,得到新的全局模型。
在本实施例中,惩罚因子是用于因客户端模型与全局模型存在版本差(staleness),在计算时通过惩罚函数去降低客户端模型的权重。
在本实施例中,服务器基于惩罚因子对当前全局模型以及客户端模型进行加权计算,具体可以是通过假设服务器当前的全局模型是(Wt,t),然后将该当前全局模型与获取到的所有客户端模型都做一个加权计算得到一系列中间值,即模型中间值;然后,服务器基于模型中间值进行平均计算,即对上述计算得到一系列中间值求平均,求出新的全局模型,如能够在客户端报告的高并发状态下,避免服务器更新全局模型过快,使得后续可以把获取到所有客户端的更新模型进行一次更新全局模型,能够加快服务器模型的迭代速度,从而节约训练时间。
继续参考图4,示出了根据本申请的联邦学习调度方法的获取惩罚因子的流程图,为了便于说明,仅示出与本申请相关的部分。
在本实施例一的一些可选的实现方式中,训练报告还包括客户端版本数据,该方法还包括:步骤S401以及步骤S402。
在步骤S401中,服务器基于当前全局模型的版本数据以及客户端版本数据进行差值计算,得到版本差。
在步骤S402中,服务器基于版本差进行中间值计算,得到惩罚因子。
在本实施例中,因为服务器的调度客户端和更新全局模型是分开的,所以服务器收到的更新模型有可能是基于很早的全局模型训练的,则客户端模型与当前全局模型之间会存在版本差(staleness),且在客户端训练报告的高并发的状况下,容易导致版本差增大过快,故过高版本差造成的模型准确率不稳定,本实施例基于当前全局模型的版本数据以及客户端版本数据进行差值计算,即根据全局的版本号t以及客户端更新模型的版本号τ的作版本差值计算,得到版本差如然后,基于版本差进行中间值计算,计算得到一个中间值即惩罚因子,以使后续能够基于该惩罚因子进行全局模型的更新,从而能够在客户端报告的高并发状态下,避免服务器更新全局模型过快,使得后续可以把获取到所有客户端的更新模型进行一次更新全局模型,能够加快服务器模型的迭代速度,从而节约训练时间。
在本实施例一的一些可选的实现方式中,训练报告还包括模型训练时间,该方法还包括:
服务器将模型训练时间作为客户端的历史训练记录保存至数据库中。
在本实施例中,在服务器等待timewindow的时间里,当服务器在训练时间窗口期间接收客户端的训练报告时,即可以理解为服务器可以获取到训练报告客户端模型、客户端版本数据以及客户端完成训练的模型训练时间;进而,为了在服务器调度线程的时候可以根据这些信息进行时间窗口的设置,故本实施例通过服务器将模型训练时间作为客户端状态的历史训练记录收集起来,由于本实施例中的训练时间窗口的值是基于收集的过往客户端的模型训练时间上计算出来,能够让训练时间窗口根据每次选择的客户端以及客户端过往训练情况进行动态设置,能够保证设置的训练时间窗口不用过大或者过小,从而通过训练时间窗口的设置去控制版本差,能够实现在客户端训练报告高并发以及低并发的情况下,达到一个稳定的客户端模型训练的准确率,以及服务器的全局模型的更新的效率。
综上,本申请提供了一种联邦学习调度方法,包括:服务器接收客户端发送的联邦学习训练请求;服务器响应联邦学习训练请求,将当前全局模型的模型数据发送至客户端进行训练;服务器调度客户端的历史训练记录,得到客户端的历史训练时间;服务器基于历史训练时间计算时间窗口的预备值;当服务器接收到客户端发送的训练报告时,基于预备值设置训练时间窗口;服务端基于在训练时间窗口内接收到的所有客户端发送的训练报告中的数据进行模型聚合操作,得到新的全局模型。基于服务器调度线程,对联邦学习训练请求进行响应,能够将服务器的当前全局模型的模型数据发送至客户端进行训练,同时,服务器对客户端的历史训练记录进行调度,从而获取客户端的历史训练时间;进而基于密度聚类算法对历史训练时间进行聚类操作,将聚类后得到的每个训练时间聚类的直径作为时间窗口的预备值,并基于预备值设置训练时间窗口,能够根据客户端过往的历史训练情况来获取并设置时间窗口,有利于服务器进行适宜的时间窗口的设置;然后,基于服务器的更新线程,并结合在训练时间窗口内接收到的所有客户端发送的训练报告中的客户端版本数据与当前全局模型的版本数据进行差值计算,再对计算得到的版本差进行中间值计算,得到惩罚因子,进而,基于惩罚因子对模型进行聚合操作,从而获取新的全局模型。不仅能够实现服务器的调度线程与更新线程分开进行,使得服务器调度客户端更灵活,同时,还能通过时间窗口的设置,能够提高客户端训练模型的准确度,以及加快服务器的全局模型的迭代速度,从而节约客户端的训练时间。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,该计算机程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,前述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)等非易失性存储介质,或随机存储记忆体(RandomAccess Memory,RAM)等。
应该理解的是,虽然附图的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,其可以以其他的顺序执行。而且,附图的流程图中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,其执行顺序也不必然是依次进行,而是可以与其他步骤或者其他步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
实施例二
进一步参考图5,示出了根据本申请的联邦学习调度方法的另一个实施例的流程图,应用于服务器以及与服务器连接的至少一个客户端,为了便于说明,仅示出与本申请相关的部分。
在步骤S501中,客户端向服务器发送联邦学习训练请求。
在步骤S502中,当服务器接收到客户端发送的联邦学习训练请求时,服务器将当前全局模型的模型数据发送至客户端进行训练。
在步骤S503中,当客户端接收到服务器发送的模型数据时,客户端基于模型数据进行训练,得到训练后的客户端模型以及客户端模型对应的客户端版本数据。
在步骤S504中,当训练完成后,客户端记录完成训练的时间,得到模型训练时间。
在步骤S505中,客户端基于客户端模型、客户端版本数据以及模型训练时间生成训练报告,并将训练报告发送至服务器。
在步骤S506中,服务器调度客户端的历史训练记录,得到客户端的历史训练时间。
在步骤S507中,服务器基于历史训练时间计算时间窗口的预备值。
在步骤S508中,当服务器接收到客户端发送的训练报告时,基于预备值设置训练时间窗口。
在步骤S509中,服务器基于在训练时间窗口内接收到的所有客户端发送的训练报告中的数据进行模型聚合操作,得到的新的全局模型。
本申请提供了一种联邦学习调度方法,应用于服务器以及与服务器连接的至少一个客户端,包括:客户端向服务器发送联邦学习训练请求;当服务器接收到客户端发送的联邦学习训练请求时,服务器将当前全局模型的模型数据发送至客户端进行训练;当客户端接收到服务器发送的模型数据时,客户端基于模型数据进行训练,得到训练后的客户端模型以及客户端模型对应的客户端版本数据;当训练完成后,客户端记录完成训练的时间,得到模型训练时间;客户端基于客户端模型、客户端版本数据以及模型训练时间生成训练报告,并将训练报告发送至服务器;服务器调度客户端的历史训练记录,得到客户端的历史训练时间;服务器基于历史训练时间计算时间窗口的预备值;当服务器接收到客户端发送的训练报告时,基于预备值设置训练时间窗口;服务器基于在训练时间窗口内接收到的所有客户端发送的训练报告中的数据进行模型聚合操作,得到的新的全局模型。基于客户端发出的联邦学习训练请求,服务器调度线程能够对联邦学习训练请求进行响应,将服务器的当前全局模型的模型数据发送至客户端进行训练;进而,客户端基于模型数据进行训练,并基于训练完成后得到的客户端模型、客户端模型对应的客户端版本数据以及模型训练时间生成训练报告,从而发送给服务器;同时,服务器对客户端的历史训练记录进行调度,从而获取客户端的历史训练时间;进而基于历史训练时间计算时间窗口的预备值,并基于预备值设置训练时间窗口,能够根据客户端过往的历史训练情况来获取并设置时间窗口,有利于服务器进行适宜的时间窗口的设置;然后,基于服务器的更新线程,并结合在训练时间窗口内接收到的所有客户端发送的训练报告中的数据,对模型进行聚合操作,从而获取新的全局模型。不仅能够实现服务器的调度线程与更新线程分开进行,使得服务器调度客户端更灵活,同时,也能够通过时间窗口的设置,能够提高训练模型的准确度,以及加快服务器模型的迭代速度,从而节约训练时间。
继续参考图6,示出了图5中步骤S502的一种具体实施方式的流程图,为了便于说明,仅示出与本申请相关的部分。
在本实施例一的一些可选的实现方式中,上述步骤S502具体包括:步骤S601、步骤S602以及步骤S603;步骤S503具体包括:步骤S604。
在步骤S601中,服务器调度所有发送联邦学习训练请求的客户端的当前状态数据。
在步骤S602中,服务器基于当前状态数据选取m个训练客户端,其中m为大于0的正整数。
在步骤S603中,服务器将当前全局模型的模型数据分别发送至m个训练客户端进行训练。
在步骤S604中,当训练客户端接收到服务器发送的模型数据时,则训练客户端基于模型数据进行训练,得到训练后的客户端模型以及客户端模型对应的客户端版本数据。
在本实施例中,基于客户端发出的联邦学习训练请求,服务器调度线程能够对联邦学习训练请求进行响应,通过调度所有发送了联邦学习训练请求的客户端的当前状态数据,将m个符合预设的训练条件的客户端选取为m个训练客户端,从而将当前全局模型的模型数据分别发送至选取出的m个训练客户端进行训练;进而,客户端基于模型数据进行训练,即客户端k基于收到的服务器的调度内容(wτ,τ)进行模型训练,得到训练后的客户端模型wk;然后,基于训练完成后得到的客户端模型、客户端模型对应的客户端版本数据以及模型训练时间生成训练报告,将更新的客户端模型的参数、基于训练得到的模型的版本(wk,τ)号,以及记录好的完成本次训练的模型训练时间发送给服务器。
综上,本申请提供了一种联邦学习调度方法,应用于服务器以及与服务器连接的至少一个客户端,包括:客户端向服务器发送联邦学习训练请求;当服务器接收到客户端发送的联邦学习训练请求时,服务器将当前全局模型的模型数据发送至客户端进行训练;当客户端接收到服务器发送的模型数据时,客户端基于模型数据进行训练,得到训练后的客户端模型以及客户端模型对应的客户端版本数据;当训练完成后,客户端记录完成训练的时间,得到模型训练时间;客户端基于客户端模型、客户端版本数据以及模型训练时间生成训练报告,并将训练报告发送至服务器;服务器调度客户端的历史训练记录,得到客户端的历史训练时间;服务器基于历史训练时间计算时间窗口的预备值;当服务器接收到客户端发送的训练报告时,基于预备值设置训练时间窗口;服务器基于在训练时间窗口内接收到的所有客户端发送的训练报告中的数据进行模型聚合操作,得到的新的全局模型。基于客户端发出的联邦学习训练请求,服务器调度线程能够对联邦学习训练请求进行响应,通过调度所有发送了联邦学习训练请求的客户端的当前状态数据进行m个符合训练条件的训练客户端选取,并将当前全局模型的模型数据分别发送至选取出的m个训练客户端进行训练;进而,客户端基于模型数据进行训练,并基于训练完成后得到的客户端模型、客户端模型对应的客户端版本数据以及模型训练时间生成训练报告,从而发送给服务器;同时,服务器对客户端的历史训练记录进行调度,从而获取客户端的历史训练时间;进而基于历史训练时间计算时间窗口的预备值,并基于预备值设置训练时间窗口,能够根据客户端过往的历史训练情况来获取并设置时间窗口,有利于服务器进行适宜的时间窗口的设置;然后,基于服务器的更新线程,并结合在训练时间窗口内接收到的所有客户端发送的训练报告中的数据,对模型进行聚合操作,从而获取新的全局模型。不仅能够实现服务器的调度线程与更新线程分开进行,使得服务器调度客户端更灵活,同时,也能够通过时间窗口的设置,能够提高训练模型的准确度,以及加快服务器模型的迭代速度,从而节约训练时间。
实施例三
进一步参考图7,作为对上述图1所示方法的实现,本申请提供了一种联邦学习调度装置的一个实施例,该装置实施例与图1所示的方法实施例相对应,该装置具体可以应用于各种电子设备中。
如图7所示,本实施例的联邦学习调度装置100包括:请求接收模块101、数据发送模块102、训练时间获取模块103、预备值计算模块104、时间窗口设置模块105以及全局模型更新模块106。其中:
请求接收模块101,用于接收客户端发送的联邦学习训练请求;
数据发送模块102,用于响应联邦学习训练请求,将当前全局模型的模型数据发送至客户端进行训练;
训练时间获取模块103,用于调度客户端的历史训练记录,得到客户端的历史训练时间;
预备值计算模块104,用于基于历史训练时间计算时间窗口的预备值;
时间窗口设置模块105,用于当服务器接收到客户端发送的训练报告时,基于预备值设置训练时间窗口;
全局模型更新模块106,用于基于在训练时间窗口内接收到的所有客户端发送的训练报告中的客户端训练数据进行模型聚合操作,得到新的全局模型。
本申请提供了一种联邦学习调度装置,包括:基于服务器调度线程,对联邦学习训练请求进行响应,能够将服务器的当前全局模型的模型数据发送至客户端进行训练,同时,服务器对客户端的历史训练记录进行调度,从而获取客户端的历史训练时间;进而基于历史训练时间计算时间窗口的预备值,并基于预备值设置训练时间窗口,能够根据客户端过往的历史训练情况来获取并设置时间窗口,有利于服务器进行适宜的时间窗口的设置;然后,基于服务器的更新线程,并结合在训练时间窗口内接收到的所有客户端发送的训练报告中的数据,对模型进行聚合操作,从而获取新的全局模型。能够实现服务器的调度线程与更新线程分开进行,使得服务器调度客户端更灵活,同时,也通过时间窗口的设置,能够提高训练模型的准确度,以及加快服务器模型的迭代速度,从而节约训练时间。
继续参考图8,示出了图7所示预备值计算模块一种具体实施方式的结构示意图,为了便于说明,仅示出与本申请相关的部分。
在本实施例三的一些可选的实现方式中,上述预备值计算模块具体包括:时间聚类单元801以及预备值获取单元802。
时间聚类单元801,用于基于密度聚类算法对历史训练时间进行聚类操作,得到训练时间聚类;
预备值获取单元802,用于将每个训练时间聚类的直径作为时间窗口的预备值。
在本实施例三的一些可选的实现方式中,全局模型更新模块具体包括:模型中间值计算单元以及平均计算单元。
模型中间值计算单元,用于服务器基于惩罚因子对当前全局模型以及客户端模型进行加权计算,得到模型中间值。
平均计算单元,用于服务器基于模型中间值进行平均计算,得到新的全局模型。
在本实施例三的一些可选的实现方式中,该装置还包括:版本差计算模块以及中间值计算模块。
版本差计算模块,服务器基于当前全局模型的版本数据以及客户端版本数据进行差值计算,得到版本差。
中间值计算模块,服务器基于版本差进行中间值计算,得到惩罚因子。
在本实施例三的一些可选的实现方式中,该装置还包括:
服务器将模型训练时间作为客户端的历史训练记录保存至数据库中。
综上,本申请提供了一种联邦学习调度装置,包括:请求接收模块,用于接收客户端发送的联邦学习训练请求;数据发送模块,用于响应联邦学习训练请求,将当前全局模型的模型数据发送至客户端进行训练;训练时间获取模块,用于调度客户端的历史训练记录,得到客户端的历史训练时间;预备值计算模块,用于基于历史训练时间计算时间窗口的预备值;时间窗口设置模块,用于当服务器接收到客户端发送的训练报告时,基于预备值设置训练时间窗口;全局模型更新模块,用于基于在训练时间窗口内接收到的所有客户端发送的训练报告中的客户端训练数据进行模型聚合操作,得到新的全局模型。基于服务器调度线程,对联邦学习训练请求进行响应,能够将服务器的当前全局模型的模型数据发送至客户端进行训练,同时,服务器对客户端的历史训练记录进行调度,从而获取客户端的历史训练时间;进而基于密度聚类算法对历史训练时间进行聚类操作,将聚类后得到的每个训练时间聚类的直径作为时间窗口的预备值,并基于预备值设置训练时间窗口,能够根据客户端过往的历史训练情况来获取并设置时间窗口,有利于服务器进行适宜的时间窗口的设置;然后,基于服务器的更新线程,并结合在训练时间窗口内接收到的所有客户端发送的训练报告中的客户端版本数据与当前全局模型的版本数据进行差值计算,再对计算得到的版本差进行中间值计算,得到惩罚因子,进而,基于惩罚因子对模型进行聚合操作,从而获取新的全局模型。不仅能够实现服务器的调度线程与更新线程分开进行,使得服务器调度客户端更灵活,同时,还能通过时间窗口的设置,能够提高客户端训练模型的准确度,以及加快服务器的全局模型的迭代速度,从而节约客户端的训练时间。
实施例四
进一步参考图10至图13,本申请提供了一种联邦学习调度系统的一个实施例,为了便于说明,仅示出与本申请相关的部分。
该系统包括服务器以及与服务器连接的至少一个客户端,其中:
客户端向服务器发送联邦学习训练请求;
当服务器接收到客户端发送的联邦学习训练请求时,服务器将当前全局模型的模型数据发送至客户端进行训练;
当客户端接收到服务器发送的模型数据时,客户端基于模型数据进行训练,得到训练后的客户端模型以及客户端模型对应的客户端版本数据;
当训练完成后,客户端记录完成训练的时间,得到模型训练时间;
客户端基于客户端模型、客户端版本数据以及模型训练时间生成训练报告,并将训练报告发送至服务器;
服务器调度客户端的历史训练记录,得到客户端的历史训练时间;
服务器基于历史训练时间计算时间窗口的预备值;
当服务器接收到客户端发送的训练报告时,基于预备值设置训练时间窗口;
服务器基于在训练时间窗口内接收到的所有客户端发送的训练报告中的数据进行模型聚合操作,得到新的全局模型。
本申请提供了一种联邦学习调度系统,包括服务器以及与服务器连接的至少一个客户端。基于客户端发出的联邦学习训练请求,服务器调度线程能够对联邦学习训练请求进行响应,将服务器的当前全局模型的模型数据发送至客户端进行训练;进而,客户端基于模型数据进行训练,并基于训练完成后得到的客户端模型、客户端模型对应的客户端版本数据以及模型训练时间生成训练报告,从而发送给服务器;同时,服务器对客户端的历史训练记录进行调度,从而获取客户端的历史训练时间;进而基于历史训练时间计算时间窗口的预备值,并基于预备值设置训练时间窗口,能够根据客户端过往的历史训练情况来获取并设置时间窗口,有利于服务器进行适宜的时间窗口的设置;然后,基于服务器的更新线程,并结合在训练时间窗口内接收到的所有客户端发送的训练报告中的数据,对模型进行聚合操作,从而获取新的全局模型。不仅能够实现服务器的调度线程与更新线程分开进行,使得服务器调度客户端更灵活,同时,也能够通过时间窗口的设置,能够提高训练模型的准确度,以及加快服务器模型的迭代速度,从而节约训练时间。
为解决上述技术问题,本申请实施例还提供计算机设备。具体请参阅图9,图9为本实施例计算机设备基本结构框图。
计算机设备9包括通过系统总线相互通信连接存储器91、处理器92、网络接口93。需要指出的是,图中仅示出了具有组件91-93的计算机设备9,但是应理解的是,并不要求实施所有示出的组件,可以替代的实施更多或者更少的组件。其中,本技术领域技术人员可以理解,这里的计算机设备是一种能够按照事先设定或存储的指令,自动进行数值计算和/或信息处理的设备,其硬件包括但不限于微处理器、专用集成电路(Application SpecificIntegrated Circuit,ASIC)、可编程门阵列(Field-Programmable Gate Array,FPGA)、数字处理器(Digital Signal Processor,DSP)、嵌入式设备等。
计算机设备可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。计算机设备可以与用户通过键盘、鼠标、遥控器、触摸板或声控设备等方式进行人机交互。
存储器91至少包括一种类型的可读存储介质,可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、随机访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁性存储器、磁盘、光盘等。在一些实施例中,存储器91可以是计算机设备9的内部存储单元,例如该计算机设备9的硬盘或内存。在另一些实施例中,存储器91也可以是计算机设备9的外部存储设备,例如该计算机设备9上配备的插接式硬盘,智能存储卡(SmartMedia Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。当然,存储器91还可以既包括计算机设备9的内部存储单元也包括其外部存储设备。本实施例中,存储器91通常用于存储安装于计算机设备9的操作系统和各类应用软件,例如联邦学习调度方法的程序代码等。此外,存储器91还可以用于暂时地存储已经输出或者将要输出的各类数据。
处理器92在一些实施例中可以是中央处理器(Central Processing Unit,CPU)、控制器、微控制器、微处理器、或其他数据处理芯片。该处理器92通常用于控制计算机设备9的总体操作。本实施例中,处理器92用于运行存储器91中存储的程序代码或者处理数据,例如运行联邦学习调度方法的程序代码。
网络接口93可包括无线网络接口或有线网络接口,该网络接口93通常用于在计算机设备9与其他电子设备之间建立通信连接。
本申请还提供了另一种实施方式,即提供一种计算机可读存储介质,计算机可读存储介质存储有联邦学习调度程序,联邦学习调度程序可被至少一个处理器执行,以使至少一个处理器执行如上述的联邦学习调度方法的步骤。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本申请各个实施例所述的方法。
显然,以上所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例,附图中给出了本申请的较佳实施例,但并不限制本申请的专利范围。本申请可以以许多不同的形式来实现,相反地,提供这些实施例的目的是使对本申请的公开内容的理解更加透彻全面。尽管参照前述实施例对本申请进行了详细的说明,对于本领域的技术人员来而言,其依然可以对前述各具体实施方式所记载的技术方案进行修改,或者对其中部分技术特征进行等效替换。凡是利用本申请说明书及附图内容所做的等效结构,直接或间接运用在其他相关的技术领域,均同理在本申请专利保护范围之内。
Claims (10)
1.一种联邦学习调度方法,其特征在于,包括下述步骤:
服务器接收客户端发送的联邦学习训练请求;
所述服务器响应所述联邦学习训练请求,将当前全局模型的模型数据发送至所述客户端进行训练;
所述服务器调度所述客户端的历史训练记录,得到所述客户端的历史训练时间;
所述服务器基于所述历史训练时间计算时间窗口的预备值;
当所述服务器接收到所述客户端发送的训练报告时,基于所述预备值设置训练时间窗口;
所述服务端基于在所述训练时间窗口内接收到的所有所述客户端发送的所述训练报告中的数据进行模型聚合操作,得到新的全局模型。
2.根据权利要求1所述的联邦学习调度方法,其特征在于,所述服务器基于所述历史训练时间计算时间窗口的预备值的步骤具体包括:
所述服务器基于密度聚类算法对所述历史训练时间进行聚类操作,得到所述训练时间聚类;
所述服务器将每个所述训练时间聚类的直径作为所述时间窗口的预备值。
3.根据权利要求1所述的联邦学习调度方法,其特征在于,所述训练报告包括客户端模型,所述服务端基于在所述训练时间窗口内接收到的所有所述客户端发送的所述训练报告中的数据进行模型聚合操作,得到新的全局模型的步骤包括:
所述服务器基于惩罚因子对所述当前全局模型以及所述客户端模型进行加权计算,得到模型中间值;
所述服务器基于所述模型中间值进行平均计算,得到所述新的全局模型。
4.根据权利要求3所述的联邦学习调度方法,其特征在于,所述训练报告还包括客户端版本数据,在所述当所述服务器接收到所述客户端发送的训练报告时,基于所述预备值设置训练时间窗口的步骤之后,所述方法还包括:
所述服务器基于所述当前全局模型的版本数据以及所述客户端版本数据进行差值计算,得到版本差;
所述服务器基于所述版本差进行中间值计算,得到所述惩罚因子。
5.根据权利要求1所述的联邦学习调度方法,其特征在于,所述训练报告还包括模型训练时间,在所述当所述服务器接收到所述客户端发送的训练报告时,基于所述预备值设置训练时间窗口的步骤之后,所述方法还包括:
所述服务器将所述模型训练时间作为所述客户端的历史训练记录保存至数据库中。
6.一种联邦学习调度方法,应用于服务器以及与所述服务器连接的至少一个客户端,其特征在于,包括:
所述客户端向所述服务器发送联邦学习训练请求;
当所述服务器接收到所述客户端发送的联邦学习训练请求时,所述服务器将当前全局模型的模型数据发送至所述客户端进行训练;
当所述客户端接收到所述服务器发送的模型数据时,所述客户端基于所述模型数据进行训练,得到训练后的客户端模型以及所述客户端模型对应的客户端版本数据;
当所述训练完成后,所述客户端记录完成训练的时间,得到模型训练时间;
所述客户端基于所述客户端模型、所述客户端版本数据以及所述模型训练时间生成训练报告,并将所述训练报告发送至所述服务器;
所述服务器调度所述客户端的历史训练记录,得到所述客户端的历史训练时间;
所述服务器基于所述历史训练时间计算时间窗口的预备值;
当所述服务器接收到所述客户端发送的训练报告时,基于所述预备值设置训练时间窗口;
所述服务器基于在所述训练时间窗口内接收到的所有所述客户端发送的所述训练报告中的数据进行模型聚合操作,得到新的全局模型。
7.根据权利要求6所述的联邦学习调度方法,其特征在于,所述当所述服务器接收到客户端发送的联邦学习训练请求时,所述服务器将当前全局模型的模型数据发送至所述客户端进行训练的步骤包括:
所述服务器调度所有发送所述联邦学习训练请求的所述客户端的当前状态数据;
所述服务器基于所述当前状态数据选取m个训练客户端,其中m为大于0的正整数;
所述服务器将当前全局模型的模型数据分别发送至m个所述训练客户端进行训练;
所述当所述客户端接收到所述服务器发送的模型数据时,则所述客户端基于所述模型数据进行训练,得到训练后的客户端模型以及所述客户端模型对应的客户端版本数据的步骤具体包括:
当所述训练客户端接收到所述服务器发送的模型数据时,则所述训练客户端基于所述模型数据进行训练,得到训练后的客户端模型以及所述客户端模型对应的客户端版本数据。
8.一种联邦学习调度装置,其特征在于,包括:
请求接收模块,用于接收客户端发送的联邦学习训练请求;
数据发送模块,用于响应所述联邦学习训练请求,将当前全局模型的模型数据发送至所述客户端进行训练;
训练时间获取模块,用于调度所述客户端的历史训练记录,得到所述客户端的历史训练时间;
预备值计算模块,用于基于所述历史训练时间计算时间窗口的预备值;
时间窗口设置模块,用于当所述服务器接收到所述客户端发送的训练报告时,基于所述预备值设置训练时间窗口;
全局模型更新模块,用于基于在所述训练时间窗口内接收到的所有所述客户端发送的所述训练报告中的客户端训练数据进行模型聚合操作,得到新的全局模型。
9.根据权利要求8所述的联邦学习调度装置,其特征在于,所述预备值计算模块包括:
时间聚类单元,用于基于密度聚类算法对所述历史训练时间进行聚类操作,得到所述训练时间聚类;
预备值获取单元,用于将每个所述训练时间聚类的直径作为所述时间窗口的预备值。
10.一种联邦学习调度系统,其特征在于,所述系统包括服务器以及与所述服务器连接的至少一个客户端,其中:
所述客户端向所述服务器发送联邦学习训练请求;
当所述服务器接收到所述客户端发送的联邦学习训练请求时,所述服务器将当前全局模型的模型数据发送至所述客户端进行训练;
当所述客户端接收到所述服务器发送的模型数据时,所述客户端基于所述模型数据进行训练,得到训练后的客户端模型以及所述客户端模型对应的客户端版本数据;
当所述训练完成后,所述客户端记录完成训练的时间,得到模型训练时间;
所述客户端基于所述客户端模型、所述客户端版本数据以及所述模型训练时间生成训练报告,并将所述训练报告发送至所述服务器;
所述服务器调度所述客户端的历史训练记录,得到所述客户端的历史训练时间;
所述服务器基于所述历史训练时间计算时间窗口的预备值;
当所述服务器接收到所述客户端发送的训练报告时,基于所述预备值设置训练时间窗口;
所述服务器基于在所述训练时间窗口内接收到的所有所述客户端发送的所述训练报告中的数据进行模型聚合操作,得到新的全局模型。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011405422.9A CN112508205A (zh) | 2020-12-04 | 2020-12-04 | 一种联邦学习调度方法、装置及系统 |
PCT/CN2020/139564 WO2022116323A1 (zh) | 2020-12-04 | 2020-12-25 | 一种联邦学习调度方法、装置及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011405422.9A CN112508205A (zh) | 2020-12-04 | 2020-12-04 | 一种联邦学习调度方法、装置及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112508205A true CN112508205A (zh) | 2021-03-16 |
Family
ID=74968435
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011405422.9A Pending CN112508205A (zh) | 2020-12-04 | 2020-12-04 | 一种联邦学习调度方法、装置及系统 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN112508205A (zh) |
WO (1) | WO2022116323A1 (zh) |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110309203A (zh) * | 2019-07-02 | 2019-10-08 | 成都数之联科技有限公司 | 一种基于大数据的交互式和自定义数据建模系统 |
CN113033820A (zh) * | 2021-03-25 | 2021-06-25 | 支付宝(杭州)信息技术有限公司 | 联邦学习方法、装置以及设备 |
CN113516249A (zh) * | 2021-06-18 | 2021-10-19 | 重庆大学 | 基于半异步的联邦学习方法、系统、服务器及介质 |
CN113988314A (zh) * | 2021-11-09 | 2022-01-28 | 长春理工大学 | 一种选择客户端的分簇联邦学习方法及系统 |
CN114726743A (zh) * | 2022-03-04 | 2022-07-08 | 重庆邮电大学 | 一种基于联邦强化学习的服务功能链部署方法 |
CN114822863A (zh) * | 2022-05-12 | 2022-07-29 | 浙江大学 | 基于联邦学习系统的医疗数据分析方法、设备、存储介质和程序产品 |
CN115618963A (zh) * | 2022-10-20 | 2023-01-17 | 重庆移通学院 | 一种基于优化方向引导的无线联邦学习异步训练方法 |
EP4184400A1 (en) * | 2021-11-19 | 2023-05-24 | Beijing Baidu Netcom Science Technology Co., Ltd. | Federated learning method, federated learning apparatus, electronic device, and storage medium |
CN113988314B (zh) * | 2021-11-09 | 2024-05-31 | 长春理工大学 | 一种选择客户端的分簇联邦学习方法及系统 |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115174033B (zh) * | 2022-06-13 | 2024-04-12 | 湖北工业大学 | 移动群智感知中抗感知平台和用户共谋攻击的方法及系统 |
CN115618969B (zh) * | 2022-12-19 | 2023-04-07 | 湖南工商大学 | 基于聚类与环形拓扑的数据选择方法 |
CN115775026B (zh) * | 2022-12-27 | 2023-05-16 | 重庆大学 | 一种基于组织相似度的联邦学习方法 |
CN116011991B (zh) * | 2022-12-30 | 2023-12-19 | 中国电子科技集团公司第三十八研究所 | 基于代理和备份技术的多人协同任务保障方法 |
CN116668192B (zh) * | 2023-07-26 | 2023-11-10 | 国网山东省电力公司信息通信公司 | 一种网络用户行为异常检测方法及系统 |
CN117278540B (zh) * | 2023-11-23 | 2024-02-13 | 中国人民解放军国防科技大学 | 自适应边缘联邦学习客户端调度方法、装置及电子设备 |
CN117424754B (zh) * | 2023-12-15 | 2024-02-20 | 合肥工业大学 | 针对集群联邦学习攻击的防御方法、终端及存储介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110598870A (zh) * | 2019-09-02 | 2019-12-20 | 深圳前海微众银行股份有限公司 | 一种联邦学习方法及装置 |
CN111754000A (zh) * | 2020-06-24 | 2020-10-09 | 清华大学 | 质量感知的边缘智能联邦学习方法及系统 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111428885B (zh) * | 2020-03-31 | 2021-06-04 | 深圳前海微众银行股份有限公司 | 一种联邦学习中用户的索引方法及联邦学习装置 |
CN111580970B (zh) * | 2020-05-07 | 2023-02-03 | 电子科技大学 | 一种联邦学习的模型分发与聚合的传输调度方法 |
CN111915023B (zh) * | 2020-08-28 | 2021-09-07 | 支付宝(杭州)信息技术有限公司 | 一种基于联邦学习的超参数确定方法及装置 |
-
2020
- 2020-12-04 CN CN202011405422.9A patent/CN112508205A/zh active Pending
- 2020-12-25 WO PCT/CN2020/139564 patent/WO2022116323A1/zh active Application Filing
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110598870A (zh) * | 2019-09-02 | 2019-12-20 | 深圳前海微众银行股份有限公司 | 一种联邦学习方法及装置 |
CN111754000A (zh) * | 2020-06-24 | 2020-10-09 | 清华大学 | 质量感知的边缘智能联邦学习方法及系统 |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110309203A (zh) * | 2019-07-02 | 2019-10-08 | 成都数之联科技有限公司 | 一种基于大数据的交互式和自定义数据建模系统 |
CN113033820A (zh) * | 2021-03-25 | 2021-06-25 | 支付宝(杭州)信息技术有限公司 | 联邦学习方法、装置以及设备 |
CN113033820B (zh) * | 2021-03-25 | 2023-05-26 | 蚂蚁金服(杭州)网络技术有限公司 | 联邦学习方法、装置以及设备 |
CN113516249A (zh) * | 2021-06-18 | 2021-10-19 | 重庆大学 | 基于半异步的联邦学习方法、系统、服务器及介质 |
CN113988314A (zh) * | 2021-11-09 | 2022-01-28 | 长春理工大学 | 一种选择客户端的分簇联邦学习方法及系统 |
CN113988314B (zh) * | 2021-11-09 | 2024-05-31 | 长春理工大学 | 一种选择客户端的分簇联邦学习方法及系统 |
EP4184400A1 (en) * | 2021-11-19 | 2023-05-24 | Beijing Baidu Netcom Science Technology Co., Ltd. | Federated learning method, federated learning apparatus, electronic device, and storage medium |
CN114726743A (zh) * | 2022-03-04 | 2022-07-08 | 重庆邮电大学 | 一种基于联邦强化学习的服务功能链部署方法 |
CN114822863A (zh) * | 2022-05-12 | 2022-07-29 | 浙江大学 | 基于联邦学习系统的医疗数据分析方法、设备、存储介质和程序产品 |
CN114822863B (zh) * | 2022-05-12 | 2023-03-24 | 浙江大学 | 基于联邦学习系统的医疗数据分析方法、设备和存储介质 |
CN115618963A (zh) * | 2022-10-20 | 2023-01-17 | 重庆移通学院 | 一种基于优化方向引导的无线联邦学习异步训练方法 |
Also Published As
Publication number | Publication date |
---|---|
WO2022116323A1 (zh) | 2022-06-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112508205A (zh) | 一种联邦学习调度方法、装置及系统 | |
EP3201805B1 (en) | Methods and systems for regulating communications at a mobile communications device | |
CN107944566B (zh) | 一种机器学习方法、主节点、工作节点及系统 | |
CN105144102B (zh) | 自适应数据同步 | |
CN109983480A (zh) | 使用聚类损失训练神经网络 | |
CN112163042B (zh) | 多变数据同步方法、装置、电子装置及存储介质 | |
CN103680496A (zh) | 基于深层神经网络的声学模型训练方法、主机和系统 | |
CN108009642A (zh) | 分布式机器学习方法和系统 | |
CN107465599A (zh) | 一种即时通讯中的日程设置方法及装置 | |
CN109725988B (zh) | 一种任务调度方法和装置 | |
CN112445147A (zh) | 智能设备的唤醒方法、系统、装置、电子设备及存储介质 | |
CN116032663B (zh) | 基于边缘设备的隐私数据处理系统、方法、设备及介质 | |
CN113760553B (zh) | 一种基于蒙特卡洛树搜索的混部集群任务调度方法 | |
KR20210156243A (ko) | 딥러닝 프레임워크의 훈련 방법, 장치 및 저장 매체 | |
CN108984687B (zh) | 基于用户行为的自动加群控制方法、装置及存储介质 | |
CN106982128B (zh) | 基于网络的社群构建方法 | |
CN111460038A (zh) | 一种数据准实时同步方法及装置 | |
CN109214578A (zh) | 电子装置、基于决策树模型的建筑物用电负荷预测方法及存储介质 | |
CN107819823A (zh) | 一种信息处理方法、服务器及计算机可读存储介质 | |
CN112860721A (zh) | 一种智慧园区的云端数据更新方法、装置和系统 | |
CN106384274B (zh) | 一种域名竞拍的数据同步处理方法及系统 | |
CN116010065A (zh) | 分布式任务调度方法、装置以及设备 | |
CN115759577A (zh) | 任务动态调度方法和装置、电子设备、存储介质 | |
CN115017171A (zh) | 多时区场景下的数据处理方法、装置、电子设备及介质 | |
CN115001692A (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 |