CN113377797A - 联合更新模型的方法、装置及系统 - Google Patents
联合更新模型的方法、装置及系统 Download PDFInfo
- Publication number
- CN113377797A CN113377797A CN202110753670.0A CN202110753670A CN113377797A CN 113377797 A CN113377797 A CN 113377797A CN 202110753670 A CN202110753670 A CN 202110753670A CN 113377797 A CN113377797 A CN 113377797A
- Authority
- CN
- China
- Prior art keywords
- data
- parameter
- synchronized
- parameters
- model
- 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)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Computer And Data Communications (AREA)
Abstract
本说明书实施例提供一种联合更新模型的方法、装置及系统,用于服务方与k个数据方联合更新模型的过程。其中,各个数据方分别利用本地训练样本更新模型对应的M个待同步参数并选择部分更新值以及当前同步周期使用的本地训练样本数量上传至服务方,服务方根据各个数据方上传的训练样本数量聚合各个待同步参数的更新值,得到各个聚合值构成的同步参数集Wt,并反馈给各个数据方,各个数据方利用同步参数集Wt,更新本地的待定参数,从而更新本地模型。这种实施方式可以提高模型精度,加快收敛速度。
Description
技术领域
本说明书一个或多个实施例涉及计算机技术领域,尤其涉及联合更新模型的方法、装置及系统。
背景技术
计算机技术的发展,使得机器学习在各种各样的业务场景中得到越来越广泛的应用。联邦学习是一种在保护隐私数据情况下进行联合建模的方法。例如,企业与企业之间需要进行合作安全建模,可以进行联邦学习,以便在充分保护企业数据隐私的前提下,使用各方的数据对数据处理模型进行协作训练,从而更准确、有效地处理业务数据。在联邦学习场景中,各方例如可以商定机器学习模型结构(或约定模型)后,各自使用隐私数据在本地进行训练,并将模型参数使用安全可信的方法进行聚合,最后各方根据聚合后模型参数改进本地模型。联邦学习实现在隐私保护基础上,有效打破数据孤岛,实现多方联合建模。
然而,随着任务复杂性和对性能要求的逐渐提升,联邦学习中的模型网络层数呈逐渐加深的趋势,模型参数也相应的越来越多。以人脸识别ResNET-50为例,原始模型拥有超过2000万个参数,模型大小超过100MB。特别是在一些参与联邦学习的训练成员较多的场景中,服务器接收的数据呈几何倍数上升。常规技术中,通常采用压缩各个训练成员上传至服务方的参数数量的方式,稀疏化上传参数,减小通信压力,避免通信阻塞。在服务器对稀疏化参数直接求均值进行聚合的情况下,当训练成员对参数的稀疏化程度较小时,对通信压力的改善不明显,当训练成员对参数的稀疏化程度较大时,聚合模型也可能为稀疏模型,从而降低联邦模型的精度和收敛速度。
发明内容
本说明书一个或多个实施例描述了一种联合更新模型的方法、装置及系统,用以解决背景技术提到的一个或多个问题。
根据第一方面,提供一种联合更新模型的方法,应用于服务方与k个数据方联合更新模型的过程,所述k个数据方包括数据方i,所述方法包括:所述数据方i利用ni个本地训练样本更新业务模型对应的M个待同步参数;所述数据方i从M个待同步参数中选择mi个待同步参数,将其相应的mi个更新值,以及当前同步周期使用的训练样本数量ni上传至服务方;服务方根据各数据方上传的训练样本数量,聚合各个待同步参数的更新值,得到各个聚合值构成的同步参数集Wt,并反馈给各个数据方,其中,对于单个待同步参数,相应聚合值根据各个相应更新值的加权平均结果确定,单个更新值的加权权重与当前数据方在当前同步周期使用的训练样本数量正相关;所述数据方i利用所述同步参数集Wt,更新本地模型中的待定参数,从而更新本地模型。
在一个实施例中,所述数据方i通过以下至少一种方式从M个待同步参数集中选择mi个待同步参数:从M个待同步参数随机选择mi个待同步参数;按照M个待同步参数的更新值的绝对值从大到小的顺序选择mi个待同步参数;从M个待同步参数选择预先指定的mi个待同步参数。
在一个实施例中,mi通过待同步参数的总数M和预先设定的参数压缩比α确定。
在一个实施例中,mi为待同步参数的总数M和预先设定的参数压缩比α以及当前周期的衰减系数的乘积,当前周期的衰减系数由预定衰减因子的减函数确定。
根据第二方面,提供一种联合更新模型的方法,应用于服务方与k个数据方联合更新模型的过程,所述方法由服务方执行,用于在各个同步周期对k个数据方的待同步参数进行同步;在当前同步周期,所述方法包括:从所述k个数据方中的s个数据方接收第一参数对应的s个第一更新值,以及s个数据方各自在当前同步周期使用的训练样本数量,其中,单个第一更新值经由单个数据方在当前同步周期通过若干个本地样本更新,s为大于等于0小于等于k的正整数,所述第一参数是第一模型参数对应的待同步参数;通过s个数据方各自在当前同步周期使用的本地训练样本的数量,确定第一参数对应的第一样本总量;利用基于所述第一样本总量确定的s个权重系数,对s个第一更新值加权平均,从而基于加权平均结果得到所述第一参数对应的第一聚合值,其中,单个权重系数与所述第一样本总量负相关,与相应数据方在当前同步周期使用的训练样本数量正相关;将所述第一聚合值反馈给各个数据方,以供各个数据方分别利用所述第一聚合值更新本地的第一参数,从而更新本地模型。
在一个实施例中,所述待同步参数为所述模型的待定参数,或待定参数的梯度。
在一个实施例中,在所述第一样本总量为0的情况下,将所述第一聚合值确定为预定值或所述第一参数在前一周期对应的第一聚合值。
根据第三方面,提供一种联合更新模型的方法,应用于服务方与k个数据方联合更新模型的过程,所述方法由服务方执行,用于在各个同步周期对k个数据方共同的M个待同步参数进行同步;在当前同步周期,所述方法包括:接收k个数据方各自发送的若干待同步参数的更新值以及各自在当前同步周期使用的训练样本数量,其中,数据方i发送mi个待同步参数的更新值,所述mi个待同步参数的更新值经由数据方i在当前同步周期利用ni个本地训练样本更新得到,mi小于M;根据各个数据方发送的待同步参数的更新值,确定k个数据方分别关于M个待同步参数的各个稀疏矩阵,数据方i对应的稀疏矩阵Gi中,与所述mi个待同步参数对应位置的元素为相应更新值,其他位置均为零值;根据各个数据方发送的训练样本数量以及各个稀疏矩阵,确定各个数据方分别对应的各个样本数量矩阵,以及整体样本数量矩阵;将各个稀疏矩阵按元素加权平均,并根据加权平均结果得到同步参数集Wt反馈给各个数据方,以供各个数据方利用同步参数集Wt更新本地模型中的待定参数,其中,单个稀疏矩阵Gi中各个元素对应的加权权重由样本数量矩阵Ni和整体样本数量矩阵中的相应元素共同确定。
在一个实施例中,所述将各个稀疏矩阵按元素加权平均包括:将各个稀疏矩阵分别与相应的样本数量矩阵进行按元素的乘法操作,得到各个加权矩阵;利用对各个加权矩阵求和得到的和矩阵对所述整体样本数量矩阵进行按元素的除法操作,从而得到加权平均结果矩阵。
在一个实施例中,在所述整体样本数量矩阵中的第一元素为0的情况下,将相应待同步参数的聚合值确定为预定值或相应待同步参数在前一周期对应的聚合值。
根据第四方面,提供一种联合更新模型的系统,应用于服务方与k个数据方联合更新模型的过程,所述k个数据方包括数据方i,其中:
所述数据方i配置为利用ni个本地训练样本更新模型对应的M个待同步参数;以及
从M个待同步参数中选择mi个待同步参数,将其相应的mi个更新值和当前同步周期使用的训练样本数量ni上传至服务方;
服务方配置为根据各数据方上传的训练样本数量,聚合各个待同步参数的更新值,得到各个聚合值构成的同步参数集Wt,并反馈给各个数据方,其中,对于单个待同步参数,相应聚合值根据各个相应更新值的加权平均结果确定,单个更新值的加权权重与当前数据方在当前同步周期使用的训练样本数量正相关,与反馈该单个待同步参数的更新值的若干数据方在当前同步周期使用的训练样本总量负相关;
所述数据方i还配置为利用所述同步参数集Wt,更新本地模型中的M个待定参数,从而更新本地模型。
根据第五方面,提供一种联合更新模型的装置,应用于服务方与k个数据方联合更新模型的过程,所述装置设于服务方,用于在各个同步周期对k个数据方的待同步参数进行同步;所述装置包括:
接收单元,配置为从所述k个数据方中的s个数据方接收第一参数对应的s个第一更新值,其中,单个第一更新值经由单个数据方在当前同步周期通过若干个本地样本更新,s为大于等于0小于等于k的正整数,所述第一参数是第一模型参数对应的待同步参数;
统计单元,配置为检测s个数据方各自的本地训练样本的数量之和,得到所述第一参数对应的第一样本总量;
聚合单元,配置为利用基于所述第一样本总量确定的s个权重系数,对s个第一更新值加权平均,从而基于加权平均结果得到所述第一参数对应的第一聚合值,其中,单个权重系数与所述第一样本总量负相关,与相应数据方在当前同步周期使用的本地样本数量正相关;
发送单元,配置为将所述第一聚合值反馈给各个数据方,以供各个数据方分别利用所述第一聚合值更新本地的第一参数,从而更新本地模型。
根据第六方面,提供一种联合更新模型的装置,应用于服务方与k个数据方联合更新模型的过程,所述装置设于服务方,用于在各个同步周期对k个数据方共同的M个待同步参数进行同步;所述装置包括:
接收单元,配置为接收k个数据方各自发送的若干待同步参数的更新值以及各自在当前同步周期使用的训练样本数量,其中,数据方i发送mi个待同步参数的更新值,所述mi个待同步参数的更新值经由数据方i在当前同步周期利用ni个本地训练样本更新得到,mi小于M;
恢复单元,配置为根据各个数据方发送的待同步参数的更新值,确定为k个数据方分别关于M个待同步参数的各个稀疏矩阵,数据方i对应的稀疏矩阵Gi中,与所述mi个待同步参数对应位置的元素为相应更新值,其他位置均为零值;
统计单元,配置为根据各个数据方发送的训练样本数量以及各个稀疏矩阵,确定各个数据方分别对应的各个样本数量矩阵,以及整体样本数量矩阵;
聚合单元,配置为将各个稀疏矩阵按元素加权平均,并根据加权平均结果得到同步参数集Wt反馈给各个数据方,以供各个数据方利用同步参数集Wt更新本地模型中的待定参数,其中,单个稀疏矩阵Gi中各个元素对应的加权权重由样本数量矩阵Ni和整体样本数量矩阵中的相应元素共同确定。
根据第七方面,提供了一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行第二方面或第三方面的方法。
根据第八方面,提供了一种计算设备,包括存储器和处理器,其特征在于,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现第二方面或第三方面的方法。
通过本说明书实施例提供的方法、装置及系统,在联邦学习过程中,各个持有训练样本的数据方上传部分待同步参数,以数据方和服务方之间的缓解通信压力。在这个基础上,为了避免模型精度降低、收敛速度变慢等问题,提出一种在服务方考虑训练样本数量的参数聚合方法,在对各个数据方反馈的待同步参数更新值聚合过程中,利用相应更新值对应的训练样本数量,在服务方接收到的相应待同步参数更新值对应的整体训练样本数量中的比重,确定聚合权重,从而使得聚合结果的置信度更高,有利于在上传参数稀疏化的情况下,提高模型精度,加快收敛速度。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1是在本说明书技术构思下的联合训练模型的系统架构示意图;
图2示出本说明书一个实施例的联合训练模型的交互流程示意图;
图3示出本说明书一个实施例的由服务方执行的联合训练模型的流程示意图;
图4示出本说明书另一个实施例的由服务方执行的联合训练模型的流程示意图;
图5示出本说明书一个实施例的联合训练模型的装置示意性框图;
图6示出本说明书另一个实施例的联合训练模型的装置示意性框图。
具体实施方式
下面结合附图,对本说明书提供的方案进行描述。
联邦学习(Federated Learning),又可以称为联邦机器学习、联合学习、联盟学习等。联邦机器学习是一个机器学习框架,能有效帮助多个机构在满足用户隐私保护、数据安全和政府法规的要求下,进行数据使用和机器学习建模。
具体地,假设企业A、企业B各自建立一个任务模型,单个任务可以是分类或预测,而这些任务也已经在获得数据时由各自用户的认可。然而,由于数据不完整,例如企业A缺少标签数据、企业B缺少用户特征数据,或者数据不充分,样本量不足以建立好的模型,那么在各端的模型有可能无法建立或效果并不理想。联邦学习要解决的问题是如何在A和B各端建立高质量的模型,该模型的训练兼用A和B等各个企业的数据,并且各个企业的自有数据不被其他方知晓,即在不违反数据隐私法规情况下,建立一个共有模型。这个共有模型就好像各方把数据聚合在一起建立的最优模型一样。这样,建好的模型在各方的区域仅为自有的目标服务。
联邦学习的实施架构如图1所示。联邦学习的各个机构可以称为训练成员,为了描述方便,在本说明书中也可以称为数据方。各个数据方分别可以持有不同的业务数据,还可以通过设备、计算机、服务器等参与模型的联合训练。这里的业务数据例如可以是字符、图片、语音、动画、视频等各种数据。通常,各个数据方持有的业务数据具有相关性,各个训练成员对应的业务方也可以具有相关性。例如,涉及金融业务的多个业务方中,业务方1为银行,为用户提供储蓄、贷款等业务,可以持有用户的年龄、性别、收支流水、贷款额度、存款额度等数据,业务方2为P2P平台,可以持有用户的借贷记录、投资记录、还款时效等数据,业务方3为购物网站,持有用户的购物习惯、付款习惯、付款账户等数据。再例如,涉及医疗业务的多个业务方中,各个业务方可以是各个医院、体检机构等,如业务方1为医院A,对应用户年龄、性别、症状、诊断结果、治疗方案、治疗结果等等诊疗记录作为本地业务数据,业务方2可以为体检机构B,对应用户年龄、性别、症状、体检结论等等的体检记录数据,等等。单个数据方可以持有一个业务的业务数据,也可以持有多个业务方的业务数据。
在该实施架构下,可以由两个或两个以上的数据方共同训练模型。这里的模型可以用于处理业务数据,得到相应的业务处理结果的各种模型,也可以被称为业务模型。具体处理什么样的业务数据,得到什么样的业务处理结果,根据实际需求而定。例如,业务数据可以是用户金融相关的数据,得到的业务处理结果为用户的金融信用评估结果,再例如,业务数据可以是用户的客服对话数据,得到的业务处理结果为客服答案的推荐结果,等等。业务数据的形式也可以是文字、图片、动画、音频、视频等各种形式的数据。各个数据方分别可以利用训练好的业务模型对本地业务数据进行本地业务处理。
在联合训练业务模型过程中,服务方可以为各个业务方的联合学习提供辅助,例如,辅助进行非线性计算、综合模型参数或梯度计算等。图1示出的服务方的形式为独立于各个数据方而单独设置的其他方,如可信第三方等。实践中,服务方还可以分布于各个数据方,或者由各个数据方组成,各个数据方之间可以采用安全计算协议(如秘密共享等)完成联合辅助计算。本说明书对此不做限定。
参考图1所示,在联邦学习的实施架构下,服务方可以初始化全局的模型,分发给各个数据方。各个数据方可以分别按照服务方确定的全局模型,在本地计算模型参数的梯度,按照梯度更新模型参数。由服务方聚合模型参数的梯度或联合更新的模型参数,并反馈给各个数据方,从而完成数据同步。各个数据方根据接收到的模型参数或其梯度,更新本地的模型参数。如此循环,最终训练适合各个业务方的业务模型。为了描述方便,在本说明书中,将各个数据方发送至服务方用于服务方综合计算(同步)的本地模型参数或本地模型参数的梯度称为待同步参数,而将模型中待调整的模型参数称为待定参数。
可以理解,联邦学习可以分为横向联邦学习(特征对齐)、纵向联邦学习(样本对齐)与联邦迁移学习。本说明书提供的实施架构可以是用于各种联邦学习架构,尤其适用于横向联邦学习,即,各个业务方分别提供部分独立样本。
在参与联邦学习的训练成员较多的情况下,服务器接收的数据呈几何倍数上升,容易造成通信阻塞,严重影响整体训练的效率。因此,在进行多方联邦学习过程中,通常对模型进行压缩,也就是对单个数据方上传服务方的参数数量进行压缩(即稀疏化),以降低通信传输的压力。服务方通常可以通过对各个数据方上传的参数进行取最大值、取最小值、取平均值、取中位数等方式进行融合。实践中,取平均值是其中可以综合各个数据方数据的效果更好的方式。以数据方上传的参数为梯度为例,由于每个模型参数的梯度有多少个数据方上传是不确定的,也就是由多少个有效梯度是不确定的,如果单纯按照数据方数量进行平均,导致均值降低,如共有10个数据方,只有2个数据方上传了参数p的梯度0.1和0.2,则使用数据方数量10作为分母进行平均的情况下,梯度聚合值为(0.1+0.2)/10=0.03,明显大大减小。这样相当于对梯度数据稀疏化了,从而可能导致模型精度降低、收敛速度变慢等问题。因此,需要提供一种更有效服务方对待同步参数的聚合方式,以避免这些问题。
本说明书提出一种服务方针对待同步参数的聚合方式,在针对待同步参数进行聚合时,考虑各个数据方在当前周期使用的样本总量,预计单个待同步参数所对应的样本数量,从而对各个数据方发送的待同步参数赋予不同的权重,这样,相当于按照样本数量增加稀疏化的参数密度,确保训练效率和收敛速度,并且降低对准确度的影响。
下面详细描述本说明书的技术构思。
请参考图2所示,给出了一个实施例的在联邦学习过程中联合更新模型的交互流程。联合更新模型的流程可以通过联邦学习中的服务方和k个数据方实现,用于对k个数据方上传的待同步参数进行聚合。这里的服务方可以是任何具有计算、处理能力的设备、平台或设备集群。
可以理解,联合更新模型的过程中,可以有多个参数同步的周期。初始时,可以由服务方确定全局模型,并初始化模型参数下发给各个数据方,或者由各个数据方协商模型结构,由各个数据方在本地构建本地模型,并由服务方初始化各个模型参数。服务方还可以预先设定所需要的超参数,例如可以包括等待时间T、参数压缩比α、上传的参数数量m、模型参数更新步长、总的训练周期数等等中的一项或多项。模型中的模型参数为待调整的参数,即为待定参数。各个待定参数分别可以对应有待同步参数,例如待定参数本身,或者待定参数的梯度等。在各个同步周期,数据方用本地训练样本,并确定待同步参数的更新值,各个待同步参数经由服务方同步后反馈至数据方,由数据方用于更新本地的待定参数。
图2示出的流程以一个实施例中的一个同步周期为例,结合k个数据方中的任一个数据方i,从数据方和服务方交互的角度,对联合更新模型的整体流程进行说明。
首先,在步骤201中,数据方i利用ni个本地训练样本更新模型对应的M个待同步参数。可以理解,模型中的待定参数例如可以是:特征聚合的权重参数、激励层的激励参数、截断参数,等等。业务模型训练的过程,就是确定这些待定参数的过程。联邦学习过程中,可以根据预先协商的方式,确定与各个待定参数一一对应的各个待同步参数,经由服务方的辅助,确定待同步参数的聚合值作为同步参数,用于完成各个数据方的待定参数的数值同步。
在一个实施例中,待同步参数可以是模型中的待定参数。此时,各个数据方可以根据本地训练样本更新本地模型中的各个待定参数。假设当前周期为t,即为第t次参数同步过程(假设总共进行N次的参数同步,则t=0,1,...,N),数据方i读取本地训练样本Xi中一个batch(批次)的ni条样本数据bi,进行模型Yi的前向传播,得到bi中各个训练样本分别对应的各个预测标签,记为然后根据实际的样本标签yi与预测标签的对比,确定模型损失Li。进而根据模型损失Li调整各个待定参数。假设各个待定参数中,有M个是需要与各个数据方同步的参数,则这M个调整后的待定参数可以作为M个待同步参数的更新值。
在一个实施例中,模型训练过程中,对于待定参数的更新通常可以采用梯度下降法、牛顿法等各种更新方法,以通过减小待定参数的梯度,使得待定参数趋于最优值,相应地,待同步参数可以是待定参数的梯度。这种情况下,数据方i可以根据模型损失Li,利用反向传播算法更新各个待定参数的梯度,例如为梯度矩阵Gi 0,并可以用M个待定参数分别对应的M个梯度作为M个待同步参数的更新值。
在其他实施例中,根据模型中待定参数的更新模式不同,待同步参数还可以是其他参数,在此不再一一赘述。其他各个数据方可以按照相同的方式更新M个待定参数,得到相应的更新值。
然后,在步骤202,数据方i从M个待同步参数中选择mi个待同步参数,将其更新值,以及当前同步周期使用的训练样本数量ni上传至服务方。可以理解,在本说明书的技术构思下,各个数据方需要对上传服务方的数据量进行压缩。数据方i可以将待同步参数的数量由M个压缩至mi个。mi可以远小于M,例如M为10万,mi为1000。
在一个实施例中,mi可以是针对数据方i设定的压缩数量。也就是说,mi是预先设定的固定值,例如为M/k,或者是与各个数据方的总样本量负相关,与数据方i持有的样本量正相关的值,等等。在每个同步周期,数据方i都可以向服务方上传mi个待同步参数的更新值。
在一个实施例中,mi可以由数据方i的本地带宽确定,如与本地带宽正相关。这种情况下,除了本地带宽之外,mi还可以由其他因素决定,例如标准带宽,mi可以与标准带宽负相关,如mi=(M×本地带宽)/(k×标准带宽),再例如,服务方在单个周期的最大等待时长,mi可以最大等待时长T正相关,如mi=本地带宽×T,等等。
在一个实施例中,mi可以由预设的上传比例系数α确定。例如为mi=α×M。可选地,由于随着同步周期的迭代,待同步参数趋于收敛,单个数据方可以按照更少的上传比例向服务方上传待同步参数。这种情况下,还可以预先设置有衰减系数ρ,在当前周期t,上传的待同步参数数量mi是衰减系数ρ的减函数(例如指数函数、三角函数等)。以减函数是指数函数为例,如mi=α×ρt×M,其中ρ为小于1的数,如为0.95,则随着周期数t的增加,ρ的t次幂ρt逐渐减小。
在其他实施例中,还可以经由其他合理的方式确定,在此不再一一赘述。值得说明的是,在以上计算方法得到的结果非整数时,可以采用上取整或下取整的形式为mi取整。同理,其他各个数据方可以按照相似的方式确定本地要上传的待同步参数数量。
数据方i从M个待同步参数中选择mi个时,可以采用随机挑选的方式选择,也可以按照更新值的绝对值由大到小的顺序选择,还可以按照预先设定的起始位置(如第2层神经网络第i个参数等)连续选择,还可以按照预先针对数据方i指定的待同步参数选择,还可以是以上多种方式的组合,在此不做限定。在确定mi个待同步参数后,数据方i可以获取步骤201中确定的mi个更新值,上传至服务方。
根据本说明书的技术构思,数据方i在向服务方上传mi个更新值的同时,还可以上传在当前同步周期在本地更新M个待同步参数所使用的训练样本数量ni。同理,其他各个数据方也可以上传相应数量的更新值,以及所使用的本地训练样本数量。
针对选出的mi个待同步参数,数据方i可以通过唯一的参数标识的方式上传至服务方,也可以通过参数矩阵的形式上传至服务方,本说明书对此不做限定。举例而言,通过唯一的参数标识的方式标识的同步参数例如为(wjk)i=**,(wjk)i表示对应于第一数据方i的第j层数神经网络的第k个参数的待同步参数标识,**表示相应更新值。通过参数矩阵的形式表示的待同步参数例如为[j,k,**],表示对应于业务模型整体参数矩阵的第j行第k列的模型参数的待同步参数。也就是说,上传方式为index(索引)+value(值),(j,k)为index,**为value。其中,矩阵形式表示的待同步参数,可以看作个待同步参数和(M-mi)个零元素构成的M个元素的稀疏矩阵。矩阵形式的待同步参数上传至服务方时,可以通过整形int等对应较少字节的数值形式定义行、列,以较少上传数据时额外的数据量。
在可选的实现方式中,单个数据方在上传待同步参数之前,还可以先对本地的待同步参数添加满足差分隐私的扰动,以保护本地数据隐私。例如,可以通过差分隐私的高斯机制,在待同步参数上添加满足均值为0方差为1的标准高斯分布的扰动数据,从而形成扰动的待同步数据。在待同步数据通过矩阵形式表示时,添加的扰动数据可以是满足预定高斯分布的扰动矩阵。其中,单个数据方i可以在选择出mi个待同步参数之后,对选择出的待同步参数添加扰动,也可以在选择出mi个待同步参数之前先添加扰动数据,并在添加扰动数据之后的M个待同步参数中按照预定规则选择出mi个待同步参数。本说明书对此不做限定。另外,数据方i在待同步参数上添加的噪声还可以满足指数机制、拉普拉斯(Laplace)机制等。
步骤203,服务方根据各个数据方上传的训练样本数量,聚合各个待同步参数的更新值,得到同步参数集Wt,并反馈给各个数据方。可以理解,为了解决各个数据方对上传的待同步参数更新值的数量压缩,可能导致模型稀疏化,从而影响收敛速度和模型精度的问题,本说明书的实施架构下基于训练样本数量对各个更新值进行聚合。具体地,针对各个待同步参数,分别对各自所接收到的若干个更新值加权平均,得到各个聚合值,各个聚合值构成同步参数集Wt。
其中,对于单个待同步参数而言,假设有s个数据方向服务方反馈了相应s个更新值,则该单个待同步参数对应的聚合值为这s个更新值的加权平均。进一步地,单个更新值的加权权重与相应数据方使用的训练样本数量正相关,与s个数据方使用的训练样本总量负相关。假设s个数据方在当前同步周期使用的训练样本总量为∑s nj,则数据方j对应的单个更新值的加权权重可以为nj/∑s nj。对于单个待同步参数p而言,经由s个更新值的加权平均得到的聚合值可以为wp=∑s(wtpj nj)/∑s nj,其中,wtpj表示当前同步周期t,待同步参数p经由数据方j反馈的更新值,∑s表示对上传待同步参数p的s个数据方的相关参数求和。
可以理解,在各个数据方上传的更新值以预定标识与单个数值对应的形式上传的情况下,针对各个待同步参数可以使用以上方式确定聚合值。另一方面,在待同步参数通过矩阵表示的情况下,服务方还可以先把各个数据方发送的更新值恢复为稀疏矩阵,然后通过矩阵操作确定聚合矩阵。聚合矩阵也可以看作矩阵形式的同步参数集。
矩阵形式下,对于数据方i上传的mi个待同步参数的更新值,服务方可以先将其恢复为相应的参数矩阵G0 i对应的稀疏矩阵Gi。稀疏矩阵Gi中可以包含M个元素,各个元素与各个待同步参数一一对应。元素与待同步参数的对应关系可以预先设定,以保证针对各个数据方恢复出的参数矩阵相一致。这样,数据方i上传的mi个待同步参数就可以对应到稀疏矩阵Gi中的mi个元素,稀疏矩阵Gi中的其他M-mi个值为0。稀疏矩阵Gi相当于保留了参数矩阵Gi 0的部分更新值,其他部分为零,亦即稀疏矩阵Gi是参数矩阵Gi 0的稀疏矩阵。
进一步地,可以根据k个稀疏矩阵,确定k个数据方在当前同步周期使用的训练样本的数量矩阵。首先,可以确定单个数据方对应的样本数量矩阵。以数据方i为例,可以检测稀疏矩阵Gi中非零值,将相应位置的元素设为ni,得到数据方i对应的样本数量矩阵Ni,也可以将相应位置设为1或其他固定非零值从而得到状态矩阵Zi,并通过样本数量ni与状态矩阵Zi的乘积,确定数据方i对应的样本数量矩阵Ni。如此,可以恢复出k个数据方分别对应的各个样本数量矩阵,例如记为N1、N2......Nk。则k个数据方在当前同步周期使用的训练样本的整体数量矩阵可以为可以理解,整体数量矩阵N中,单个元素对应了在当前同步周期,单个待同步参数的更新值对应的训练样本数量之和。
进一步地,可以利用k个数据方分别对应的各个参数矩阵、样本数量矩阵和整体数量矩阵,得到同步参数集Wt。例如,其中,这里的矩阵操作可以采用元素运算(即element-wise),其操作方法是乘法运算是两个矩阵中相应元素一一对应相乘,除法运算是两个矩阵中的元素一一对应相除。
可以理解,矩阵形式的同步参数集确定方式与单个数值形式的确定方式原理一致,矩阵方式具有更加简洁的形式。在一些可能的设计中,同步参数集Wt中包含的参数还可以与数据方上传的参数不同,例如数据方上传的是模型待定参数的梯度,同步参数集Wt中包含的参数是模型待定参数。这种情况下,相当于由服务方完成待定参数的更新过程,在此不再赘述。
特别地,值得说明的是,在各个数据方向服务方反馈待同步参数时,没有相互约定或提前协商的情况下,在当前同步周期t中可能存在若干模型参数对应的待同步参数没有一个数据方回传的情形,也就是单个待同步参数对应的当前周期的训练样本总量为0。这样,在计算过程中,0作为分母,会得到错误值(如NON)。此时,可以根据实际情况确定同步参数集中的聚合值。例如,可以使用前一次的聚合值作为当前周期的聚合值。再例如,在待同步参数为待定参数本身时,可以设置特殊标记,从而使得相应待同步参数的值不进行同步。在待同步参数为梯度值时,还可以用0值作为相应同步参数值。
之后,服务方可以将同步参数集Wt广播给k个数据方。
接着,在步骤204,数据方i利用同步参数集Wt,更新本地模型中的M个待定参数,从而更新本地模型。可以理解,各个数据方接收到服务方反馈的同步参数集Wt,可以各自更新本地的相应参数。亦即,将本地模型参数按照多个数据方的同步参数进行更新。
例如,在同步参数集为模型参数的情况下,使用同步参数集Wt替换本地模型的待参数。在同步参数集为待定参数的梯度的情况下,使用梯度下降法、牛顿法等,按照相应步长更新本地的待定参数。在可能的实现中,如果同步参数集中某个参数值通过特殊标记进行标识,则可能是在当前同步周期t中,没有一个数据方向服务方回传其相应的数值,这种情况下,可以利用当前同步周期中本地确定的相应数值代替。
各个数据方在服务方的辅助下,经过多个如图2所示的同步周期的迭代,可以联合训练模型。其中,联合训练模型的迭代结束条件可以为:待同步参数趋于收敛、模型损失趋于收敛、迭代周期达到预定周期等等。其中,收敛可以理解为,改变量小于预定阈值。
以上结合图2的示意图从数据方和服务方的交互角度描述了本说明书一个实施例的模型更新流程。从以上流程可以看出,本说明书提供的技术构思,通过在服务方聚合各个数据方反馈的待同步参数的更新值时,为了解决通信拥堵问题对参数进行稀疏化而导致的模型稀疏化使得模型精度降低、收敛速度减慢等问题,考虑各个业务方在当前同步周期使用的训练样本数量,按照训练样本数量对各个数据方反馈的更新值进行聚合,从而保证模型精度,提高模型训练效率。
图3示出从服务方的角度描述的服务方和k个数据方联合更新模型的流程示意图。为了描述方便,在图3示出的流程中,关于在单个同步周期的更新值聚合以待同步参数中的任一个待同步参数(记为第一参数)为例,进行描述。
如图3所示,从服务方的角度,联合更新模型的流程包括:步骤301,从k个数据方中的s个数据方接收第一参数对应的s个第一更新值,以及s个数据方各自在当前同步周期使用的训练样本数量,其中,单个第一更新值经由单个数据方在当前同步周期通过若干个本地样本更新,s为大于等于0,小于等于k的正整数,第一参数是第一模型参数对应的待同步参数;步骤302,通过s个数据方各自在当前同步周期使用的本地训练样本的数量,确定第一参数对应的第一样本总量;步骤303,利用基于第一样本总量确定的s个权重系数,对s个第一更新值加权平均,从而基于加权平均结果得到第一参数对应的第一聚合值,其中,单个权重系数与第一样本总量负相关,与相应数据方在当前同步周期使用的训练样本数量正相关;步骤304,将第一聚合值反馈给各个数据方,以供各个数据方分别利用第一聚合值更新本地模型中的第一参数。
首先,通过步骤301,从k个数据方中的s个数据方接收第一参数对应的s个第一更新值。其中,单个第一更新值经由单个数据方在当前同步周期通过若干个本地样本更新,s为大于等于0小于等于k的正整数,第一参数可以是第一待定参数对应的待同步参数。
可以理解,k个数据方中的各个数据方可以各自在本地利用本地一个批次的若干个训练样本更新M个待同步参数。待同步参数例如可以是待定参数,也可以是待定参数的梯度等。待同步参数的更新值为更新后的待同步参数的数值。之后,各个数据方可以向服务方提供进行数量压缩后的部分待同步参数的更新值。例如数据方1提供待同步参数g1、g2、g5……gM,以及本地当前批次的训练样本数量n1,数据方2提供g2、g4、g5……gM-1,以及本地当前批次的训练样本数量n1……各个数据方提供的更新值对应的待同步参数可以预先协商,也可以不预先协商,在此不作限定。
对于服务方来说,针对第一参数而言,其可以收到s个数据方发送来的第一更新值,0≤s≤k,且为整数。这里,第一更新值是与第一参数对应的更新值,一个待同步参数在各个数据方都可以对应一个第一更新值。各个数据方是否在当前同步周期向服务方上传第一更新值,由其根据相应的压缩机制确定。而在服务方,可以接收到第一参数对应有s个第一更新值。
另一方面,k个数据方还可以将各自在当前同步周期使用的本地训练样本数量发送至服务方。则从服务方的角度,针对第一参数,除了接收到s个数据方上传的s个第一更新值外,还可以接收到各个第一更新值分别对应的各个数据方的本地训练样本数量。
接着,通过步骤302,通过s个数据方在当前同步周期各自使用的本地训练样本数量,得到第一参数对应的第一样本总量。第一参数对应的第一样本总量为s个数据方在当前同步周期各自使用的本地训练样本数量之和。
然后,在步骤303,利用基于第一样本总量确定的s个权重系数,对s个第一更新值加权平均,从而基于加权平均结果得到第一参数对应的第一聚合值。
其中,单个第一更新值对应的单个权重系数可以与第一样本总量负相关,与相应数据方在当前同步周期使用的本地样本数量正相关。s个第一更新值中的第一更新值q来自数据方q,其相应权重可以为数据方q在当前同步周期使用的本地样本数量与第一样本总量的比值。s个第一更新值对应的第一加权平均结果为s个第一更新值与相应加权权重分别对应的s项乘积之和。
值得说明的是,步骤303中,也可以先将s个第一更新值分别用本地样本数量作为权重进行加权求和,再根据加权求和结果与第一样本总量的比值得到第一加权平均结果,在此不做限定。
第一加权平均结果对应着第一聚合值。在一个实施例中,第一加权平均结果即为第一聚合值。在另一个实施例中,第一聚合值可以为对第一加权平均结果进一步处理的处理结果。例如,在第一参数为模型参数的梯度的情况下,待定参数更新的步骤可以由服务方执行,第一聚合值可以为根据梯度更新后的待定参数。
进一步地,步骤304,将第一聚合值反馈给各个数据方,以供各个数据方各自利用第一聚合值更新本地的第一参数,从而更新本地模型。
可以理解,针对各个待同步参数,服务方都可以得到相应的聚合值,并反馈至各个数据方,其中包括第一聚合值。各个数据方根据各个聚合值,更新相应的待定参数。例如利用第一聚合值,可以更新第一待定参数。在第一聚合值是服务方更新后的待定参数的情况下,可以直接用第一聚合值替换本地的第一待定参数,在第一聚合值是梯度数据的情况下,可以利用梯度下降法、牛顿法等方法更新第一待定参数,在此不再赘述。
特别地,在s=0的情况下,步骤303中的加权平均结果可能不存在。此时,第一聚合值可以用前一同步周期中的第一聚合值代替,也可以使用特殊标记(如NON)进行标识,以供各个数据方在当前同步周期不更新相应的第一参数,或者按照诸如利用本地的更新值替换相应标识之类的方式更新第一模型参数,还可以将第一聚合值设为预定值(如梯度0),等等。
图4还示出了根据本说明书的技术构思,服务方以矩阵方式同步数据的更新模型的流程示意图。为了描述方便,图4示出的流程中以任一个数据方i为例进行描述。其中数据方i为k个数据方中的任一个数据方。如图4所示,在单个同步周期,联合更新模型的流程包括:
步骤401,接收k个数据方各自发送的待同步参数的更新值以及各自在当前同步周期使用的训练样本数量。其中,数据方i发送的mi个待同步参数的更新值经由数据方i在当前同步周期利用ni个本地训练样本更新得到,i是1到n之间的正整数。可以理解,各个数据方在按照服务方的初始化或者前一周期同步的参数更新本地模型后,可以利用更新后的本地模型处理训练样本,并将处理结果与训练样本标签进行比较,从而确定待定参数的梯度,或者更新待定参数。待定参数的梯度或者更新后的待定参数,可以作为待同步参数,发送至服务方。
在本说明书的技术构思下,单个数据方可以向服务方发送小部分的待定参数,以减少通信压力和服务方的计算压力。对于数据方i来说,可以向服务方发送的mi个待同步参数以及在当前同步周期使用的训练样本数量ni。其中,mi个待同步参数可以通过唯一标识(如(wjk)i=**)标记,也可以通过矩阵元素的形式(如[j,k,**])标记,在此不作限定。
步骤402,根据各个数据方发送的待同步参数的更新值,确定k个数据方分别关于M个待同步参数的各个稀疏矩阵。其中,根据数据方i发送的待同步参数,确定的稀疏矩阵例如记为Gi。可以理解,假设数据方i在本地更新待同步参数得到的参数矩阵为Gi 0,则Gi为Gi 0的稀疏矩阵。稀疏矩阵Gi中,数据方i上传的mi个待同步参数对应的mi个位置为相应更新值,这mi个位置中的更新值可以看作有效值,其他位置为无效值,例如设为零值。
步骤403,根据各个数据方发送的训练样本数量以及各个稀疏矩阵,确定各个数据方分别对应的各个样本数量矩阵,以及整体样本数量矩阵N。
可以理解,数据方i在当前周期使用的样本数量为ni,其对应的样本数量矩阵Ni中,mi个待同步参数对应的mi个有效值对应的样本数量应为ni。因此,服务方可以检测稀疏参数矩阵Gi中的非零值,将相应位置的元素设为ni,得到数据方i对应的样本数量矩阵Ni,也可以将相应位置设为1或其他固定非零值从而得到状态矩阵Zi,并通过样本数量ni与状态矩阵Zi的乘积,确定数据方i对应的样本数量矩阵Ni。
步骤404,将各个稀疏矩阵加权平均,并根据加权平均结果得到同步参数集Wt反馈给各个数据方,以供各个数据方利用同步参数集Wt更新本地的待定参数,从而更新本地模型。其中,稀疏矩阵Gi各个元素对应的加权权重根据样本数量矩阵Ni与整体样本数量矩阵N中的相应元素确定。就整体而言,对矩阵进行按元素的操作(即element-wise)。例如,其中,这里的乘法和除法均采用按元素运算,其操作方法是将两个矩阵中的元素一一对应相乘,或者将两个矩阵中的元素一一对应相除。特别地,对于整体样本数量矩阵N中的0元素,在做除法运算时,可能会得到错误结果NON,也可能得到一个异常大的数值。这种情况下,可以将同步参数集Wt中相应元素用前一周期的元素替换,也可以进行特殊标记以由各个数据方按照本地更新值替换(实践中为了保证各个数据方的一致性,这种方式有待商榷),还可以设为预定值,例如待同步参数为梯度时设为0,等等。
以上确定的矩阵Wt中的各个元素即为服务方同步参数集Wt中的各个元素,服务方可以将矩阵Wt反馈给各个数据方,由各个数据方分别根据同步参数集Wt更新本地业务模型的各个待定参数,从而完成对业务模型在当前周期的一轮同步更新。
可以理解的是,图3和图4均是图2中数据方i和服务方在单个同步周期执行的流程的具体例子,且都从服务方的角度进行描述,因此,图2中相关方执行流程的相应描述同样适应于图3、图4,在此不再赘述。
回顾以上过程,在联合训练模型的单个同步周期,各个数据方利用本地的训练样本更新M个待同步参数之后,各自选择部分待同步参数的更新值上传至服务方,减轻数据方和服务方之间的通信压力,还可以减少服务方的计算量,提高学习效率。服务方通过对各个数据方在当前同步周期使用的样本数量进行统计,并根据样本数量确定各个数据方上传的待同步参数的更新值的权重,从而以加权平均的方式,对各个待同步参数的更新值进行同步,得到同步参数集。这种方式由于充分考虑样本数量对更新值的置信程度的影响,可以在数据方上传稀疏化的待同步参数的更新值的情况下,提高收敛速度,提高模型精度。
根据另一方面的实施例,提供一种联合更新模型的系统,该系统包括服务方和k个数据方。假设数据方i为k个数据方中的任意数据方,记为数据方i,则以数据方i为例,在单个同步周期,数据方i和服务方分别配置为执行以下操作:
数据方i配置为利用ni个本地训练样本更新模型对应的M个待同步参数;以及
从M个待同步参数中选择mi个待同步参数集,向服务方上传相应的mi个更新值,以及当前同步周期使用的训练样本数量ni;
服务方配置为根据各个数据方上传的训练样本数量,聚合各个待同步参数的更新值,得到各个聚合值构成的同步参数集Wt,并反馈给各个数据方,其中,对于单个待同步参数,相应聚合值根据各个相应更新值的加权平均结果确定,单个更新值的加权权重与当前数据方在当前同步周期使用的训练样本数量正相关,与反馈该单个待同步参数的更新值的若干数据方在当前同步周期使用的训练样本总量负相关;
数据方i还配置为利用同步参数集Wt,更新本地的待定参数,从而更新本地模型。
根据又一方面的实施例,还提供一种联合更新模型的装置,设于以上服务方,用于对k个数据方提供的待同步参数的更新值进行聚合。图5和图6分别示出了普通数值计算和矩阵计算方式下,设于服务方的联合更新模型的装置500和600。下面具体描述两种方式下,装置500和装置600的区别。
如图5所示,装置500包括:
接收单元51,配置为从k个数据方中的s个数据方接收第一参数对应的s个第一更新值,其中,单个第一更新值经由单个数据方在当前同步周期通过若干个本地样本更新,s为大于等于0小于等于k的正整数,第一参数是第一模型参数对应的待同步参数;
统计单元52,配置为检测s个数据方各自的本地训练样本的数量之和,得到第一参数对应的第一样本总量;
聚合单元53,配置为利用基于第一样本总量确定的s个权重系数,对s个第一更新值加权平均,从而基于加权平均结果得到第一参数对应的第一聚合值,其中,单个权重系数与第一样本总量负相关,与相应数据方在当前同步周期使用的本地样本数量正相关;
发送单元54,配置为将第一聚合值反馈给各个数据方,以供各个数据方分别利用第一聚合值更新本地的第一参数,从而更新本地模型。
如图6所示,装置600包括:
接收单元61,配置为接收k个数据方各自发送的若干待同步参数的更新值以及各自在当前同步周期使用的训练样本数量,其中,数据方i发送mi个待同步参数的更新值,mi个待同步参数的更新值经由数据方i在当前同步周期利用ni个本地训练样本更新得到,mi小于M;
恢复单元62,配置为根据各个数据方发送的待同步参数的更新值,确定为k个数据方分别关于M个待同步参数的各个稀疏矩阵,数据方i对应的稀疏矩阵Gi中,与mi个待同步参数对应位置的元素为相应更新值,其他位置均为零值;
统计单元63,配置为根据各个数据方发送的训练样本数量以及各个稀疏矩阵,确定各个数据方分别对应的各个样本数量矩阵,以及整体样本数量矩阵;
聚合单元64,配置为将各个稀疏矩阵按元素加权平均,并根据加权平均结果得到同步参数集Wt反馈给各个数据方,以供各个数据方利用同步参数集Wt更新本地的待定参数,从而更新本地模型。其中,稀疏矩阵Gi中各个元素对应的加权权重由样本数量矩阵Ni和整体样本数量矩阵中的相应元素共同确定。
值得说明的是,图5、图6示出的装置500、600分别与图3、图4示出的方法实施例相对应,并可以应用于图2示出的方法实施例中的服务方,以配合数据方完成图2中的联合更新业务模型的流程。因此,图2中关于服务方的相关描述,同样可以适应于图5示出的装置500、图6示出的装置600,在此不再赘述。
根据另一方面的实施例,还提供一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行结合图3或图4等所描述的方法。
根据再一方面的实施例,还提供一种计算设备,包括存储器和处理器,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现结合图3或图4等所描述的方法。
本领域技术人员应该可以意识到,在上述一个或多个示例中,本说明书实施例所描述的功能可以用硬件、软件、固件或它们的任意组合来实现。当使用软件实现时,可以将这些功能存储在计算机可读介质中或者作为计算机可读介质上的一个或多个指令或代码进行传输。
以上所述的具体实施方式,对本说明书的技术构思的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本说明书的技术构思的具体实施方式而已,并不用于限定本说明书的技术构思的保护范围,凡在本说明书实施例的技术方案的基础之上,所做的任何修改、等同替换、改进等,均应包括在本说明书的技术构思的保护范围之内。
Claims (15)
1.一种联合更新模型的方法,应用于服务方与k个数据方联合更新模型的过程,所述k个数据方包括数据方i,所述方法包括:
所述数据方i利用ni个本地训练样本更新模型对应的M个待同步参数;
所述数据方i从M个待同步参数中选择mi个待同步参数,将其相应的mi个更新值,以及当前同步周期使用的训练样本数量ni上传至服务方;
服务方根据各数据方上传的训练样本数量,聚合各个待同步参数的更新值,得到各个聚合值构成的同步参数集Wt,并反馈给各个数据方,其中,对于单个待同步参数,相应聚合值根据各个相应更新值的加权平均结果确定,单个更新值的加权权重与当前数据方在当前同步周期使用的训练样本数量正相关;
所述数据方i利用所述同步参数集Wt,更新本地模型中的待定参数,从而更新本地模型。
2.根据权利要求1所述的方法,其中,所述数据方i通过以下至少一种方式从M个待同步参数集中选择mi个待同步参数:
从M个待同步参数随机选择mi个待同步参数;
按照M个待同步参数的更新值的绝对值从大到小的顺序选择mi个待同步参数;
从M个待同步参数选择预先指定的mi个待同步参数。
3.根据权利要求1所述的方法,其中,mi通过待同步参数的总数M和预先设定的参数压缩比α确定。
4.根据权利要求3所述的方法,其中,mi为待同步参数的总数M和预先设定的参数压缩比α以及当前周期的衰减系数的乘积,当前周期的衰减系数由预定衰减因子的减函数确定。
5.一种联合更新模型的方法,应用于服务方与k个数据方联合更新模型的过程,所述方法由服务方执行,用于在各个同步周期对k个数据方的待同步参数进行同步;在当前同步周期,所述方法包括:
从所述k个数据方中的s个数据方接收第一参数对应的s个第一更新值,以及s个数据方各自在当前同步周期使用的训练样本数量,其中,单个第一更新值经由单个数据方在当前同步周期通过若干个本地样本更新,s为大于等于0小于等于k的正整数,所述第一参数是第一模型参数对应的待同步参数;
通过s个数据方各自在当前同步周期使用的本地训练样本的数量,确定第一参数对应的第一样本总量;
利用基于所述第一样本总量确定的s个权重系数,对s个第一更新值加权平均,从而基于加权平均结果得到所述第一参数对应的第一聚合值,其中,单个权重系数与所述第一样本总量负相关,与相应数据方在当前同步周期使用的训练样本数量正相关;
将所述第一聚合值反馈给各个数据方,以供各个数据方各自利用所述第一聚合值更新本地的第一参数,从而更新本地模型。
6.根据权利要求5所述的方法,其中,所述待同步参数为所述模型的待定参数,或待定参数的梯度。
7.根据权利要求5所述的方法,其中,在所述第一样本总量为0的情况下,将所述第一聚合值确定为预定值或所述第一参数在前一周期对应的第一聚合值。
8.一种联合更新模型的方法,应用于服务方与k个数据方联合更新模型的过程,所述方法由服务方执行,用于在各个同步周期对k个数据方共同的M个待同步参数进行同步;在当前同步周期,所述方法包括:
接收k个数据方各自发送的若干待同步参数的更新值以及各自在当前同步周期使用的训练样本数量,其中,数据方i发送mi个待同步参数的更新值,所述mi个待同步参数的更新值经由数据方i在当前同步周期利用ni个本地训练样本更新得到,mi小于M;
根据各个数据方发送的待同步参数的更新值,确定k个数据方分别关于M个待同步参数的各个稀疏矩阵,数据方i对应的稀疏矩阵Gi中,与所述mi个待同步参数对应位置的元素为相应更新值,其他位置均为零值;
根据各个数据方发送的训练样本数量以及各个稀疏矩阵,确定各个数据方分别对应的各个样本数量矩阵,以及整体样本数量矩阵;
将各个稀疏矩阵按元素加权平均,并根据加权平均结果得到同步参数集Wt反馈给各个数据方,以供各个数据方利用同步参数集Wt更新本地模型中的待定参数,其中,单个稀疏矩阵Gi中各个元素对应的加权权重由样本数量矩阵Ni和整体样本数量矩阵中的相应元素共同确定。
9.根据权利要求8所述的方法,其中,所述将各个稀疏矩阵按元素加权平均包括:
将各个稀疏矩阵分别与相应的样本数量矩阵进行按元素的乘法操作,得到各个加权矩阵;
利用对各个加权矩阵求和得到的和矩阵,对所述整体样本数量矩阵进行按元素的除法操作,从而得到加权平均结果矩阵。
10.根据权利要求8所述的方法,其中,在所述整体样本数量矩阵中的第一元素为0的情况下,将相应待同步参数的聚合值确定为预定值或相应待同步参数在前一周期对应的聚合值。
11.一种联合更新模型的系统,应用于服务方与k个数据方联合更新模型的过程,所述k个数据方包括数据方i,其中:
所述数据方i配置为利用ni个本地训练样本更新模型对应的M个待同步参数;以及
从M个待同步参数中选择mi个待同步参数,将其相应的mi个更新值和当前同步周期使用的训练样本数量ni上传至服务方;
服务方配置为根据各数据方上传的训练样本数量,聚合各个待同步参数的更新值,得到各个聚合值构成的同步参数集Wt,并反馈给各个数据方,其中,对于单个待同步参数,相应聚合值根据各个相应更新值的加权平均结果确定,单个更新值的加权权重与当前数据方在当前同步周期使用的训练样本数量正相关,与反馈该单个待同步参数的更新值的若干数据方在当前同步周期使用的训练样本总量负相关;
所述数据方i还配置为利用所述同步参数集Wt,更新本地模型中的M个待定参数,从而更新本地模型。
12.一种联合更新模型的装置,应用于服务方与k个数据方联合更新模型的过程,所述装置设于服务方,用于在各个同步周期对k个数据方的待同步参数进行同步;所述装置包括:
接收单元,配置为从所述k个数据方中的s个数据方接收第一参数对应的s个第一更新值,其中,单个第一更新值经由单个数据方在当前同步周期通过若干个本地样本更新,s为大于等于0小于等于k的正整数,所述第一参数是第一模型参数对应的待同步参数;
统计单元,配置为检测s个数据方各自的本地训练样本的数量之和,得到所述第一参数对应的第一样本总量;
聚合单元,配置为利用基于所述第一样本总量确定的s个权重系数,对s个第一更新值加权平均,从而基于加权平均结果得到所述第一参数对应的第一聚合值,其中,单个权重系数与所述第一样本总量负相关,与相应数据方在当前同步周期使用的本地样本数量正相关;
发送单元,配置为将所述第一聚合值反馈给各个数据方,以供各个数据方各自利用所述第一聚合值更新本地的第一参数,从而更新本地模型。
13.一种联合更新模型的装置,应用于服务方与k个数据方联合更新模型的过程,所述装置设于服务方,用于在各个同步周期对k个数据方共同的M个待同步参数进行同步;所述装置包括:
接收单元,配置为接收k个数据方各自发送的若干待同步参数的更新值以及各自在当前同步周期使用的训练样本数量,其中,数据方i发送mi个待同步参数的更新值,所述mi个待同步参数的更新值经由数据方i在当前同步周期利用ni个本地训练样本更新得到,mi小于M;
恢复单元,配置为根据各个数据方发送的待同步参数的更新值,确定为k个数据方分别关于M个待同步参数的各个稀疏矩阵,数据方i对应的稀疏矩阵Gi中,与所述mi个待同步参数对应位置的元素为相应更新值,其他位置均为零值;
统计单元,配置为根据各个数据方发送的训练样本数量以及各个稀疏矩阵,确定各个数据方分别对应的各个样本数量矩阵,以及整体样本数量矩阵;
聚合单元,配置为将各个稀疏矩阵按元素加权平均,并根据加权平均结果得到同步参数集Wt反馈给各个数据方,以供各个数据方利用同步参数集Wt更新本地模型中的待定参数,其中,单个稀疏矩阵Gi中各个元素对应的加权权重由样本数量矩阵Ni和整体样本数量矩阵中的相应元素共同确定。
14.一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行权利要求5-11中任一项所述的方法。
15.一种计算设备,包括存储器和处理器,其特征在于,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现权利要求5-11中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110753670.0A CN113377797B (zh) | 2021-07-02 | 2021-07-02 | 联合更新模型的方法、装置及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110753670.0A CN113377797B (zh) | 2021-07-02 | 2021-07-02 | 联合更新模型的方法、装置及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113377797A true CN113377797A (zh) | 2021-09-10 |
CN113377797B CN113377797B (zh) | 2023-03-28 |
Family
ID=77580943
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110753670.0A Active CN113377797B (zh) | 2021-07-02 | 2021-07-02 | 联合更新模型的方法、装置及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113377797B (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114004363A (zh) * | 2021-10-27 | 2022-02-01 | 支付宝(杭州)信息技术有限公司 | 联合更新模型的方法、装置及系统 |
CN114676838A (zh) * | 2022-04-12 | 2022-06-28 | 支付宝(杭州)信息技术有限公司 | 联合更新模型的方法及装置 |
CN114676849A (zh) * | 2022-03-24 | 2022-06-28 | 支付宝(杭州)信息技术有限公司 | 基于联邦学习进行模型参数更新的方法及系统 |
CN115034333A (zh) * | 2022-06-29 | 2022-09-09 | 支付宝(杭州)信息技术有限公司 | 联邦学习方法、联邦学习装置及联邦学习系统 |
CN117350373A (zh) * | 2023-11-30 | 2024-01-05 | 艾迪恩(山东)科技有限公司 | 一种基于局部自注意力机制的个性化联邦聚合算法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20190130212A1 (en) * | 2017-10-30 | 2019-05-02 | Nec Laboratories America, Inc. | Deep Network Embedding with Adversarial Regularization |
CN110442457A (zh) * | 2019-08-12 | 2019-11-12 | 北京大学深圳研究生院 | 基于联邦学习的模型训练方法、装置及服务器 |
CN110909875A (zh) * | 2019-11-22 | 2020-03-24 | 北京百度网讯科技有限公司 | 共享编码器生成方法、装置及电子设备 |
CN112926747A (zh) * | 2021-03-25 | 2021-06-08 | 支付宝(杭州)信息技术有限公司 | 优化业务模型的方法及装置 |
-
2021
- 2021-07-02 CN CN202110753670.0A patent/CN113377797B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20190130212A1 (en) * | 2017-10-30 | 2019-05-02 | Nec Laboratories America, Inc. | Deep Network Embedding with Adversarial Regularization |
CN110442457A (zh) * | 2019-08-12 | 2019-11-12 | 北京大学深圳研究生院 | 基于联邦学习的模型训练方法、装置及服务器 |
CN110909875A (zh) * | 2019-11-22 | 2020-03-24 | 北京百度网讯科技有限公司 | 共享编码器生成方法、装置及电子设备 |
CN112926747A (zh) * | 2021-03-25 | 2021-06-08 | 支付宝(杭州)信息技术有限公司 | 优化业务模型的方法及装置 |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114004363A (zh) * | 2021-10-27 | 2022-02-01 | 支付宝(杭州)信息技术有限公司 | 联合更新模型的方法、装置及系统 |
CN114004363B (zh) * | 2021-10-27 | 2024-05-31 | 支付宝(杭州)信息技术有限公司 | 联合更新模型的方法、装置及系统 |
CN114676849A (zh) * | 2022-03-24 | 2022-06-28 | 支付宝(杭州)信息技术有限公司 | 基于联邦学习进行模型参数更新的方法及系统 |
CN114676838A (zh) * | 2022-04-12 | 2022-06-28 | 支付宝(杭州)信息技术有限公司 | 联合更新模型的方法及装置 |
CN115034333A (zh) * | 2022-06-29 | 2022-09-09 | 支付宝(杭州)信息技术有限公司 | 联邦学习方法、联邦学习装置及联邦学习系统 |
CN117350373A (zh) * | 2023-11-30 | 2024-01-05 | 艾迪恩(山东)科技有限公司 | 一种基于局部自注意力机制的个性化联邦聚合算法 |
CN117350373B (zh) * | 2023-11-30 | 2024-03-01 | 艾迪恩(山东)科技有限公司 | 一种基于局部自注意力机制的个性化联邦聚合算法 |
Also Published As
Publication number | Publication date |
---|---|
CN113377797B (zh) | 2023-03-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113377797B (zh) | 联合更新模型的方法、装置及系统 | |
CN112733967B (zh) | 联邦学习的模型训练方法、装置、设备及存储介质 | |
CN111738361B (zh) | 业务模型的联合训练方法及装置 | |
CN112799708B (zh) | 联合更新业务模型的方法及系统 | |
CN112364943A (zh) | 一种基于联邦学习的联邦预测方法 | |
CN113360514B (zh) | 联合更新模型的方法、装置及系统 | |
CN111860865B (zh) | 模型构建和分析的方法、装置、电子设备和介质 | |
US20240037252A1 (en) | Methods and apparatuses for jointly updating service model | |
CN114676838A (zh) | 联合更新模型的方法及装置 | |
WO2023174036A1 (zh) | 联邦学习模型训练方法、电子设备及存储介质 | |
CN112068866B (zh) | 更新业务模型的方法及装置 | |
CN112101577B (zh) | 基于XGBoost的跨样本联邦学习、测试方法、系统、设备和介质 | |
US11843587B2 (en) | Systems and methods for tree-based model inference using multi-party computation | |
CN113379042A (zh) | 保护数据隐私的业务预测模型训练方法及装置 | |
CN115049011A (zh) | 确定联邦学习的训练成员模型贡献度的方法及装置 | |
CN112926747A (zh) | 优化业务模型的方法及装置 | |
CN115034836A (zh) | 一种模型训练方法及相关装置 | |
CN116432040B (zh) | 基于联邦学习的模型训练方法、装置、介质以及电子设备 | |
CN116384502B (zh) | 联邦学习中参与方价值贡献计算方法、装置、设备及介质 | |
CN116992480A (zh) | 一种提供公开可验证的外包计算服务的方法 | |
CN115345298A (zh) | 联合训练模型的方法及装置 | |
CN113887740A (zh) | 联合更新模型的方法、装置及系统 | |
CN114513304A (zh) | 去中心化安全多方隐私求和计算方法及系统 | |
US20240112017A1 (en) | Systems and methods for adjusting data processing components for non-operational targets | |
US20240154942A1 (en) | Systems and methods for blind multimodal learning |
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 |