异步多方面加权联邦学习系统和方法技术方案

技术编号:38010931 阅读:18 留言:0更新日期:2023-06-30 10:31
提出了用于异步训练联邦学习模型的系统和方法。该系统包括主设备和K个机构客户端。主设备被配置为执行聚合线程和K个客户端管理线程。执行的第k客户端管理线程包括:在初始化期间,指示第k客户端启动其局部联邦学习模型的第一次训练迭代,以获得训练事件E

【技术实现步骤摘要】
异步多方面加权联邦学习系统和方法
[0001]交叉引用
[0002]在本公开的描述中引用和讨论了一些参考文献,其可能包括专利、专利申请和各种出版物。提供此类参考文献的引用和/或讨论仅用于阐明本公开的描述,并不承认任何此类参考文献是本文所述公开的“现有技术”。在本说明书中引用或讨论的所有参考文献通过引用整体并入本文,并且与每篇参考文献通过引用单独并入的程度相同。


[0003]本公开总体上涉及联邦学习,具体涉及一种用于加速多机构协同建模的异步多方面加权联邦学习系统和方法。

技术介绍

[0004]在此提供的背景描述是为了概括地呈现本公开的上下文。在本背景部分描述的范围内,专利技术人的工作,以及在申请时可能不符合现有技术的描述方面,既不明确也不隐含地承认为针对本公开的现有技术。
[0005]近年来,数据隐私已成为颇为引人关注的问题。《通用数据保护条例》(GDPR)已于2018年在欧盟(EU)生效,以保护欧盟人民的隐私和安全,2018年的《加州消费者隐私法案》(CCPA)则规定了消费者针对企业的个人信息控制权。尽管隐私保护法律更为严格,但不同的机构仍然需要利用各自的机构数据协同构建一些通用模型。
[0006]联邦学习是解决这一挑战性问题的一种众所周知的方案。通过同态加密、多方计算等,联邦学习使得多个参与方在保证数据隐私和数据安全的同时,无需共享数据即可协同训练通用的机器学习/深度学习模型。联邦学习包括两个阶段:1)每个客户端(训练参与方)利用但不共享各自的数据集来训练局部模型,然后将局部模型的参数发送到主设备;2)主设备(训练协调器)在接收到所有/部分局部模型后,使用各种聚合算法聚合全局模型。当以同步方式进行聚合时,存在空闲时间,等待同步会浪费计算资源。当以异步方式进行聚合时,聚合很难收敛。
[0007]因此,本领域存在解决上述缺陷和不足的需要。

技术实现思路

