CN112817940B - 基于梯度压缩的联邦学习数据处理系统 - Google Patents

基于梯度压缩的联邦学习数据处理系统 Download PDF

Info

Publication number
CN112817940B
CN112817940B CN202110169210.3A CN202110169210A CN112817940B CN 112817940 B CN112817940 B CN 112817940B CN 202110169210 A CN202110169210 A CN 202110169210A CN 112817940 B CN112817940 B CN 112817940B
Authority
CN
China
Prior art keywords
model
value
client
server
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.)
Active
Application number
CN202110169210.3A
Other languages
English (en)
Other versions
CN112817940A (zh
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.)
Shanghai Hipu Intelligent Information Technology Co ltd
East China Normal University
Original Assignee
Shanghai Hipu Intelligent Information Technology Co ltd
East China Normal University
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 Shanghai Hipu Intelligent Information Technology Co ltd, East China Normal University filed Critical Shanghai Hipu Intelligent Information Technology Co ltd
Priority to CN202110169210.3A priority Critical patent/CN112817940B/zh
Publication of CN112817940A publication Critical patent/CN112817940A/zh
Application granted granted Critical
Publication of CN112817940B publication Critical patent/CN112817940B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/21Design, administration or maintenance of databases
    • G06F16/217Database tuning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/23Updating
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Software Systems (AREA)
  • Artificial Intelligence (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Evolutionary Computation (AREA)
  • Medical Informatics (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明涉及一种基于梯度压缩的联邦学习数据处理系统,包括服务器、M个客户端、处理器和存储有计算机程序的存储器,其中,所述服务器中存储有第一数据库和第二数据库,所述第一数据库的字段包括客户端id和客户端最近一次参与联邦聚合的轮次,所述第二数据库的字段包括联邦聚合的轮次和该轮次对应的全局模型,所述第一数据库和第二数据库均随联邦聚合模型的训练动态更新。本发明减少了服务器与客户端之间传输的字节数,从而减少了服务器与客户端之间通信所耗用的时间,提高了联邦聚合模型训练的效率。

Description

基于梯度压缩的联邦学习数据处理系统
技术领域
本发明涉及计算机技术领域,尤其涉及一种基于梯度压缩的联邦学习数据处理系统。
背景技术
联邦学习是一种机器学习设置,在保证训练数据分散在各个客户端并且不出本地的前提下,多个客户端在服务器的协调下协同训练模型。整个模型的训练是一个迭代,包含若干轮次服务器与客户端通信的过程。在每轮中,服务器随机选中若干个客户端,并将服务器上保存的最新的联邦平均模型下发给所有选中的客户端。每个客户端根据本地数据进行模型训练,更新模型参数若干次,并将模型更新连同其本地训练集的样本总数上传给服务器。服务器在收到所有选中客户端的模型更新之后,以训练集样本总数为权重,将最新的联邦聚合模型更新为所有模型更新的加权求和。至此,完成了服务器与客户端的一次通信过程,按此迭代达到预先设定的次数为止。
但是,联邦学习在训练的过程中包含服务器与客户端的频繁通信,相比于在客户端上模型训练所耗用的时间,服务器与客户端通信所耗用的时间更大,使得模型训练总时间长,模型训练效率低。由此可知,如何减少服务器与客户端通信所耗用的时间,提高联邦聚合模型训练的效率,成为亟待解决的技术问题。
发明内容
本发明目的在于,提供一种基于梯度压缩的联邦学习数据处理系统,减少了服务器与客户端之间传输的字节数,从而减少了服务器与客户端之间通信所耗用的时间,提高了联邦聚合模型训练的效率。
根据本发明第一方面,提供了一种基于梯度压缩的联邦学习数据处理系统,包括服务器、M个客户端、处理器和存储有计算机程序的存储器,其中,所述服务器中存储有第一数据库和第二数据库,所述第一数据库的字段包括客户端id和客户端最近一次参与联邦聚合的轮次,所述第二数据库的字段包括联邦聚合的轮次和该轮次对应的全局模型,所述第一数据库和第二数据库均随联邦聚合模型的训练动态更新,所述处理器执行所述计算机程序实现以下步骤:
步骤S1、所述服务器初始化联邦聚合模型、第一数据库和第二数据库,并将初始联邦聚合模型w0发送至每一客户端作为每一客户端对应的本地初始模型,初始第一数据库中,每一客户端对应的最近一次参与联邦聚合的轮次均为0,初始第二数据库中,联邦聚合的轮次0对应的全局模型为w0
步骤S2、对于第t轮训练,所述服务器对应的当前全局模型为Wt-1,t从1开始取值,所述服务器从所述M个客户端中随机选择m个客户端
Figure BDA0002938511750000021
Figure BDA0002938511750000022
表示第t轮训练的第k个客户端,k的取值为1到m,m<M,从所述第一数据库中获取
Figure BDA0002938511750000023
最近一次参与联邦聚合的轮次,并从所述第二数据库中获取
Figure BDA0002938511750000024
最近一次参与联邦聚合的轮次对应的全局模型
Figure BDA0002938511750000025
获取
Figure BDA0002938511750000026
对应的第一模型更新
Figure BDA0002938511750000027
并更新所述第一数据库;
步骤S3、基于
Figure BDA0002938511750000028
进行压缩编码处理,获取
Figure BDA0002938511750000029
对应的对应的第一模型更新数据,并发送给
Figure BDA00029385117500000210
步骤S4、
Figure BDA00029385117500000211
基于
Figure BDA00029385117500000212
对应的第一模型更新数据更新本地模型,并进行本地模型训练,获取
Figure BDA00029385117500000213
本轮本地模型训练对应的第二模型更新
Figure BDA00029385117500000214
步骤S5、基于
Figure BDA00029385117500000215
进行压缩编码处理,获取
Figure BDA00029385117500000216
对应的第二模型更新数据,并发送给所述服务器;
步骤S6、所述服务器基于本轮所选择的m个客户端对应的第二模型更新数据,更新当前全局模型为Wt-1生成Wt,并更新所述第二数据库;
步骤S7、判断t是否达到预设通信轮次阈值,若达到,则结束训练,否则,令t=t+1,返回执行步骤S2。
本发明与现有技术相比具有明显的优点和有益效果。借由上述技术方案,本发明提供的一种基于梯度压缩的联邦学习数据处理系统可达到相当的技术进步性及实用性,并具有产业上的广泛利用价值,其至少具有下列优点:
本发明将服务器和客户端之间传输的数据进行了压缩,减少了服务器与客户端之间传输的字节数,从而减少了服务器与客户端之间通信所耗用的时间,提高了联邦聚合模型训练的效率。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其他目的、特征和优点能够更明显易懂,以下特举较佳实施例,并配合附图,详细说明如下。
附图说明
图1为本发明实施例提供的基于梯度压缩的联邦学习数据处理系统示意图。
具体实施方式
为更进一步阐述本发明为达成预定发明目的所采取的技术手段及功效,以下结合附图及较佳实施例,对依据本发明提出的一种基于梯度压缩的联邦学习数据处理系统的具体实施方式及其功效,详细说明如后。
本发明实施例提供了一种基于梯度压缩的联邦学习数据处理系统,如图1所示,包括服务器、M个客户端、处理器和存储有计算机程序的存储器,其中,所述服务器中存储有第一数据库和第二数据库,所述第一数据库的字段包括客户端id和客户端最近一次参与联邦聚合的轮次,所述第二数据库的字段包括联邦聚合的轮次和该轮次对应的全局模型,所述第一数据库和第二数据库均随联邦聚合模型的训练动态更新,所述处理器执行所述计算机程序实现以下步骤:
步骤S1、所述服务器初始化联邦聚合模型、第一数据库和第二数据库,并将初始联邦聚合模型w0发送至每一客户端作为每一客户端对应的本地初始模型,初始第一数据库中,每一客户端对应的最近一次参与联邦聚合的轮次均为0,初始第二数据库中,联邦聚合的轮次0对应的全局模型为w0
步骤S2、对于第t轮训练,所述服务器对应的当前全局模型为Wt-1,t从1开始取值,所述服务器从所述M个客户端中随机选择m个客户端
Figure BDA0002938511750000041
Figure BDA0002938511750000042
表示第t轮训练的第k个客户端,k的取值为1到m,m<M,从所述第一数据库中获取
Figure BDA0002938511750000043
最近一次参与联邦聚合的轮次,并从所述第二数据库中获取
Figure BDA0002938511750000044
最近一次参与联邦聚合的轮次对应的全局模型
Figure BDA0002938511750000045
获取
Figure BDA0002938511750000046
对应的第一模型更新
Figure BDA0002938511750000047
并更新所述第一数据库;
可以理解的是,在进行第一轮训练时,服务器对应的当前全局模型为w0,服务器所选择的m个客户端的最近一次参与联邦聚合的轮次对应的全局模型也w0,因此第一轮训练时,
Figure BDA0002938511750000048
对应的第一模型更新是为0的,即第一轮训练时,
Figure BDA0002938511750000049
直接采用w0作为本地模型进行本地模型训练。
其中,更新所述第一数据库具体包括,将本轮参加训练的m个客户端在第一数据库中对应的最近一次参与联邦聚合的轮次更新。
步骤S3、基于
Figure BDA00029385117500000410
进行压缩编码处理,获取
Figure BDA00029385117500000411
对应的第一模型更新数据,并发送给
Figure BDA00029385117500000412
步骤S4、
Figure BDA00029385117500000413
基于
Figure BDA00029385117500000414
对应的第一模型更新数据更新本地模型,并进行本地模型训练,获取
Figure BDA00029385117500000415
本轮本地模型训练对应的第二模型更新
Figure BDA00029385117500000416
步骤S5、基于
Figure BDA00029385117500000417
进行压缩编码处理,获取
Figure BDA00029385117500000418
对应的第二模型更新数据,并发送给所述服务器;
步骤S6、所述服务器基于本轮所选择的m个客户端对应的第二模型更新数据,更新当前全局模型为Wt-1生成Wt,并更新所述第二数据库;
步骤S7、判断t是否达到预设通信轮次阈值,若达到,则结束训练,否则,令t=t+1,返回执行步骤S2。
其中,预设通信轮次阈值可以根据具体模型训练精确度需求等因素具体设定。
本发明实施例所述系统将服务器和客户端之间传输的数据进行了压缩,减少了服务器与客户端之间传输的字节数,从而减少了服务器与客户端之间通信所耗用的时间,提高了联邦聚合模型训练的效率。
在更加详细地讨论示例性实施例之前应当提到的是,一些示例性实施例被描述成作为流程图描绘的处理或方法。虽然流程图将各步骤描述成顺序的处理,但是其中的许多步骤可以被并行地、并发地或者同时实施。此外,各步骤的顺序可以被重新安排。当其操作完成时处理可以被终止,但是还可以具有未包括在附图中的附加步骤。处理可以对应于方法、函数、规程、子例程、子程序等等。
作为一种实施例,所述服务器针对每一客户端维护一个服务器模型更新误差D,D包括第一更新误差和第二更新误差,D的初始值为全零的列表,D随着模型训练动态更新,
Figure BDA0002938511750000051
对应的最近一次参与联邦聚合的轮次的服务器模型更新误差为
Figure BDA0002938511750000052
所述步骤S3包括、
步骤S31、基于
Figure BDA0002938511750000053
Figure BDA0002938511750000054
获取第一累计模型更新
Figure BDA0002938511750000055
可以理解的是,
Figure BDA0002938511750000056
表示每一位置的第一梯度分量的值加上对应位置的模型更新误差值,得到该位置第一累计模型更新对应位置的第一梯度分量。
步骤S32、所述
Figure BDA0002938511750000057
由一组第一梯度分量组成,根据每一第一梯度分量在
Figure BDA0002938511750000058
对应的位置和参数值,获取每一第一梯度分量对应的下标key和对应第一梯度分量值value组成(keyk,valuek),从而将
Figure BDA0002938511750000059
转换为
Figure BDA00029385117500000510
步骤S33、将
Figure BDA00029385117500000511
中所有的valuek的绝对值按照从大到小的顺序排序,设置N,获取前N个
Figure BDA00029385117500000512
作为待处理的(keyk,valuek),
Figure BDA00029385117500000513
表示排序后的第n个(keyk,valuek),n的取值为1到N,将除待处理的(keyk,valuek)外的剩余的(keyk,valuek)作为本轮第一更新误差;
需要说明的是,N值根据
Figure BDA00029385117500000514
中所有的valuek的绝对值按照从大到小的顺序排序后的valuek的数值分布,模型训练精确度和模型训练效率等需求来具体设定,N值与模型精确度正相关,与模型效率负相关。
步骤S34、设置第一分位函数、P个第一数据区域和每一第一数据区域的上界值和下界值,基于每一第一数据区域的上界值和下界值获取对应的第一数据区域的均值,P个第一数据区域从00开始采用二进制编号;
其中,P值、每一第一数据区域的上界值和下界值根据模型训练精确度和模型训练效率等需求来具体设定。
步骤S35、所述第一分位函数将
Figure BDA00029385117500000515
分到对应的第一数据区域中,将
Figure BDA00029385117500000516
减去对应的第一数据区域的均值得到
Figure BDA00029385117500000517
对应的误差
Figure BDA00029385117500000518
Figure BDA00029385117500000519
作为本轮第二更新误差;
步骤S36、将
Figure BDA0002938511750000061
中的
Figure BDA0002938511750000062
替换为所在第一数据区域的编号
Figure BDA0002938511750000063
将key'n进行编码压缩处理得到
Figure BDA0002938511750000064
从而将
Figure BDA0002938511750000065
转换为
Figure BDA0002938511750000066
步骤S37、将
Figure BDA0002938511750000067
每个第一数据区域对应的编号和均值作为本轮
Figure BDA0002938511750000068
对应的第一模型更新数据,发送给对应的客户端
Figure BDA0002938511750000069
为了进一步减少服务器与客户端之间传输的字节数,可以进一步将
Figure BDA00029385117500000610
进行压缩,具体的,所述步骤S36中,对
Figure BDA00029385117500000611
进行编码压缩处理得到
Figure BDA00029385117500000612
具体包括:
步骤S361、从
Figure BDA00029385117500000613
中获取
Figure BDA00029385117500000614
r为
Figure BDA00029385117500000615
对应的组号,offset为
Figure BDA00029385117500000616
对应的组内偏移量:
Figure BDA00029385117500000617
Figure BDA00029385117500000618
步骤S362、连续写入r个1,最后写入一个0作为结束,记为S1
步骤S363、取二进制形式的低r位作为offset的码元,记为S2
步骤S364、将S1和S2顺序拼接在一起,作为
Figure BDA00029385117500000619
的压缩编码
Figure BDA00029385117500000620
通过上述实施例,服务器可以将第二累计模型更新中的梯度分量较高的一部分模型更新数据进行压缩,传输给对应的客户端,并将压缩部分所产生的误差,以及将其余未发送的模型更新数据存放在服务器本地,作为下一轮模型训练的客户端对应累积误差,这样既能减少在客户端和服务器之间传输的模型更新数据,又能保证模型训练的准确度。
每一客户端在收到服务器发送的经过压缩编码后的第一模型更新数据后,需要进行对应的解码处理,再进行本地模型更新,作为一种实施例,所述步骤S4包括:
步骤S41、客户端
Figure BDA00029385117500000621
对每一
Figure BDA00029385117500000622
进行解码,具体包括:
Figure BDA00029385117500000623
的最左边往右数直至数到第一个零为止,记下第一个零前一共有r个1,r即为该
Figure BDA00029385117500000624
对应的组号,取
Figure BDA00029385117500000625
后r位,并将其转换成十进制表示offset,基于r位和offset从
Figure BDA00029385117500000626
解码生成对应的
Figure BDA00029385117500000627
Figure BDA00029385117500000628
步骤S42、客户端
Figure BDA0002938511750000071
对每一
Figure BDA0002938511750000072
进行解码,具体包括:
根据
Figure BDA0002938511750000073
每个第一数据区域对应的编号和均值,将
Figure BDA0002938511750000074
转换为对应第一数据区域编号对应的均值;
步骤S43、基于步骤S41和步骤S42,得到客户端
Figure BDA0002938511750000075
对应的第一目标模型更新
Figure BDA0002938511750000076
步骤S44、基于
Figure BDA0002938511750000077
最近一次参与联邦聚合的轮次对应的全局模型
Figure BDA0002938511750000078
和第一目标模型更新
Figure BDA0002938511750000079
更新
Figure BDA00029385117500000710
本地模型:
Figure BDA00029385117500000711
通过步骤S3和步骤S4的具体实施例,大大减少了服务器和客户端之间的数据传输字节数,使得第一模型更新数据在服务器本地进行压缩编码,压缩后的第一模型更新数据在客户端本地解码,并结合服务器针对每一客户端维护一个服务器模型更新误差D进行客户端本地模型更新,减少了服务器与客户端之间通信所耗用的时间,提高了联邦聚合模型训练的效率。
为了进一步提高联邦聚合模型训练的效率,在客户端向服务器发送的模型更新数据也进行压缩处理,作为一种实施例,所述客户端维护一个客户端模型更新误差e,包括第三更新误差和第四更新误差,e的初始值为全零的列表,e随着模型训练动态更新,
Figure BDA00029385117500000712
对应的最近一次参与联邦聚合的轮次的模型更新误差为
Figure BDA00029385117500000713
所述步骤S5包括、
步骤S51、基于
Figure BDA00029385117500000714
Figure BDA00029385117500000715
获取第二累计模型更新
Figure BDA00029385117500000716
可以理解的是,
Figure BDA00029385117500000717
表示每一位置的第二梯度分量的值加上对应位置的模型更新误差值,得到该位置第二累计模型更新对应位置的第二梯度分量。
步骤S52、所述
Figure BDA00029385117500000718
由一组第二梯度分量组成,根据每一第二梯度分量在
Figure BDA00029385117500000719
对应的位置和参数值,获取每一第二梯度分量对应的下标key*和对应第二梯度分量值value*组成(key*k,value*k),从而将
Figure BDA00029385117500000720
转换为
Figure BDA00029385117500000721
步骤S53、将
Figure BDA00029385117500000722
的所有value*的绝对值按照从大到小的顺序排序,设置S,获取前S个
Figure BDA00029385117500000723
作为待处理的(key*k,value*k),
Figure BDA0002938511750000081
表示排序后的第s个(key*k,value*k),s的取值为1到S,将除待处理的(key*k,value*k)外的剩余的(key*k,value*k)作为本轮第三更新误差;
需要说明的是,S值根据
Figure BDA0002938511750000082
中所有的value*k的绝对值按照从大到小的顺序排序后的value*k的数值分布,模型训练精确度和模型训练效率等需求来具体设定,S值与模型精确度正相关,与模型效率负相关。
步骤S54、设置第二分位函数、Q个第二数据区域和每一第二数据区域的上界值和下界值,基于每一第二数据区域的上界值和下界值获取对应的第二数据区域的均值,Q个第二数据区域从00开始采用二进制编号;
其中,Q值、每一第二数据区域的上界值和下界值根据模型训练精确度和模型训练效率等需求来具体设定。
步骤S55、所述第二分位函数将
Figure BDA0002938511750000083
分到对应的第二数据区域中,将
Figure BDA0002938511750000084
减去对应的第二数据区域的均值得到
Figure BDA0002938511750000085
对应的误差
Figure BDA0002938511750000086
Figure BDA0002938511750000087
作为本轮第四更新误差;
步骤S56、将
Figure BDA0002938511750000088
中的
Figure BDA0002938511750000089
替换为所在第二数据区域的编号
Figure BDA00029385117500000810
Figure BDA00029385117500000811
进行编码压缩处理得到
Figure BDA00029385117500000812
从而将
Figure BDA00029385117500000813
转换为
Figure BDA00029385117500000814
步骤S57、将
Figure BDA00029385117500000815
客户端样本量大小nk、每个第二数据区域对应的编号和均值作为本轮对应的第二模型更新数据,发送给所述服务器。
为了进一步减少客户端与服务器之间传输的字节数,可以进一步将
Figure BDA00029385117500000816
进行压缩,具体的,所述步骤S56中,对
Figure BDA00029385117500000817
进行编码压缩处理得到
Figure BDA00029385117500000818
具体包括:
步骤S561、从
Figure BDA00029385117500000819
中获取
Figure BDA00029385117500000820
r*
Figure BDA00029385117500000821
对应的组号,offset*
Figure BDA00029385117500000822
对应的组内偏移量:
Figure BDA00029385117500000823
Figure BDA00029385117500000824
步骤S562、连续写入r*个1,最后写入一个0作为结束,记为S3
步骤S563、取二进制形式的低r*位作为offset*的码元,记为S4
步骤S564、将S3和S4顺序拼接在一起,作为
Figure BDA0002938511750000091
的压缩编码
Figure BDA0002938511750000092
通过上述实施例,客户端
Figure BDA0002938511750000093
可以将第二累计模型更新中的梯度分量较高的一部分模型更新数据进行压缩,传输给服务器,并将压缩部分所产生的误差,以及将其余未发送的模型更新数据存放在客户端
Figure BDA0002938511750000094
本地,作为下一轮模型训练的对应累积误差,这样既能减少在客户端和服务器之间传输的模型更新数据,又能保证模型训练的准确度。
服务器在收到每一客户端发送的经过压缩编码后的第二模型更新数据后,需要进行对应的解码处理,再进行本地联邦聚合模型更新,作为一种实施例,所述步骤S6包括:
步骤S61、所述服务器对每一
Figure BDA0002938511750000095
进行解码,具体包括:
Figure BDA0002938511750000096
的最左边往右数直至数到第一个零为止,记下第一个零前一共有r*个1,r*即为该
Figure BDA0002938511750000097
对应的组号,取
Figure BDA0002938511750000098
后r*位,并将其转换成十进制表示offset*,基于r*位和offset*
Figure BDA0002938511750000099
解码生成对应的
Figure BDA00029385117500000910
Figure BDA00029385117500000911
步骤S62、所述服务器对每一
Figure BDA00029385117500000912
进行解码,具体包括:
根据
Figure BDA00029385117500000913
每个第二数据区域对应的编号和均值,将
Figure BDA00029385117500000914
转换为对应第二数据区域编号对应的均值;
步骤S63、基于步骤S61和步骤S62,得到每一客户端
Figure BDA00029385117500000915
对应的第二目标模型更新
Figure BDA00029385117500000916
进一步的,所述步骤S6还包括:
步骤S64、所述服务器加权聚合参与本轮训练的m个客户端对应的第二模型更新
Figure BDA00029385117500000917
得到第二目标模型总更新δt
Figure BDA00029385117500000918
其中,nz为参与本轮训练的m个客户端总的样本数量;
步骤S65、基于当前全局模型为Wt-1和第二目标模型总更新δt更新当前全局模型得到Wt
Wt=Wt-1t
通过上述步骤S5和步骤S6的具体实施例,大大减少了服务器和客户端之间的数据传输字节数,使得第二模型更新数据在客户端本地进行压缩编码,压缩后的第二模型更新数据在服务器本地解码进行服务器联邦聚合模型的更新,减少了服务器与客户端之间通信所耗用的时间,提高了联邦聚合模型训练的效率。
以上所述,仅是本发明的较佳实施例而已,并非对本发明作任何形式上的限制,虽然本发明已以较佳实施例揭露如上,然而并非用以限定本发明,任何熟悉本专业的技术人员,在不脱离本发明技术方案范围内,当可利用上述揭示的技术内容作出些许更动或修饰为等同变化的等效实施例,但凡是未脱离本发明技术方案的内容,依据本发明的技术实质对以上实施例所作的任何简单修改、等同变化与修饰,均仍属于本发明技术方案的范围内。

Claims (8)

1.一种基于梯度压缩的联邦学习数据处理系统,其特征在于,
包括服务器、M个客户端、处理器和存储有计算机程序的存储器,其中,所述服务器中存储有第一数据库和第二数据库,所述第一数据库的字段包括客户端id和客户端最近一次参与联邦聚合的轮次,所述第二数据库的字段包括联邦聚合的轮次和该轮次对应的全局模型,所述第一数据库和第二数据库均随联邦聚合模型的训练动态更新,所述处理器执行所述计算机程序实现以下步骤:
步骤S1、所述服务器初始化联邦聚合模型、第一数据库和第二数据库,并将初始联邦聚合模型w0发送至每一客户端作为每一客户端对应的本地初始模型,初始第一数据库中,每一客户端对应的最近一次参与联邦聚合的轮次均为0,初始第二数据库中,联邦聚合的轮次0对应的全局模型为w0
步骤S2、对于第t轮训练,所述服务器对应的当前全局模型为Wt-1,t从1开始取值,所述服务器从所述M个客户端中随机选择m个客户端
Figure FDA0002938511740000011
Figure FDA0002938511740000012
表示第t轮训练的第k个客户端,k的取值为1到m,m<M,从所述第一数据库中获取
Figure FDA0002938511740000013
最近一次参与联邦聚合的轮次,并从所述第二数据库中获取
Figure FDA0002938511740000014
最近一次参与联邦聚合的轮次对应的全局模型
Figure FDA0002938511740000015
获取
Figure FDA0002938511740000016
对应的第一模型更新
Figure FDA0002938511740000017
并更新所述第一数据库;
步骤S3、基于
Figure FDA0002938511740000018
进行压缩编码处理,获取
Figure FDA0002938511740000019
对应的对应的第一模型更新数据,并发送给
Figure FDA00029385117400000110
步骤S4、
Figure FDA00029385117400000111
基于
Figure FDA00029385117400000112
对应的第一模型更新数据更新本地模型,并进行本地模型训练,获取
Figure FDA00029385117400000113
本轮本地模型训练对应的第二模型更新
Figure FDA00029385117400000114
步骤S5、基于
Figure FDA00029385117400000115
进行压缩编码处理,获取
Figure FDA00029385117400000116
对应的第二模型更新数据,并发送给所述服务器;
步骤S6、所述服务器基于本轮所选择的m个客户端对应的第二模型更新数据,更新当前全局模型为Wt-1生成Wt,并更新所述第二数据库;
步骤S7、判断t是否达到预设通信轮次阈值,若达到,则结束训练,否则,令t=t+1,返回执行步骤S2。
2.根据权利要求1所述的系统,其特征在于,
所述服务器针对每一客户端维护一个服务器模型更新误差D,D包括第一更新误差和第二更新误差,D的初始值为全零的列表,D随着模型训练动态更新,
Figure FDA0002938511740000021
对应的最近一次参与联邦聚合的轮次的服务器模型更新误差为
Figure FDA0002938511740000022
所述步骤S3包括、
步骤S31、基于
Figure FDA0002938511740000023
Figure FDA0002938511740000024
获取第一累计模型更新
Figure FDA0002938511740000025
步骤S32、所述
Figure FDA0002938511740000026
由一组第一梯度分量组成,根据每一第一梯度分量在
Figure FDA0002938511740000027
对应的位置和参数值,获取每一第一梯度分量对应的下标key和对应第一梯度分量值value组成(keyk,valuek),从而将
Figure FDA0002938511740000028
转换为
Figure FDA0002938511740000029
步骤S33、将
Figure FDA00029385117400000210
中所有的valuek的绝对值按照从大到小的顺序排序,设置N,获取前N个
Figure FDA00029385117400000211
作为待处理的(keyk,valuek),
Figure FDA00029385117400000212
表示排序后的第n个(keyk,valuek),n的取值为1到N,将除待处理的(keyk,valuek)外的剩余的(keyk,valuek)作为本轮第一更新误差;
步骤S34、设置第一分位函数、P个第一数据区域和每一第一数据区域的上界值和下界值,基于每一第一数据区域的上界值和下界值获取对应的第一数据区域的均值,P个第一数据区域从00开始采用二进制编号;
步骤S35、所述第一分位函数将
Figure FDA00029385117400000213
分到对应的第一数据区域中,将
Figure FDA00029385117400000214
减去对应的第一数据区域的均值得到
Figure FDA00029385117400000215
对应的误差
Figure FDA00029385117400000216
Figure FDA00029385117400000217
作为本轮第二更新误差;
步骤S36、将
Figure FDA00029385117400000218
中的
Figure FDA00029385117400000219
替换为所在第一数据区域的编号
Figure FDA00029385117400000220
将key'n进行编码压缩处理得到
Figure FDA00029385117400000221
从而将
Figure FDA00029385117400000222
转换为
Figure FDA00029385117400000223
步骤S37、将
Figure FDA00029385117400000224
每个第一数据区域对应的编号和均值作为本轮
Figure FDA00029385117400000225
对应的第一模型更新数据,发送给对应的客户端
Figure FDA00029385117400000226
3.根据权利要求2所述的系统,其特征在于,
所述步骤S36中,对
Figure FDA00029385117400000227
进行编码压缩处理得到
Figure FDA00029385117400000228
具体包括:
步骤S361、从
Figure FDA00029385117400000229
中获取
Figure FDA00029385117400000230
r为
Figure FDA00029385117400000231
对应的组号,offset为
Figure FDA00029385117400000232
对应的组内偏移量:
Figure FDA0002938511740000031
Figure FDA0002938511740000032
步骤S362、连续写入r个1,最后写入一个0作为结束,记为S1
步骤S363、取二进制形式的低r位作为offset的码元,记为S2
步骤S364、将S1和S2顺序拼接在一起,作为
Figure FDA0002938511740000033
的压缩编码
Figure FDA0002938511740000034
4.根据权利要求3所述的系统,其特征在于,
所述步骤S4包括:
步骤S41、客户端
Figure FDA0002938511740000035
对每一
Figure FDA0002938511740000036
进行解码,具体包括:
Figure FDA0002938511740000037
的最左边往右数直至数到第一个零为止,记下第一个零前一共有r个1,r即为该
Figure FDA0002938511740000038
对应的组号,取
Figure FDA0002938511740000039
后r位,并将其转换成十进制表示offset,基于r位和offset从
Figure FDA00029385117400000310
解码生成对应的
Figure FDA00029385117400000311
Figure FDA00029385117400000312
步骤S42、客户端
Figure FDA00029385117400000313
对每一
Figure FDA00029385117400000314
进行解码,具体包括:
根据
Figure FDA00029385117400000315
每个第一数据区域对应的编号和均值,将
Figure FDA00029385117400000316
转换为对应第一数据区域编号对应的均值;
步骤S43、基于步骤S41和步骤S42,得到客户端
Figure FDA00029385117400000317
对应的第一目标模型更新
Figure FDA00029385117400000318
步骤S44、基于
Figure FDA00029385117400000319
最近一次参与联邦聚合的轮次对应的全局模型
Figure FDA00029385117400000320
和第一目标模型更新
Figure FDA00029385117400000321
更新
Figure FDA00029385117400000322
本地模型:
Figure FDA00029385117400000323
5.根据权利要求1所述的系统,其特征在于,
所述客户端维护一个客户端模型更新误差e,包括第三更新误差和第四更新误差,e的初始值为全零的列表,e随着模型训练动态更新,
Figure FDA00029385117400000324
对应的最近一次参与联邦聚合的轮次的模型更新误差为
Figure FDA00029385117400000325
所述步骤S5包括、
步骤S51、基于
Figure FDA00029385117400000326
Figure FDA00029385117400000327
获取第二累计模型更新
Figure FDA00029385117400000328
步骤S52、所述
Figure FDA00029385117400000329
由一组第二梯度分量组成,根据每一第二梯度分量在
Figure FDA00029385117400000330
对应的位置和参数值,获取每一第二梯度分量对应的下标key*和对应第二梯度分量值value*组成(key*k,value*k),从而将
Figure FDA00029385117400000331
转换为
Figure FDA00029385117400000332
步骤S53、将
Figure FDA0002938511740000041
的所有value*的绝对值按照从大到小的顺序排序,设置S,获取前S个
Figure FDA0002938511740000042
作为待处理的(key*k,value*k),
Figure FDA0002938511740000043
表示排序后的第s个(key*k,value*k),s的取值为1到S,将除待处理的(key*k,value*k)外的剩余的(key*k,value*k)作为本轮第三更新误差;
步骤S54、设置第二分位函数、Q个第二数据区域和每一第二数据区域的上界值和下界值,基于每一第二数据区域的上界值和下界值获取对应的第二数据区域的均值,Q个第二数据区域从00开始采用二进制编号;
步骤S55、所述第二分位函数将
Figure FDA0002938511740000044
分到对应的第二数据区域中,将
Figure FDA0002938511740000045
减去对应的第二数据区域的均值得到
Figure FDA0002938511740000046
对应的误差
Figure FDA0002938511740000047
Figure FDA0002938511740000048
作为本轮第四更新误差;
步骤S56、将
Figure FDA0002938511740000049
中的
Figure FDA00029385117400000410
替换为所在第二数据区域的编号
Figure FDA00029385117400000411
Figure FDA00029385117400000412
进行编码压缩处理得到
Figure FDA00029385117400000413
从而将
Figure FDA00029385117400000414
转换为
Figure FDA00029385117400000415
步骤S57、将
Figure FDA00029385117400000416
客户端样本量大小nk、每个第二数据区域对应的编号和均值作为本轮对应的第二模型更新数据,发送给所述服务器。
6.根据权利要求5所述的系统,其特征在于,
所述步骤S56中,对
Figure FDA00029385117400000417
进行编码压缩处理得到
Figure FDA00029385117400000418
具体包括:
步骤S561、从
Figure FDA00029385117400000419
中获取
Figure FDA00029385117400000420
r*
Figure FDA00029385117400000421
对应的组号,offset*
Figure FDA00029385117400000422
对应的组内偏移量:
Figure FDA00029385117400000423
Figure FDA00029385117400000424
步骤S562、连续写入r*个1,最后写入一个0作为结束,记为S3
步骤S563、取二进制形式的低r*位作为offset*的码元,记为S4
步骤S564、将S3和S4顺序拼接在一起,作为
Figure FDA00029385117400000425
的压缩编码
Figure FDA00029385117400000426
7.根据权利要求6所述的系统,其特征在于,
所述步骤S6包括:
步骤S61、所述服务器对每一
Figure FDA00029385117400000427
进行解码,具体包括:
Figure FDA0002938511740000051
的最左边往右数直至数到第一个零为止,记下第一个零前一共有r*个1,r*即为该
Figure FDA0002938511740000052
对应的组号,取
Figure FDA0002938511740000053
后r*位,并将其转换成十进制表示offset*,基于r*位和offset*
Figure FDA0002938511740000054
解码生成对应的
Figure FDA0002938511740000055
Figure FDA0002938511740000056
步骤S62、所述服务器对每一
Figure FDA0002938511740000057
进行解码,具体包括:
根据
Figure FDA0002938511740000058
每个第二数据区域对应的编号和均值,将
Figure FDA0002938511740000059
转换为对应第二数据区域编号对应的均值;
步骤S63、基于步骤S61和步骤S62,得到每一客户端
Figure FDA00029385117400000510
对应的第二目标模型更新
Figure FDA00029385117400000511
8.根据权利要求7所述的系统,其特征在于,所述步骤S6还包括:
步骤S64、所述服务器加权聚合参与本轮训练的m个客户端对应的第二模型更新
Figure FDA00029385117400000512
得到第二目标模型总更新δt
Figure FDA00029385117400000513
其中,nz为参与本轮训练的m个客户端总的样本数量;
步骤S65、基于当前全局模型为Wt-1和第二目标模型总更新δt更新当前全局模型得到Wt
Wt=Wt-1t
CN202110169210.3A 2021-02-07 2021-02-07 基于梯度压缩的联邦学习数据处理系统 Active CN112817940B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110169210.3A CN112817940B (zh) 2021-02-07 2021-02-07 基于梯度压缩的联邦学习数据处理系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110169210.3A CN112817940B (zh) 2021-02-07 2021-02-07 基于梯度压缩的联邦学习数据处理系统

Publications (2)

Publication Number Publication Date
CN112817940A CN112817940A (zh) 2021-05-18
CN112817940B true CN112817940B (zh) 2022-03-04

Family

ID=75862220

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110169210.3A Active CN112817940B (zh) 2021-02-07 2021-02-07 基于梯度压缩的联邦学习数据处理系统

Country Status (1)

Country Link
CN (1) CN112817940B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113919508B (zh) * 2021-10-15 2022-07-19 河南工业大学 一种基于移动式服务器的联邦学习系统及方法
CN114301889B (zh) * 2021-12-16 2024-06-11 南京理工大学 一种基于权重压缩的高效联邦学习方法及系统
CN114861790B (zh) * 2022-04-29 2023-03-17 深圳大学 联邦学习压缩通信的优化方法、系统及装置

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111553483B (zh) * 2020-04-30 2024-03-29 同盾控股有限公司 基于梯度压缩的联邦学习的方法、装置及系统
CN111553484B (zh) * 2020-04-30 2023-09-08 同盾控股有限公司 联邦学习的方法、装置及系统
CN111625361B (zh) * 2020-05-26 2022-11-01 华东师范大学 一种基于云端服务器和IoT设备协同的联合学习框架
CN112288097B (zh) * 2020-10-29 2024-04-02 平安科技(深圳)有限公司 联邦学习数据处理方法、装置、计算机设备及存储介质

Also Published As

Publication number Publication date
CN112817940A (zh) 2021-05-18

Similar Documents

Publication Publication Date Title
CN112817940B (zh) 基于梯度压缩的联邦学习数据处理系统
CN110659734B (zh) 深度可分离卷积结构的低比特量化方法
JP2021060992A (ja) マシンラーニングシステム及び方法
CN110334580A (zh) 基于集成增量的动态权重组合的设备故障分类方法
CN107291785A (zh) 一种数据查找方法及装置
CN111158912B (zh) 云雾协同计算环境下一种基于深度学习的任务卸载决策方法
CN106777318A (zh) 基于协同训练的矩阵分解跨模态哈希检索方法
CN113328755B (zh) 一种面向边缘计算的压缩数据传输方法
CN116523079A (zh) 一种基于强化学习联邦学习优化方法及系统
CN107666370A (zh) 编码方法和设备
CN112766537B (zh) 一种短期电负荷预测方法
CN109190759A (zh) 一种基于{-1,+1}编码的神经网络模型压缩与加速方法
CN112990478A (zh) 联邦学习数据处理系统
CN115829027A (zh) 一种基于对比学习的联邦学习稀疏训练方法及系统
CN111541900A (zh) 基于gan的安防视频压缩方法、装置、设备及存储介质
CN111832817A (zh) 基于mcp罚函数的小世界回声状态网络时间序列预测方法
CN110263917B (zh) 一种神经网络压缩方法及装置
CN115168326A (zh) Hadoop大数据平台分布式能源数据清洗方法及系统
CN114301889A (zh) 一种基于权重压缩的高效联邦学习方法及系统
CN110135465B (zh) 模型参数表示空间大小估计方法及装置、推荐方法
Sun et al. A novel fractal coding method based on MJ sets
CN101477686B (zh) 基于克隆选择的无监督图像分割方法
CN113487036B (zh) 机器学习模型的分布式训练方法及装置、电子设备、介质
CN116843774A (zh) 点云数据压缩方法、装置、设备及存储介质
Al-Bundi et al. Crowding Optimization Method to Improve Fractal Image Compressions Based Iterated Function

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