CN114492837A - 联邦模型训练方法及装置 - Google Patents

联邦模型训练方法及装置 Download PDF

Info

Publication number
CN114492837A
CN114492837A CN202210056987.3A CN202210056987A CN114492837A CN 114492837 A CN114492837 A CN 114492837A CN 202210056987 A CN202210056987 A CN 202210056987A CN 114492837 A CN114492837 A CN 114492837A
Authority
CN
China
Prior art keywords
model
training
mask sequence
personalized
determining
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.)
Pending
Application number
CN202210056987.3A
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.)
Jingdong Technology Information Technology Co Ltd
Original Assignee
Jingdong Technology Information 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 Jingdong Technology Information Technology Co Ltd filed Critical Jingdong Technology Information Technology Co Ltd
Priority to CN202210056987.3A priority Critical patent/CN114492837A/zh
Publication of CN114492837A publication Critical patent/CN114492837A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/214Generating training patterns; Bootstrap methods, e.g. bagging or boosting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06F18/241Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • General Engineering & Computer Science (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Biology (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Software Systems (AREA)
  • Medical Informatics (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本申请实施例提供一种联邦模型训练方法及装置,该方法包括:接收中心设备发送的个性化模型,个性化模型的有效模型参数的数量小于全局模型的有效模型参数的数量。对个性化模型进行模型训练,得到个性化模型的训练梯度,训练梯度中包括个性化模型中各模型参数的梯度。根据个性化模型的梯度、个性化模型的模型参数和剪枝量,确定目标掩码序列,目标掩码序列用于中心设备确定下一轮训练中的个性化模型。向中心设备发送目标掩码序列和个性化模型的训练梯度。其中个性化的处理是依赖于掩码序列实现的,而无需训练额外的模型,从而可以有效的降低个性化联邦学习中本地训练的计算量。

Description

联邦模型训练方法及装置
技术领域
本申请实施例涉及计算机技术,尤其涉及一种联邦模型训练方法及装置。
背景技术
在传统联邦学习的基础上,个性化联邦学习允许本地设备拥有不同的 个性化模型,而不是共享相同的全局模型。
目前,现有技术中实现个性化联邦学习的时候,通常是各个本地设备 共同训练一个全局模型之外,各个本地设备还会分别训练各自的本地模型, 从而可以实现每个设备都拥有自己的个性化的模型。
然而,各个本地设备训练一个额外的本地模型,以实现实现个性化联 邦学习,会导致模型训练的计算量较大。
发明内容
本申请实施例提供一种联邦模型训练方法及装置,以克服个性化联邦学 习的模型训练的计算量较大的问题。
第一方面,本申请实施例提供一种联邦模型训练方法,应用于参与方设 备,包括:
接收中心设备发送的个性化模型,所述个性化模型的有效模型参数的数 量小于全局模型的有效模型参数的数量;
对所述个性化模型进行模型训练,得到所述个性化模型的训练梯度,所 述训练梯度中包括所述个性化模型中各模型参数的梯度;
根据所述个性化模型的梯度、所述个性化模型的模型参数和剪枝量,确 定目标掩码序列,所述目标掩码序列用于所述中心设备确定下一轮训练中的 个性化模型;
向所述中心设备发送所述目标掩码序列和所述个性化模型的训练梯度。
在一种可能的设计中,根据所述个性化模型的梯度、所述个性化模型的 模型参数和剪枝量,确定目标掩码序列,包括:
根据所述个性化模型的模型参数,确定第一掩码序列;
根据所述剪枝量对所述第一掩码序列中的部分掩码设置为第一预设值, 得到第二掩码序列;
根据所述剪枝量对所述第二掩码序列中的部分掩码设置为第二预设值, 得到所述目标掩码序列。
在一种可能的设计中,根据所述个性化模型的模型参数,确定第一掩码 序列,包括:
确定所述个性化模型的每个模型参数的参数状态;
根据所述个性化模型的每个模型参数的参数状态,确定所述第一掩码序 列。
在一种可能的设计中,根据所述个性化模型的每个模型参数的参数状态, 确定所述第一掩码序列,包括:
将有效状态的模型参数对应的掩码设置为第二预设值,以及将无效状态 的模型参数对应的掩码设置为第一预设值,以得到所述第一掩码序列。
在一种可能的设计中,所述剪枝量为α,所述α为大于或等于1的整数; 根据所述剪枝量对所述第一掩码序列中的部分掩码设置为第一预设值,得到 第二掩码序列,包括:
根据所述个性化模型中的有效模型参数的权重进行从大到小的排序,得 到有效模型参数序列;
将所述有效模型参数序列中末端的α个有效模型参数确定为第一有效模 型参数;
将所述第一掩码序列中所述第一有效模型参数对应的掩码设置为所述第 一预设值,得到所述第二掩码序列。
在一种可能的设计中,所述剪枝量为α,所述α为大于或等于1的整数; 根据所述剪枝量对所述第二掩码序列中的部分掩码设置为第二预设值,得到 所述目标掩码序列,包括:
获取所述第二掩码序列中各第一掩码对应的梯度,所述第一掩码的值为 所述第一预设值;
根据所述第二掩码序列中各第一掩码对应的梯度,在所述第二掩码序列 的第一掩码中确定α个待选掩码;
将所述第二掩码序列中的所述α个待选掩码设置为所述第二预设值,得到 所述目标掩码序列。
在一种可能的设计中,获取所述第二掩码序列中各第一掩码对应的梯度, 包括:
确定所述第二掩码序列中各第一掩码对应的模型参数;
将各第一掩码对应的模型参数的梯度确定为各第一掩码对应的梯度。
在一种可能的设计中,根据所述第二掩码序列中各第一掩码对应的梯度, 在所述第二掩码序列的第一掩码中确定α个待选掩码,包括:
按照对应的梯度从大到小的顺序,对所述第二掩码序列中的第一掩码进 行排序;
将排序后的第一掩码中的前α个掩码确定为所述α个待选掩码。
在一种可能的设计中,所述模型训练包括N次迭代,所述N为大于1的 整数;对所述个性化模型进行模型训练,得到所述个性化模型的训练梯度, 包括:
获取每个模型参数对应的N个中间梯度;
根据每个模型参数对应的N个中间梯度,确定得到所述个性化模型的训 练梯度。
第二方面,本申请实施例提供一种联邦模型训练方法,应用于中心设备, 包括:
确定目标全局模型;
确定所述参与方设备对应的目标掩码序列;
根据所述目标掩码序列更新所述目标全局模型的模型参数,得到个性化 模型;
向所述参与方设备发送所述个性化模型。
在一种可能的设计中,确定目标全局模型,包括:
若当前训练为第一轮训练,则将预设模型确定为所述目标全局模型;
若当前训练为第M轮训练,则获取多个参与方设备发送的多个训练梯度, 并根据第M-1个全局模型和所述多个训练梯度,确定所述目标全局模型,所 述第M-1个全局模型为第M-1轮训练的全局模型,所述目标全局模型为第M 个全局模型,所述M为大于或等于2的整数。
在一种可能的设计中,根据第M-1个全局模型和所述多个训练梯度,确 定所述目标全局模型,包括:
根据所述多个训练梯度,更新所述第M-1个全局模型的模型参数,得到 所述目标全局模型。
在一种可能的设计中,确定所述参与方设备对应的目标掩码序列,包括:
若当前训练为第一轮训练,则将预设掩码序列确定为所述目标掩码序列;
若当前训练为第M轮训练,则判断是否存在所述参与方设备发送的掩码 序列,若是,则根据所述参与方设备发送的掩码序列确定所述目标掩码序列; 若否,则将所述预设掩码序列确定为所述目标掩码序列。
在一种可能的设计中,根据所述参与方设备发送的掩码序列确定所述目 标掩码序列,包括:
获取所述参与方设备最后一次发送的掩码序列;
将所述参与方设备最后一次发送的掩码序列确定为所述目标掩码序列。
第三方面,本申请实施例提供一种联邦模型训练装置,应用于参与方设 备,包括:
接收模块,用于接收中心设备发送的个性化模型,所述个性化模型的有 效模型参数的数量小于全局模型的有效模型参数的数量;
训练模块,用于对所述个性化模型进行模型训练,得到所述个性化模型 的训练梯度,所述训练梯度中包括所述个性化模型中各模型参数的梯度;
确定模块,用于根据所述个性化模型的梯度、所述个性化模型的模型参 数和剪枝量,确定目标掩码序列,所述目标掩码序列用于所述中心设备确定 下一轮训练中的个性化模型;
发送模块,用于向所述中心设备发送所述目标掩码序列和所述个性化模 型的训练梯度。
在一种可能的设计中,所述确定模块具体用于:
根据所述个性化模型的模型参数,确定第一掩码序列;
根据所述剪枝量对所述第一掩码序列中的部分掩码设置为第一预设值, 得到第二掩码序列;
根据所述剪枝量对所述第二掩码序列中的部分掩码设置为第二预设值, 得到所述目标掩码序列。
在一种可能的设计中,所述确定模块具体用于:
确定所述个性化模型的每个模型参数的参数状态;
根据所述个性化模型的每个模型参数的参数状态,确定所述第一掩码序 列。
在一种可能的设计中,所述确定模块具体用于:
将有效状态的模型参数对应的掩码设置为第二预设值,以及将无效状态 的模型参数对应的掩码设置为第一预设值,以得到所述第一掩码序列。
在一种可能的设计中,所述剪枝量为α,所述α为大于或等于1的整数; 所述确定模块具体用于:
根据所述个性化模型中的有效模型参数的权重进行从大到小的排序,得 到有效模型参数序列;
将所述有效模型参数序列中末端的α个有效模型参数确定为第一有效模 型参数;
将所述第一掩码序列中所述第一有效模型参数对应的掩码设置为所述第 一预设值,得到所述第二掩码序列。
在一种可能的设计中,所述剪枝量为α,所述α为大于或等于1的整数; 所述确定模块具体用于:
获取所述第二掩码序列中各第一掩码对应的梯度,所述第一掩码的值为 所述第一预设值;
根据所述第二掩码序列中各第一掩码对应的梯度,在所述第二掩码序列 的第一掩码中确定α个待选掩码;
将所述第二掩码序列中的所述α个待选掩码设置为所述第二预设值,得到 所述目标掩码序列。
在一种可能的设计中,所述确定模块具体用于:
确定所述第二掩码序列中各第一掩码对应的模型参数;
将各第一掩码对应的模型参数的梯度确定为各第一掩码对应的梯度。
在一种可能的设计中,所述确定模块具体用于:
按照对应的梯度从大到小的顺序,对所述第二掩码序列中的第一掩码进 行排序;
将排序后的第一掩码中的前α个掩码确定为所述α个待选掩码。
在一种可能的设计中,所述模型训练包括N次迭代,所述N为大于1的 整数;所述训练模块具体用于:
获取每个模型参数对应的N个中间梯度;
根据每个模型参数对应的N个中间梯度,确定得到所述个性化模型的训 练梯度。
第四方面,本申请实施例提供一种联邦模型训练装置,应用于中心设备, 包括:
确定模块,用于确定目标全局模型;
所述确定模块,还确定所述参与方设备对应的目标掩码序列;
更新模块,用于根据所述目标掩码序列更新所述目标全局模型的模型参 数,得到个性化模型;
发送模块,用于向所述参与方设备发送所述个性化模型。
在一种可能的设计中,所述确定模块具体用于:
若当前训练为第一轮训练,则将预设模型确定为所述目标全局模型;
若当前训练为第M轮训练,则获取多个参与方设备发送的多个训练梯度, 并根据第M-1个全局模型和所述多个训练梯度,确定所述目标全局模型,所 述第M-1个全局模型为第M-1轮训练的全局模型,所述目标全局模型为第M 个全局模型,所述M为大于或等于2的整数。
在一种可能的设计中,所述确定模块具体用于:
根据所述多个训练梯度,更新所述第M-1个全局模型的模型参数,得到 所述目标全局模型。
在一种可能的设计中,所述确定模块具体用于:
若当前训练为第一轮训练,则将预设掩码序列确定为所述目标掩码序列;
若当前训练为第M轮训练,则判断是否存在所述参与方设备发送的掩码 序列,若是,则根据所述参与方设备发送的掩码序列确定所述目标掩码序列; 若否,则将所述预设掩码序列确定为所述目标掩码序列。
在一种可能的设计中,所述确定模块具体用于:
获取所述参与方设备最后一次发送的掩码序列;
将所述参与方设备最后一次发送的掩码序列确定为所述目标掩码序列。
第五方面,本申请实施例提供一种联邦模型训练设备,包括:
存储器,用于存储程序;
处理器,用于执行所述存储器存储的所述程序,当所述程序被执行时, 所述处理器用于执行如上第一方面以及第一方面各种可能的设计、或者第二 方面以及第二方面各种可能的设计中任一所述的方法。
第六方面,本申请实施例提供一种计算机可读存储介质,包括指令,当 其在计算机上运行时,使得计算机执行如上第一方面以及第一方面各种可能 的设计、或者第二方面以及第二方面各种可能的设计中任一所述的方法。
第七方面,本申请实施例提供一种计算机程序产品,包括计算机程序, 所述计算机程序被处理器执行时实现如上第一方面以及第一方面各种可能的 设计、或者第二方面以及第二方面各种可能的设计中任一所述的方法。
本申请实施例提供一种联邦模型训练方法及装置,该方法包括:接收中 心设备发送的个性化模型,个性化模型的有效模型参数的数量小于全局模型 的有效模型参数的数量。对个性化模型进行模型训练,得到个性化模型的训 练梯度,训练梯度中包括个性化模型中各模型参数的梯度。根据个性化模型 的梯度、个性化模型的模型参数和剪枝量,确定目标掩码序列,目标掩码序 列用于中心设备确定下一轮训练中的个性化模型。向中心设备发送目标掩码 序列和个性化模型的训练梯度。通过确定每个参与方设备各自对应的掩码序 列,并且根据掩码序列确定各个参与方设备各自对应的个性化模型,以使得 参与方设备可以对个性化模型进行训练,之后将个性化模型的训练梯度发送 给中心设备,以使得中心设备可以对模型进行聚合,从而可以有效实现个性 化联邦学习的模型训练。其中个性化的处理是依赖于掩码序列实现的,而无 需训练额外的模型,从而可以有效的降低个性化联邦学习中本地训练的计算 量。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实 施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下 面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在 不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的一种联邦学习的原理示意图;
图2为本申请实施例提供的联邦模型训练方法的流程图;
图3为本申请实施例提供的联邦模型训练方法的流程图二;
图4为本申请实施例提供的第一掩码序列的实现示意图;
图5为本申请实施例提供的确定有效模型参数序列的实现示意图;
图6为本申请实施例提供的确定第二掩码序列的实现示意图;
图7为本申请实施例提供的确定目标掩码序列的实现示意图;
图8为本申请实施例提供的联邦模型训练方法的流程图三;
图9为本申请实施例提供的联邦模型训练方法的流程图四;
图10为本申请实施例提供的联邦模型训练方法的实现示意图;
图11为本申请实施例提供的个性化联邦学习算法的实现示意图;
图12为本申请实施例提供的联邦模型训练装置的结构示意图一;
图13为本申请实施例提供的联邦模型训练装置的结构示意图二;
图14为本申请实施例提供的联邦模型训练设备的硬件结构示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申 请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述, 显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于 本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获 得的所有其他实施例,都属于本申请保护的范围。
为了更好的理解本申请的技术方案,下面对本申请所涉及的相关技术进 行进一步的详细介绍。
近年来,数据隐私安全受到人们愈发的重视。基于此,政府制定了新的 数据安全管理条例如欧盟数据安全管理条例(General Data Protection Regulation,GDPR)。
在此背景下,获取带标签数据进行传统机器学习的模型训练变得愈发困 难。联邦学习作为一种隐私安全的分布式训练范式被提出。联邦学习容许本 地设备使用自己所拥有的数据进行本地训练模型,再由中心服务器对模型进 行聚合。在此过程中,本地设备无需将自身数据传到中心服务器或其他节点, 而只需要传递训练好的模型,从此来降低数据泄露的风险。
下面对联邦学习进行简单说明,随着网络技术的不断发展,在许多领域 中,基于大数据的机器学习和模型训练等技术不断发展。通过对大数据的挖 掘,可以得到许多有价值的信息。随着技术的发展,原始数据的来源越来越 广泛,甚至会有跨领域联合。
在一些业务场景中,多个业务平台收集有各自的业务数据。这些业务数 据很有价值,通常作为业务平台的隐私信息保存。各业务平台不期望与其他 业务平台共享原始形式的业务数据。但在一些需求中,多个业务平台期望在 不公开各方的业务数据的情况下进行协同计算,以提高业务处理能力。基于 此,联邦机器学习等方式应运而生。
联邦机器学习(Federated Machine Learning),又称联邦学习(FederatedLearning),能够在数据不出本地的前提下,联合各方进行数据使用和协同建 模,逐渐成为隐私保护计算中的一种常用方法。
在联邦学习的过程中,可以通过加密机制下的参数交换方式保护参与方 的隐私数据,数据本身不会进行传输,参与方不需要向其它参与方暴露自己 所拥有的数据,也不能反推其它参与方的数据,因而联邦学习可以很好的保 护用户隐私和保障数据安全,并可以解决数据孤岛问题。
针对不同数据集,联邦学习可以分为横向联邦学习(Horizontal FederatedLearning)、纵向联邦学习(Vertical Federated Learning)与联邦迁移学习 (FederatedTransfer Learning)。联邦学习可使用的机器学习算法有很多种, 包括但不局限于神经网络、随机森林等算法。
图1为本申请实施例提供的一种联邦学习的原理示意图。如图1所示, 服务器和k个客户终端可以参与联邦学习过程。在联邦学习过程中,服务器 向各个客户终端下发全局模型,每个客户终端利用本地数据对服务器下发的 全局模型进行训练,得到训练后的本地模型上传至服务器,服务器对各个客 户终端上传的模型进行聚合,得到更新后的全局模型,依次重复上述过程, 直至聚合后的全局模型收敛为止。
基于上述方法,每个客户终端具有自己的训练样本,利用本地训练样本 对本地模型进行训练,可以在保证数据不出本地的情况下完成模型的训练。
传统联邦学习的目标是解决下述公式一所示的问题:
Figure BDA0003476743590000101
其中,公式一里面w表示联邦学习训练的模型,K表示参与联邦学习训练 的设备的数量,k表示某一个设备的索引,
Figure BDA0003476743590000102
表示一个本地设备内所有数 据的经验损失。Pk表示第k个设备的训练数据,(xi,yi)表示从训练数据中的一 个数据,其中xi表示这个数据的特征,yi表示这个数据的标签。函数
Figure BDA0003476743590000103
表示 交叉熵损失函数。s.t.表示约束于(subjectto)。
求解上述公式一所示的问题,主要由以下四个主要步骤组成:
1.中心服务器分发同一个全局模型给多个本地设备。
2.本地设备使用自身数据对分发下来的模型进行训练,并将训练好的模 型重新上传到中心服务器。
3.中心服务器对上传的模型进行聚合,再重复1步骤进行下一次迭代训 练,直至模型收敛。
然而,本地训练数据的异构性(即非独立同分布的数据分布)容易减慢 模型的收敛速度,以及降低最终模型训练的精度。除此之外,传统的联邦学 习仅仅训练一个全局模型作为部署。在高度数据异构性的情况下,一个全局 模型往往不能适用于不同的数据分布。此时,对于不同的数据分布,训练多 个可以部署的模型是一种可以优化的方向。
因此,在传统联邦学习的基础上,提出了个性化联邦学习。其中,个性 化联邦学习强调训练的目标是部署高精度的多个模型到参与训练的本地设备 中,使得部署的模型能提高本地设备对自身数据的推理准确性。举例来说, 例如可以将个性化联邦学习的求解问题构建为如下公式二所示的形式:
Figure BDA0003476743590000104
其中w*是求解传统联邦学习问题P1的最优解,vk部署在不同本地设备的 个性化模型参数,Fk(vk)是模型vk的经验损失函数。该方法的求解形式与传 统联邦学习相似。不同点在于在每轮的本地训练中,本地设备不仅仅使用本 地数据对下发下来的全局模型进行训练,同时,每个设备会维护一个个性化 模型(以vk为参数),并在本地训练中,对该个性化模型根据P2中的损失函 数用本地数据进行训练。
基于上述介绍可以确定的是,为了解决联邦学习现有的局限性,个性化 联邦学习允许本地设备拥有不同的个性化模型,而不是共享相同的全局模型。 为了实现个性化,本地设备必须找到一种方法来有效地交换全局信息并融入 他们的个性化模型。
在一种可能的实现方式中,可以对模型做个性化的分层,例如可以将全 局模型层划分为共享层和个性化层。对于共享层,采用FedAvg(Federated Averaging,联邦平均)的方法进行权重平均,而对于个性化层,模型仅在本 地进行训练,不会与其他设备交换。通过这样做,每个设备都拥有自己的个 性化的模型,其中本地网络层使用本地数据微调,不受其他设备模型的影响。 以及还可以学习本地的特征提取器和共享的分类器。
类似地,另一种基于表征学习的算法FedRep,则提出学习共享的特征提 取器和个性化的分类器。这种基于模型分层做个性化联邦学习的方法对于不 同的模型结构鲁棒性较差。需要针对具体模型设计具体的个性化层和共享层 划分,不利于大规模广泛应用。
以及,另一个实现个性化联邦学习的想法是使用近端算子使得本地模型 与全局模型尽可能地“接近”。例如可以同时维护本地模型和全局模型。具体 对两个模型的训练可以通过涉及两个训练阶段来实现:1)基于FedAvg的思想 训练一个全局模型和本地模型;2)每个本地设备基于上述训练得到的全局模 型微调本地模型。在它们的微调阶段,在本地模型和全局模型之间应用了一 个近端项。
还有另一种基于元学***均值,因此全局模型是随着本 地微调而逐步演化的。这种基于近端算子的个性化联邦学习方案往往需要同 时训练多个模型,往往需要额外的模型训练计算量。
模型插值是实现个性化联邦学习的另一种方式。例如可以使用(全局) 模型和本地模型的线性插值权重作为个性化模型。其中,三个组件(全局模 型、本地模型和插值权重)需要交替优化,即在优化其中之一时固定住另外 两个。以及,在一些实现方式中,还有类似的插值思想,唯一的区别是他们 的全局模型是使用通用的FedAvg优化的,所以在它的优化过程中没有考虑本 地模型的存在。同样地,基于插值的思想来实现个性化联邦学习需要额外的 计算量,因为这类方法需要交替优化全局和本地模型。
基于上述介绍的现有技术中的问题,本申请提出了如下技术构思:提供 一种通过模型个性化稀疏来构建多模型部署的个性化联邦学习机制,相比已 有解决方案可以显著提高模型的收敛速度,本地训练计算量,以及最终推理 精度。
在上述介绍内容的基础上,下面结合具体的实施例对本申请提供的联邦 模型训练方法详细介绍,可以理解的是,本申请中的联邦模型训练方法涉及 两侧设备的动作,一侧是参与方设备,也就是上述介绍的本地设备。以及另 一侧是中心设备,也就是上述介绍的中心服务器。下面对这两侧设备各自对 应的联邦模型训练方法的实现分别进行介绍。
例如可以首先结合图2对参与方设备的联邦模型训练方法进行介绍,图 2为本申请实施例提供的联邦模型训练方法的流程图。
如图2所示,该方法包括:
S201、接收中心设备发送的个性化模型,个性化模型的有效模型参数的 数量小于全局模型的有效模型参数的数量。
基于上述介绍可以确定的是,在联邦学习中,中心服务器会向各个参与 方设备发送模型,以使得各个参与方设备对模型进行训练,下面以任一个参 与方设备为例进行介绍。
在本实施例中,中心服务器会向参与方设备发送个性化模型,其中个性 化模型的有效模型参数的数量小于全局模型的有效模型参数的数量。
此处首先对全局模型和个性化模型进行介绍,其中,全局模型就是中心 服务器需要训练的模型,在正常的联邦学习中,中心服务器就是将全局模型 下发给各个参与方设备。同时可以理解的是,在全局模型中存在多个模型参 数,在一种可能的实现方式中,本实施例中例如可以对全局模型的多个模型 参数进行掩码处理,其中掩码处理可以使得部分模型参数无效,以及保持部 分模型参数有效,那么对全局模型的多个模型参数进行掩码处理之后,就可 以有效的得到个性化模型了。
可以理解的是,因为对全局模型的模型参数进行掩码处理,使得部分模 型参数无效,才得到了个性化模型,进一步可以理解的是,在全局模型中的 全部模型参数均是有效的,因此个性化模型参数的有效模型参数的数量是小 于全局模型的有效模型参数的数量。
基于上述介绍,本实施例中的中心设备可以在确定参与方设备对应的个 性化模型之后,将个性化模型发送给参与方设备,因此本实施例中的参与方 设备可以接收中心模型所发送的个性化模型。
S202、对个性化模型进行模型训练,得到个性化模型的训练梯度,训练 梯度中包括个性化模型中各模型参数的梯度。
参与方设备在接收到个性化模型之后,就可以对个性化模型进行模型训 练,以得到个性化模型的训练梯度,本实施例中的训练梯度包括个性化模型 中的各个模型参数各自的梯度。
其中,对个性化模型进行模型训练以得到训练梯度的具体实现,可以参 照相关技术中的介绍,此处不再赘述。
S203、根据个性化模型的梯度、个性化模型的模型参数和剪枝量,确定 目标掩码序列,目标掩码序列用于中心设备确定下一轮训练中的个性化模型。
可以理解的是,本实施例中需要实现针对参与方设备的个性化处理,因 此需要针对每一个参与方设备个性化的确定各自对应的掩码序列,其中掩码 序列用于进行上述的掩码处理。
其中,掩码序列是由0和1组成的序列,更具体的,是针对每一个模型 参数都设备有各自对应的0或者1,从而组成掩码序列。当0作用于模型参 数的时候,就表示该模型参数无效,当1作用于模型参数的时候,就表示该 模型参数有效,从而实现上述介绍的掩码处理。
因此在确定个性化模型的梯度之后,可以个性化模型的梯度、个性化模 型的模型参数以及剪枝量进行预设处理,从而确定目标序列。其中,目标掩 码序列是用于中心设备确定下一轮训练中的个性化模型参数的。
其中,剪枝量用于指示在确定目标掩码序列的时候,具体将多少个模型 参数设置为无效,其中剪枝量的具体设置可以根据实际需求进行选择和设置。
S204、向中心设备发送目标掩码序列和个性化模型的训练梯度。
在参与方设备确定用于下一轮训练的个性化模型的目标掩码序列之后, 就可以向中心设备发送目标掩码序列了,以使得中心模型可以在下一轮训练 中,确定该参与方设备的个性化模型。
以及,参与方设备还可以向中心设备发送个性化模型的训练梯度,从而 可以使得中心设备可以根据各个参与方设备发送的训练梯度,对模型进行聚 合,从而实现对全局模型的训练。
本申请实施例提供的联邦模型训练方法,包括:接收中心设备发送的个 性化模型,个性化模型的有效模型参数的数量小于全局模型的有效模型参数 的数量。对个性化模型进行模型训练,得到个性化模型的训练梯度,训练梯 度中包括个性化模型中各模型参数的梯度。根据个性化模型的梯度、个性化 模型的模型参数和剪枝量,确定目标掩码序列,目标掩码序列用于中心设备 确定下一轮训练中的个性化模型。向中心设备发送目标掩码序列和个性化模 型的训练梯度。通过确定每个参与方设备各自对应的掩码序列,并且根据掩码序列确定各个参与方设备各自对应的个性化模型,以使得参与方设备可以 对个性化模型进行训练,之后将个性化模型的训练梯度发送给中心设备,以 使得中心设备可以对模型进行聚合,从而可以有效实现个性化联邦学习的模 型训练。其中个性化的处理是依赖于掩码序列实现的,而无需训练额外的模 型,从而可以有效的降低个性化联邦学习中本地训练的计算量。
在上述实施例的基础上,下面结合图3至图7对参与方设备提供的联邦 模型训练方法进行进一步的详细介绍。图3为本申请实施例提供的联邦模型 训练方法的流程图二,图4为本申请实施例提供的第一掩码序列的实现示意 图,图5为本申请实施例提供的确定有效模型参数序列的实现示意图,图6 为本申请实施例提供的确定第二掩码序列的实现示意图,图7为本申请实施 例提供的确定目标掩码序列的实现示意图。
如图3所示,该方法包括:
S301、接收中心设备发送的个性化模型,个性化模型的有效模型参数的 数量小于全局模型的有效模型参数的数量。
其中,S301的实现方式与上述S201的实现方式类似,此次不再赘述。
更进一步的,本实施例中的中心设备在向参与方设备发送个性化模型的 时候,例如可以是发送稀疏参数
Figure BDA0003476743590000141
到参与方设备。
其中,mk,t是当前的参与方设备k在第t轮训练中对应的个性化掩码,以 及wt是第t轮训练中的全局模型的模型参数,⊙表示对应位置元素相乘。那 么mk,t⊙wt就表示将全局模型的各个模型参数和各自对应的掩码相乘,从而 得到当前的参与方设备k在第t轮训练中对应的系数参数
Figure BDA0003476743590000151
其中的稀疏 参数就是中心服务器发给参与方设备的个性化模型。
S302、对个性化模型进行模型训练,得到个性化模型的训练梯度,训练 梯度中包括个性化模型中各模型参数的梯度。
在对个性化模型进行模型训练确定个性化模型的训练梯度的时候,例如 可以采用随机梯度下降(Stochastic Gradient Descent,SGD)的方式对个性化 模型进行模型训练,其中SGD是一种被广泛应用的对神经网络进行更新的方 法。
在SGD的实现过程中,例如可以对个性化模型进行N轮训练,从而获 取每个模型参数对应的N个中间梯度,之后根据每个模型参数对应的N个中 间梯度,确定得到个性化模型的训练梯度。
在确定各个模型参数各自对应的梯度之后,就可以得到本实施例中的个 性化模型的训练梯度了,其中确定个性化模型的训练梯度的具体实现可以参 照相关技术中的SGD的介绍,此处不再赘述。
S303、确定个性化模型的每个模型参数的参数状态。
进一步的,本实施例中需要根据个性化模型的梯度、个性化模型的模型 参数和剪枝量,确定目标掩码序列。因此下面对确定目标掩码序列的具体实 现过程进行介绍。
在本实施例中,个性化掩码是一个只能取1或者0的向量,通过该掩码 与模型参数进行向量相乘,能够获得多个个性化的模型用于不同本地设备的 部署。因此本实施例中会将参与方设备的个性化掩码作用于全局模型,以得 到该参与方设备的个性化模型,那么个性化模型的有效模型参数的数量是小 于全局模型的有效模型参数的数量的。
更为具体的,在个性化模型中,因为部分模型参数被掩码覆盖,就会导 致部分模型参数无效,除此之外的部分模型参数有效。同时基于上述介绍可 以确定的是,中心服务器在向参与方设备发送个性化模型的时候,例如可以 是发送稀疏参数
Figure BDA0003476743590000152
到参与方设备。那么对于参与方设备来说, 其仅仅是获取到了系数参数,并没有获取到掩码序列。
因为在确定下一次处理的掩码序列的时候,需要用到当前的掩码序列, 因此可以根据个性化模型,确定个性化模型的每个模型参数的参数状态。
例如可以参照图4进行理解,假设当前的个性化模型存在图4所示的5 个模型参数,分别是a、b、c、d、e,其中模型参数a的参数状态是有效,模 型参数b的参数状态是无效,模型参数c的参数状态是有效,模型参数d的 参数状态是无效,模型参数e的参数状态是有效。
需要说明,本实施例中所说的参数状态有效就是指该参数未被掩码覆盖, 以及从参数状态无效就是指该参数被掩码覆盖。
上述图4仅仅是对参数状态进行的一种示例性的介绍,在实际实现过程 中,各个模型参数的参数状态可以根据实际需求进行选择和设置,本实施例 对此不做限定。
S304、将有效状态的模型参数对应的掩码设置为第二预设值,以及将无 效状态的模型参数对应的掩码设置为第一预设值,以得到第一掩码序列。
在确定各个模型参数的参数状态之后,就可以根据各个模型参数的参数 状态确定第一掩码序列。
基于上述介绍可以确定的是,个性化掩码是由0和1组成的序列,当掩 码为0时,对应的模型参数被覆盖,也就表示该模型参数无效;以及,当掩 码为1时,对应的模型参数不会被覆盖,也就表示该模型参数有效。
因此可以根据各个模型参数的参数状态确定第一掩码序列。在一种可能 的实现方式中,例如可以将有效状态的模型参数对应的掩码设置为第二预设 值,其中的第二预设值是用于表示模型参数的参数状态有效的预设值,比如 说第二预设值可以为1。以及,还例如可以将无效状态的模型参数对应的掩 码设置为第一预设值,其中的第一预设值是用于表示模型参数的参数状态无 效的预设值,比如说第一预设值可以为0。通过设置第一预设值和第二预设 值,从而可以得到第一掩码序列。
例如可以参照图4进行理解,其中的模型参数a、b、c、d、e的参数状 态依次是有效、无效、有效、无效、有效,例如第一预设值可以为0,第二 预设值可以为1,那么在图4的示例中,根据个性化模型各个模型参数的参 数状态确定第一掩码序列,就可以是图4中所示的10101。
以及需要说明的是,在一种可能的实现方式中,本实施例中的第一掩码 序列可以是初始掩码序列。也就是针对该参与方设备第一次设置的掩码序列, 第一次设置的初始掩码序列对于参与方设备来说是未知的,因此参与方设备 需要基于上述介绍的实现过程确定第一掩码序列。
其中,在对掩码序列进行初始化得到第一掩码序列的时候,例如可以采 用ERK(Erdós-Rényi Kernel)方法来计算卷积网络每一层的稀疏分配,以确 定各个模型参数的掩码,进而得到初始化的第一掩码序列。特别地,这使得 稀疏参数的数量随着输入和输出通道的变化而变化。这些初始化方法本质上 是确保参数越多的层具有越高的剪枝率。在本实施例中联邦学习的设置下, 每个参与方设备都有相同的根据ERK计算的稀疏分配的随机初始化的第一 掩码序列。其中,ERK是一种初始化神经网络稀疏比例的方法,被广泛用于动态稀疏训练技术路线。
以及,在另一种可能的实现方式中,本实施例中的第一掩码序列还可以 不是初始掩码序列。也就是针对该参与方设备的第二次及之后的掩码序列, 可以理解,除了第一次初始掩码序列之外,之后的掩码序列实际上就是参与 方设备自行确定的目标掩码序列。
那么当第一掩码序列不是初始掩码序列的时候,比如说同样可以按照上 述介绍的实现方式确定第一掩码序列。或者,因为掩码序列是参与方设备自 行确定的,那么比如说参与方设备也可以不执行上述操作,而是直接获取之 前确定的当前轮的训练中的目标掩码序列。
S305、根据个性化模型中的有效模型参数的权重进行从大到小的排序, 得到有效模型参数序列。
因为当前需要确定用于下一轮训练的目标掩码序列,本实施例中例如可 以首先对模型参数进行剪枝,之后再对模型参数进行复原,从而得到下一轮 训练的目标掩码序列。
在对模型参数进行剪枝的时候,例如可以根据个性化模型中的各个有效 模型参数的权重,按照从大到小的顺序进行排序,从而得到有效模型参数序 列,其中有效模型序列中的各个有效模型参数的权重就是依次减少的。
下面例如可以结合图5进行理解,参照图5,假设当前的个性化模型存 在图5所示的多个模型参数,分别是模型参数a、b、c、d、e、f、g、h、i、j, 以及各个模型参数的权重可以参照图5。在图5的示例中,权重值越小,权 重越大,比如说其中的模型参数a的权重是1,其就是各个模型参数中权重最 大的。
以及,其中的有效模型参数包括模型参数a、c、e、f、g、j,那么根据各 个有效模型参数的权重进行从大到小的排序,就可以得到图5所示的有效模 型参数序列:a→e→c→g→f→j。
在实际实现过程中,模型参数的权重的具体实现可以根据实际需求进行 选择和设置,本实施例对此不做特别限制。
S306、将有效模型参数序列中末端的α个有效模型参数确定为第一有效模 型参数。
本实施例中比如说可以设置有剪枝量α,其中α为大于或等于1的整数。 以及在确定有效模型参数序列之后,有效模型参数序列中的各个模型参数的 权重就是依次减小的,则在实现参数剪枝的时候,例如可以将有效模型参数 序列中末端的α个有效模型参数确定为第一有效模型参数。
假设剪枝量α等于3,则在上述图5的示例中中,比如说可以将有效模型 参数序列:a→e→c→g→f→j的末尾3个有效模型参数确定为第一有效模型参 数,也就是模型参数g、模型参数f、模型参数j。本实施例中的第一有效模 型参数是需要进行参数剪枝的有效模型参数。
在实际实现过程中,剪枝量的具体设置可以根据实际需求进行选择,本 实施例对此不做限制。
S307、将第一掩码序列中第一有效模型参数对应的掩码设置为第一预设 值,得到第二掩码序列。
可以理解的是,本实施例中的参数剪枝实际上就是将上述确定的第一有 效模型参数的参数状态设置为无效,那么例如可以将第一掩码序列中第一有 效模型参数所对应的掩码设置为第一预设值,从而得到第二掩码序列。其中 的第二掩码序列就是实现了将第一有效模型参数的参数状态设置为无效状态 的掩码序列。
例如可以结合图6进行理解,假设继续延续上述图5的示例,当前的个 性化模型的模型参数包括模型参数a、b、c、d、e、f、g、h、i、j,其中的有 效模型参数包括a、c、e、f、g、j,那么可以确定在当前的示例中,第一掩码 序列如图6所示,第一掩码序列为1010111001。
以及基于上述介绍,位于末尾的3个第一有效模型参数是模型参数g、 模型参数f、模型参数j,将这3个模型参数对应的掩码设置为第一预设值, 本实施例中的第一预设值可以是0,则得到图6所示的第二掩码序列 1010100000。
可以理解的是,第二掩码序列相较于第一掩码序列,实际上就是将权重 最小的α个有效模型参数进行了剪枝,将其设置为了无效模型参数。其还可以 通过如下公式的相关内容进行表达。
其中,在参数剪枝的阶段,通常会剪掉被认为不重要的参数位置。一个 非常直观的想法是剪掉最小绝对值的权重位置。因此在参数剪枝阶段,本实 施例中提出使用参与方设备的个性化权重的绝对值(即wk,t,N)作为剪枝标准。
通常,在模型中包括多个网络结构层,比如说卷积层、池化层等等,以 及可以确定的是,在每一个网络结构层中都包括多个模型参数。在一种可能 的实现方式中,例如可以用j索引一个特定的网络结构层,则参数剪枝的实现 例如可以表现为如下公式四的内容:
Figure BDA0003476743590000191
其中,
Figure BDA0003476743590000192
是当前的参与方设备k在第t轮训练中第j个网络结构层的掩 码,
Figure BDA0003476743590000193
是当前的参与方设备k在第t轮训练中第j个网络结构层的本地权 重,以及αt表示第t轮训练中的剪枝量,其中
Figure BDA0003476743590000194
是一 个函数。这个函数返回修剪后的第j个网络结构层的掩码
Figure BDA0003476743590000195
具体的,
Figure BDA0003476743590000196
中αt个最小的未被修剪的权重会被修剪为0。
以及在一种可能的实现方式中,本实施例中的剪枝量αt例如可以使用余 弦退火(cosine annealing)方法,随着训练轮数t的迭代的进行而衰减。
S308、获取第二掩码序列中各第一掩码对应的梯度,第一掩码的值为第 一预设值。
上述介绍了参数剪枝的实现,在本实施例中,在剪枝阶段修剪和删除一 些模型参数之后,必须恢复相同数量的剪枝模型参数,以确保训练的神经网 路的稀疏性(或密度)在整个训练过程中保持不变。
在一种可能的实现方式中,本实施例中可以根据被修剪掉的模型参数的 的梯度信息,重新恢复被剪掉的模型参数。此处需要说明,当前介绍的被修 剪掉的模型参数,实际上就是对应的掩码为0的模型参数。
因此本实施例中可以获取第二掩码序列中各第一掩码对应的梯度,其中, 第一掩码的值为第一预设值。
其中,第二掩码序列是上述介绍的经过参数剪枝之后得到的掩码序列, 以及本实施例中的第一预设值可以为0,则本实施例中可以是将第二掩码序 列中的掩码为0的掩码确定为第一掩码,并且确定各个第一掩码所对应的模 型参数,并且将各个第一掩码所对应的模型参数的梯度确定为个第一掩码对 应的梯度。
假设继续沿用上述的示例,当前得到的第二掩码序列比如说可以是 1010100000,则将其中的掩码为0的掩码确定为第一掩码,并且将各个第一 掩码所对应的模型参数的梯度确定为各第一掩码对应的梯度,则可以参照图 7进行理解,其中的模型参数b、d、f、g、h、i、j所的对应的掩码都为0, 则可以确定当前的第二掩码序列中包括7个第一掩码,并且可以将这7个第 一掩码所对应的模型参数b、d、f、g、h、i、j的梯度,确定为各个第一掩码 对应的梯度。
S309、按照对应的梯度从大到小的顺序,对第二掩码序列中的第一掩码 进行排序。
在确定各个第一掩码各自对应的梯度之后,例如可以按照对应的梯度从 大到小的顺序,对第二掩码中的各个第一掩码进行排序。
S310、将排序后的第一掩码中的前α个掩码确定为α个待选掩码。
在对各个第一掩码进行排序之后,因为上述时将α个模型参数进行了修剪, 因此当前就需要还原α个模型参数,因此本实施例中可以将排序后的第一掩码 中的前α个掩码确定为待选掩码,以得到α个待选掩码。
假设继续沿用上述示例,当前的剪枝量α为3,以及假设在排序后的第一 掩码中前3个掩码为:模型参数b、模型参数i、模型参数j对应的掩码,则 例如可以将这3个模型参数对应的掩码确定为待选掩码,从而确定3个待选 掩码。
S311、将第二掩码序列中的α个待选掩码设置为第二预设值,得到目标掩 码序列。
之后可以将第二掩码序列中的α个待选掩码设置为第二预设值,以得到目 标掩码序列,本实施例中的目标掩码序列用于中心设备确定下一轮训练中的 个性化模型。
在一种可能的实现方式中,本实施例中的第二预设值比如说可以是1, 则继续沿用上述示例,参照图7,上述确定的α个待选掩码是模型参数b对应 的掩码、模型参数i对应的掩码、模型参数j对应的掩码,则例如可以在第二 掩码序列的基础上,将模型参数b对应的掩码、模型参数i对应的掩码、模 型参数j对应的掩码设置为1,从而得到目标掩码序列1110100011。对比目 标掩码序列和上述的第一掩码序列,可以确定本实施例中用于模型训练的掩 码序列始终保持着相同的稀疏度。
在一种可能的实现方式中,上述介绍的参数复原的实现过程例如可以表 示为如下的公式五:
明确地,我们通过对个性化掩码进行以下更新来恢复修剪后的权重:
Figure BDA0003476743590000211
其中,
Figure BDA0003476743590000212
是第j层神经网络的随机梯度,
Figure BDA0003476743590000213
是一个函数。它返回的掩码
Figure BDA0003476743590000214
对应着具有top-αt梯度的已被剪参数会复原到 未被剪枝状态.直观地地说,本实施例中认为如果某个模型参数在本地训练的 梯度很大,则不应将其修剪为0,而应该将它恢复为正常的状态。
本实施例中在模型参数的更新实现中,需要获取迭代的掩码用于模型的 更新,基于上述介绍可以确定的是,本实施例中采用了动态稀疏训练的方法 进行掩码的迭代搜寻。动态稀疏训练使训练的过程的模型维持同样的稀疏度, 从而能够降低在上述本地训练过程中的训练开销。
S312、向中心设备发送目标掩码序列和个性化模型的训练梯度。
上述在确定了目标掩码序列和个性化模型的训练梯度之后,参与方设备 就可以向中心设备发送目标掩码序列和个性化模型的训练梯度了,之后中心 服务器可以对个性化模型的训练梯度进行聚合,从而完成一轮的模型训练。 在一轮的模型训练结束,到下一轮的模型训练时,中心服务器可以根据目标 掩码序列确定当前需要发送给参与方设备的个性化模型,之后重复执行上述 介绍的模型训练过程,直至模型训练的轮数达到预设轮数,从而可以得到训 练完成的模型。
本申请实施例提供的联邦模型训练方法,通过确定参与方设备所对应的 目标掩码序列,其中目标掩码序列用于确定当前的参与方设备的个性化模型, 从而可以基于掩码简单有效的实现针对每个参与方设备确定各自对应的个性 化模型,之后参与方设备在一轮训练结束之后,将个性化模型的训练梯度发 送给中心设备,以使得中心设备对各个参与方设备的梯度进行聚合,从而可 以基于各个参与方设备各自的个性化掩码,有效的实现个性化联邦学习,进 而提升联邦学习的训练精度,并且使用掩码实现模型的个性化处理,从而可 以避免进行模型分层、或者训练额外的模型所导致的额外开销。并且,在确 定参与方设备的个性化掩码的时候,是在参与方设备当前轮训练的掩码的基 础上,进行参数剪枝以及参数复原,以得到用于下一轮训练的个性化掩码, 因此个性化掩码可以有效保证针对当前的参与方设备的个性化处理,并且经 过参数剪枝和参数复原,可以有效的保证整个训练过程中模型的稀疏度保持 一致,从而能够降低在上述本地训练过程中的训练开销。
上述介绍了参与方设备执行的联邦模型训练方法的实现过程,下面再结 合具体的实施例对中心设备执行联邦模型训练方法的实现过程进行介绍。
首先结合图8进行说明,图8为本申请实施例提供的联邦模型训练方法 的流程图三。
如图8所示,该方法包括:
S801、确定目标全局模型。
在本实施例中,中心设备可以确定目标全局模型,其中,目标全局模型 就是中心设备需要训练的全局模型,或者可以是训练过程中的全局模型。
S802、确定参与方设备对应的目标掩码序列。
以及,中心设备还可以确定参与方设备所对应的目标掩码序列,基于上 述介绍可以确定的是,参与方设备可以向中心设备发送目标掩码序列,则本 实施例中的中心设备可以是根据各个参与方设备所发送的目标掩码序列,从 而确定各个参与方设备所各自对应的目标掩码序列。其中,针对每一个参与 方设备,其对应的目标掩码序列都是个性化的。
S803、根据目标掩码序列更新目标全局模型的模型参数,得到个性化模 型。
在确定各个参与方设备各自对应的目标掩码序列之后,例如可以根据目 标掩码序列更新目标全局模型的模型参数,也就是说将目标全局模型中的部 分参数设置为无效状态,以及保持剩余的部分参数为有效状态。在更新目标 全局模型的模型参数之后,就可以得到各个参与方设备各自对应的个性化模 型。
S804、向参与方设备发送个性化模型。
在确定个性化模型之后,就可以向参与方模型发送确定的个性化模型, 之后参与方设备就可以根据个性化模型进行模型训练,其中参与方设备的模 型训练的过程可以参照上述实施例的介绍,此处不再赘述。
在参与方设备的一轮模型训练结束之后,可以向中心设备发送参与方设 备确定的用于下一轮训练的目标掩码序列以及个性化模型的训练梯度,以使 得中心设备可以对各个参与方设备的个性化模型的训练梯度进行聚合,实现 一轮模型训练,并且根据各个参与方设备的目标掩码序列进行下一轮的模型 训练,直至最终的模型训练结束。
本申请实施例提供的联邦模型训练方法,包括:确定目标全局模型。确 定参与方设备对应的目标掩码序列。根据目标掩码序列更新目标全局模型的 模型参数,得到个性化模型。向参与方设备发送个性化模型。通过确定各个 参与方设备各自对应的目标掩码序列,从而可以实现根据各个参与方设备的 个性化掩码序列,得到各个参与方设备的个性化模型,之后向参与方设备发 送个性化模型以实现模型训练。其中个性化的处理是依赖于掩码序列实现的, 而无需训练额外的模型,从而可以有效的降低个性化联邦学习中本地训练的 计算量。
在上述实施例的基础上,下面结合图9对中心设备一侧的联邦模型训练 方法进行进一步的详细介绍。图9为本申请实施例提供的联邦模型训练方法 的流程图四。
如图9所示,该方法包括:
S901、若当前训练为第一轮训练,则将预设模型确定为目标全局模型。
在本实施例中,中心设备需要获取目标全局模型,以及本实施例中的模 型训练会进行多轮。在一种可能的实现方式中,若当前的训练为第一轮训练, 则例如可以将预设模型为目标全局模型。其中,预设模型是中心设备待训练 的模型。
S902、若当前训练为第M轮训练,则获取多个参与方设备发送的多个训 练梯度,并根据多个训练梯度,更新第M-1个全局模型的模型参数,得到目 标全局模型。
以及在另一种可能的实现方式中,若当前的训练不是第一轮训练,而是 第M轮训练,则本实施例中的目标全局模型可以为训练中的全局模型。
则中心设备例如可以获取多个参与方设备发送的多个训练梯度,并且根 据多个训练梯度对第M-1个全局模型的模型参数进行更新,从而第M轮训练 中需要使用的目标全局模型。其中,第M-1个全局模型为第M-1轮训练的全 局模型,目标全局模型为第M个全局模型,M为大于或等于2的整数。
S903、若当前训练为第一轮训练,则将预设掩码序列确定为目标掩码序 列。
以及本实施例中的中心设备还需要确定参与方设备所对应的目标掩码序 列,针对不同的训练轮数,确定目标掩码序列的实现方式不同。以及需要说 明的是,本实施例中的中心设备会确定各个参与方设备各自对应的目标掩码 序列,以及针对各个参与方设备确定目标掩码序列的实现方式是类似的,因 此下面以任一个参与方设备为例进行介绍,对其余的不再进行赘述。
在一种可能的实现方式中,若当前的训练为第一轮训练,则可以将预设 掩码序列确定为目标掩码序列。其中的预设掩码序列可以为上述实施例介绍 的初始掩码序列,也就是说针对参与方设备第一次设置的掩码序列,因此例 如可以是采用掩码初始化的ERK算法确定预设掩码序列,从而确定第一轮训 练中的目标掩码序列。
S904、若当前训练为第M轮训练,则判断是否存在参与方设备发送的掩 码序列,若是,则执行S905,若否,则执行S907。
在另一种可能的实现方式中,若当前的训练不是第一轮训练,而是第M 轮训练,则中心设备例如可以判断是否存在参与方设备发送的掩码序列。基 于上述实施例的介绍可以确定的是,除了第一次训练的掩码序列是中心设备 确定的之外,之后的掩码序列都是参与方设备自行确定的,并且参与方设备 在确定目标掩码序列之后,会将确定的目标掩码序列发送给中心设备。
同时,还需要说明的是,在一种可能的实现方式中,在进行每一轮的模 型训练的时候,中心设备可以是在多个参与方设备中,选择部分参与方设备 参与当前轮的模型训练,而不是让每一个参与方设备都参与模型训练。则可 以理解,在每一轮模型训练中,中心设备可以选择部分参与方设备,并向这 部分被选择的参与方设备发送个性化模型。
那么就可以确定,针对参与方设备来说,其会参与部分轮的模型训练, 若参与方设备参与了模型训练,那么参与方设备就会在模型训练的过程中生 成下一轮要用的目标掩码序列,并发送给中心设备。同样的,若参与方设备 从未参加过模型训练,那么即使当前是第M轮模型训练,那么对于从未参加 过模型训练的参与方设备来说,其目标掩码序列仍然是初始化的预设掩码序 列。因此本实施例中需要判断是否存在参与方设备发送的掩码序列。
S905、获取参与方设备最后一次发送的掩码序列。
在一种可能的实现方式中,若中心设备确定当前存在参与方设备发送的 掩码序列,则表示该参与方设备之前参与过模型训练,因此会向中心设备发 送生成的目标掩码序列。以及还可以确定的是,参与方设备可能会参与多轮 的模型训练,在每一轮模型训练中,参与方设备都会向中心设备发送目标掩 码序列,当前在确定需要使用的掩码序列的时候,实际上是需要参与方设备 最近发送的掩码序列。则可以获取参与方设备最后一次发送的掩码序列。
S906、将参与方设备最后一次发送的掩码序列确定为目标掩码序列。
在获取到参与方设备最后一次发送的掩码序列之后,就可以将参与方设 备最后一次发送的掩码序列确定为目标掩码序列了。
此处结合一个具体的示例进行说明,比如说当前训练是第5轮训练,以 及假设针对参与方设备A,其参与了第2轮训练和第3轮训练,那么在第2 轮训练中,参与方设备A会向中心设备发送目标掩码序列,以及在第3轮训 练中,参与方设备B也会向中心设备发送目标掩码序列。那么在当前的第5 轮训练,在确定参与方设备所对应的目标掩码序列的时候,可以确定当前存 在参与方设备发送的掩码序列,则中心设备可以获取参与方设备最后一次发 送的掩码序列,也就是第3轮训练时发送的掩码序列,并且将第3轮训练时 发送的掩码序列确定为目标掩码序列。
S907、将预设掩码序列确定为目标掩码序列。
以及在另一种可能的实现方式中,若确定当前不存在参与方设备发送的 掩码序列,则表示尽管现在不是第一轮训练,但是该参与方设备之前没有参 与过模型训练,那么针对该参与方设备来说,目标掩码序列仍然还是初始化 的掩码序列,因此可以将预设掩码序列确定为目标掩码序列。
S908、根据目标掩码序列更新目标全局模型的模型参数,得到个性化模 型。
S909、向参与方设备发送个性化模型。
其中,S908、S909的实现方式与上述S803、S804的实现方式类似,此 处不再赘述。
本申请实施例提供的联邦模型训练方法,通过在第一轮模型训练的时候, 将预设模型确定为目标全局模型,以及在后续轮的模型训练的时候,根据参 与方设备发送的训练梯度对上一轮的全局模型进行参数更新,以得到目标全 局模型,从而可以有效的实现基于联邦学习实现模型训练。以及,在确定参 与方设备对应的目标掩码序列的时候,若参与方设备第一次参与模型训练, 则将初始化的预设掩码序列确定为目标掩码序列,以及若参与方设备不是第 一次参与模型训练,则将参与方设备最近一次发送的个性化掩码序列确定为 目标掩码序列,从而可以保证在参与方设备每一次参与模型训练的时候,都 可以有效的确定针对参与方设备的个性化掩码序列,进而可以根据目标全局 模型和个性化掩码序列,确定针对参与方设备的个性化模型,之后向参与方 设备发送个性化模型,从而可以基于掩码,精确简单的实现个性化联邦学习。
上述介绍了针对参与方设备和中心设备两个方面的联邦模型训练方法, 在上述实施例的基础上,下面再结合图10对本申请提供的联邦模型训练方法 进行进一步的***性介绍。图10为本申请实施例提供的联邦模型训练方法的 实现示意图。
参照图10,其中的服务器就是上述介绍的中心设备,本地设备就是上述 介绍的参与方设备。在图10中每轮的训练中,会有以下训练步骤:
1)服务器根据动态的掩码对全局模型进行稀疏化,再将稀疏的模型分发 给本地设备。
2)本地设备在接受到稀疏参数后,使用自己的本地数据进行模型训练。 其中,训练的过程保持同样的稀疏度。
3)训练完成后,本地设备将训练完成的个性化模型的训练梯度以及目标 掩码序列发送给服务器,以实现将稀疏的模型参数更新重新上传到服务端。
4)服务器根据收集到的稀疏更新对全局模型进行聚合更新。
重复执行上述的训练过程,直至达到预设训练轮数,从而完成模型训练。
进一步的,还需要说明,本申请提供的联邦模型训练方法是为了解决如 下的个性化稀疏化联邦学习中的损失最小化的问题:
Figure BDA0003476743590000271
上述公式六中的w表示联邦学***均期望损失函数。
对于上述公式六所示的问题,本申请中基于数据并行随机梯度下降方法 的思想,例如可以给出下列的模型参数更新方法:
Figure BDA0003476743590000277
其中,ξk,t是一个批的数据,它是从本地设备的数据分布中随机取样的。 η是本地训练的学习率,
Figure BDA0003476743590000278
是根据最优个性化掩码稀疏的稀疏 参数。
但是由于最优的掩码是未知的。我们暂时假设有另一个解决方案在迭代 地寻找最优的个性化掩码。基于此,我们可以改写上述模型参数更新方案:
Figure RE-GDA0003596264640000279
其中mk,t是迭代获得的个性化掩码。值得一提的是,由于部分参数被掩 码覆盖为0,故在该更新的过程中,只有一部分的参数会参与到神经网络的 前向传播的过程中,一定程度能降低训练的计算复杂度。另外,在梯度后向 传播时,由于后传梯度会与个性化掩码向量相乘,故只有部分梯度需要进行 后传,能进一步降低训练的计算复杂度。除此之外,由于上传的更新是稀疏 的,该更新方法能进一步降低聚合和同步的通信开销。
在上述更新方案中,全局模型wt必须在进行一步SGD之后更新和同步, 并且在完全参与的情况下。在联邦学习中,为了进一步节省通信开销,我们 通常采用1)local SGD,即在进行同步之前允许SGD更新的多个本地步骤, 也就是说各个参与方设备在本地执行SGD,以实现对个性化模型的训练。以 及2)部分参与,即,只有一小部分本地设备会进行本地训练。也就是上述介 绍的每次选择部分参与方设备参与本轮的模型训练。
基于此,我们将数据并行SGD解决方案进行相同的改写。令
Figure BDA0003476743590000281
表 示进行localSGD第τ+1步之前的权重,让
Figure BDA0003476743590000282
(这意味着 本地权重将与全局权重会在τ=0时同步)。在我们的联合适应解决方案中, 对于τ∈{0,...,N-1},每个本地设备k∈St对其模型执行以下本地SGD:
Figure BDA0003476743590000283
其中ξk,t,τ表示一个在第t轮的第τ步取样的一批的数据。进行本地训练后, 本地设备会将稀疏的参数更新传到服务器进行聚合,具体来说这个过程可以 表述为:
Figure RE-GDA0003596264640000284
其中,St是一个随机选择的本地设备的集合,S=|St|是每轮需要被 选择设备的数量。
在上述介绍内容的基础上,本实施例中的联邦模型训练方法可以进一步 总结为图11所示的算法流程。图11为本申请实施例提供的个性化联邦学习 算法的实现示意图。
如图11所示:
1.设置超参数:训练模型学习率η,每轮选择设备的数量S,本地训练次 数N,全局通信轮数T。
服务端主进程执行如下操作:
2.随机初始化全局模型参数w0
3.调用掩码搜寻算法,确定初始化的掩码序列mk,0
4.当训练轮数t=0,1,...,T-1时,执行:
5.抽样选择S个参与方设备进入集合St
6.针对各个参与方设备,若参与方设备k不属于集合St
7.则设置该参与方设备k的下一轮掩码序列mk,t+1=mk,t
8.针对各个参与方设备,若参与方设备k属于集合St
9.则发送稀疏参数
Figure BDA0003476743590000285
到设备k;
10.调用设备端主进程获取更新梯度Uk,t和下一轮的掩码mk,t+1
11.服务器端聚合更新模型参数,得到目标全局模型
Figure BDA0003476743590000286
Figure BDA0003476743590000287
可以理解,每执行完上述的一轮模型训练,就将t加1,当t大于等于T 的时候,可以确定模型训练结束。
之后,服务器端可以对参与方设备k,输出训练好的稀疏个性化参数 mk,T⊙wT
上述介绍的是服务端主进程,基于上述介绍可以确定,服务端主进程可 以调用设备端主进程获取更新梯度Uk,t和下一轮的掩码mk,t+1,则下面再对设 备端主进程的实现进行介绍。
12.当本地训练轮数τ=0,1,...,N-1时,执行:
13.随机采样一个批(batch)的数据,记为ξk,t,τ
14.计算损失函数后传后的梯度:
Figure BDA0003476743590000291
15.执行以下计算:
Figure BDA0003476743590000292
16.计算τ步后累计梯度更新
Figure BDA0003476743590000293
15.通过掩码搜索算法Next_Masks(·)设定下一个掩码序列 mk,t+1=Next_Masks(·);
16.发送累计梯度更新Uk,t和下一个掩码序列mk,t+1到服务端。
可以理解,上述的12-16步实际上就是本地SGD的过程。
以及还需要对掩码搜索算法Next_Masks(·)进行介绍:
17.设置超参数:初始每轮剪枝率α0
18.第一次掩码设置的掩码初始化方法为:
根据ERK计算神经网络稀疏比例。按照稀疏比例随机初始化掩码 mk,0
返回初始化掩码mk,0
19.除第一次掩码设置之外,掩码的确定时通过搜寻下一个掩码的算法 Next_Masks(·)来确定,其中Next_Masks(·):
20.根据α0衰减每轮剪枝量;
21.随机采样一个批(batch)的数据,记为ξk,t,N
22.计算损失函数后传后的梯度:
Figure BDA0003476743590000294
23.当网络结构层索引j属于网络结构层集合
Figure BDA0003476743590000295
时,执行:
24.剪枝一部分参数:
Figure BDA0003476743590000296
25.重新复原一部分参数:
Figure BDA0003476743590000297
26.返回下一个掩码
Figure BDA0003476743590000301
上述介绍的就是中心设备和参与方设备执行联邦模型训练方法的整体实 现算法流程,其中各个步骤的具体实现可以参照上述实施例的介绍,此处不 再赘述。
对于以上技术,在我们给出了以下的收敛性结论。该收敛性结论可以保 证本申请的方法产生的个性化模型收敛到最小极值点附近,从而证明本申请 的提出的方法的有效性。
在连续性假设,方差有界,梯度有界,以及设备梯度差异有界的假设下, 假设学习率
Figure BDA0003476743590000302
以及所有的最优个性化掩码都满足相同的稀疏条件,即
Figure BDA0003476743590000303
本申请的有以下的收敛性结论:
Figure BDA0003476743590000304
其中,中间结果
Figure BDA0003476743590000305
中间结果
Figure BDA0003476743590000306
中间结果
Figure BDA0003476743590000307
Figure BDA0003476743590000308
β表示需要进行稀疏化的参数的数量。
B为梯度有界假设中的常数,即
Figure BDA0003476743590000309
G为设备梯度有界假设中的常数,即
Figure BDA00034767435900003010
σ2为梯度方差有界假设中的常数,即
Figure BDA00034767435900003011
d表示模型参数的维度。
k′和k为求和的下标。∑k和∑k′别表示对k=1,2,...,K以及k′=1,2,...,K 求和。
dist(m1,m2)表示掩码m1和掩码m2之间的汉明距离。
在上述介绍内容的基础上,可以理解,对于传统联邦学习单模型部署对 整体精度提高存在局限性的问题。本申请的技术方案容许多个个性化模型部 署在不同的本地设备,以突破该单模型部署约束。
以及,对于采用模型分层实现个性化联邦学习存在鲁棒性和推广性较差 的问题。本申请的技术方案不需要对具体模型进行个性化分层,所有的优化 超参与具体的模型实现无关。
以及,对于使用近端算子和模型插值实现个性化联邦学习存在需要额外 训练开销以训练本地模型的问题。本申请的技术方案不需要额外训练一个本 地的模型。具体的个性化是由训练一个个性化的掩码来实现。相比训练个性 化模型,寻找个性化掩码只需要可以忽略的额外计算开销。
以及,对于通过个性化模型压缩的现有方案。本申请的技术方案能保证 整个训练过程都是基于一个稀疏的模型。相比之下,本申请的技术方案1)可 以显着减少训练计算开销,因为训练始终在稀疏模型上执行,并且2)通过真 实数据实验证实它在收敛速度和模型精度方面具有更好的性能。3)给出了本 申请的技术方案在非凸情况下存在收敛速率上界,即通过该方案部署的模型 能收敛到一个具有梯度上界的较优点。
综上所述,本申请的技术方案是一种基于稀疏训练的个性化联邦学习训 练算法。首次提出应用动态稀疏训练技术于个性化联邦学习训练中。其中, 针对稀疏训练和个性化联邦学习的特点,提出了成体系的模型参数更新和聚 合方案。具体来说,本申请的技术方案首次提出在联邦学习本地训练时保持 同样的模型稀疏度进行训练。在全局聚合时,不直接对模型参数进行聚合, 而对稀疏化的模型更新参数进行聚合。
同时,针对个性化联邦学习的特点,本申请的技术方案改进了稀疏训练 的最优掩码寻找算法。具体来说,我们首次提出应用全局模型来热启动稀疏 训练的掩码寻找过程。此外,本申请的技术方案给出了稀疏个性化算法的收 敛速度上界。通过误差分析,理论解释了本申请的技术方案的算法为何在数 据高度异构性的情况下会有更好的收敛与推理效果。
图12为本申请实施例提供的联邦模型训练装置的结构示意图一。如图12所示,该装置120包括:接收模块1201、训练模块1202、确定模块1203 以及发送模块1204。
接收模块1201,用于接收中心设备发送的个性化模型,所述个性化模型 的有效模型参数的数量小于全局模型的有效模型参数的数量;
训练模块1202,用于对所述个性化模型进行模型训练,得到所述个性化 模型的训练梯度,所述训练梯度中包括所述个性化模型中各模型参数的梯度;
确定模块1203,用于根据所述个性化模型的梯度、所述个性化模型的模 型参数和剪枝量,确定目标掩码序列,所述目标掩码序列用于所述中心设备 确定下一轮训练中的个性化模型;
发送模块1204,用于向所述中心设备发送所述目标掩码序列和所述个性 化模型的训练梯度。
在一种可能的设计中,所述确定模块1203具体用于:
根据所述个性化模型的模型参数,确定第一掩码序列;
根据所述剪枝量对所述第一掩码序列中的部分掩码设置为第一预设值, 得到第二掩码序列;
根据所述剪枝量对所述第二掩码序列中的部分掩码设置为第二预设值, 得到所述目标掩码序列。
在一种可能的设计中,所述确定模块1203具体用于:
确定所述个性化模型的每个模型参数的参数状态;
根据所述个性化模型的每个模型参数的参数状态,确定所述第一掩码序 列。
在一种可能的设计中,所述确定模块1203具体用于:
将有效状态的模型参数对应的掩码设置为第二预设值,以及将无效状态 的模型参数对应的掩码设置为第一预设值,以得到所述第一掩码序列。
在一种可能的设计中,所述剪枝量为α,所述α为大于或等于1的整数; 所述确定模块1203具体用于:
根据所述个性化模型中的有效模型参数的权重进行从大到小的排序,得 到有效模型参数序列;
将所述有效模型参数序列中末端的α个有效模型参数确定为第一有效模 型参数;
将所述第一掩码序列中所述第一有效模型参数对应的掩码设置为所述第 一预设值,得到所述第二掩码序列。
在一种可能的设计中,所述剪枝量为α,所述α为大于或等于1的整数; 所述确定模块1203具体用于:
获取所述第二掩码序列中各第一掩码对应的梯度,所述第一掩码的值为 所述第一预设值;
根据所述第二掩码序列中各第一掩码对应的梯度,在所述第二掩码序列 的第一掩码中确定α个待选掩码;
将所述第二掩码序列中的所述α个待选掩码设置为所述第二预设值,得到 所述目标掩码序列。
在一种可能的设计中,所述确定模块1203具体用于:
确定所述第二掩码序列中各第一掩码对应的模型参数;
将各第一掩码对应的模型参数的梯度确定为各第一掩码对应的梯度。
在一种可能的设计中,所述确定模块1203具体用于:
按照对应的梯度从大到小的顺序,对所述第二掩码序列中的第一掩码进 行排序;
将排序后的第一掩码中的前α个掩码确定为所述α个待选掩码。
在一种可能的设计中,所述模型训练包括N次迭代,所述N为大于1的 整数;所述训练模块1202具体用于:
获取每个模型参数对应的N个中间梯度;
根据每个模型参数对应的N个中间梯度,确定得到所述个性化模型的训 练梯度。
本实施例提供的装置,可用于执行上述方法实施例的技术方案,其实现 原理和技术效果类似,本实施例此处不再赘述。
图13为本申请实施例提供的联邦模型训练装置的结构示意图二。如图 13所示,该装置130包括:确定模块1301、更新模块1302、发送模块1303。
确定模块1301,用于确定目标全局模型;
所述确定模块1301,还确定所述参与方设备对应的目标掩码序列;
更新模块1302,用于根据所述目标掩码序列更新所述目标全局模型的模 型参数,得到个性化模型;
发送模块1303,用于向所述参与方设备发送所述个性化模型。
在一种可能的设计中,所述确定模块1301具体用于:
若当前训练为第一轮训练,则将预设模型确定为所述目标全局模型;
若当前训练为第M轮训练,则获取多个参与方设备发送的多个训练梯度, 并根据第M-1个全局模型和所述多个训练梯度,确定所述目标全局模型,所 述第M-1个全局模型为第M-1轮训练的全局模型,所述目标全局模型为第M 个全局模型,所述M为大于或等于2的整数。
在一种可能的设计中,所述确定模块1301具体用于:
根据所述多个训练梯度,更新所述第M-1个全局模型的模型参数,得到 所述目标全局模型。
在一种可能的设计中,所述确定模块1301具体用于:
若当前训练为第一轮训练,则将预设掩码序列确定为所述目标掩码序列;
若当前训练为第M轮训练,则判断是否存在所述参与方设备发送的掩码 序列,若是,则根据所述参与方设备发送的掩码序列确定所述目标掩码序列; 若否,则将所述预设掩码序列确定为所述目标掩码序列。
在一种可能的设计中,所述确定模块1301具体用于:
获取所述参与方设备最后一次发送的掩码序列;
将所述参与方设备最后一次发送的掩码序列确定为所述目标掩码序列。
本实施例提供的装置,可用于执行上述方法实施例的技术方案,其实现 原理和技术效果类似,本实施例此处不再赘述。
图14为本申请实施例提供的联邦模型训练设备的硬件结构示意图,如图 14所示,本实施例的联邦模型训练设备140包括:处理器1401以及存储器 1402;其中
存储器1402,用于存储计算机执行指令;
处理器1401,用于执行存储器存储的计算机执行指令,以实现上述实施 例中联邦模型训练方法所执行的各个步骤。具体可以参见前述方法实施例中 的相关描述。
可选地,存储器1402既可以是独立的,也可以跟处理器1401集成在一 起。
当存储器1402独立设置时,该联邦模型训练设备还包括总线1403,用 于连接所述存储器1402和处理器1401。
本申请实施例还提供一种计算机可读存储介质,所述计算机可读存储介 质中存储有计算机执行指令,当处理器执行所述计算机执行指令时,实现如 上联邦模型训练设备所执行的联邦模型训练方法。
在本申请所提供的几个实施例中,应该理解到,所揭露的设备和方法, 可以通过其它的方式实现。例如,以上所描述的设备实施例仅仅是示意性的, 例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外 的划分方式,例如多个模块可以结合或者可以集成到另一个***,或一些特 征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦 合或通信连接可以是通过一些接口,装置或模块的间接耦合或通信连接,可 以是电性,机械或其它的形式。
上述以软件功能模块的形式实现的集成的模块,可以存储在一个计算机 可读取存储介质中。上述软件功能模块存储在一个存储介质中,包括若干指 令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等) 或处理器(英文:processor)执行本申请各个实施例所述方法的部分步骤。
应理解,上述处理器可以是中央处理单元(英文:Central Processing Unit, 简称:CPU),还可以是其他通用处理器、数字信号处理器(英文:Digital Signal Processor,简称:DSP)、专用集成电路(英文:Application Specific Integrated Circuit,简称:ASIC)等。通用处理器可以是微处理器或者该处理器也可以 是任何常规的处理器等。结合发明所公开的方法的步骤可以直接体现为硬件 处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。
存储器可能包含高速RAM存储器,也可能还包括非易失性存储NVM, 例如至少一个磁盘存储器,还可以为U盘、移动硬盘、只读存储器、磁盘或 光盘等。
总线可以是工业标准体系结构(Industry Standard Architecture,ISA)总 线、外部设备互连(Peripheral Component,PCI)总线或扩展工业标准体系结 构(ExtendedIndustry Standard Architecture,EISA)总线等。总线可以分为地 址总线、数据总线、控制总线等。为便于表示,本申请附图中的总线并不限 定仅有一根总线或一种类型的总线。
上述存储介质可以是由任何类型的易失性或非易失性存储设备或者它们 的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器 (EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器 (PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。存 储介质可以是通用或专用计算机能够存取的任何可用介质。
本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步 骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可 读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而 前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码 的介质。
最后应说明的是:以上各实施例仅用以说明本申请的技术方案,而非对 其限制;尽管参照前述各实施例对本申请进行了详细的说明,本领域的普通 技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改, 或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并 不使相应技术方案的本质脱离本申请各实施例技术方案的范围。

Claims (19)

1.一种联邦模型训练方法,其特征在于,应用于参与方设备,所述方法包括:
接收中心设备发送的个性化模型,所述个性化模型的有效模型参数的数量小于全局模型的有效模型参数的数量;
对所述个性化模型进行模型训练,得到所述个性化模型的训练梯度,所述训练梯度中包括所述个性化模型中各模型参数的梯度;
根据所述个性化模型的梯度、所述个性化模型的模型参数和剪枝量,确定目标掩码序列,所述目标掩码序列用于所述中心设备确定下一轮训练中的个性化模型;
向所述中心设备发送所述目标掩码序列和所述个性化模型的训练梯度。
2.根据权利要求1所述的方法,其特征在于,根据所述个性化模型的梯度、所述个性化模型的模型参数和剪枝量,确定目标掩码序列,包括:
根据所述个性化模型的模型参数,确定第一掩码序列;
根据所述剪枝量对所述第一掩码序列中的部分掩码设置为第一预设值,得到第二掩码序列;
根据所述剪枝量对所述第二掩码序列中的部分掩码设置为第二预设值,得到所述目标掩码序列。
3.根据权利要求2所述的方法,其特征在于,根据所述个性化模型的模型参数,确定第一掩码序列,包括:
确定所述个性化模型的每个模型参数的参数状态;
根据所述个性化模型的每个模型参数的参数状态,确定所述第一掩码序列。
4.根据权利要求3所述的方法,其特征在于,根据所述个性化模型的每个模型参数的参数状态,确定所述第一掩码序列,包括:
将有效状态的模型参数对应的掩码设置为第二预设值,以及将无效状态的模型参数对应的掩码设置为第一预设值,以得到所述第一掩码序列。
5.根据权利要求2-4任一项所述的方法,其特征在于,所述剪枝量为α,所述α为大于或等于1的整数;根据所述剪枝量对所述第一掩码序列中的部分掩码设置为第一预设值,得到第二掩码序列,包括:
根据所述个性化模型中的有效模型参数的权重进行从大到小的排序,得到有效模型参数序列;
将所述有效模型参数序列中末端的α个有效模型参数确定为第一有效模型参数;
将所述第一掩码序列中所述第一有效模型参数对应的掩码设置为所述第一预设值,得到所述第二掩码序列。
6.根据权利要求2-5任一项所述的方法,其特征在于,所述剪枝量为α,所述α为大于或等于1的整数;根据所述剪枝量对所述第二掩码序列中的部分掩码设置为第二预设值,得到所述目标掩码序列,包括:
获取所述第二掩码序列中各第一掩码对应的梯度,所述第一掩码的值为所述第一预设值;
根据所述第二掩码序列中各第一掩码对应的梯度,在所述第二掩码序列的第一掩码中确定α个待选掩码;
将所述第二掩码序列中的所述α个待选掩码设置为所述第二预设值,得到所述目标掩码序列。
7.根据权利要求6所述的方法,其特征在于,获取所述第二掩码序列中各第一掩码对应的梯度,包括:
确定所述第二掩码序列中各第一掩码对应的模型参数;
将各第一掩码对应的模型参数的梯度确定为各第一掩码对应的梯度。
8.根据权利要求6或7所述的方法,其特征在于,根据所述第二掩码序列中各第一掩码对应的梯度,在所述第二掩码序列的第一掩码中确定α个待选掩码,包括:
按照对应的梯度从大到小的顺序,对所述第二掩码序列中的第一掩码进行排序;
将排序后的第一掩码中的前α个掩码确定为所述α个待选掩码。
9.根据权利要求8所述的方法,其特征在于,所述模型训练包括N次迭代,所述N为大于1的整数;对所述个性化模型进行模型训练,得到所述个性化模型的训练梯度,包括:
获取每个模型参数对应的N个中间梯度;
根据每个模型参数对应的N个中间梯度,确定得到所述个性化模型的训练梯度。
10.一种联邦模型训练方法,其特征在于,应用于中心设备,所述方法包括:
确定目标全局模型;
确定参与方设备对应的目标掩码序列;
根据所述目标掩码序列更新所述目标全局模型的模型参数,得到个性化模型;
向所述参与方设备发送所述个性化模型。
11.根据权利要求10所述的方法,其特征在于,确定目标全局模型,包括:
若当前训练为第一轮训练,则将预设模型确定为所述目标全局模型;
若当前训练为第M轮训练,则获取多个参与方设备发送的多个训练梯度,并根据第M-1个全局模型和所述多个训练梯度,确定所述目标全局模型,所述第M-1个全局模型为第M-1轮训练的全局模型,所述目标全局模型为第M个全局模型,所述M为大于或等于2的整数。
12.根据权利要求11所述的方法,其特征在于,根据第M-1个全局模型和所述多个训练梯度,确定所述目标全局模型,包括:
根据所述多个训练梯度,更新所述第M-1个全局模型的模型参数,得到所述目标全局模型。
13.根据权利要求10-12任一项所述的方法,其特征在于,确定所述参与方设备对应的目标掩码序列,包括:
若当前训练为第一轮训练,则将预设掩码序列确定为所述目标掩码序列;
若当前训练为第M轮训练,则判断是否存在所述参与方设备发送的掩码序列,若是,则根据所述参与方设备发送的掩码序列确定所述目标掩码序列;若否,则将所述预设掩码序列确定为所述目标掩码序列。
14.根据权利要求13所述的方法,其特征在于,根据所述参与方设备发送的掩码序列确定所述目标掩码序列,包括:
获取所述参与方设备最后一次发送的掩码序列;
将所述参与方设备最后一次发送的掩码序列确定为所述目标掩码序列。
15.一种联邦模型训练装置,其特征在于,应用于参与方设备,所述装置包括:
接收模块,用于接收中心设备发送的个性化模型,所述个性化模型的有效模型参数的数量小于全局模型的有效模型参数的数量;
训练模块,用于对所述个性化模型进行模型训练,得到所述个性化模型的训练梯度,所述训练梯度中包括所述个性化模型中各模型参数的梯度;
确定模块,用于根据所述个性化模型的梯度、所述个性化模型的模型参数和剪枝量,确定目标掩码序列,所述目标掩码序列用于所述中心设备确定下一轮训练中的个性化模型;
发送模块,用于向所述中心设备发送所述目标掩码序列和所述个性化模型的训练梯度。
16.一种联邦模型训练装置,其特征在于,应用于中心设备,所述装置包括:
确定模块,用于确定目标全局模型;
所述确定模块,还用于确定参与方设备对应的目标掩码序列;
更新模块,用于根据所述目标掩码序列更新所述目标全局模型的模型参数,得到个性化模型;
发送模块,用于向所述参与方设备发送所述个性化模型。
17.一种联邦模型训练设备,其特征在于,包括:
存储器,用于存储程序;
处理器,用于执行所述存储器存储的所述程序,当所述程序被执行时,所述处理器用于执行如权利要求1至9或者权利要求10-14中任一所述的方法。
18.一种计算机可读存储介质,其特征在于,包括指令,当其在计算机上运行时,使得计算机执行如权利要求1至9或者权利要求10-14中任一所述的方法。
19.一种计算机程序产品,包括计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至9或者权利要求10-14中任一项所述的方法。
CN202210056987.3A 2022-01-18 2022-01-18 联邦模型训练方法及装置 Pending CN114492837A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210056987.3A CN114492837A (zh) 2022-01-18 2022-01-18 联邦模型训练方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210056987.3A CN114492837A (zh) 2022-01-18 2022-01-18 联邦模型训练方法及装置

Publications (1)

Publication Number Publication Date
CN114492837A true CN114492837A (zh) 2022-05-13

Family

ID=81472674

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210056987.3A Pending CN114492837A (zh) 2022-01-18 2022-01-18 联邦模型训练方法及装置

Country Status (1)

Country Link
CN (1) CN114492837A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116306884A (zh) * 2023-03-03 2023-06-23 北京泰尔英福科技有限公司 联邦学习模型剪枝方法、装置及非易失性存储介质

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116306884A (zh) * 2023-03-03 2023-06-23 北京泰尔英福科技有限公司 联邦学习模型剪枝方法、装置及非易失性存储介质
CN116306884B (zh) * 2023-03-03 2024-02-06 北京泰尔英福科技有限公司 联邦学习模型剪枝方法、装置及非易失性存储介质

Similar Documents

Publication Publication Date Title
Fletcher et al. Inference in deep networks in high dimensions
Chaudhari et al. Trident: Efficient 4pc framework for privacy preserving machine learning
CN111814977B (zh) 训练事件预测模型的方法及装置
CN111030861B (zh) 一种边缘计算分布式模型训练方法、终端和网络侧设备
CN111062487B (zh) 基于数据隐私保护的机器学习模型特征筛选方法及装置
EP4350572A1 (en) Method, apparatus and system for generating neural network model, devices, medium and program product
CN113850272A (zh) 基于本地差分隐私的联邦学习图像分类方法
CN114514519A (zh) 使用异构模型类型和架构的联合学习
US11843587B2 (en) Systems and methods for tree-based model inference using multi-party computation
CN113221183A (zh) 实现隐私保护的多方协同更新模型的方法、装置及***
Peng et al. Asynchronous distributed variational Gaussian process for regression
Pandit et al. Asymptotics of MAP inference in deep networks
CN112948885B (zh) 实现隐私保护的多方协同更新模型的方法、装置及***
CN114330673A (zh) 一种对业务预测模型进行多方联合训练的方法及装置
CN114362948B (zh) 一种联邦衍生特征逻辑回归建模方法
CN114492837A (zh) 联邦模型训练方法及装置
US20230325718A1 (en) Method and apparatus for joint training logistic regression model
CN115134114B (zh) 基于离散混淆自编码器的纵向联邦学习攻击防御方法
CN109697511B (zh) 数据推理方法、装置及计算机设备
CN114662148A (zh) 一种保护隐私的多方联合训练方法及装置
CN116341636A (zh) 联邦学习方法、设备、***和存储介质
WO2023038940A1 (en) Systems and methods for tree-based model inference using multi-party computation
CN114399901A (zh) 一种控制交通***的方法和设备
CN113642627B (zh) 一种基于深度学习的图像与决策多源异类信息融合识别方法和装置
Liu et al. Pencil: Private and Extensible Collaborative Learning without the Non-Colluding Assumption

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