[0008]在某些方面,本公开涉及一种异步多方面加权联邦学习算法,该算法可以压缩空闲时间,解决了多机构协同建模的同步等待时间长的问题和收敛困难的问题。在某些实施例中,异步算法解决了同步等待时间长的问题,并在机构联邦学习设置中实现了完全异步聚合,这与设备异步聚合中的部分异步不同。在某些实施例中,本公开在服务器端设计了两类事件(聚合事件、局部模型训练管理事件),定义了线程池,线程池中的每个线程管理一个机构的训练,这是完全异步的,不同于使用周期性触发方法的部分异步。因此,该算法可以压缩每个机构的所有空闲时间,实现完全异步聚合,加快全局模型的训练速度。此外,本公开的多方面加权聚合方法通过考虑所有因素的影响,包括每个客户端的偏斜数据集大小、
局部模型的延迟以及局部模型的准确度波动,可以改善多机构协同建模设置中的收敛困难问题。本公开的多方面特点保证了全局模型的收敛性,并进一步加快了全局模型的训练速度。
[0009]在某些方面,本公开涉及一种联邦学习系统。在某些实施例中,所述系统包括主计算装置,所述主计算装置包括处理器和存储有计算机可执行代码的存储装置。所述计算机可执行代码在所述处理器处执行时被配置为:
[0010]通过以下操作执行K个客户端管理线程中的第k客户端管理线程:在初始化期间,指示第k客户端计算装置启动第k客户端联邦学习模型的第一次训练迭代,以获得训练事件E
k
;在接收到来自聚合线程的聚合事件E
aggr
时,指示所述第k客户端计算装置使用所述聚合事件E
aggr
对所述第k客户端联邦学习模型进行第t训练迭代,以获得所述训练事件E
k
;以及将所述训练事件E
k
发送到所述聚合线程;以及
[0011]通过以下操作执行所述聚合线程:在接收到来自所述第k客户端管理线程的所述训练事件E
k
时,更新所述主计算装置中的全局联邦学习模型以获得所述聚合事件E
aggr
;以及将所述聚合事件E
aggr
发送到所述第k客户端管理线程。
[0012]在某些实施例中,所述训练事件E
k
包括客户端编号k、全局轮次编号t、客户端报告时间戳ts、训练所述第k客户端联邦学习模型的数据集大小n
k
、所述第k客户端联邦学习模型的所述第t训练迭代的准确度p
t,k
以及所述第t训练迭代后所述第k客户端联邦学习模型的局部模型权重W
t,k,ts
。在某些实施例中,k∈K,K是正整数,表示客户端计算装置的总数,t∈T,T是正整数,表示训练每个客户端联邦学习模型的总迭代轮次,所述每个客户端联邦学习模型存储在所述K个客户端中的相应一个客户端中。
[0013]在某些实施例中,更新所述全局联邦学习模型以获得所述聚合事件E
aggr
的步骤使用以下等式执行:
[0014][0015]其中W
t
是合并接收到的训练事件E
k
的参数之后全局联邦学习模型的更新权重,W
t
‑1是合并接收到的训练事件E
k
的参数之前全局联邦学习模型的权重,n是所有K个客户端的总和数据集大小,α
t
是所述第k客户端联邦学习模型的所述第t训练迭代的延迟折扣率,p
t,k
是所述第k客户端联邦学习模型的所述第t训练迭代的准确度。
[0016]在某些实施例中,所述延迟折扣率α
t
是t,ts和α的函数,t表示所述K个联邦学习模型之一完成所述第t训练迭代的最早时间,α为超参数,表示延迟权重值。在某些实施例中,使用线性函数、多项式函数和指数函数中的至少一种来计算所述延迟折扣率α
t

[0017]在某些实施例中,所述K个客户端联邦学习模型中的每个客户端联邦学习模型通过知识蒸馏进行初始化。在某些实施例中,所述K个客户端联邦学习模型中的每个客户端联邦学习模型随机进行初始化。
[0018]在某些实施例中,所述K个客户端联邦学习模型中的每个客户端联邦学习模型使用随机梯度下降(SGD)进行训练。
[0019]在某些实施例中,所述联邦学习是机构联邦学习。在某些实施例中,K是2~100范围内的正数。在某些实施方案中,K在2~10的范围内。
[0020]在某些实施例中,所述全局联邦学习模型包括T个全局联邦学习模型版本,所述第
k客户端联邦学习模型被配置为在每次训练迭代后,更新所述T个全局联邦学习模型版本中的对应一个全局联邦学习模型版本。
[0021]在某些方面,本公开涉及一种联邦学习方法。在某些实施例中,所述方法包括:
[0022]通过主计算装置执行K个客户端管理线程,其中,通过以下操作执行所述K个客户端管理线程中的第k客户端管理线程:初始化期间,指示第k客户端计算装置启动第k客户端联邦学习模型的第一次训练迭代,以获得训练事件E
k
;在接收到来自聚合线程的聚合事件E...

【技术保护点】

