CN113360514A - 联合更新模型的方法、装置及*** - Google Patents
联合更新模型的方法、装置及*** Download PDFInfo
- Publication number
- CN113360514A CN113360514A CN202110753197.6A CN202110753197A CN113360514A CN 113360514 A CN113360514 A CN 113360514A CN 202110753197 A CN202110753197 A CN 202110753197A CN 113360514 A CN113360514 A CN 113360514A
- Authority
- CN
- China
- Prior art keywords
- synchronized
- parameters
- data
- model
- parameter
- 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.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/23—Updating
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/214—Generating training patterns; Bootstrap methods, e.g. bagging or boosting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/084—Backpropagation, e.g. using gradient descent
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Life Sciences & Earth Sciences (AREA)
- Artificial Intelligence (AREA)
- Computing Systems (AREA)
- Evolutionary Computation (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Molecular Biology (AREA)
- Health & Medical Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Evolutionary Biology (AREA)
- Bioinformatics & Computational Biology (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本说明书实施例提供一种联合更新模型的方法、装置及***,在当前同步周期,各个数据方在利用本地训练样本在本地更新完模型对应的待同步参数后,可以利用本地当前的带宽,以及服务方针对单个同步周期的最大等待时长,确定在当前同步周期需向服务器上传的待同步参数数量。之后,可以根据需向服务器上传的待同步参数数量从待同步参数集中选择相应的待同步参数上传至服务方。服务方在最大等待时长到达时,将各个数据方分别发送的若干待同步参数进行聚合,形成同步参数集,反馈给各个数据方用于当前同步周期的数据同步。这种实施方式可以避免通信阻塞,提高训练效率。
Description
技术领域
本说明书一个或多个实施例涉及计算机技术领域,尤其涉及联合更新模型的方法、装置及***。
背景技术
计算机技术的发展,使得机器学习在各种各样的业务场景中得到越来越广泛的应用。联邦学习是一种在保护隐私数据情况下进行联合建模的方法。例如,企业与企业之间需要进行合作安全建模,可以进行联邦学习,以便在充分保护企业数据隐私的前提下,使用各方的数据对数据处理模型进行协作训练,从而更准确、有效地处理业务数据。在联邦学习场景中,各方例如可以商定模型结构(或约定模型)后,各自使用隐私数据在本地进行训练,并将模型参数使用安全可信的方法进行聚合,最后各方根据聚合后模型参数改进本地模型。联邦学习实现在隐私保护基础上,有效打破数据孤岛,实现多方联合建模。
然而,随着任务复杂性和对性能要求的逐渐提升,联邦学习中的模型网络层数呈逐渐加深的趋势,模型参数也相应的越来越多。以人脸识别ResNET-50为例,原始模型拥有超过2000万个参数,模型大小超过100MB。特别是在一些参与联邦学习的训练成员较多的场景中,服务器接收的数据呈几何倍数上升,可能造成通信阻塞,严重影响整体训练的效率。
发明内容
本说明书一个或多个实施例描述了一种联合更新模型的方法及装置,用以解决背景技术提到的一个或多个问题。
根据第一方面,提供一种联合更新模型的方法,用于通过服务方和k个数据方联合训练模型,服务方预先设定有单个同步周期的最大等待时长T,所述k个数据方包括数据方i,在当前同步周期,所述方法包括:数据方i利用本地训练样本更新模型对应的M个待同步参数,所述待同步参数为模型中的待定参数,或者待定参数的梯度;数据方i获取当前的本地带宽vi,并基于当前的本地带宽vi和最大等待时长T确定当前同步周期上传的待同步参数数量mi,进而按照预定方式从M个待同步参数中选择mi个待同步参数将其更新值发送至服务方;服务方接收数据方i发送的mi个待同步参数的更新值,以及其他数据方发送的其他待同步参数的更新值,从而将各个待同步参数的更新值聚合为同步参数集Wt,并反馈给包括所述数据方i在内的各个数据方;数据方i利用同步参数集Wt,更新本地模型中的待定参数,从而更新本地模型。
根据第二方面,提供一种用于联合更新模型的方法,适用于通过服务方和k个数据方共同训练模型的过程,服务方预先设定有单个同步周期的最大等待时长T,所述k个数据方包括数据方i,所述方法由所述数据方i执行,在当前同步周期,所述方法包括:利用本地训练样本更新模型对应的M个待同步参数,所述待同步参数为模型中的待定参数,或者待定参数的梯度;获取当前的本地带宽vi;基于当前的本地带宽vi和最大等待时长T确定当前同步周期上传的待同步参数数量mi;按照预定方式从M个待同步参数中选择mi个待同步参数发送至服务方,以供服务方根据第一数据方i发送的mi个待同步参数以及其他数据方发送的其他待同步参数,将各个待同步参数聚合为同步参数集Wt;利用服务方反馈的同步参数集Wt,更新本地模型中的待定参数,从而更新本地模型。
在一个实施例中,所述基于当前的本地带宽vi和最大等待时长T确定当前同步周期上传的待同步参数数量mi包括:利用当前的本地带宽vi和最大等待时长T的乘积确定在当前同步周期的最大数据传输量Si;根据单个待同步参数在数据传输过程中所占空间和最大数据传输量Si,确定待同步参数数量mi,其中,mi不大于最大数据传输量Si与单个待同步参数在数据传输过程中所占空间的比值。
在一个实施例中,所述利用本地训练样本更新模型对应的待同步参数集中的M个待同步参数的数据处理时长为T',所述最大数据传输量Si为:vi×(T-T')。
在一个实施例中,所述基于当前的本地带宽vi和最大等待时长T确定当前同步周期上传的待同步参数数量mi包括:利用当前的本地带宽vi和最大等待时长T的乘积确定在当前同步周期的最大数据传输量Si;按照当前周期的最大数据传输量Si和M个待同步参数所占数据空间C确定当前周期的数据压缩率;将待同步参数总数量M按照所述数据压缩率进行压缩,从而确定要选择的待同步参数数量mi。
在一个实施例中,服务方在当前同步周期针对第一数据方i具有可接受的最大数据量为Si';所述基于当前的本地带宽vi和最大等待时长T确定当前同步周期上传的待同步参数数量mi包括:比较Si和Si'中的较小值;以在当前同步周期上传的数据量不大于所述较小值为目标,确定待同步参数数量mi。
在一个实施例中,服务方为辅助k个数据方同步更新业务数据预留的数据处理空间为Cs,服务方在当前同步周期针对第一数据方i具有的可接受的最大数据量Si'为Cs/k。
在一个实施例中,所述从M个待同步参数中选择mi个待同步参数的预定方式为:从M个待同步参数随机选择mi个待同步参数;或者,按照M个待同步参数的绝对值从大到小的顺序,选择mi个待同步参数。
在一个实施例中,所述按照预定方式从M个待同步参数中选择mi个待同步参数发送至服务方包括,利用以下之一的方式将mi个待同步参数发送至服务方:通过预先约定的mi个唯一性参数标识分别标识mi个待同步参数,以供服务方通过以下方式将各个待同步参数聚合为同步参数集Wt:针对单个待同步参数,统计从各个数据方所收到的若干个更新值;将所述若干个更新值按照取最大值、取最小值、取中位数、取均值、加权平均之一的方式聚合,得到该单个待同步参数的同步参数值,以加入同步参数集Wt。
在一个实施例中,所述按照预定方式从M个待同步参数中选择mi个待同步参数发送至服务方包括,利用以下之一的方式将mi个待同步参数的更新值发送至服务方:按照mi个待同步参数对应到参数矩阵的行、列位置标识mi个待同步参数,以供服务方通过以下方式将各个待同步参数的更新值聚合为同步参数集Wt:按照第一数据方反馈的mi个待同步参数,恢复第一数据方针对待同步参数确定的稀疏矩阵i;将稀疏矩阵i与其他数据方对应的其他稀疏矩阵按照取均值、加权平均之一的方式进行聚合,或者,将各个稀疏矩阵中位置一致的元素以取最大值、取最小值、取中位数之一的方式进行聚合,从而得到同步参数集Wt。
在一个实施例中,所述按照预定方式从M个待同步参数中选择mi个待同步参数将其更新值发送至服务方包括,对上传服务方的待同步参数按照差分隐私机制添加噪声,其中:第一服务方将mi个待同步参数上传至服务方之前,对mi个待同步参数添加满足差分隐私的噪声;或者,第一服务方在选出mi个待同步参数之前,对M个待同步参数添加满足差分隐私的噪声。
根据第三方面,提供一种联合更新模型的方法,适用于通过服务方和k个数据方共同训练模型的过程,服务方预先设定有单个同步周期的最大等待时长T,所述k个数据方包括数据方i,所述方法由所述服务方执行,在当前同步周期,所述方法包括;接收各个数据方分别发送的待同步参数的更新值,其中,数据方i发送的待同步参数数量为mi个,i是1到k之间的正整数,所述待同步参数数量mi由数据方i基于当前的本地带宽vi和最大等待时长T确定,数据方i发送的mi个待同步参数按照预定方式从模型的M个待同步参数中选择;将各个数据方分别发送的待同步参数的更新值聚合为同步参数集Wt,以反馈给各个数据方,从而由各个数据方分别根据同步参数集Wt更新本地模型。
在一个实施例中,在各个数据方发送的待同步参数中,通过预先约定的各个唯一性参数标识分别标识各个待同步参数的情况下,所述将各个数据方分别发送的待同步参数聚合为同步参数集Wt包括:针对单个待同步参数,统计从各个数据方所收到的若干个更新值;将所述若干个更新值按照取最大值、取最小值、取中位数、取均值、加权平均之一的方式聚合,得到该单个待同步参数的同步参数值,以加入同步参数集Wt。
在一个实施例中,在各个数据方发送的待同步参数中,通过对应到参数矩阵的行、列位置标识各个待同步参数的情况下,所述将各个数据方分别发送的待同步参数聚合为同步参数集Wt包括:按照各个数据方所反馈的待同步参数,恢复各个数据方分别针对本地待同步参数确定的各个稀疏矩阵;将各个稀疏矩阵按照取均值、加权平均之一的方式进行聚合,或者,将各个稀疏矩阵中位置一致的元素以取最大值、取最小值、取中位数之一的方式进行聚合,从而得到同步参数集Wt。
在一个实施例中,针对各个数据方在当前同步周期均未反馈更新值的待同步参数,采用以下方式之一确定其在当前周期的同步值:利用前一同步周期的值代替;在预定范围内随机赋值;采用预定字符进行标记,以供各个数据方各自利用当前同步周期在本地确定的更新值代替。
根据第四方面,提供一种联合更新模型的***,包括服务方和k个数据方,所述业务模型用于处理业务数据,得到相应业务处理结果,服务方预先设定有单个同步周期的最大等待时长T,所述k个数据方包括数据方i;在当前同步周期:
数据方i配置为:利用本地训练样本更新模型对应的M个待同步参数,所述待同步参数为模型中的待定参数,或者待定参数的梯度;并且
获取当前的本地带宽vi,并基于当前的本地带宽vi和最大等待时长T确定当前同步周期上传的待同步参数数量mi,进而按照预定方式从M个待同步参数中选择mi个待同步参数将其更新值发送至服务方;
服务方配置为接收数据方i发送的mi个待同步参数的更新值,以及其他数据方发送的其他待同步参数的更新值,从而将各个待同步参数的更新值聚合为同步参数集Wt,并反馈给包括所述数据方i在内的各个数据方;
数据方i还配置为利用同步参数集Wt,更新本地模型中的M个待定参数,从而更新本地模型。
根据第五方面,提供一种用于联合更新模型的装置,设于和服务方共同训练模型的k个数据方中的数据方i中,服务方预先设定有单个同步周期的最大等待时长T,所述装置包括:
训练单元,配置为利用本地训练样本更新模型对应的M个待同步参数,所述待同步参数为模型中的待定参数,或者待定参数的梯度;
获取单元,配置为获取当前的本地带宽vi;
压缩单元,配置为基于当前的本地带宽vi和最大等待时长T确定当前同步周期上传的待同步参数数量mi;
选择单元,配置为按照预定方式从M个待同步参数中选择mi个待同步参数发送至服务方,以供服务方根据数据方i发送的mi个待同步参数的更新值以及其他数据方发送的其他待同步参数的更新值,将各个待同步参数的更新值聚合为同步参数集Wt;
更新单元,配置为利用服务方反馈的同步参数集Wt,更新本地模型中的待定参数,从而更新本地模型。
根据第六方面,提供一种用于联合更新业务模型的装置,设于和k个数据方共同训练模型的服务方,服务方预先设定有单个同步周期的最大等待时长T,所述k个数据方包括数据方i,所述装置包括;
接收单元,配置为接收各个数据方分别发送的待同步参数的更新值,其中,数据方i发送的待同步参数数量为mi个,i是1到k之间的正整数,所述待同步参数数量mi由数据方i基于当前的本地带宽vi和最大等待时长T确定,数据方i发送的mi个待同步参数按照预定方式从模型的M个待同步参数中选择;
聚合单元,配置为将各个数据方分别发送的待同步参数的更新值聚合为同步参数集Wt,以反馈给各个数据方,从而由各个数据方分别根据同步参数集Wt更新本地模型。
根据第七方面,提供了一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行第二方面或第三方面的方法。
根据第八方面,提供了一种计算设备,包括存储器和处理器,其特征在于,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现第二方面或第三方面的方法。
通过本说明书实施例提供的方法、装置和***,在当前同步周期,各个数据方在利用本地训练样本更新完本地模型对应的待同步参数后,可以利用本地当前的带宽,以及服务方针对单个同步周期的最大等待时长,确定在当前同步周期需向服务器上传的待同步参数数量。之后,可以根据需向服务器上传的待同步参数数量从待同步参数集中选择相应的待同步参数上传至服务方。服务方在最大等待时长到达时,将各个数据方分别发送的若干待同步参数进行聚合,形成同步参数集,反馈给各个数据方用于当前同步周期的数据同步。由于根据本地当前的实际带宽进行数据压缩,可以有效减少数据通信量,避免通信阻塞,提高训练效率。并且,可以保证各个数据方在最大等待时长内上传有效的若干待同步参数,避免一些数据方上传数据滞后导致的数据无法有效利用等问题,从而能够充分利用各方数据训练模型,提高模型准确性。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1是在本说明书技术构思下的联合训练模型的***架构示意图;
图2示出本说明书一个实施例的联合训练模型的流程示意图;
图3示出本说明书一个实施例的由数据方执行的联合训练模型的流程示意图;
图4示出本说明书一个实施例的由服务方执行的联合训练模型的流程示意图;
图5示出本说明书一个实施例的设于数据方的联合训练模型的装置示意性框图;
图6示出本说明是一个实施例的设于服务方的联合训练模型的装置示意性框图。
具体实施方式
下面结合附图,对本说明书提供的方案进行描述。
联邦学习(Federated Learning),又可以称为联邦机器学习、联合学习、联盟学习等。联邦机器学习是一个机器学习框架,能有效帮助多个机构在满足用户隐私保护、数据安全和政府法规的要求下,进行数据使用和机器学习建模。
具体地,假设企业A、企业B各自建立一个任务模型,单个任务可以是分类或预测,而这些任务也已经在获得数据时由各自用户的认可。然而,由于数据不完整,例如企业A缺少标签数据、企业B缺少用户特征数据,或者数据不充分,样本量不足以建立好的模型,那么在各端的模型有可能无法建立或效果并不理想。联邦学习要解决的问题是如何在A和B各端建立高质量的机器学习模型,该模型的训练兼用A和B等各个企业的数据,并且各个企业的自有数据不被其他方知晓,即在不违反数据隐私法规情况下,建立一个共有模型。这个共有模型就好像各方把数据聚合在一起建立的最优模型一样。这样,建好的模型在各方的区域仅为自有的目标服务。
联邦学***台,可以持有用户的借贷记录、投资记录、还款时效等数据,业务方3为购物网站,持有用户的购物习惯、付款习惯、付款账户等数据。再例如,涉及医疗业务的多个业务方中,各个业务方可以是各个医院、体检机构等,如业务方1为医院A,对应用户年龄、性别、症状、诊断结果、治疗方案、治疗结果等等诊疗记录作为本地业务数据,业务方2可以为体检机构B,对应用户年龄、性别、症状、体检结论等等的体检记录数据,等等。单个数据方可以持有一个业务的业务数据,也可以持有多个业务方的业务数据。
在该实施架构下,可以由两个或两个以上的数据方共同训练模型。这里的模型可以用于处理业务数据,得到相应的业务处理结果,因此,也可以称之为业务模型。具体处理什么样的业务数据,得到什么样的业务处理结果,根据实际需求而定。例如,业务数据可以是用户金融相关的数据,得到的业务处理结果为用户的金融信用评估结果,再例如,业务数据可以是用户的客服对话数据,得到的业务处理结果为客服答案的推荐结果,等等。业务数据的形式也可以是文字、图片、动画、音频、视频等各种形式的数据。各个数据方分别可以利用训练好的模型对本地业务数据进行本地业务处理。
在联合训练模型过程中,服务方可以为各个业务方的联合学习提供辅助,例如,辅助进行非线性计算、综合模型参数或梯度计算等。图1示出的服务方的形式为独立于各个数据方而单独设置的其他方,如可信第三方等。实践中,服务方还可以分布于各个数据方,或者由各个数据方组成,各个数据方之间可以采用安全计算协议(如秘密共享等)完成联合辅助计算。本说明书对此不做限定。
参考图1所示,在联邦学习的实施架构下,服务方可以初始化全局的模型,分发给各个数据方。各个数据方可以分别按照服务方确定的全局模型,在本地计算模型参数的梯度,按照梯度更新模型参数。由服务方综合计算模型参数的梯度或联合更新的模型参数,并反馈给各个数据方,从而完成数据同步。各个数据方根据接收到的模型参数或其梯度,更新本地的模型参数。如此循环,最终训练适合各个业务方的模型。为了描述方便,在本说明书中,将各个数据方发送至服务方用于服务方综合计算(同步)的本地模型参数或本地模型参数的梯度称为待同步参数,而模型中待调整的模型参数,称为待定参数。
可以理解,联邦学习可以分为横向联邦学习(特征对齐)、纵向联邦学习(样本对齐)与联邦迁移学习。本说明书提供的实施架构可以是用于各种联邦学习架构,尤其适用于横向联邦学习,即,各个业务方分别提供部分独立样本。
在参与联邦学习的训练成员较多的情况下,服务器接收的数据呈几何倍数上升,容易造成通信阻塞,严重影响整体训练的效率。因此,在进行多方联邦学习过程中,需要对模型进行压缩,降低通信传输的压力。常规技术中,联邦学习模型压缩算法中一般采用固定的压缩率,即每次上传模型数据时采用相同的比例上传全部模型的部分模型。这种方式能在一定程度上降低通信压力,但如果由于不同训练成员之间的通信带宽不同,导致训练成员无法实现同步上传,则可能影响模型精度。
此外,对于利用TEE等加密技术的联邦学习***,TEE中可用的加密空间有限,当训练成员较多或者训练成员数量不固定时,容易对TEE硬件造成阻塞,从而降低训练效率,影响训练速度。
本说明书提出一种根据带宽对各个数据方上传服务方的模型参数数量进行压缩的联邦学习方法。在该技术构思下,联邦学习过程中,数据方可以根据当前的带宽以及预先确定的等待时长,确定要上传的待同步参数的数量,大大减少单个数据方向服务方上传参数的数量,以确保各个数据方均可以上传相应的待同步参数,避免通信阻塞,提高训练效率,并且降低对准确度的影响。
下面详细描述本说明书的技术构思。
请参考图2所示,给出了一个实施例的联合更新模型的流程。该流程可以通过服务方和多个数据方实现,单个数据方可以是任何具有计算、处理能力的设备、平台或设备集群。可以理解,联合更新模型的过程中,可以有多个迭代周期。初始时,可以由服务方确定全局模型,并初始化模型参数下发给各个数据方,或者由各个数据方协商模型结构,由各个数据方在本地构建本地模型,并由服务方初始化各个模型参数(包括各个待定参数)。服务方还可以预先设定所需要的超参数,例如等待时间T等。在单个同步周期,各个数据方可以将本地确定的待同步参数,例如模型参数或者模型参数的梯度数据等在等待时间内反馈给服务方。服务方将各个数据方反馈的待同步参数聚合,作为同步数据反馈给各个业务方,各个业务方根据同步数据更新本地模型。直至满足联合训练的停止条件。
为了描述方便,图2以单个同步周期为例进行描述。同时,将模型的待同步参数的数量记为M。待同步参数通常是至少两个数据方共有的待定参数对应的参数。在本说明书实施例中可以假设M为全部数据方共有的待定参数数量。如图2所示,以数据方i和服务方之间的交互为例,描述联合更新模型的流程。其中,数据方i可以为联邦学习的多个数据方中的任意数据方。假设作为训练成员的数据方数量为k,则i为1-k之间的任意自然数。
如图2所示,联合更新模型的流程包括:步骤201,数据方i利用本地训练样本更新模型对应的M个待同步参数,待同步参数为模型中的待定参数,或者待定参数的梯度;步骤202,数据方i获取当前的本地带宽vi,并基于当前的本地带宽vi和最大等待时长T,确定当前同步周期上传的待同步参数数量mi,从而按照预定方式从M个待同步参数中选择mi个待同步参数将其更新值发送至服务方;步骤203,服务方在最大等待时长T内接收包括数据方i在内的各个数据方分别发送的mi个待同步参数的更新值,从而将各个待同步参数的更新值聚合为同步参数集Wt,并反馈给各个数据方;步骤204,数据方i利用同步参数集Wt,更新本地模型中的M个待定参数,从而更新本地模型。
首先,在步骤201中,数据方i利用本地训练样本更新模型对应的M个待同步参数。可以理解,模型训练中通常存在一些待定参数,例如可以是数据聚合的权重参数、激励层的激励参数、截断参数,等等。模型训练的过程,就是确定这些待定参数的过程。联邦学习过程中,可以根据预先协商的方式,确定与各个待定参数一一对应的各个待同步参数,经由服务方的辅助,完成各个数据方的待定参数的数值同步。
在一个实施例中,待同步参数可以是模型训练过程中待调整的模型参数,即待定参数。此时,各个数据方可以根据本地训练样本更新本地的各个待定参数。假设当前周期为t,即为第t次参数同步过程(假设总共进行N次的参数同步,则t=0,1,...,N),第一数据方i读取本地训练样本Xi中一个batch(批次)的数据bi,进行模型Yi的前向传播,得到bi中各个训练样本分别对应的各个预测标签,记为然后根据实际的样本标签yi与预测标签的对比,确定模型损失Li。进而根据模型损失Li调整各个待定参数。假设各个待定参数中,有M个是需要与各个数据方同步的参数,则这M个参数调整后的值可以作为M个待同步参数的更新值。在可选的实现方式中,当前数据方还可以按照约定,将在第t周期经过多个批次的训练样本对各个待定参数进行,并根据经过多个批次更新后的待定参数值确定第t周期的相应待同步参数的更新值。
在一个实施例中,模型训练过程中,对于待定参数的更新通常可以采用梯度下降法、牛顿法等各种更新方法,以减小待定参数的梯度,从而使得待定参数趋于极值(最优值)。这种情况下,数据方i可以根据模型损失Li,利用反向传播算法更新各个待定参数的梯度,并可以将M个待定参数分别对应的M个梯度作为M个待同步参数的更新值。M个梯度在经由服务方的同步后,用于调整M个待定参数。
在其他实施例中,根据业务模型中待定参数的更新模式不同,待同步参数还可以是其他参数,在此不再一一赘述。其他各个数据方可以按照相同的方式确定M个待同步参数的更新值。
然后,在步骤202,数据方i获取当前的本地带宽vi,并基于当前的本地带宽vi和最大等待时长T、待同步参数集的参数量M以及确定当前同步周期上传的待同步参数数量mi,从而按照预定方式从M个待同步参数中选择mi个待同步参数将其更新值发送至服务方。
可以理解,步骤202是数据方i对上传至服务方的待同步参数数量进行压缩的过程。由于设备带宽通常实时变化,为了合理确定数据方i在当前同步周期t需要上传服务方的参数数量,可以根据服务方的最大等待时长T,和其当前带宽vi,确定其在当前同步周期中的最大数据传输量。可以理解,带宽通常是在单位时间内通过网络中某一点的最高数率,常用的单位例如由bps(bit per second,即字节数/每秒)。则根据当前带宽vi与最大等待时长T的乘积,可以确定当前周期的最大数据传输量。数据方i当前周期t的最大数据传输量例如记为Si。
实践中,在最大等待时长内,数据方i还需要更新本地模型的待定参数、通过至少一个批次的本地训练样本更新待同步参数、确定要上传的待同步参数。因此,在一个实施例中,可以按照最大等待时长T的预定比例与当前带宽的乘积确定当前周期的最大数据传输量Si。例如预定比例为0.5,则当前周期的最大数据传输量Si为vi×T/2。在另一个实施例中,可以采用当前带宽和最大等待时长T的乘积,与容错系数的比值确定当前周期的最大数据传输量,例如容错系数为1.3,则前述最大数据传输量Si为vi×T/1.3。在又一个实施例中,还可以采用最大等待时长T减去一个数据处理时长,作为最大数据传输时长,从而确定当前周期的最大数据传输量Si。该数据处理时长至少包括数据方i利用本地训练样本更新模型对应的待同步参数集中的M个待同步参数所需的时长,其可以为预定时长,也可以为根据实际情况确定的时长。假如数据处理时长为T',则前述最大数据传输量Si为vi×(T-T')。在更多实施例中,还可以通过更多合理的方式来确定前述最大数据传输量Si,在此不再赘述。
在一个可选的实现方式中,可以根据最大数据传输量Si确定要选择的待同步参数数量mi。待同步参数数量mi例如为字节数不大于最大数据传输量Si的数量。可以理解,单个待同步参数所占数据空间与数据形式有关,假设数据类型为单精度浮点数float32,则单个待同步参数占4个字节(bit),假设数据类型为双精度浮点数double,则单个待同步参数占8个字节(bit),等等。以float32数据类型为例,单个待同步参数所占空间为则在一个例子中,待同步参数数量mi例如可以为,最大数据传输量Si与单个待同步参数的比值的整数部分,如记为mi=|Si/S0|。为了避免数据溢出,在另一个例子中,还可以设置安全系数β,同步参数数量mi例如可以为|Si/βS0|。β通常为大于1的数,如1.3。
在另一个可选的实现方式中,可以按照当前周期的最大数据传输量Si和M个待同步参数所占数据空间C确定当前周期的数据压缩率,再根据压缩率和待同步参数总数量M,确定要选择的待同步参数数量mi。例如,数据方i在当前周期的数据压缩率可以与Si和C的比值正相关。如为其中,β为安全系数,用于防止数据溢出,通常为大于1的数,例如为1.3。待同步参数量总量为M,则M个待同步参数所占数据空间 其中C0为数据传输编码解码信息所占用的存储空间,MB为单位兆字节。此时,数据方i要上传的待同步参数的数量mi=可以为αi,t×M。根据实际需求,数据方i的数据压缩率还可以通过其他合理的方式确定,在此不再赘述。根据一个实施例,在业务模型为多层神经网络的情况下,M可以为各层的待同步参数之和,如s为神经网络层数,pz、qz为第z层神经网络的参数矩阵的行数、列数。在业务模型为其他结构时,总参数量M通过其他方式确定,本说明书对此不做限定。
根据一个可能的设计,服务方留给联邦学***均分配给各个训练成员,即k个数据方,则Si'=Cs/k。再例如,预先约定的规则为,单个训练成员分配的可接受最大数据量与其本地训练样本总数正相关。假设第j个训练成员的训练样本总数记为|Xj|,则Si'例如为在其他实现方式中,Si'也可以通过其他方式确定。
如此,数据方i在当前周期t最多可以上传的数据量应为Si和Si'中的较小者,即min(Si,Si')。前文确定数据方i要上传的待同步参数数量mi时使用的Si均可替换为min(Si,Si'),例如mi=|min(Si,Si')/S0|、等等。其中,mi为整数,在以上结果为非整数的情况下,可以取较小整数,即保留计算结果的整数部分,以免所取待同步参数所占空间超过限制。
在确定了要上传的待同步参数的数量mi之后,数据方i可以进一步从M个待同步参数中选出mi个待同步参数上传服务方。选择规则可以预先确定,例如,随机选择,再例如,按照相应梯度值由大到小的顺序选择,等等。
选出的mi个待同步参数可以通过唯一的参数标识的方式上传至服务方,也可以通过参数矩阵的形式上传至服务方,本说明书对此不做限定。举例而言,通过唯一的参数标识的方式标识的到同步参数例如为(wjk)i表示对应于数据方i的第j层数神经网络的第k个参数的待同步参数。通过参数矩阵的形式表示的待同步参数例如为[j,k],表示对应于业务模型整体参数矩阵的第j行第k列的模型参数的待同步参数。其中,矩阵形式表示的待同步参数,可以看作个待同步参数和(M-mi)个零元素构成的M个元素的稀疏矩阵。矩阵形式的待同步参数上传至服务方时,可以通过整形int等对应较少字节的数值形式定义行、列,以较少上传数据时额外的数据量。
n个数据方可以分别通过类似的方式在最大等待时长T内上传当前同步周期t各自更新的部分待同步参数,例如分别记为m1、m2……mi……mn。在可选的实现方式中,单个数据方在上传待同步参数之前,还可以先对本地的待同步参数添加满足差分隐私的扰动,以保护本地数据隐私。例如,可以通过差分隐私的高斯机制,在待同步参数上添加满足均值为0方差为1的标准高斯分布的扰动数据,从而形成扰动的待同步数据。在待同步数据通过矩阵形式表示时,添加的扰动数据可以是满足预定高斯分布的扰动矩阵。其中,单个数据方i可以在选择出mi个待同步参数之后,对选择出的待同步参数添加扰动,也可以在选择出mi个待同步参数之前先添加扰动数据,并在添加扰动数据之后的M个待同步参数中按照预定规则选择出mi个待同步参数。本说明书对此不做限定。另外,数据方i在待同步参数上添加的噪声还可以满足指数机制、拉普拉斯(Laplace)机制等。
进一步地,通过步骤203,服务方接收数据方i发送的mi个待同步参数的更新值,以及其他数据方发送的其他待同步参数的更新值,从而将各个待同步参数的更新值聚合为同步参数集Wt,并反馈给各个数据方。可以理解,在经过最大等待时长T后,服务方可以将各个数据方本地的待同步参数集进行聚合,得到全局的同步参数集。其中的聚合方式例如是取最大值、取最小值、取中位数、取均值、加权平均等等。其中,加权求和情况下,权值可以和相应数据方持有的训练样本条数正相关。当前同步周期为t,因此可以将待同步参数聚合后的参数记为Wt。
在一个实施例中,服务方可以针对单个模型参数,统计从各个数据方所收到的数据,并将其聚合。例如,对于模型参数wjk,通过统计发现,仅数据方1、数据方7回传了该模型参数对应的待同步参数,则可以将数据方1、数据方7回传的待同步参数聚合,得到模型参数wjk对应的同步结果。依次类推,直至各个模型参数聚合完成。
在另一个实施例中,各个数据方以稀疏矩阵形式回传待同步参数,则服务方可以将各个数据方回传的稀疏矩阵恢复为矩阵形式,并通过矩阵取均值、加权平均等方式进行聚合。在聚合方式为取最大值、取最小值、取中位数等方式的情况下,可以按元素进行操作,得到聚合矩阵。
值得说明的是,在各个数据方向服务方反馈待同步参数时,没有相互约定或提前协商的情况下,在当前同步周期t中可能存在若干模型参数对应的待同步参数没有一个数据方回传的情形,此时,可以根据实际情况确定同步参数集中的相应值。例如,可以使用前一次的同步参数值。再例如,设为特殊标记值,从而使得相应待同步参数的值不进行同步。在待同步参数为梯度值时,还可以用0值作为相应同步参数值。
接着,通过步骤204,数据方i利用同步参数集Wt,更新本地模型中的M个待同步参数,从而更新本地模型。可以理解,各个数据方接收到服务方反馈的同步参数集Wt,可以各自更新本地的相应待定参数。亦即,更新本地模型。
通常:在同步参数集为待定参数的情况下,可以使用同步参数集Wt替换本地待定参数;在同步参数集为待定参数的梯度的情况下,可以使用梯度下降法、牛顿法等,按照相应步长调整待定参数,从而更新本地的待定参数。在可能的实现中,如果同步参数集中某个参数值通过特殊标记进行标识,则可能是在当前同步周期t中,没有一个数据方向服务方回传其相应的数值,这种情况下,可以利用当前同步周期中,本地更新的相应数值代替。
图2示出的流程通过数据方i与服务方的交互描述了在一个同步周期内各个数据方在服务方的辅助下针对待同步参数进行同步,并更新本地业务模型的过程。各个数据方在服务方的辅助下,经过多个同步周期的迭代可以联合训练业务模型。其中,联合训练模型的迭代结束条件可以为:待同步参数趋于收敛、模型损失趋于收敛、迭代周期达到预定周期等等。其中,收敛可以理解为,改变量小于预定阈值。
为了更明确单个数据方执行的流程,通过图3示出了根据一个实施例的用于数据方i的联合更新模型的流程。如图3所示,用于联合更新模型的流程包括:步骤301,利用本地训练样本更新模型对应的M个待同步参数,待同步参数为模型中的待定参数,或者待定参数的梯度;步骤302,获取当前的本地带宽vi;步骤303,基于当前的本地带宽vi和最大等待时长T确定当前同步周期上传的待同步参数数量mi;步骤304,按照预定方式从M个待同步参数中选择mi个待同步参数发送至服务方,以供服务方根据第一数据方i发送的mi个待同步参数以及其他数据方发送的其他待同步参数,将各个待同步参数聚合为同步参数集Wt;步骤305,利用服务方反馈的同步参数集Wt,更新本地模型中的待定参数,从而更新本地模型。
另一方面,图4示出了根据一个实施例的用于服务方的联合更新模型的流程。如图4所示,用于服务方的联合更新模型的流程包括:步骤401,接收各个数据方分别发送的待同步参数,其中,数据方i发送的待同步参数数量为mi个,i是1到k之间的正整数,待同步参数数量mi由数据方i基于当前的本地带宽vi和最大等待时长T确定,数据方i发送的mi个待同步参数按照预定方式从模型的M个待同步参数中选择;步骤402,将各个数据方分别发送的待同步参数聚合为同步参数集Wt,以反馈给各个数据方,从而由各个数据方分别根据同步参数集Wt更新本地模型。
可以理解的是,图3和图4分别单独描述了图2中第一数据方i和服务方在单个同步周期执行的流程,图3和图4中的流程相互配合,与图2的流程一致。因此,图2中相关方执行流程的描述同样适应于图3、图4中的相应方,在此不再赘述。
回顾以上过程,在联合训练模型的单个同步周期,各个数据方利用本地的训练样本更新M个待同步参数之后,根据本地带宽,以及服务方单个周期的最大等待时长,确定当前周期要上传至服务方的待同步参数数量mi,并从M个待同步参数中选择mi个上传至服务方,以供服务方聚合各个数据方上传的待同步参数,得到同步参数集Wt。由于mi可以远小于M,从而使得各个数据方向服务方式上传的数据量大大减小,有效减轻数据压力,避免通信堵塞,提高联合学习效率。另外,单个数据方上传的待同步参数数量还与限定的最大等待时间T相关,从而可以保证在最大等待时长T内,服务方可以接收到各个数据方上传的待同步数据,使得在单个同步周期,各个训练成员都能参与其中,有利于全面利用各个训练成员的数据,避免各个训练成员上传参数的压缩影响模型的准确性。
根据另一方面的实施例,提供一种联合更新模型的***,该***包括服务方和k个数据方。假设数据方i为k个数据方中的任意数据方如图5所示,数据方i中可以设置有用于联合更新模型的装置500。事实上,各个数据方均可以设置有该装置500。而服务方可以设置有图6示出的用于联合更新模型的装置600。各个数据方通过本地设置的装置500和服务方设置的装置600相互配合,从而联合完成模型的训练。
如图5所示,设于数据方的装置500可以包括:训练单元51,配置为利用本地训练样本更新模型对应的M个待同步参数,待同步参数为模型中的待定参数,或者待定参数的梯度;获取单元52,配置为获取当前的本地带宽vi;压缩单元53,配置为基于当前的本地带宽vi和最大等待时长T确定当前同步周期上传的待同步参数数量mi;选择单元54,配置为按照预定方式从M个待同步参数中选择mi个待同步参数发送至服务方,以供服务方根据第一数据方i发送的mi个待同步参数以及其他数据方发送的其他待同步参数,将各个待同步参数聚合为同步参数集Wt;更新单元55,配置为利用服务方反馈的同步参数集Wt,更新本地模型中的待定参数,从而更新本地模型。
如图6所示,设于服务方的装置600可以包括:接收单元61,配置为接收各个数据方分别发送的待同步参数的更新值,其中,数据方i发送的待同步参数数量为mi个,i是1到k之间的正整数,待同步参数数量mi由数据方i基于当前的本地带宽vi和最大等待时长T确定,数据方i发送的mi个待同步参数按照预定方式从模型的M个待同步参数中选择;聚合单元62,配置为将各个数据方分别发送的待同步参数的更新值聚合为同步参数集Wt,以反馈给各个数据方,从而由各个数据方分别根据同步参数集Wt更新本地业务模型。
值得说明的是,图5、图6示出的装置500、600分别与图3、图4示出的额方法实施例相对应,并分别可以应用与图2示出的方法实施例中的第一数据方i和服务方,从而相互配合完成图2中的联合更新业务模型的流程。因此,图2中关于数据方、服务方的相关描述同样可以分别适应于图5示出的装置500、图6示出的装置600,在此不再赘述。
根据另一方面的实施例,还提供一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行结合图3或图4等所描述的方法。
根据再一方面的实施例,还提供一种计算设备,包括存储器和处理器,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现结合图3或图4等所描述的方法。
本领域技术人员应该可以意识到,在上述一个或多个示例中,本说明书实施例所描述的功能可以用硬件、软件、固件或它们的任意组合来实现。当使用软件实现时,可以将这些功能存储在计算机可读介质中或者作为计算机可读介质上的一个或多个指令或代码进行传输。
以上所述的具体实施方式,对本说明书的技术构思的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本说明书的技术构思的具体实施方式而已,并不用于限定本说明书的技术构思的保护范围,凡在本说明书实施例的技术方案的基础之上,所做的任何修改、等同替换、改进等,均应包括在本说明书的技术构思的保护范围之内。
Claims (20)
1.一种联合更新模型的方法,用于服务方和k个数据方联合训练模型,服务方预先设定有单个同步周期的最大等待时长T,所述k个数据方包括数据方i,在当前同步周期,所述方法包括:
数据方i利用本地训练样本更新模型对应的M个待同步参数,所述待同步参数为模型中的待定参数,或者待定参数的梯度;
数据方i获取当前的本地带宽vi,并基于当前的本地带宽vi和最大等待时长T确定当前同步周期上传的待同步参数数量mi,进而按照预定方式从M个待同步参数中选择mi个待同步参数将其更新值发送至服务方;
服务方接收数据方i发送的mi个待同步参数的更新值,以及其他数据方发送的其他待同步参数的更新值,从而将各个待同步参数的更新值聚合为同步参数集Wt,并反馈给包括所述数据方i在内的各个数据方;
数据方i利用同步参数集Wt,更新本地模型中的待定参数,从而更新本地模型。
2.一种用于联合更新模型的方法,适用于服务方和k个数据方共同训练模型的过程,服务方预先设定有单个同步周期的最大等待时长T,所述k个数据方包括数据方i,所述方法由所述数据方i执行,在当前同步周期,所述方法包括:
利用本地训练样本更新模型对应的M个待同步参数,所述待同步参数为模型中的待定参数,或者待定参数的梯度;
获取当前的本地带宽vi;
基于当前的本地带宽vi和最大等待时长T确定当前同步周期上传的待同步参数数量mi;
按照预定方式从M个待同步参数中选择mi个待同步参数发送至服务方,以供服务方根据第一数据方i发送的mi个待同步参数以及其他数据方发送的其他待同步参数,将各个待同步参数聚合为同步参数集Wt;
利用服务方反馈的同步参数集Wt,更新本地模型中的待定参数,从而更新本地模型。
3.根据权利要求2所述的方法,其中,所述基于当前的本地带宽vi和最大等待时长T确定当前同步周期上传的待同步参数数量mi包括:
利用当前的本地带宽vi和最大等待时长T的乘积确定在当前同步周期的最大数据传输量Si;
根据单个待同步参数在数据传输过程中所占空间和最大数据传输量Si,确定待同步参数数量mi,其中,mi不大于最大数据传输量Si与单个待同步参数在数据传输过程中所占空间的比值。
4.根据权利要求3所述的方法,其中,所述利用本地训练样本更新模型对应的M个待同步参数的数据处理时长为T',所述最大数据传输量Si为:vi×(T-T')。
5.根据权利要求2所述的方法,所述基于当前的本地带宽vi和最大等待时长T确定当前同步周期上传的待同步参数数量mi包括:
利用当前的本地带宽vi和最大等待时长T的乘积确定在当前同步周期的最大数据传输量Si;
按照当前周期的最大数据传输量Si和M个待同步参数所占数据空间C确定当前周期的数据压缩率;
将待同步参数总数量M按照所述数据压缩率进行压缩,从而确定要选择的待同步参数数量mi。
6.根据权利要求3或5所述的方法,服务方在当前同步周期针对第一数据方i具有可接受的最大数据量为Si';
所述基于当前的本地带宽vi和最大等待时长T确定当前同步周期上传的待同步参数数量mi包括:
比较Si和Si'中的较小值;
以在当前同步周期上传的数据量不大于所述较小值为目标,确定待同步参数数量mi。
7.根据权利要求6所述的方法,其中,服务方为辅助k个数据方同步更新业务数据预留的数据处理空间为Cs,服务方在当前同步周期针对第一数据方i具有的可接受的最大数据量Si'为Cs/k。
8.根据权利要求2所述的方法,其中,所述从M个待同步参数中选择mi个待同步参数的预定方式为:
从M个待同步参数随机选择mi个待同步参数;或者
按照M个待同步参数的绝对值从大到小的顺序,选择前mi个待同步参数。
9.根据权利要求2所述的方法,其中,所述按照预定方式从M个待同步参数中选择mi个待同步参数发送至服务方包括,利用以下之一的方式将mi个待同步参数发送至服务方:
通过预先约定的mi个唯一性参数标识分别标识mi个待同步参数,以供服务方通过以下方式将各个待同步参数的更新值聚合为同步参数集Wt:
针对单个待同步参数,统计从各个数据方所收到的若干个更新值;
将所述若干个更新值按照取最大值、取最小值、取中位数、取均值、加权平均之一的方式聚合,得到该单个待同步参数的同步参数值,以加入同步参数集Wt。
10.权利要求2所述的方法,其中,所述按照预定方式从M个待同步参数中选择mi个待同步参数将其更新值发送至服务方包括,利用以下之一的方式将mi个待同步参数发送至服务方:
按照mi个待同步参数对应到参数矩阵的行、列位置标识mi个待同步参数,以供服务方通过以下方式将各个待同步参数的更新值聚合为同步参数集Wt:
按照数据方i反馈的mi个待同步参数,恢复数据方i针对待同步参数确定的稀疏矩阵Gi;
将稀疏矩阵Gi与其他数据方对应的其他稀疏矩阵按照取均值、加权平均之一的方式进行聚合,或者,将各个稀疏矩阵中位置一致的元素以取最大值、取最小值、取中位数之一的方式进行聚合,从而得到同步参数集Wt。
11.根据权利要求2所述的方法,所述按照预定方式从M个待同步参数中选择mi个待同步参数发送至服务方包括,对上传服务方的待同步参数按照差分隐私机制添加噪声,其中:
服务方i将mi个待同步参数上传至服务方之前,对mi个待同步参数添加满足差分隐私的噪声;或者
服务方i在选出mi个待同步参数之前,对M个待同步参数添加满足差分隐私的噪声。
12.一种联合更新模型的方法,适用于通过服务方和k个数据方共同训练模型的过程,服务方预先设定有单个同步周期的最大等待时长T,所述k个数据方包括数据方i,所述方法由所述服务方执行,在当前同步周期,所述方法包括:
接收各个数据方分别发送的待同步参数的更新值,其中,数据方i发送的待同步参数数量为mi个,i是1到k之间的正整数,所述待同步参数数量mi由数据方i基于当前的本地带宽vi和最大等待时长T确定,数据方i发送的mi个待同步参数按照预定方式从模型的M个待同步参数中选择;
将各个数据方分别发送的待同步参数的更新值聚合为同步参数集Wt,以反馈给各个数据方,从而由各个数据方分别根据同步参数集Wt更新本地模型。
13.根据权利要求12所述的方法,其中,在各个数据方发送的待同步参数中,通过预先约定的各个唯一性参数标识分别标识各个待同步参数的情况下,所述将各个数据方分别发送的待同步参数聚合为同步参数集Wt包括:
针对单个待同步参数,统计从各个数据方所收到的若干个更新值;
将所述若干个更新值按照取最大值、取最小值、取中位数、取均值、加权平均之一的方式聚合,得到该单个待同步参数的同步参数值,以加入同步参数集Wt。
14.根据权利要求12所述的方法,其中,在各个数据方发送的待同步参数中,通过对应到参数矩阵的行、列位置标识各个待同步参数的情况下,所述将各个数据方分别发送的待同步参数聚合为同步参数集Wt包括:
按照各个数据方所反馈的待同步参数,恢复各个数据方分别针对本地待同步参数确定的各个稀疏矩阵;
将各个稀疏矩阵按照取均值、加权平均之一的方式进行聚合,或者,将各个稀疏矩阵中位置一致的元素以取最大值、取最小值、取中位数之一的方式进行聚合,从而得到同步参数集Wt。
15.根据权利要求13或14所述的方法,其中,针对各个数据方在当前同步周期均未反馈更新值的待同步参数,采用以下方式之一确定其在当前周期的同步值:
利用前一同步周期的值代替;
在预定范围内随机赋值;
采用预定字符进行标记,以供各个数据方各自利用当前同步周期在本地确定的更新值代替。
16.一种联合更新模型的***,包括服务方和k个数据方,服务方预先设定有单个同步周期的最大等待时长T,所述k个数据方包括数据方i;在当前同步周期:
数据方i配置为:利用本地训练样本更新模型对应的M个待同步参数,所述待同步参数为模型中的待定参数,或者待定参数的梯度;并且
获取当前的本地带宽vi,并基于当前的本地带宽vi和最大等待时长T确定当前同步周期上传的待同步参数数量mi,进而按照预定方式从M个待同步参数中选择mi个待同步参数将其更新值发送至服务方;
服务方配置为接收数据方i发送的mi个待同步参数的更新值,以及其他数据方发送的其他数量的待同步参数的更新值,从而将各个待同步参数的更新值聚合为同步参数集Wt,并反馈给包括所述数据方i在内的各个数据方;
数据方i还配置为利用同步参数集Wt,更新本地模型中的M个待定参数,从而更新本地模型。
17.一种用于联合更新模型的装置,设于和服务方共同训练模型的k个数据方中的数据方i中,服务方预先设定有单个同步周期的最大等待时长T,所述装置包括:
训练单元,配置为利用本地训练样本更新模型对应的M个待同步参数,所述待同步参数为模型中的待定参数,或者待定参数的梯度;
获取单元,配置为获取当前的本地带宽vi;
压缩单元,配置为基于当前的本地带宽vi和最大等待时长T确定当前同步周期上传的待同步参数数量mi;
选择单元,配置为按照预定方式从M个待同步参数中选择mi个待同步参数发送至服务方,以供服务方根据数据方i发送的mi个待同步参数的更新值以及其他数据方发送的其他待同步参数的更新值,将各个待同步参数的更新值聚合为同步参数集Wt;
更新单元,配置为利用服务方反馈的同步参数集Wt,更新本地模型中的待定参数,从而更新本地模型。
18.一种用于联合更新模型的装置,设于和k个数据方共同训练模型的服务方,服务方预先设定有单个同步周期的最大等待时长T,所述k个数据方包括数据方i,所述装置包括;
接收单元,配置为接收各个数据方分别发送的待同步参数的更新值,其中,数据方i发送的待同步参数数量为mi个,i是1到k之间的正整数,所述待同步参数数量mi由数据方i基于当前的本地带宽vi和最大等待时长T确定,数据方i发送的mi个待同步参数按照预定方式从模型的M个待同步参数中选择;
聚合单元,配置为将各个数据方分别发送的待同步参数的更新值聚合为同步参数集Wt,以反馈给各个数据方,从而由各个数据方分别根据同步参数集Wt更新本地模型。
19.一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行权利要求2-15中任一项所述的方法。
20.一种计算设备,包括存储器和处理器,其特征在于,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现权利要求2-15中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110753197.6A CN113360514B (zh) | 2021-07-02 | 2021-07-02 | 联合更新模型的方法、装置及*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110753197.6A CN113360514B (zh) | 2021-07-02 | 2021-07-02 | 联合更新模型的方法、装置及*** |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113360514A true CN113360514A (zh) | 2021-09-07 |
CN113360514B CN113360514B (zh) | 2022-05-17 |
Family
ID=77538058
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110753197.6A Active CN113360514B (zh) | 2021-07-02 | 2021-07-02 | 联合更新模型的方法、装置及*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113360514B (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114676838A (zh) * | 2022-04-12 | 2022-06-28 | 支付宝(杭州)信息技术有限公司 | 联合更新模型的方法及装置 |
CN115481752A (zh) * | 2022-09-23 | 2022-12-16 | 中国电信股份有限公司 | 模型训练方法、装置、电子设备以及存储介质 |
WO2023157550A1 (ja) * | 2022-02-21 | 2023-08-24 | 株式会社日立製作所 | 計算機システム、学習方法、及びエッジ装置 |
CN114676838B (zh) * | 2022-04-12 | 2024-07-26 | 支付宝(杭州)信息技术有限公司 | 联合更新模型的方法及装置 |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110168531A (zh) * | 2016-12-30 | 2019-08-23 | 三菱电机株式会社 | 用于多模态融合模型的方法和*** |
CN111090631A (zh) * | 2020-03-24 | 2020-05-01 | 中国人民解放军国防科技大学 | 分布式环境下的信息共享方法、装置和电子设备 |
CN111292722A (zh) * | 2019-12-13 | 2020-06-16 | 中国科学院深圳先进技术研究院 | 异步联合架构的模型训练方法、终端、服务器及存储装置 |
CN111522669A (zh) * | 2020-04-29 | 2020-08-11 | 深圳前海微众银行股份有限公司 | 横向联邦学习***优化方法、装置、设备及可读存储介质 |
CN111754000A (zh) * | 2020-06-24 | 2020-10-09 | 清华大学 | 质量感知的边缘智能联邦学习方法及*** |
CN111901829A (zh) * | 2020-07-10 | 2020-11-06 | 江苏智能交通及智能驾驶研究院 | 基于压缩感知和量化编码的无线联邦学习方法 |
CN112532451A (zh) * | 2020-11-30 | 2021-03-19 | 安徽工业大学 | 基于异步通信的分层联邦学习方法、装置、终端设备及存储介质 |
WO2021082647A1 (zh) * | 2019-10-29 | 2021-05-06 | 华为技术有限公司 | 一种联合学习***、训练结果聚合的方法及设备 |
US11017322B1 (en) * | 2021-01-28 | 2021-05-25 | Alipay Labs (singapore) Pte. Ltd. | Method and system for federated learning |
WO2021108796A2 (en) * | 2020-12-21 | 2021-06-03 | Futurewei Technologies, Inc. | System and method of federated learning with diversified feedback |
US20210203565A1 (en) * | 2019-12-31 | 2021-07-01 | Hughes Network Systems, Llc | Managing internet of things network traffic using federated machine learning |
-
2021
- 2021-07-02 CN CN202110753197.6A patent/CN113360514B/zh active Active
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110168531A (zh) * | 2016-12-30 | 2019-08-23 | 三菱电机株式会社 | 用于多模态融合模型的方法和*** |
WO2021082647A1 (zh) * | 2019-10-29 | 2021-05-06 | 华为技术有限公司 | 一种联合学习***、训练结果聚合的方法及设备 |
CN111292722A (zh) * | 2019-12-13 | 2020-06-16 | 中国科学院深圳先进技术研究院 | 异步联合架构的模型训练方法、终端、服务器及存储装置 |
US20210203565A1 (en) * | 2019-12-31 | 2021-07-01 | Hughes Network Systems, Llc | Managing internet of things network traffic using federated machine learning |
CN111090631A (zh) * | 2020-03-24 | 2020-05-01 | 中国人民解放军国防科技大学 | 分布式环境下的信息共享方法、装置和电子设备 |
CN111522669A (zh) * | 2020-04-29 | 2020-08-11 | 深圳前海微众银行股份有限公司 | 横向联邦学习***优化方法、装置、设备及可读存储介质 |
CN111754000A (zh) * | 2020-06-24 | 2020-10-09 | 清华大学 | 质量感知的边缘智能联邦学习方法及*** |
CN111901829A (zh) * | 2020-07-10 | 2020-11-06 | 江苏智能交通及智能驾驶研究院 | 基于压缩感知和量化编码的无线联邦学习方法 |
CN112532451A (zh) * | 2020-11-30 | 2021-03-19 | 安徽工业大学 | 基于异步通信的分层联邦学习方法、装置、终端设备及存储介质 |
WO2021108796A2 (en) * | 2020-12-21 | 2021-06-03 | Futurewei Technologies, Inc. | System and method of federated learning with diversified feedback |
US11017322B1 (en) * | 2021-01-28 | 2021-05-25 | Alipay Labs (singapore) Pte. Ltd. | Method and system for federated learning |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023157550A1 (ja) * | 2022-02-21 | 2023-08-24 | 株式会社日立製作所 | 計算機システム、学習方法、及びエッジ装置 |
CN114676838A (zh) * | 2022-04-12 | 2022-06-28 | 支付宝(杭州)信息技术有限公司 | 联合更新模型的方法及装置 |
CN114676838B (zh) * | 2022-04-12 | 2024-07-26 | 支付宝(杭州)信息技术有限公司 | 联合更新模型的方法及装置 |
CN115481752A (zh) * | 2022-09-23 | 2022-12-16 | 中国电信股份有限公司 | 模型训练方法、装置、电子设备以及存储介质 |
CN115481752B (zh) * | 2022-09-23 | 2024-03-19 | 中国电信股份有限公司 | 模型训练方法、装置、电子设备以及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN113360514B (zh) | 2022-05-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112733967B (zh) | 联邦学习的模型训练方法、装置、设备及存储介质 | |
CN113377797B (zh) | 联合更新模型的方法、装置及*** | |
CN112364943A (zh) | 一种基于联邦学习的联邦预测方法 | |
WO2021051610A1 (zh) | 数据的训练方法及装置、*** | |
CN113360514B (zh) | 联合更新模型的方法、装置及*** | |
CN112084422B (zh) | 一种账号数据智能处理方法和装置 | |
CN112712182B (zh) | 一种基于联邦学习的模型训练方法、装置及存储介质 | |
CN112799708B (zh) | 联合更新业务模型的方法及*** | |
CN113052329B (zh) | 联合更新业务模型的方法及装置 | |
CN112068866B (zh) | 更新业务模型的方法及装置 | |
CN111860865B (zh) | 模型构建和分析的方法、装置、电子设备和介质 | |
CN115563650A (zh) | 基于联邦学习实现医疗数据的隐私保护*** | |
WO2023174036A1 (zh) | 联邦学习模型训练方法、电子设备及存储介质 | |
CN112101577B (zh) | 基于XGBoost的跨样本联邦学习、测试方法、***、设备和介质 | |
US11743238B2 (en) | Systems and methods for blind vertical learning | |
CN111815169A (zh) | 业务审批参数配置方法及装置 | |
CN115034836A (zh) | 一种模型训练方法及相关装置 | |
CN110610098A (zh) | 数据集生成方法及装置 | |
CN114491616A (zh) | 基于区块链和同态加密的联邦学习方法和应用 | |
CN116384502B (zh) | 联邦学习中参与方价值贡献计算方法、装置、设备及介质 | |
CN115345298A (zh) | 联合训练模型的方法及装置 | |
CN113887740A (zh) | 联合更新模型的方法、装置及*** | |
CN114676838B (zh) | 联合更新模型的方法及装置 | |
CN114580661A (zh) | 基于联邦学习的数据处理方法、装置和计算机设备 | |
CN115049011B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |