CN116245194A - 异步联邦学习方法、装置、***及存储介质 - Google Patents

异步联邦学习方法、装置、***及存储介质 Download PDF

Info

Publication number
CN116245194A
CN116245194A CN202211686530.7A CN202211686530A CN116245194A CN 116245194 A CN116245194 A CN 116245194A CN 202211686530 A CN202211686530 A CN 202211686530A CN 116245194 A CN116245194 A CN 116245194A
Authority
CN
China
Prior art keywords
model
local
global model
global
jth
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.)
Withdrawn
Application number
CN202211686530.7A
Other languages
English (en)
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.)
Beijing Baidu Netcom Science and Technology Co Ltd
Original Assignee
Beijing Baidu Netcom Science and Technology Co Ltd
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 Beijing Baidu Netcom Science and Technology Co Ltd filed Critical Beijing Baidu Netcom Science and Technology Co Ltd
Priority to CN202211686530.7A priority Critical patent/CN116245194A/zh
Publication of CN116245194A publication Critical patent/CN116245194A/zh
Withdrawn legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Medical Informatics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Artificial Intelligence (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本公开提供了异步联邦学习方法、装置、***及存储介质。涉及计算机技术领域,尤其涉及大数据和机器学习等人工智能技术领域。具体实现方案为:响应于接收到第i个设备发送的第j个局部模型,获取第j个局部模型的版本与服务器本地第g个全局模型的版本;基于第j个局部模型的版本与第g个全局模型的版本,确定第j个局部模型与第g个全局模型的版本差异值;在版本差异值满足预设条件的情况下,确定第j个局部模型与第g个全局模型各自对应的权重;基于第j个局部模型与第g个全局模型各自对应的权重,将第j个局部模型与第g个全局模型进行聚合,得到第g+1个全局模型。根据本公开的方案,能够提高模型的准确性。

Description

异步联邦学习方法、装置、***及存储介质
技术领域
本公开涉及计算机技术领域,尤其涉及大数据和机器学习等人工智能技术领域。
背景技术
联邦学习(Federated Learning,FL)作为一种新兴的机器学习范式,可以在不上传原始数据的情况下,在多个分布式设备上进行训练,服务端负责模型的聚合,在有效地利用了分散的数据与算力的同时,尽可能地保护了用户的数据安全。
异步FL使服务器无需等待落后设备就可以聚合上传的局部模型,从而提高了效率。但是,这种机制可能会遇到过时的上传模型和非独立同分布(Independent andidentically distributed,Non-IID)数据带来的低准确率问题。例如,当设备上传基于旧全局模型更新的模型时,全局模型已经更新了多次。然后,上传模型的简单聚合可能会将全局模型拖到之前的状态,导致服务器聚合得到的全局模型的准确性较差。
发明内容
本公开提供了一种异步联邦学习的方法、装置、***以及存储介质。
根据本公开的第一方面,提供了一种异步联邦学习的方法,应用于服务器端,包括:
响应于接收到第i个设备发送的第j个局部模型,获取第j个局部模型的版本与服务器本地第g个全局模型的版本;该第g个全局模型是接到第j个局部模型时服务器本地最新版本的全局模型,i为不小于1的整数,j为不小于1的整数,g为不小于1的整数;
基于第j个局部模型的版本与第g个全局模型的版本,确定第j个局部模型与第g个全局模型的版本差异值;
在版本差异值满足预设条件的情况下,确定第j个局部模型与第g个全局模型各自对应的权重;
基于第j个局部模型与第g个全局模型各自对应的权重,将第j个局部模型与第g个全局模型进行聚合,得到第g+1个全局模型。
根据本公开的第二方面,提供了一种异步联邦学习的方法,应用于设备端,包括:
向服务器发送第j个局部模型,第j个局部模型为第i个设备在第j轮本地训练结束后得到的局部模型,j为不小于1的整数,i为不小于1的整数;
接收服务器发送的第g+1个全局模型,该第g+1个全局模型是在第j个局部模型与第g个全局模型的版本差异值满足预设条件的情况下,服务器基于第j个局部模型与第g个全局模型进行聚合得到的全局模型,该第g个全局模型为接到第j个局部模型时服务器本地最新版本的全局模型,g为不小于1的整数。
根据本公开的第三方面,提供了一种异步联邦学习方法,应用于异步联邦学习***,包括:
第i个设备向服务器发送训练好的第j个局部模型,i为不小于1的整数,j为不小于1的整数;
服务器响应于接收到第i个设备发送的第j个局部模型,获取第j个局部模型的版本与服务器本地第g个全局模型的版本;第g个全局模型为接到第j个局部模型时服务器本地最新版本的全局模型,g为不小于1的整数;基于第j个局部模型的版本与第g个全局模型的版本,确定第j个局部模型与第g个全局模型的版本差异值;在版本差异值满足预设条件的情况下,确定第j个局部模型与第g个全局模型各自对应的权重;基于第j个局部模型与第g个全局模型各自对应的权重,将第j个局部模型与第g个全局模型进行聚合,得到第g+1个全局模型。
根据本公开的第四方面,提供了一种异步联邦学习装置,应用于服务器端,包括:
第一获取模块,用于响应于接收到第i个设备发送的第j个局部模型,获取第j个局部模型的版本与服务器本地第g个全局模型的版本;第g个全局模型是接到第j个局部模型时服务器本地最新版本的全局模型,i为不小于1的整数,j为不小于1的整数,g为不小于1的整数;
第一确定模块,用于基于第j个局部模型的版本与第g个全局模型的版本,确定第j个局部模型与第g个全局模型的版本差异值;
第二确定模块,用于在版本差异值满足预设条件的情况下,确定第j个局部模型与第g个全局模型各自对应的权重;
聚合模块,用于基于第j个局部模型与第g个全局模型各自对应的权重,将第j个局部模型与第g个全局模型进行聚合,得到第g+1个全局模型。
根据本公开的第五方面,提供了一种异步联邦学习装置,应用于设备端,包括:
第二发送模块,用于向服务器发送第j个局部模型,第j个局部模型为第i个设备在第j轮本地训练结束后得到的局部模型,j为不小于1的整数,i为不小于1的整数;
第二接收模块,用于接收服务器发送的第g+1个全局模型,第g+1个全局模型是在第j个局部模型与第g个全局模型的版本差异值满足预设条件的情况下,服务器基于第j个局部模型与第g个全局模型进行聚合得到的全局模型,第g个全局模型为接到第j个局部模型时服务器本地最新版本的全局模型,g为不小于1的整数。
根据本公开的第六方面,提供了一种异步联邦学习***,包括:
m个设备,用于向服务器发送训练好的局部模型,m为大于2的整数;
服务器,用于响应于接收到第i个设备发送的第j个局部模型,获取第j个局部模型的版本与本地第g个全局模型的版本;基于第j个局部模型的版本与第g个全局模型的版本,确定第j个局部模型与第g个全局模型的版本差异值;在版本差异值满足预设条件的情况下,确定第j个局部模型与第g个全局模型各自对应的权重;基于第j个局部模型与第g个全局模型各自对应的权重,将第j个局部模型与第g个全局模型进行聚合,得到第g+1个全局模型;其中,第g个全局模型为服务器收到第i个设备发送的第j个局部模型时本地最新版本的全局模型;i为大于0且小于等于m的整数,j为不小于1的整数,g为不小于1的整数。
根据本公开的第七方面,提供了一种电子设备,包括:
至少一个处理器;以及
与该至少一个处理器通信连接的存储器;其中,
该存储器存储有可被该至少一个处理器执行的指令,该指令被该至少一个处理器执行,以使该至少一个处理器能够执行本公开中任一实施例的方法。
根据本公开的第八方面,提供了一种存储有计算机指令的非瞬时计算机可读存储介质,其中,该计算机指令用于使该计算机执行根据本公开中任一实施例的方法。
根据本公开的第九方面,提供了一种计算机程序产品,包括计算机程序,该计算机程序在被处理器执行时实现根据本公开中任一实施例的方法。
根据本公开的方案,能够提高模型的准确性。
应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。
附图说明
在附图中,除非另外规定,否则贯穿多个附图相同的附图标记表示相同或相似的部件或元素。这些附图不一定是按照比例绘制的。应该理解,这些附图仅描绘了根据本申请公开的一些实施方式,而不应将其视为是对本申请范围的限制。
图1是根据本公开实施例的异步联邦学习框架图;
图2是根据本公开实施例的异步联邦学习方法的流程示意图一;
图3是根据本公开实施例的异步联邦学习的总体流程示意图;
图4是根据本公开实施例的异步联邦学习方法的流程示意图二;
图5是根据本公开实施例的异步联邦学习方法中得到局部模型的框架示意图一;
图6是根据本公开实施例的异步联邦学习方法中得到局部模型的框架示意图二;
图7是根据本公开实施例的异步联邦学习方法的流程示意图三;
图8是根据本公开实施例的异步联邦学习装置的组成结构示意图一;
图9是根据本公开实施例的异步联邦学习装置的组成结构示意图二;
图10是根据本公开实施例的异步联邦学习***的组成结构示意图;
图11是根据本公开实施例的异步联邦学习方法的场景示意图;
图12是用来实现本公开实施例的异步联邦学习方法的电子设备的框图。
具体实施方式
以下结合附图对本公开的示范性实施例做出说明,其中包括本公开实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本公开的范围。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
本公开的说明书实施例和权利要求书及上述附图中的术语“第一”、“第二”和“第三”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元。方法、***、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
在FL范式中,设备在计算和通信能力以及数据方面通常是高度异构的。一些设备可能会在短时间内完成本地训练并更新模型,而另一些设备可能需要更长的时间才能完成此过程,并且可能由于带宽不足或延迟高等原因而无法上传模型,这对应于***异构。另外,每个设备中的数据可能是Non-IID数据,这对应于数据异构。数据异构会导致不同的本地目标和客户端漂移问题,这会降低FL中全局模型的准确性。
为了解决***异构问题,异步FL可以实现全局模型聚合,而无需等待所有设备。一旦从任意设备上传模型或缓冲多个模型就可以执行异步FL。但是,旧的上传模型可能会将全局模型拖到以前的状态,这会显著降低全局模型的准确度。
本公开为了至少部分地解决上述问题以及其他潜在问题中的一个或者多个问题,提出了一种异步学习方法,能根据设备训练局部模型的状态,动态地调整服务器聚合时局部模型的权重(重要性),既保留了设备中的重要信息,又能减少陈旧性的影响,通过动态调整模型的重要性以达到最小化损失的目的,提高了异步学习的准确性,从而能提高服务器聚合的全局模型的准确性。
为了更好地理解本方案,先对异步***架构进行介绍。
由强大的服务器和m个设备组成的FL场景,用
Figure BDA0004021263350000051
表示,m个设备协同训练全局模型。每个设备i存储一个本地数据集/>
Figure BDA0004021263350000052
有/>
Figure BDA0004021263350000053
个数据样本,其中xi,d是第d个s维输入数据向量,yi,d是xi,d的标签。整个数据集由/>
Figure BDA0004021263350000054
表示,其中
Figure BDA00040212633500000511
那么,FL中训练过程的目标是:
Figure BDA0004021263350000055
其中w代表全局模型,
Figure BDA0004021263350000056
是本地损失函数,定义为/>
Figure BDA0004021263350000057
Figure BDA0004021263350000058
是衡量模型参数w在数据样本{xi,d,yi,d}上的误差的损失函数。
为了解决公式
Figure BDA0004021263350000059
中定义的问题,我们提出了一个异步FL框架,如图1所示。服务器以恒定时间段/>
Figure BDA00040212633500000510
触发m'个设备的本地训练。训练过程由多个全局时期组成。训练开始时,全局模型的版本为0。然后,在每个全局epoch(时期)之后,全局模型的版本增加1。每个全局epoch由7个步骤组成。首先,服务器触发m'(m'≤m)个设备并将全局模型wo广播到步骤①中的每个设备。然后,每个设备在步骤②中使用其本地数据集执行本地训练。在本地训练过程中,设备i可以向服务器请求一个新的全局模型(步骤③),以减少本地训练的陈旧性,因为全局模型可能会同时更新。然后服务器在步骤④中将全局模型wg广播到设备。接收到新的全局模型后,设备在步骤⑤中将全局模型和最新的本地模型聚合成一个新模型,并继续用新模型进行本地训练。但是,当接收到的新全局模型与wo相同时,可以跳过步骤⑤。本地训练完成后,设备i在步骤⑥中将本地模型上传到服务器。最后,服务器在步骤⑦中将最新的全局模型wj与上传的模型/>
Figure BDA0004021263350000061
聚合起来。当聚合全局模型wj和上传的本地模型/>
Figure BDA0004021263350000062
时,本地模型的陈旧度计算为τi=j-o+1。当陈旧性τi很重要时,本地模型可能包含旧全局模型中的遗留信息,这可能会将全局模型拖到对应于较差准确性的先前版本。
为了提高联邦学习的准确度,本公开提出了根据过时度和梯度动态调整每个上传的本地模型的重要性,以实现更高的准确性。
其中,过时度(陈旧度)为服务器全局模型与设备局部模型的版本差异。
图2是根据本公开实施例的异步联邦学习方法的流程示意图,该异步联邦学习方法可以应用于异步联邦学习***中的服务器。在一些可能的实现方式中,该异步联邦学习方法还可以通过处理器调用存储器中存储的计算机可读指令的方式来实现。如图2所示,该异步联邦学习方法包括:
S201:响应于接收到第i个设备发送的第j个局部模型,获取该第j个局部模型的版本与服务器本地第g个全局模型的版本;该第g个全局模型为接收到该第j个局部模型时服务器本地最新版本的全局模型,i为不小于1的整数,j为不小于1的整数,g为不小于1的整数;
S202:基于该第j个局部模型的版本与该第g个全局模型的版本,确定该第j个局部模型与该第g个全局模型的版本差异值;
S203:在该版本差异值满足预设条件的情况下,确定该第j个局部模型与该第g个全局模型各自对应的权重;
S204:基于该第j个局部模型与该第g个全局模型各自对应的权重,将该第j个局部模型与该第g个全局模型进行聚合,得到第g+1个全局模型。
本公开实施例中,服务器触发了m个设备,m为不小于2的整数,服务器向m个设备发送初始全局模型,此时,全局模型版本可记为0;在每个全局时期(epoch)之后,全局模型的版本增加1。每个设备接收到服务器下发的初始全局模型,基于本地数据对初始全局模型进行训练,得到初始局部模型,此时,局部模型版本可记为0,在每个局部epoch之后,局部模型版本增加1。
本公开实施例中,若第j个局部模型的版本记为j1,第g个全局模型的版本记为g1,则第j个局部模型与第g个全局模型的版本差异值可以表示为j1-g1,也可以表示为g1-j1,还可表示为|g1-j1|。具体选择何种差异值表示形式可根据需求进行设置。
本公开实施例中,若第j个局部模型的版本记为j1,第g个全局模型的版本记为g1,则j1=j,g1=g,或j1=j-1,g1=g-1。具体选择何种计数方法可根据需求进行设置。
本公开实施例中,服务器响应于第i个设备发送的第j个局部模型,基于第j个局部模型与第g个全局模型进行聚合,得到第g+1个全局模型,将第g+1个全局模型广播至m个设备;第i个设备基于本地数据对第g+1个全局模型进行训练,得到第j+1个局部模型,向服务器上传该第j+1个局部模型。
本公开实施例中,预设条件可包括:版本差异值未达到预设阈值。这里,预设阈值可根据精度或速度需求进行设定或调整。将预设阈值记为tv1,若第g个全局模型的版本为g1,第j个局部模型的版本为j1,版本差异值为g1-j1,若g1-j1<tv,则将第g个全局模型与第j个局部模型聚合,得到第g+1个全局模型。示例性地,以tv1=10,g1=8,j1=6为例,若服务器本地当前最新的全局模型为第8个全局模型,该第8个全局模型的版本为8,设备i=5发送的第6个局部模型的版本为6,则版本差异值为8-6=2,因为2<10,所以将第8个全局模型与第6个局部模型聚合,得到第9个全局模型。又示例性地,以tv1=10,g1=12,j1=1为例,若服务器本地当前最新的全局模型为第12个全局模型,该第12个全局模型的版本为12,设备i=8发送的第1个局部模型的版本为1,则版本差异值为12-1=11,因为11>10,所以舍弃设备i=8发送的第1个局部模型,即:不执行将第12个全局模型与第1个局部模型的聚合操作。需要说明的是,若服务器接收到设备i=8发送的第1个局部模型后的下一时刻,接收到了设备i=9发送的第4个局部模型,若设备i=9发送的第4个局部模型的版本为4,则版本差异值为12-4=8,因为8<10,所以将第12个全局模型与第4个局部模型聚合,得到第13个全局模型,并将第13个全局模型下发至m个设备。
本公开实施例中,预设条件可包括:版本差异值未达到预设阈值,且聚合得到第g个全局模型所采用的局部模型的版本与第j个局部模型的版本的差值小于目标阈值。
这里,聚合得到第g个全局模型时所采用的局部模型,可能来自于设备i发送的第j-1个局部模型,也可能来自于其他设备发送的第k个局部模型。将预设阈值记为tv1,目标阈值记为tv2,若第g个全局模型的版本为g1,第j个局部模型的版本为j1,第k个局部模型的版本为k1,则版本差异值为g1-j1,聚合第g个全局模型时所采用的第k个局部模型的版本与第j个局部模型的版本的差值为k1-j1,若g1-j1<tv1,且j1-k1<tv2,则将第g个全局模型与第j个局部模型聚合,得到第g+1个全局模型。如此,通过增加聚合得到第g个全局模型所采用的局部模型的版本与第j个局部模型的版本的差值这一条件,能够充分考虑本次聚合和上次聚合采用的局部模型间版本的差异,便于进一步判断接收到的局部模型的重要性,从而有助于进一步提高异步联邦学习的准确性。
需要说明的是,上述预设条件仅为示例性说明,不作为对预设条件包括的全部可能的条件的限定,只是这里不做穷举。
实际应用中,还可为各设备设置优先级,根据各设备的优先级,为不同设备返回的局部模型设置不同的预设阈值。比如,优先级高的设备对应的预设阈值,高于优先级低的设备对应的预设阈值。如此,通过为不同设备返回的局部模型设置不同的预设阈值,能够进一步调整不同设备的局部模型的重要性,从而有助于进一步提高异步联邦学习的准确性,也能进一步丰富异步联邦学习的多样性。
本公开实施例中,获取第j个局部模型的版本,包括:基于第i个设备发送的第j个局部模型的相关信息,确定第j个局部模型的版本。其中,第j个局部模型的相关信息包括:第j个局部模型的版本、设备号i及第j个局部模型的数据,以上仅为示例性说明,不作为对相关信息包括的全部可能的信息的限定,只是这里不做穷举。
本公开实施例所述的技术方案,基于全局模型与局部模型的版本差异值,在版本差异值满足预设条件的情况下,动态地调整服务器聚合时局部模型的权重(重要性),既保留了设备中的重要信息,又能减少陈旧性的影响,通过动态调整模型的重要性能达到最小化损失的目的,提高了异步学习的准确性,从而能提高服务器聚合得到的全局模型的准确性。
在一些实施例中,S203可包括:响应于检测到版本差异值未达到预设阈值,确定第j个局部模型与第g个全局模型各自对应的权重。
本公开实施例中,确定第j个局部模型与第g个全局模型各自对应的权重,包括:根据版本差异值的大小,确定第j个局部模型与第g个全局模型各自对应的权重。其中,版本差异值越大,局部模型的权重占比越小;版本差异值越小,局部模型的权重占比越大,但第g个全局模型所占的权重大于第j个局部模型的权重。
本公开的实施例中,确定第j个局部模型与第g个全局模型各自对应的权重,包括:根据版本差异值的大小,查找预先设置的权重占比对照表,确定第j个局部模型与第g个全局模型各自对应的权重。其中,该对照表包括版本差异值与局部模型权重占比的对应关系。本公开不对权重占比对照表的获取方式进行限定。比如,权重占比对照表可以是根据先验值确定出的对照表,还可以是根据精度或速度需求设置出的对照表。
以上仅为示例性说明,不作为对确定第j个局部模型与第g个全局模型各自对应的权重包括的全部可能的确定方式的限定,只是这里不做穷举。
本公开实施例所述的技术方案,通过根据过时度动态调整全局模型和局部模型在服务器聚合时的权重,从而有助于提高聚合得到的全局模型的准确度。
本公开实施例中,当服务器收到来自设备i的原始版本o的模型
Figure BDA00040212633500000923
,服务器会根据公式(1)更新当前的全局模型wj
Figure BDA0004021263350000091
其中,全局模型wj+1为全局模型wj的下一个全局模型,
Figure BDA0004021263350000092
为局部模型/>
Figure BDA0004021263350000093
的权重,
Figure BDA0004021263350000094
为全局模型wj的权重。
该种全局模型更新方法,可能会影响每一轮聚合得到的全局模型的准确性,因此,将公式
Figure BDA00040212633500000924
分解为以下双层优化问题:
Figure BDA0004021263350000095
Figure BDA0004021263350000096
Figure BDA0004021263350000097
其中,
Figure BDA0004021263350000098
其中,A={α12,…,αm}是一组与设备上传模型的重要性相对应的值。公式/>
Figure BDA00040212633500000925
是本地损失函数的最小化。
采用动态多项式函数
Figure BDA0004021263350000099
来表示在公式(2)中为公式/>
Figure BDA00040212633500000926
定义的/>
Figure BDA00040212633500000910
Figure BDA00040212633500000911
其中,μα是超参数,j代表当前全局模型的版本,o对应第i个设备在进行本地训练之前收到的全局模型版本,
Figure BDA00040212633500000912
和/>
Figure BDA00040212633500000913
是第i个设备在第t次执行本地训练的控制参数,这三个参数动态地根据以下公式(3)进行调整:
Figure BDA00040212633500000914
其中,
Figure BDA00040212633500000915
和/>
Figure BDA00040212633500000916
表示对应的动态调整学习率,/>
Figure BDA00040212633500000917
Figure BDA00040212633500000918
分别对应损失函数的偏导数。
其中,
Figure BDA00040212633500000919
和/>
Figure BDA00040212633500000920
表示对应的动态调整学习率,/>
Figure BDA00040212633500000921
Figure BDA00040212633500000922
分别对应损失函数的偏导数。/>
算法1是服务器中的模型聚合算法,服务器的一个单独线程触发m′个设备进行本地训练,
Figure BDA0004021263350000101
为第i个设备的局部模型。
算法1的伪代码描述如下:
Figure BDA0004021263350000102
下面,对算法1的伪代码进行解释。
第1-6行:一个单独的线程周期性地触发设备进行并行本地训练。
第8行:服务器收到第i个设备发送的局部模型
Figure BDA0004021263350000111
第9行:服务器获取第i设备的局部模型的信息,验证第i个设备上传的模型是否在过时界限内。
第10行:第i个设备的局部模型没有在过时界限内,服务器将忽略
Figure BDA0004021263350000112
第12-13行:服务器根据公式(3),更新控制参数
Figure BDA0004021263350000113
并基于公式(2)计算
Figure BDA0004021263350000114
第14行:服务器更新全局模型。
通过算法1,能解决异步联邦学习中存在局部模型过时度的问题。
本公开实施例所述的技术方案,通过根据过时度和梯度,动态调整全局模型和局部模型在服务器聚合时的权重和聚合控制参数,从而有助于提高聚合得到的全局模型的准确度。
在一些实施例中,该异步联邦学习方法,可包括:
S205:在该版本差异值不满足预设条件的情况下,舍弃该第j个局部模型。
本公开实施例中,服务器响应于第i个设备发送的第j个局部模型,获取第j个局部模型的信息,如图3所示,若该第j个局部模型与该第g个全局模型的版本差异值未达到预设阈值,则执行S203-S204,若该第j个局部模型与该第g个全局模型的版本差异值达到预设阈值,则执行S205,即不再执行S203-S204。
本公开实施例中,可通过有限的陈旧度保证收敛,因此,考虑了两种机制来确保陈旧度界限。第一种机制是在陈旧度超过预定义阈值τ时,服务器丢弃设备端上传的本地模型。该机制,可以避免空闲时间持有强大设备带来的效率低下问题。第二种机制是强制快速设备等待慢速设备。然而,与静态阻塞机制不同,根据对所有设备的最大陈旧度的预测来动态决定是否允许所选设备继续训练。例如,在给定时间,当服务器为下一个epoch选择m设备
Figure BDA0004021263350000115
时,全局模型的版本是v和一组设备/>
Figure BDA0004021263350000116
仍在进行本地训练。然后,对于/>
Figure BDA0004021263350000117
中的每个设备(i),我们预测设备i可以根据配置的计算和通信能力返回其更新的本地模型的时间(ti)。我们可以进一步找出/>
Figure BDA0004021263350000118
中最旧的版本(vold)以及在时间ti触发的设备。当v+1-vold<τ时,可以触发设备i进行训练。否则,设备i需要等到满足上述条件。
本公开实施例中,过时度体现为全局模型与局部模型的版本差异,当版本差异过大时,即,过时度较大,在服务器聚合时,版本较低的局部模型会影响全局模型,将全局模型的版本也拖至较低的版本。
本公开实施例所述的技术方案,相对于任意一个或多个设备上传的局部模型或缓冲的多个局部模型就可以执行异步FL而言,服务器及时地获取上传的局部模型的版本,可以有效减轻设备端的局部模型参数的过时度带来的影响,从而有助于提升服务器聚合得到的全局模型的准确度。
在一些实施例中,该异步联邦学习方法,还可包括:
S206:接收第i个设备发送的更新全局模型请求,该更新全局模型请求是在生成该第j个局部模型之前发送的;
S207:基于该更新全局模型请求向该第i个设备发送第k个全局模型,该第k个全局模型为接收到该更新全局模型请求时该服务器本地最新版本的全局模型,其中,0<k≤g。
本公开实施例中,服务器接收第i个设备发送的更新全局模型请求,服务器响应于第i个设备的更新全局模型请求,向第i个设备发送服务器接收到该更新全局模型请求时本地最新版本的全局模型,即第k个全局模型。也就是说,服务器除了在聚合得到全局模型后,主动向各设备广播最新的全局模型,还在接收到设备主动发送的更新全局模型请求时,下发本地最新的全局模型至发送更新全局模型请求的设备端。
如此,服务器端可根据设备主动发送的更新全局模型请求,下发本地最新的全局模型至发送更新全局模型请求的设备端,有助于供设备端根据最新的全局模型进行训练,提高了设备的本地训练的准确度。
图4是根据本公开实施例的异步联邦学习方法的流程示意图二,该异步联邦学习方法可以应用于异步联邦学习***中的设备端。在一些可能的实现方式中,该基于异步联邦学习方法还可以通过处理器调用存储器中存储的计算机可读指令的方式来实现。如图4所示,该异步联邦学习方法包括:
S401:向服务器发送第j个局部模型,该第j个局部模型为第i个设备在第j轮本地训练结束后得到的局部模型,j为不小于1的整数,i为不小于1的整数;
S402:接收该服务器发送的第g+1个全局模型,该第g+1个全局模型是在该第j个局部模型与第g个全局模型的版本差异值满足预设条件的情况下,该服务器基于该第j个局部模型与该第g个全局模型进行聚合得到的全局模型,该第g个全局模型为接到该第j个局部模型时服务器本地最新版本的全局模型,g为不小于1的整数。
本公开实施例中,当第i个设备被触发进行本地训练,第i个设备从服务器接收一个全局模型wo,并将全局模型wo作为第i个设备的初始本地模型,第i个设备进行本地训练,在本地训练过程中,利用随机梯度下降(Stochastic Gradient Descent,SGD)方法,根据公式(4)中定义的使用本地数据集
Figure BDA0004021263350000131
更新本地模型:
Figure BDA0004021263350000132
其中,o是全局模型的版本,l代表本地epoch个数,ηi指的是第i个设备的学习率,
Figure BDA0004021263350000133
对应于基于来自/>
Figure BDA0004021263350000134
的无偏采样小批量ζl-1的梯度。
为了减少局部模型和全局模型之间的版本差距,在设备的局部训练过程中,将较新的全局模型与局部模型聚合,在局部模型训练期间,全局模型可能会同时密集更新。因此,第i个设备与服务器中较新全局模型的进行聚合可以很好地缩小局部模型与全局模型之间的差距。然而,设备端确定聚合新全局模型的权重是很复杂的。
当接收到一个新的全局模型wg时,第i个设备与第i个设备当前的本地模型
Figure BDA0004021263350000135
执行本地模型聚合,其中l代表的数字是使用公式(5)的本地epoch。
Figure BDA0004021263350000136
其中,
Figure BDA0004021263350000137
是第t次本地训练中第i个设备上的新全局模型的权重。公式(5)与公式(1)不同,因为接收到的新全局模型对应于更高的全局版本。我们参照/>
Figure BDA0004021263350000138
Figure BDA0004021263350000139
利用公式(6)来计算/>
Figure BDA00040212633500001310
Figure BDA00040212633500001311
其中,μβ是超参数,
Figure BDA00040212633500001312
和/>
Figure BDA00040212633500001313
是根据公式(7)动态调整的控制参数。/>
Figure BDA00040212633500001314
其中,
Figure BDA00040212633500001315
和/>
Figure BDA00040212633500001316
分别是/>
Figure BDA00040212633500001317
和/>
Figure BDA00040212633500001318
的学习率。
算法2是设备上的模型更新算法,设备生成一个用于发送的更新全局模型请求,设备获取服务器发送的全局模型,基于全局模型更新本地模型。
算法2的伪代码描述如下:
Figure BDA00040212633500001319
Figure BDA0004021263350000141
下面,对算法2的伪代码进行解释。
第1行:第i个设备生成一个用于发送对新全局模型的请求的本地epoch数l*
第5行:在第l*个本地epoch中,第i个设备向服务器发送请求。
第6行:第i个设备可以等待新的全局模型或在一个单独的线程中并行等待新的全局模型。
第8行:设备接收到新的全局模型。
第9行:利用公式(6)来更新
Figure BDA0004021263350000142
第10行:利用公式(5)更新wo,l-1
第11行:利用公式(7)更新
Figure BDA0004021263350000143
和/>
Figure BDA0004021263350000144
第13行:利用公式(4)更新本地模型。
通过算法2,能解决异步联邦学习中存在局部模型过时度的问题。根据过时度和梯度动态的调整全局模型和局部模型的权重。
如此,通过根据过时度和梯度,动态调整本地训练的控制参数,从而有助于提高模型的准确度。
在一些实施例中,该异步联邦学习方法还可包括:
S403:在向服务器发送该第j个局部模型之前,向服务器发送更新全局模型请求;
S404:接收服务器基于该更新全局模型请求返回的第k个全局模型,该第k个全局模型为接收到该更新全局模型请求时服务器本地最新版本的全局模型,其中,0<k≤g;
S405:基于本地数据集对该第k个全局模型进行训练,得到该第j个局部模型。
这里,S403~S405在S401之前执行。
如此,设备端可根据需求主动向服务器发出更新全局模型请求,进而根据基于该更新全局模型请求得到的全局模型进行训练,有助于提高生成的局部模型的准确性。
在一些实施例中,S405包括:
S4051:将本地的目标局部模型与该第k个全局模型进行聚合,得到目标全局模型,其中,该目标局部模型是在第j轮训练过程中得到的局部模型;
S4052:利用该本地数据集对该目标全局模型进行训练,得到该第j个局部模型。
这里,第j轮训练用于训练得到第j个局部模型。
本公开实施例中,比较第k个全局模型与目标局部模型,若第k个全局模型与目标局部模型不同,进行聚合操作;若第k个全局模型与目标局部模型相同,不进行聚合操作,将目标局部模型或第k个全局模型作为目标全局模型。
如此,既能保留设备中的重要信息,又能减少本地模型的过时度的影响,提高第j个局部模型的准确性。
在一些实施例中,S405还包括:
S4053:利用本地数据集,对在第j轮训练开始前第i个设备的本地最新全局模型进行训练,得到该目标局部模型。
这里,S4053在S4051之前执行。
如此,通过边训练边等待的方式,既能保留设备中的重要信息,又能提高模型本地训练的速度。
本公开实施例中,第i个设备向服务器发送更新全局模型请求,在第i个设备未接收到服务器发送的第k个全局模型前,第i个设备持续等待服务器下发第k个全局模型,直至第i个设备接收到服务器发送的第k个全局模型,第i个设备基于第k个全局模型与本地数据进行本地训练,得到第j个局部模型。
如此,通过设备停止本地训练,等待服务器基于更新全局模型请求返回的最新的全局模型,基于最新的全局模型进行本地训练,从而有助于提高模型学习的准确度。
图5是根据本公开实施例的异步联邦学习方法中得到局部模型的框架示意图一,如图5所示,在一些实施例中,利用本地数据集,对在第j轮训练开始前第i个设备的本地最新全局模型进行训练,得到该目标局部模型;将本地的目标局部模型与该第k个全局模型进行聚合,得到目标全局模型,其中,该目标局部模型是在第j轮训练过程中得到的局部模型;利用该本地数据集对该目标全局模型进行训练,得到该第j个局部模型。
图6是根据本公开实施例的异步联邦学习方法中得到局部模型的框架示意图二,如图6所示,在一些实施例中,在接收到服务器发送的第k个全局模型前,持续进行等待;在接收到服务器发送的第k个全局模型后,基于本地数据集对第k个全局模型进行训练,得到第j个局部模型。
应理解,图5和图6所示的框架图仅仅是示例性而不是限制性的,并且其是可扩展的,本领域技术人员可以基于图5和图6的例子进行各种显而易见的变化和/或替换,得到的技术方案仍属于本公开实施例的公开范围。
图7是根据本公开实施例的异步联邦学习方法的流程图三,该异步联邦学习方法可以应用于异步联邦学习***中的服务器端和设备端。在一些可能的实现方式中,该基于异步联邦学习方法还可以通过处理器调用存储器中存储的计算机可读指令的方式来实现。如图7所示,该异步联邦学习方法包括:
服务器响应于接收到第i个设备发送的第j个局部模型,获取该第j个局部模型的版本与服务器本地第g个全局模型的版本;该第g个全局模型为接到该第j个局部模型时服务器本地最新版本的全局模型,i为不小于1的整数,j为不小于1的整数,g为不小于1的整数;基于该第j个局部模型的版本与该第g个全局模型的版本,确定该第j个局部模型与该第g个全局模型的版本差异值;在该版本差异值满足预设条件的情况下,确定该第j个局部模型与该第g个全局模型各自对应的权重;基于该第j个局部模型与该第g个全局模型各自对应的权重,将该第j个局部模型与该第g个全局模型进行聚合,得到第g+1个全局模型;
第i个设备响应于接收到该服务器发送的第g+1个全局模型,基于该第g+1个全局模型进行本地训练,得到第j+1个局部模型。
本公开实施例中,某输入法厂商为避免直接获取用户的原始键盘和语音数据。传统的分布式机器学习无法应对场景中的***异构,例如:用户手机的性能差异、充电状态、网络状态等,和数据异构,例如:每个用户本地的训练数据是Non-IID的,因此,通过应用FL,在不上传用户的原始数据的情况下改进键盘和语音输入模型。
以1台中心服务器和100台手机组成的异步联邦学习***为例,服务器和手机之间使用互联网连接,介绍算法1和算法2的实际应用:
服务端算法见算法1:
1-6行:服务端定期并行地触发一些空闲的手机。
第8行:在每个全局epoch中服务端从任意一台手机i获取本地模型。
第12-14行:使用公式(3)动态地调整全局模型聚合参数,并进行全局模型聚合。
手机端算法见算法2:
第1行:第i台手机被服务端触发后,确定本地训练过程中发送获取新的全局模型请求的时隙l*
第2行:获取服务器端最新的全局模型。
第6行:使用随机梯度下降训练本地epoch后,在时隙l*时获取新的全局模型。
第9-11行:如果全局模型更新了,则使用公式动态地调整本地模型聚合参数,并进行本地模型聚合。
第13行:更新本地模型。
本公开实施例所述的技术方案,根据过时度和梯度动态地调整模型聚合参数的权重,有效地减轻了异步联邦学习***中因过时度带来的影响,从而有助于提升模型的准确度。
应理解,图7所示的示意图仅仅是示例性而不是限制性的,并且其是可扩展的,本领域技术人员可以基于图7的例子进行各种显而易见的变化和/或替换,得到的技术方案仍属于本公开实施例的公开范围。
本公开实施例提供了一种异步联邦学习装置,应用于服务器端,如图8所示,该装置可以包括:第一获取模块801,用于响应于接收到第i个设备发送的第j个局部模型,获取第j个局部模型的版本与服务器本地第g个全局模型的版本;第g个全局模型是接到第j个局部模型时服务器本地最新版本的全局模型,i为不小于1的整数,j为不小于1的整数,g为不小于1的整数;第一确定模块802,用于基于第j个局部模型的版本与第g个全局模型的版本,确定第j个局部模型与第g个全局模型的版本差异值;第二确定模块803,用于在版本差异值满足预设条件的情况下,确定第j个局部模型与第g个全局模型各自对应的权重;聚合模块804,用于基于第j个局部模型与第g个全局模型各自对应的权重,将第j个局部模型与第g个全局模型进行聚合,得到第g+1个全局模型。
在一些实施例中,第二确定模块803,包括:确定子模块,用于响应于检测到版本差异值未达到预设阈值,确定第j个局部模型与第g个全局模型各自对应的权重。
在一些实施例中,该装置还可包括:第二获取模块805(图8未示出),用于获取第g+1轮的聚合控制参数;该聚合模块804,还用于基于该第j个局部模型与该第g个全局模型各自对应的权重,以及该第g+1轮的聚合控制参数,将该第j个局部模型与该第g个全局模型进行聚合,得到第g+1个全局模型。
在一些实施例中,该装置还可包括:舍弃模块806(图8未示出),用于在版本差异值不满足预设条件的情况下,舍弃第j个局部模型。
在一些实施例中,该装置还可包括:第一接收模块807(图8未示出),用于接收第i个设备发送的更新全局模型请求,更新全局模型请求是在生成第j个局部模型之前发送的;第一发送模块808(图8未示出),用于基于更新全局模型请求向第i个设备发送第k个全局模型,第k个全局模型为接收到更新全局模型请求时服务器本地最新版本的全局模型,其中,0<k≤g。
本领域技术人员应当理解,本公开实施例的异步联邦学习装置中各处理模块的功能,可参照前述的应用于服务器端的异步联邦学习方法的相关描述而理解,本公开实施例的异步联邦学习装置中各处理模块,可通过实现本公开实施例所述的功能的模拟电路而实现,也可以通过执行本公开实施例所述的功能的软件在电子设备上的运行而实现。
本公开实施例的异步联邦学习装置,能提高服务器聚合全局模型的准确度。
本公开实施例提供了一种异步联邦学习装置,应用于设备端,如图9所示,该装置可以包括:第二发送模块901,用于向服务器发送第j个局部模型,第j个局部模型为第i个设备在第j轮本地训练结束后得到的局部模型,j为不小于1的整数,i为不小于1的整数;第二接收模块902,用于接收服务器发送的第g+1个全局模型,第g+1个全局模型是在第j个局部模型与第g个全局模型的版本差异值满足预设条件的情况下,服务器基于第j个局部模型与第g个全局模型进行聚合得到的全局模型,第g个全局模型为接到第j个局部模型时服务器本地最新版本的全局模型,g为不小于1的整数。
在一些实施例中,该装置还可包括:第三发送模块903(图9未示出),用于在向服务器发送第j个局部模型之前,向服务器发送更新全局模型请求;第三接收模块904(图9未示出),用于接收服务器基于更新全局模型请求返回的第k个全局模型,第k个全局模型为接收到更新全局模型请求时服务器本地最新版本的全局模型,其中,0<k≤g;第三获取模块905(图9未示出),用于基于本地数据集对第k个全局模型进行训练,得到第j个局部模型。
在一些实施例中,第三获取模块905(图9未示出),可包括:聚合子模块,用于将本地的目标局部模型与第k个全局模型进行聚合,得到目标全局模型,其中,目标局部模型是在第j轮训练过程中得到的局部模型;第一训练子模块,用于利用本地数据集对目标全局模型进行训练,得到第j个局部模型。
在一些实施例中,第三获取模块905(图9未示出),还可包括:第二训练子模块,用于利用本地数据集,对在第j轮训练开始前第i个设备的本地最新全局模型进行训练,得到目标局部模型。
本领域技术人员应当理解,本公开实施例的异步联邦学习装置中各处理模块的功能,可参照前述的异步联邦学习方法的相关描述而理解,本公开实施例的应用于设备端的异步联邦学习装置中各处理模块,可通过实现本公开实施例所述的功能的模拟电路而实现,也可以通过执行本公开实施例所述的功能的软件在电子设备上的运行而实现。
本公开实施例的异步联邦学习装置,能提高设备本地训练的准确度和效率。
本公开实施例提供了一种异步联邦学习***,如图10所示,该***包括:m个设备,用于向服务器发送训练好的局部模型,m为大于2的整数;服务器,用于响应于接收到第i个设备发送的第j个局部模型,获取第j个局部模型的版本与本地第g个全局模型的版本;基于第j个局部模型的版本与第g个全局模型的版本,确定第j个局部模型与第g个全局模型的版本差异值;在版本差异值满足预设条件的情况下,确定第j个局部模型与第g个全局模型各自对应的权重;基于第j个局部模型与第g个全局模型各自对应的权重,将第j个局部模型与第g个全局模型进行聚合,得到第g+1个全局模型;其中,第g个全局模型为服务器收到第i个设备发送的第j个局部模型时本地最新版本的全局模型;i为大于0且小于等于m的整数,j为不小于1的整数,g为不小于1的整数。
本公开实施例的异步联邦学习***,能提高聚合得到的模型的准确性。
本公开实施例还提供了异步联邦学习的场景示意图,如图11所示,电子设备如云服务器接收各终端发送的训练好的局部模型;电子设备每接收到局部模型,均执行如下处理:
响应于终端i发送的第j个局部模型,基于第j个局部模型的版本与本地当前最新版本全局模型(如第g个全局模型)的版本,确定第j个局部模型与第g个全局模型的版本差异值;在版本差异值满足预设条件的情况下,确定第j个局部模型与第g个全局模型各自对应的权重;基于第j个局部模型与第g个全局模型各自对应的权重,将第j个局部模型与第g个全局模型进行聚合,得到第g+1个全局模型;向各终端广播第g+1个全局模型。
终端i根据接收到的第g+1个全局模型进行本地训练,得到第j+1个局部模型。
本公开不对终端和电子设备的个数进行限定,实际应用中可包括多个终端、多个电子设备。
应理解,图11所示的场景图仅仅是示意性而非限制性的,本领域技术人员可以基于图11的例子进行各种显而易见的变化和/或替换,得到的技术方案仍属于本公开实施例的公开范围。
本公开的技术方案中,所涉及的用户个人信息的获取,存储和应用等,均符合相关法律法规的规定,且不违背公序良俗。
根据本公开的实施例,本公开还提供了一种电子设备、一种可读存储介质和一种计算机程序产品。
图12示出了可以用来实施本公开的实施例的示例电子设备1200的示意性框图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字助理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本公开的实现。
如图12所示,设备1200包括计算单元1201,其可以根据存储在只读存储器(Read-Only Memory,ROM)1202中的计算机程序或者从存储单元1208加载到随机访问存储器(RandomAccess Memory,RAM)1203中的计算机程序,来执行各种适当的动作和处理。在RAM1203中,还可存储设备1200操作所需的各种程序和数据。计算单元1201、ROM 1202以及RAM1203通过总线1204彼此相连。输入/输出(Input/Output,I/O)接口1205也连接至总线1204。
设备1200中的多个部件连接至I/O接口1205,包括:输入单元1206,例如键盘、鼠标等;输出单元1207,例如各种类型的显示器、扬声器等;存储单元1208,例如磁盘、光盘等;以及通信单元1209,例如网卡、调制解调器、无线通信收发机等。通信单元1209允许设备1200通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
计算单元1201可以是各种具有处理和计算能力的通用和/或专用处理组件。计算单元1201的一些示例包括但不限于中央处理单元(Central Processing Unit,CPU)、图形处理单元(Graphics Processing Unit,GPU)、各种专用的人工智能(ArtificialIntelligence,AI)计算芯片、各种运行机器学习模型算法的计算单元、数字信号处理器(Digital Signal Processor,DSP)、以及任何适当的处理器、控制器、微控制器等。计算单元1201执行上文所描述的各个方法和处理,例如异步联邦学习方法。例如,在一些实施例中,异步联邦学习方法可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元1208。在一些实施例中,计算机程序的部分或者全部可以经由ROM 1202和/或通信单元1209而被载入和/或安装到设备1200上。当计算机程序加载到RAM 1203并由计算单元1201执行时,可以执行上文描述的异步联邦学习方法的一个或多个步骤。备选地,在其他实施例中,计算单元1201可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行异步联邦学习方法。
本文中以上描述的***和技术的各种实施方式可以在数字电子电路***、集成电路***、现场可编程门阵列(Field Programmable Gate Array,FPGA)、专用集成电路(Application Specific Integrated Circuit,ASIC)、专用标准产品(Application-Specific Standard Products,ASSP)、芯片上***的***(System on Chip,SOC)、复杂可编程逻辑设备(Complex Programmable Logic Device,CPLD)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程***上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储***、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储***、该至少一个输入装置、和该至少一个输出装置。
用于实施本公开的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行***、装置或设备使用或与指令执行***、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体***、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器、只读存储器、可擦除可编程只读存储器(ErasableProgrammable Read-Only Memory,EPROM)、快闪存储器、光纤、便捷式紧凑盘只读存储器(Compact Disk Read Only Memory,CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
为了提供与用户的交互,可以在计算机上实施此处描述的***和技术,该计算机具有:用于向用户显示信息的显示装置(例如,阴极射线管(Cathode Ray Tube,CRT)或者液晶显示器(Liquid Crystal Display,LCD)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入、或者触觉输入)来接收来自用户的输入。
可以将此处描述的***和技术实施在包括后台部件的计算***(例如,作为数据服务器)、或者包括中间件部件的计算***(例如,应用服务器)、或者包括前端部件的计算***(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的***和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算***中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将***的部件相互连接。通信网络的示例包括:局域网(Local Area Network,LAN)、广域网(Wide Area Network,WAN)和互联网。
计算机***可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端和服务器关系的计算机程序来产生客户端和服务器的关系。服务器可以是云服务器,也可以为分布式***的服务器,或者是结合了区块链的服务器。应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本公开中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本公开公开的技术方案所期望的结果,本文在此不进行限制。
上述具体实施方式,并不构成对本公开保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本公开的原则之内所作的修改、等同替换和改进等,均应包含在本公开保护范围之内。

Claims (23)

1.一种异步联邦学习方法,应用于服务器端,包括:
响应于接收到第i个设备发送的第j个局部模型,获取所述第j个局部模型的版本与服务器本地第g个全局模型的版本;所述第g个全局模型是接到所述第j个局部模型时服务器本地最新版本的全局模型,i为不小于1的整数,j为不小于1的整数,g为不小于1的整数;
基于所述第j个局部模型的版本与所述第g个全局模型的版本,确定所述第j个局部模型与所述第g个全局模型的版本差异值;
在所述版本差异值满足预设条件的情况下,确定所述第j个局部模型与所述第g个全局模型各自对应的权重;
基于所述第j个局部模型与所述第g个全局模型各自对应的权重,将所述第j个局部模型与所述第g个全局模型进行聚合,得到第g+1个全局模型。
2.根据权利要求1所述的方法,其中,所述在所述版本差异值满足预设条件的情况下,确定所述第j个局部模型与所述第g个全局模型各自对应的权重,包括:
响应于检测到所述版本差异值未达到预设阈值,确定所述第j个局部模型与所述第g个全局模型各自对应的权重。
3.根据权利要求1所述的方法,还包括:
获取第g+1轮的聚合控制参数;
所述基于所述第j个局部模型与所述第g个全局模型各自对应的权重,将所述第j个局部模型与所述第g个全局模型进行聚合,得到第g+1个全局模型,包括:
基于所述第j个局部模型与所述第g个全局模型各自对应的权重,以及所述第g+1轮的聚合控制参数,将所述第j个局部模型与所述第g个全局模型进行聚合,得到第g+1个全局模型。
4.根据权利要求1所述的方法,还包括:
在所述版本差异值不满足所述预设条件的情况下,舍弃所述第j个局部模型。
5.根据权利要求1所述的方法,还包括:
接收所述第i个设备发送的更新全局模型请求,所述更新全局模型请求是在生成所述第j个局部模型之前发送的;
基于所述更新全局模型请求向所述第i个设备发送第k个全局模型,所述第k个全局模型为接收到所述更新全局模型请求时所述服务器本地最新版本的全局模型,k为不大于g的正整数。
6.一种异步联邦学习方法,应用于设备端,包括:
向服务器发送第j个局部模型,所述第j个局部模型为第i个设备在第j轮本地训练结束后得到的局部模型,j为不小于1的整数,i为不小于1的整数;
接收所述服务器发送的第g+1个全局模型,所述第g+1个全局模型是在所述第j个局部模型与第g个全局模型的版本差异值满足预设条件的情况下,所述服务器基于所述第j个局部模型与所述第g个全局模型进行聚合得到的全局模型,所述第g个全局模型为接到所述第j个局部模型时服务器本地最新版本的全局模型,g为不小于1的整数。
7.根据权利要求6所述的方法,还包括:
在向所述服务器发送所述第j个局部模型之前,向所述服务器发送更新全局模型请求;
接收所述服务器基于所述更新全局模型请求返回的第k个全局模型,所述第k个全局模型为接收到所述更新全局模型请求时所述服务器本地最新版本的全局模型,k为不大于g的正整数;
基于本地数据集对所述第k个全局模型进行训练,得到所述第j个局部模型。
8.根据权利要求7所述的方法,其中,所述基于本地数据集对所述第k个全局模型进行训练,得到所述第j个局部模型,包括:
将本地的目标局部模型与所述第k个全局模型进行聚合,得到目标全局模型,其中,所述目标局部模型是在第j轮训练过程中得到的局部模型;
利用所述本地数据集对所述目标全局模型进行训练,得到所述第j个局部模型。
9.根据权利要求8所述的方法,其中,所述基于本地数据集对所述第k个全局模型进行训练,得到所述第j个局部模型,还包括:
利用所述本地数据集,对在所述第j轮训练开始前所述第i个设备的本地最新全局模型进行训练,得到所述目标局部模型。
10.一种异步联邦学习方法,应用于异步联邦学习***,包括:
第i个设备向服务器发送训练好的第j个局部模型,i为不小于1的整数,j为不小于1的整数;
服务器响应于接收到第i个设备发送的第j个局部模型,获取所述第j个局部模型的版本与服务器本地第g个全局模型的版本;所述第g个全局模型为接到所述第j个局部模型时服务器本地最新版本的全局模型,g为不小于1的整数;基于所述第j个局部模型的版本与所述第g个全局模型的版本,确定所述第j个局部模型与所述第g个全局模型的版本差异值;在所述版本差异值满足预设条件的情况下,确定所述第j个局部模型与所述第g个全局模型各自对应的权重;基于所述第j个局部模型与所述第g个全局模型各自对应的权重,将所述第j个局部模型与所述第g个全局模型进行聚合,得到第g+1个全局模型。
11.一种异步联邦学习装置,应用于服务器端,包括:
第一获取模块,用于响应于接收到第i个设备发送的第j个局部模型,获取所述第j个局部模型的版本与服务器本地第g个全局模型的版本;所述第g个全局模型是接到所述第j个局部模型时服务器本地最新版本的全局模型,i为不小于1的整数,j为不小于1的整数,g为不小于1的整数;
第一确定模块,用于基于所述第j个局部模型的版本与所述第g个全局模型的版本,确定所述第j个局部模型与所述第g个全局模型的版本差异值;
第二确定模块,用于在所述版本差异值满足预设条件的情况下,确定所述第j个局部模型与所述第g个全局模型各自对应的权重;
聚合模块,用于基于所述第j个局部模型与所述第g个全局模型各自对应的权重,将所述第j个局部模型与所述第g个全局模型进行聚合,得到第g+1个全局模型。
12.根据权利要求11所述的装置,其中,所述第二确定模块,包括:
确定子模块,用于响应于检测到所述版本差异值未达到预设阈值,确定所述第j个局部模型与所述第g个全局模型各自对应的权重。
13.根据权利要求11所述的装置,还包括:
第二获取模块,用于获取第g+1轮的聚合控制参数;
所述聚合模块,还用于基于所述第j个局部模型与所述第g个全局模型各自对应的权重,以及所述第g+1轮的聚合控制参数,将所述第j个局部模型与所述第g个全局模型进行聚合,得到第g+1个全局模型。
14.根据权利要求11所述的装置,还包括:
舍弃模块,用于在所述版本差异值不满足所述预设条件的情况下,舍弃所述第j个局部模型。
15.根据权利要求11所述的装置,还包括:
第一接收模块,用于接收所述第i个设备发送的更新全局模型请求,所述更新全局模型请求是在生成所述第j个局部模型之前发送的;
第一发送模块,用于基于所述更新全局模型请求向所述第i个设备发送第k个全局模型,所述第k个全局模型为接收到所述更新全局模型请求时所述服务器本地最新版本的全局模型,k为不大于g的正整数。
16.一种异步联邦学习装置,应用于设备端,包括:
第二发送模块,用于向服务器发送第j个局部模型,所述第j个局部模型为第i个设备在第j轮本地训练结束后得到的局部模型,j为不小于1的整数,i为不小于1的整数;
第二接收模块,用于接收所述服务器发送的第g+1个全局模型,所述第g+1个全局模型是在所述第j个局部模型与第g个全局模型的版本差异值满足预设条件的情况下,所述服务器基于所述第j个局部模型与所述第g个全局模型进行聚合得到的全局模型,所述第g个全局模型为接到所述第j个局部模型时服务器本地最新版本的全局模型,g为不小于1的整数。
17.根据权利要求16所述的装置,还包括:
第三发送模块,用于在向所述服务器发送所述第j个局部模型之前,向所述服务器发送更新全局模型请求;
第三接收模块,用于接收所述服务器基于所述更新全局模型请求返回的第k个全局模型,所述第k个全局模型为接收到所述更新全局模型请求时所述服务器本地最新版本的全局模型,k为不大于g的正整数;
第三获取模块,用于基于本地数据集对所述第k个全局模型进行训练,得到所述第j个局部模型。
18.根据权利要求17所述的装置,其中,所述第三获取模块,包括:
聚合子模块,用于将本地的目标局部模型与所述第k个全局模型进行聚合,得到目标全局模型,其中,所述目标局部模型是在第j轮训练过程中得到的局部模型;
第一训练子模块,用于利用所述本地数据集对所述目标全局模型进行训练,得到所述第j个局部模型。
19.根据权利要求18所述的装置,其中,所述第三获取模块,还包括:
第二训练子模块,用于利用所述本地数据集,对在所述第j轮训练开始前所述第i个设备的本地最新全局模型进行训练,得到所述目标局部模型。
20.一种异步联邦学习***,包括:
m个设备,用于向服务器发送训练好的局部模型,m为大于2的整数;
服务器,用于响应于接收到第i个设备发送的第j个局部模型,获取所述第j个局部模型的版本与本地第g个全局模型的版本;基于所述第j个局部模型的版本与所述第g个全局模型的版本,确定所述第j个局部模型与所述第g个全局模型的版本差异值;在所述版本差异值满足预设条件的情况下,确定所述第j个局部模型与所述第g个全局模型各自对应的权重;基于所述第j个局部模型与所述第g个全局模型各自对应的权重,将所述第j个局部模型与所述第g个全局模型进行聚合,得到第g+1个全局模型;其中,所述第g个全局模型为服务器收到第i个设备发送的第j个局部模型时本地最新版本的全局模型;i为大于0且小于等于m的整数,j为不小于1的整数,g为不小于1的整数。
21.一种电子设备,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1-10中任一项所述的方法。
22.一种存储有计算机指令的非瞬时计算机可读存储介质,其中,所述计算机指令用于使所述计算机执行根据权利要求1-10中任一项所述的方法。
23.一种计算机程序产品,包括计算机程序,所述计算机程序在被处理器执行时实现根据权利要求1-10中任一项所述的方法。
CN202211686530.7A 2022-12-27 2022-12-27 异步联邦学习方法、装置、***及存储介质 Withdrawn CN116245194A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211686530.7A CN116245194A (zh) 2022-12-27 2022-12-27 异步联邦学习方法、装置、***及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211686530.7A CN116245194A (zh) 2022-12-27 2022-12-27 异步联邦学习方法、装置、***及存储介质

Publications (1)

Publication Number Publication Date
CN116245194A true CN116245194A (zh) 2023-06-09

Family

ID=86625172

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211686530.7A Withdrawn CN116245194A (zh) 2022-12-27 2022-12-27 异步联邦学习方法、装置、***及存储介质

Country Status (1)

Country Link
CN (1) CN116245194A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117936080A (zh) * 2024-03-22 2024-04-26 中国人民解放军总医院 基于联邦大模型的实体恶性肿瘤临床辅助决策方法及***

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117936080A (zh) * 2024-03-22 2024-04-26 中国人民解放军总医院 基于联邦大模型的实体恶性肿瘤临床辅助决策方法及***
CN117936080B (zh) * 2024-03-22 2024-06-04 中国人民解放军总医院 基于联邦大模型的实体恶性肿瘤临床辅助决策方法及***

Similar Documents

Publication Publication Date Title
CN112561078B (zh) 分布式的模型训练方法及相关装置
US20210326762A1 (en) Apparatus and method for distributed model training, device, and computer readable storage medium
CN114298322B (zh) 联邦学习方法和装置、***、电子设备、计算机可读介质
CN113850394B (zh) 联邦学习方法、装置、电子设备及存储介质
CN112994980B (zh) 时延测试方法、装置、电子设备和存储介质
CN114693934B (zh) 语义分割模型的训练方法、视频语义分割方法及装置
CN116245194A (zh) 异步联邦学习方法、装置、***及存储介质
CN113627536B (zh) 模型训练、视频分类方法,装置,设备以及存储介质
CN113657483A (zh) 模型训练方法、目标检测方法、装置、设备以及存储介质
CN115690443B (zh) 特征提取模型训练方法、图像分类方法及相关装置
WO2023142399A1 (zh) 信息搜索方法、装置、电子设备
CN113642710B (zh) 一种网络模型的量化方法、装置、设备和存储介质
CN114742237A (zh) 联邦学习模型聚合方法、装置、电子设备及可读存储介质
CN113052246B (zh) 用于训练分类模型及图像分类的方法和相关装置
CN115456194B (zh) 基于异步联邦学习的模型训练控制方法、装置及***
CN114841341B (zh) 图像处理模型训练及图像处理方法、装置、设备和介质
CN114758130B (zh) 图像处理及模型训练方法、装置、设备和存储介质
CN110119364B (zh) 一种输入/输出批量提交的方法和***
CN107800648B (zh) 数据包调度方法及装置
CN115936091B (zh) 深度学习模型的训练方法、装置、电子设备以及存储介质
CN112685271A (zh) 压测数据处理方法、装置、电子设备及可读存储介质
CN113627354B (zh) 模型训练、视频处理方法,装置,设备以及存储介质
WO2024120445A1 (zh) 模型输入信息的确定方法、装置、设备、***及存储介质
WO2024008111A1 (zh) 数据采集方法及装置
CN116614379B (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
WW01 Invention patent application withdrawn after publication
WW01 Invention patent application withdrawn after publication

Application publication date: 20230609