【技术特征摘要】
1.一种系统,包括用于联邦学习的主计算装置,其中,所述主计算装置包括处理器和存储有计算机可执行代码的存储装置,所述计算机可执行代码在所述处理器处执行时被配置为:通过以下操作来执行K个客户端管理线程中的第k客户端管理线程:在初始化期间,指示第k客户端计算装置启动第k客户端联邦学习模型的第一训练迭代,以获得训练事件E
k
;在接收到来自聚合线程的聚合事件E
aggr
时,指示所述第k客户端计算装置使用所述聚合事件E
aggr
对所述第k客户端联邦学习模型进行第t训练迭代,以获得训练事件E
k
;以及将所述训练事件E
k
发送到所述聚合线程;以及通过以下操作执行所述聚合线程:在接收到来自所述第k客户端管理线程的所述训练事件E
k
时,更新所述主计算装置中的全局联邦学习模型以获得所述聚合事件E
aggr
;以及将所述聚合事件E
aggr
发送到所述第k客户端管理线程。2.根据权利要求1所述的系统,其中,所述训练事件E
k
包括客户端编号k、全局轮次编号t、客户端报告时间戳ts、训练所述第k客户端联邦学习模型的数据集大小n
k
、所述第k客户端联邦学习模型的所述第t训练迭代的准确度p
t,k
以及所述第t训练迭代后所述第k客户端联邦学习模型的局部模型权重W
t,k,ts
;以及其中k∈K,K是正整数,表示客户端计算装置的总数,t∈T,T是正整数,表示训练每个客户端联邦学习模型的总迭代轮次,所述每个客户端联邦学习模型存储在所述K个客户端中的相应一个客户端中。3.根据权利要求2所述的系统,其中,更新所述全局联邦学习模型以获得所述聚合事件E
aggr
使用以下等式执行:其中W
t
是合并接收到的训练事件E
k
的参数之后所述全局联邦学习模型的更新权重,W
t
‑1是合并所述接收到的训练事件E
k
的参数之前所述全局联邦学习模型的权重,n是所有K个客户端的总和数据集大小,α
t
是所述第k客户端联邦学习模型的所述第t训练迭代的延迟折扣率,p
t,k
是所述第k客户端联邦学习模型的所述第t训练迭代的准确度。4.根据权利要求3所述的系统,其中,所述延迟折扣率α
t
是t,ts和α的函数,t表示所述K个联邦学习模型之一完成所述第t训练迭代的最早时间,α为超参数,表示延迟权重值。5.根据权利要求4所述的系统,其中,使用线性函数、多项式函数和指数函数中的至少一种来计算所述延迟折扣率α
t
。6.根据权利要求1所述的系统,其中,所述K个客户端联邦学习模型中的每个客户端联邦学习模型通过知识蒸馏进行初始化。7.根据权利要求1所述的系统,其中,所述K个客户端联邦学习模型中的每个客户端联邦学习模型随机进行初始化。8.根据权利要求1所述的系统,其中,所述K个客户端联邦学习模型中的每个客户端联
邦学习模型使用随机梯度下降SGD进行训练。9.根据权利要求1所述的系统,其中,所述联邦学习是机构联邦学习。10.根据权利要求1所述的系统,其中,所述全局联邦学习模型包括T个全局联邦学习模型版本,所述第k客户端联邦学习模型被配置为在每次训练迭代后,更新所述T个全局联邦学习模型版本中的对应一个全局联邦学习模型版本。11.一种联邦学习方法,包括:执行K个客户端管理线程,其中,通过以下操作执行所述K个客户端管理线程中的第k客户端管理线程:在初始化期间,指示第k客户端计算装置启动第k客户端联邦学习模型的第一次训练迭代,以获得训练事件E
k
;在接收到来自聚合线程的聚合事件E
aggr
时,指示所述第k客户端计算装置使用所述聚合事件E
aggr
对所述第k客户端联邦学习模型进行第t训练迭代,以获得所述训练事件E
k
;以及将所述训练事件E
k
发送到所述聚合线程;以及通过所述主计算装置执行所述聚合线程,其中,通过以下操作执行所述聚合线程:在接收到来自所述第k客户端管理线程的所述训练事件E
k
时,更新所述主计算装置中的全局联邦学习模型以获得聚合事件E
aggr
;以及将所述聚合事件E
aggr
发送到所述第k客户端管理线程。12.根据权利要求11所述的方法,其中,所述训练事件E
...

【专利技术属性】
技术研发人员:单华松曾涛陈彦卿戴鹏薄列峰
申请(专利权)人:北京沃东天骏信息技术有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1