CN112365006A - 用于联邦学习的并行训练方法及系统 - Google Patents

用于联邦学习的并行训练方法及系统 Download PDF

Info

Publication number
CN112365006A
CN112365006A CN202110033547.1A CN202110033547A CN112365006A CN 112365006 A CN112365006 A CN 112365006A CN 202110033547 A CN202110033547 A CN 202110033547A CN 112365006 A CN112365006 A CN 112365006A
Authority
CN
China
Prior art keywords
data
intersection
mapping
participant
party
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
Application number
CN202110033547.1A
Other languages
English (en)
Other versions
CN112365006B (zh
Inventor
彭瑞
陆万航
胡水海
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shenzhen Zhixing Technology Co Ltd
Original Assignee
Shenzhen Zhixing 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 Shenzhen Zhixing Technology Co Ltd filed Critical Shenzhen Zhixing Technology Co Ltd
Priority to CN202110033547.1A priority Critical patent/CN112365006B/zh
Publication of CN112365006A publication Critical patent/CN112365006A/zh
Application granted granted Critical
Publication of CN112365006B publication Critical patent/CN112365006B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/901Indexing; Data structures therefor; Storage structures
    • G06F16/9014Indexing; Data structures therefor; Storage structures hash tables

Landscapes

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

Abstract

本申请涉及一种用于联邦学习的并行训练方法。该方法包括:获得第一参与方的私有数据和第二参与方的私有数据之间具有相同标志的交集;根据基于标志确定的映射方式得到关联数据集合;通过预设分组规则对第一参与方的硬件资源和第二参与方的硬件资源进行分组后分别得到第一参与方的硬件分组和第二参与方的硬件分组;分别获得关联数据集合和第一参与方的硬件分组之间的第一匹配关系以及关联数据集合和第二参与方的硬件分组之间的第二匹配关系;以及根据第一匹配关系和第二匹配关系,协同调动第一参与方的硬件资源和第二参与方的硬件资源,利用关联数据集合进行并行训练。

Description

用于联邦学习的并行训练方法及系统
技术领域
本申请涉及数据处理及隐私保护技术领域,具体涉及一种用于联邦学习的并行训练方法及系统。
背景技术
随着大数据分析和人工智能技术的发展,对高质量标签数据的需求越来越大。例如,对神经网络进行训练以及进行数据挖掘都需要用到海量带有标签的数据。而这些带标签的数据往往来源于日常生活经营活动而产生和积累的应用数据。应用数据往往分散在不同的组织和个体手上,例如交易数据分散在各个金融机构,医疗诊断数据分散在各个医疗机构。另外跨行业跨领域的应用数据往往也是分散的,例如互联网领域的社交属性数据和电商交易数据往往由不同实体掌控。出于保护自身商业利益的目的,也基于数据安全、用户隐私保护以及各行业的政策法规标准不一等考量,掌握应用数据的各个组织或个体往往不愿意或者没有合适手段进行彼此之间的合作,从而很难让各自掌握的应用数据共同发挥作用。这种数据分享和协同合作方面的困境被称之为数据孤岛现象。为了解决跨行业跨组织的数据合作难题,尤其是关键的隐私保护及数据安全的问题,提出了联邦学习的概念。联邦学习指的是拥有数据的各个参与方,在无需共享数据资源且数据不出本地的前提下,通过加密的方式进行加密后数据的联合训练从而协同优化共享机器学习模型而实现多赢合作。
现有技术中,一般通过多个图形处理器GPU用于加速并行化计算多层神经网络,因为GPU的并行能力可以有效提高模型对于高度一致的并行数据的处理。例如,将训练数据按照不同的ID平均分配到各个GPU上进行训练,训练完成再进行模型聚合。但是,数据并行的方法只适用于横向联邦学习,即各方掌握着不同实体的相同类型的数据,并不适用于纵向联邦学习,即不同的实体对同一批用户拥有不同的信息。在纵向联邦学习的应用场景,不同实体之间掌握的数据具有深度的关联性,为此需要处理参与方的数据相关性问题,即实现相同个体的数据对齐,从而方便实现模型聚合。另外,现有技术中的数据并行的方法不能处理不同实体之间的硬件差异性问题。硬件差异指的是不同实体进行训练时采用的硬件上存在较大差异。例如,各个实体拥有的显卡在显存、算力乃至数量上会有较大的差异。因此在进行联邦学习的时候,需要考虑对共有的数据集进行平均分配。
为此,联邦学习相关应用场景需要一种技术手段能解决联邦学习的数据相关性问题和硬件差异性问题并且利于加速并行化训练多层神经网络。
发明内容
本申请的目的在于,为了解决纵向联邦学习的数据相关性问题和不同实体之间的硬件差异性问题,通过一种用于联邦学习的并行训练方法及系统,从而实现了跨平台跨实体的联邦学习下的并行训练。
第一方面,本申请实施例提供了一种用于联邦学习的并行训练方法。该方法包括:获得第一参与方的私有数据和第二参与方的私有数据之间具有相同标志的交集;根据基于所述标志确定的映射方式,将所述第一参与方的私有数据中与所述交集对应的部分和所述第二参与方的私有数据中与所述交集对应的部分均映射到关联数据集合;通过预设分组规则对所述第一参与方的硬件资源和所述第二参与方的硬件资源进行分组后分别得到所述第一参与方的硬件分组和所述第二参与方的硬件分组;分别获得所述关联数据集合和所述第一参与方的硬件分组之间的第一匹配关系以及所述关联数据集合和所述第二参与方的硬件分组之间的第二匹配关系;以及根据所述第一匹配关系和所述第二匹配关系,协同调动所述第一参与方的硬件资源和所述第二参与方的硬件资源,利用所述关联数据集合进行并行训练。
第一方面所描述的技术方案,通过建立关联数据集合,而关联数据集合包括各个参与方所持有的关联数据与对应的标志之间的对应关系或者映射关系,从而解决了不同参与方的数据关联性问题;通过预设分组规则对各个参与方的硬件资源进行分组,从而解决了不同参与方的硬件差异性问题;通过各个参与方各自的硬件资源被分组后的硬件分组和关联数据集合之间的匹配关系,确保了并行训练中迭代中间结果和数据交换发生在恰当的计算设备之间,从而实现跨平台跨实体的联邦学习下的并行训练。并且,因为各个参与方各自的硬件资源被分组后的硬件分组和关联数据集合之间的匹配关系,根据之前步骤中提及的预设分组规则和映射方式而定,因此可以实现结合实际需求而灵活配置,有利于在保证各参与方拥有的数据的保密性和隐私性的前提下,结合其他参与方拥有的数据进行训练,获得更为准确的模型。
根据第一方面,在一种可能的实现方式中,所述标志包括用于验证用户身份的特征或者特征组合。如此,实现了在不同参与方的私有数据中确定对应同一用户的数据的交集。
根据第一方面,在一种可能的实现方式中,建立与所述标志一一对应的数据索引,其中,所述映射方式包括所述数据索引;和根据所述数据索引,分别对所述第一参与方的私有数据中与所述交集对应的部分和所述第二参与方的私有数据中与所述交集对应的部分进行排序,得到所述关联数据集合。如此,实现了在关联数据集合中,建立起各个参与方的私有数据中与所述交集对应的部分和数据索引中对应排序位置之间的对应关系,有利于通过两个数据在数据索引中排序位置来判断该两个数据是否具有相同标志,从而有利于后续操作的简化。
根据第一方面,在一种可能的实现方式中,建立与所述标志一一对应的内存地址索引,其中,所述映射方式包括所述内存地址索引;和根据所述内存地址索引,分别建立所述第一参与方的私有数据中与所述交集对应的部分和所述第一参与方的内存资源之间的第一映射关系以及所述第二参与方的私有数据中与所述交集对应的部分和所述第二参与方的内存资源之间的第二映射关系,其中,所述关联数据集合包括所述第一映射关系和所述第二映射关系。如此,通过内存地址索引,实现了在关联数据集合中,建立起各个参与方的私有数据中与所述交集对应的部分和内存地址索引中特定内存地址的对应关系,从而有利于后续操作的简化。在一些示例性实施例中,可以将各个参与方的存储空间都虚拟化成共同的存储空间,再利用该共同的存储空间的内存地址来建立内存地址索引。
根据第一方面,在一种可能的实现方式中,通过Hash算法,获得与所述标志一一对应的Hash值,其中,所述映射方式包括所述Hash值;和根据所述Hash值,分别建立所述第一参与方的私有数据中与所述交集对应的部分和所述Hash值之间的第一映射关系以及所述第二参与方的私有数据中与所述交集对应的部分和所述Hash值之间的第二映射关系,其中,所述关联数据集合包括所述第一映射关系和所述第二映射关系。如此,通过Hash算法或者哈希算法,可以建立标志与Hash值的对应关系,再进一步确定各个参与方的私有数据中与所述交集对应的部分与Hash值的映射关系,并且关联数据集合中包括这些映射关系,有利于后续操作的简化。
根据第一方面,在一种可能的实现方式中,所述标志包括用于验证用户身份的所述特征组合,所述特征组合包括第一特征和第二特征。其中,根据基于所述标志确定的所述映射方式,将所述第一参与方的私有数据中与所述交集对应的部分和所述第二参与方的私有数据中与所述交集对应的部分均映射到所述关联数据集合,包括:根据所述第一特征,分别对所述第一参与方的私有数据中与所述交集对应的部分和所述第二参与方的私有数据中与所述交集对应的部分进行分类,得到具有相同的所述第一特征的所述第一参与方的用户第一特征分组和所述二参与方的用户第一特征分组;和根据所述第二特征,分别对述第一参与方的用户第一特征分组和所述二参与方的用户第一特征分组进行排序,得到所述关联数据集合。如此,可以建立标志与特征组合的各个特征的对应关系,并且依次按照特征组合进行排序,有利于后续操作的简化。
根据第一方面,在一种可能的实现方式中,根据数据处理能力指标对所述第一参与方的硬件资源进行分组从而在所述第一参与方的硬件分组的每一个硬件分组中平均分配该数据处理能力指标;以及根据所述数据处理能力指标对所述第二参与方的硬件资源进行分组从而在所述第二参与方的硬件分组的每一个硬件分组中平均分配该数据处理能力指标。如此,通过预设分组规则实现了在参与方的硬件分组中平均分配数据处理能力指标以及该数据处理能力指标所体现的数据处理能力的预期效果,从而有利于后续协同各个参与方各自的硬件资源进行并行训练。
根据第一方面,在一种可能的实现方式中,所述数据处理能力指标包括最大并行处理数据量、GPU的显存大小、GPU算力、GPU个数、通道数或者处理器主频。如此,实现了在参与方的硬件分组中平均分配数据处理能力指标。
根据第一方面,在一种可能的实现方式中,所述预设分组规则包括根据GPU算力进行排序,其中,在所述第一匹配关系和所述第二匹配关系中,所述关联数据集合中具有较高优先级的数据匹配具有较高算力的GPU。如此,通过根据GPU算力的高低进行排序,有利于后续操作中针对算力较高的GPU做出不同的配置,有利于提高并行训练效率。
根据第一方面,在一种可能的实现方式中,所述优先级根据数据类型、数据子集类型、或者用户偏好确定。如此,实现了资源的优化配置和灵活性。
根据第一方面,在一种可能的实现方式中,所述第一参与方的硬件资源或者所述第二参与方的硬件资源是将多个GPU虚拟化后的GPU分组,其中,所述GPU分组用于实现所述多个GPU的硬件负载的平衡。如此,通过虚拟化GPU,实现了充分发挥高性能GPU和平衡硬件负载。
根据第一方面,在一种可能的实现方式中,所述第一参与方的硬件资源或者所述第二参与方的硬件资源不包括预留的GPU,其中,所述预留的GPU用于容错处理。如此,实现了应对当参与分组的部分GPU发生故障时的情形,从而替代这些发生故障的GPU,确保并行训练能顺利进行。
第二方面,本申请实施例提供了一种用于联邦学习的机器学习模型训练方法。所述方法包括:获得本地训练数据和非本地训练数据之间具有相同标志的交集;根据基于所述标志确定的映射方式,将所述本地训练数据中与所述交集对应的部分映射到关联数据集合,其中,所述非本地训练数据中与所述交集对应的部分根据所述映射方式被映射到所述关联数据集合;通过预设分组规则对本地硬件资源分组得到本地硬件分组,其中,非本地硬件资源通过所述预设分组规则进行分组得到非本地硬件分组;获得所述关联数据集合和所述本地硬件分组之间的第一匹配关系;以及根据所述第一匹配关系和第二匹配关系,调动所述本地硬件资源,利用所述关联数据集合进行训练,其中,所述第二匹配关系是所述关联数据集合和所述非本地硬件分组之间。
第二方面所描述的技术方案,通过建立关联数据集合从而解决了不同参与方的数据关联性问题;通过预设分组规则对各个参与方的硬件资源进行分组从而解决了不同参与方的硬件差异性问题;通过各个参与方各自的硬件资源被分组后的硬件分组和关联数据集合之间的匹配关系,确保了并行训练中迭代中间结果和数据交换发生在恰当的计算设备之间,从而实现跨平台跨实体的联邦学习下的并行训练。
第三方面,本申请实施例提供了一种用于联邦学习的并行训练系统。所述系统包括:接口电路,其中,所述接口电路用于数据交换;训练数据存储器,其中,训练数据存储器用于存储本地训练数据;计算装置,其中,所述计算装置包括至少一个GPU;主存储器;以及主处理器。其中,所述主处理器用于:获得所述本地训练数据和非本地训练数据之间具有相同标志的交集;根据基于所述标志确定的映射方式,将所述本地训练数据中与所述交集对应的部分映射到关联数据集合,其中,所述非本地训练数据中与所述交集对应的部分根据所述映射方式被映射到所述关联数据集合;通过预设分组规则对所述计算装置进行分组得到本地硬件分组,其中,非本地硬件资源通过所述预设分组规则进行分组得到非本地硬件分组;获得所述关联数据集合和所述本地硬件分组之间的第一匹配关系;以及根据所述第一匹配关系和第二匹配关系,调动所述计算装置,利用所述关联数据集合进行训练,其中,所述第二匹配关系是所述关联数据集合和所述非本地硬件分组之间。
第三方面所描述的技术方案,通过建立关联数据集合从而解决了不同参与方的数据关联性问题;通过预设分组规则对各个参与方的硬件资源进行分组从而解决了不同参与方的硬件差异性问题;通过各个参与方各自的硬件资源被分组后的硬件分组和关联数据集合之间的匹配关系,确保了并行训练中迭代中间结果和数据交换发生在恰当的计算设备之间,从而实现跨平台跨实体的联邦学习下的并行训练。
附图说明
为了说明本申请实施例或背景技术中的技术方案,下面将对本申请实施例或背景技术中所需要使用的附图进行说明。
图1示出了本申请实施例提供的用于联邦学习的并行训练方法的流程示意图。
图2示出了本申请实施例提供的RSA交集计算方法的流程示意图。
图3示出了本申请实施例提供的用于联邦学习的机器学习模型训练方法的流程示意图。
图4示出了本申请实施例提供的用于联邦学习的并行训练系统的结构框图。
具体实施方式
本申请的目的在于,为了解决纵向联邦学习的数据相关性问题和不同实体之间的硬件差异性问题,提供了一种用于联邦学习的并行训练方法及系统。其中,该方法包括:获得第一参与方的私有数据和第二参与方的私有数据之间具有相同标志的交集;根据基于所述标志确定的映射方式,将所述第一参与方的私有数据中与所述交集对应的部分和所述第二参与方的私有数据中与所述交集对应的部分均映射到关联数据集合;通过预设分组规则对所述第一参与方的硬件资源和所述第二参与方的硬件资源进行分组后分别得到所述第一参与方的硬件分组和所述第二参与方的硬件分组;分别获得所述关联数据集合和所述第一参与方的硬件分组之间的第一匹配关系以及所述关联数据集合和所述第二参与方的硬件分组之间的第二匹配关系;以及根据所述第一匹配关系和所述第二匹配关系,协同调动所述第一参与方的硬件资源和所述第二参与方的硬件资源,利用所述关联数据集合进行并行训练。如此,通过建立关联数据集合,而关联数据集合包括各个参与方所持有的关联数据与对应的标志之间的对应关系或者映射关系,从而解决了不同参与方的数据关联性问题;通过预设分组规则对各个参与方的硬件资源进行分组,从而解决了不同参与方的硬件差异性问题;通过各个参与方各自的硬件资源被分组后的硬件分组和关联数据集合之间的匹配关系,确保了并行训练中迭代中间结果和数据交换发生在恰当的计算设备之间,从而实现跨平台跨实体的联邦学习下的并行训练。并且,因为各个参与方各自的硬件资源被分组后的硬件分组和关联数据集合之间的匹配关系,根据之前步骤中提及的预设分组规则和映射方式而定,因此可以实现结合实际需求而灵活配置,有利于在保证各参与方拥有的数据的保密性和隐私性的前提下,结合其他参与方拥有的数据进行训练,获得更为准确的模型。
本申请实施例可用于以下应用场景:联邦学习下的模型建立、神经网络模型训练或者其它适用并行训练的场景。
本申请实施例可以依据具体应用环境进行调整和改进,此处不做具体限定。
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请的实施例进行描述。
请参阅图1,图1示出了本申请实施例提供的用于联邦学习的并行训练方法的流程示意图。如图1所示,用于联邦学习的并行训练方法100包括以下步骤。
步骤S102:获得第一参与方的私有数据和第二参与方的私有数据之间具有相同标志的交集。
其中,第一参与方(设为企业A)与第二参与方(设为企业B)各自有私有数据,并且企业A的私有数据和企业B的私有数据可以是相同类型数据,例如不同地区的人群对于相同类型商品(如日用品、食品、生鲜)的消费记录;或者可以是不同类型数据,例如企业A的私有数据是用户的存款信用信息而企业B的私有数据是用户的商品消费记录;或者可以是这二者的混合情况,例如企业A的私有数据有一部分和企业B的私有数据是相同类型而其它部分是不同类型。为了便于联邦学习和模型聚合,在步骤S102中,通过判断是否具有相同标志,可以确定企业A和企业B各自的私有数据的交集。例如,假设企业A有私有数据(u1,u2,u3,u4),而企业B有私有数据(u1,u2,u3,u5)。双方共有的私有数据交集就是(u1,u2,u3),而企业A独有的为u4,企业B独有的为u5。具体地,可以通过RSA机制例如RSA密态取交集算法来寻找双方私有数据的RSA交集同时保证非交集的部分不被泄露。在一些示例性实施例中,还可以通过其它同态加密算法来求得交集,例如通过Paillier加密运算、BFV、CKKS或者其他加密算法。双方的数据交换可以通过有线或者无线的方式进行,可以通过或者不通过第三方。这些可以根据具体应用场景进行调整,在此不做具体限定。
应当理解的是,第一参与方和第二参与方是参与联邦学习的两方,是相对的概念,并且根据不同的应用场景可以对应不同的实体。在企业间互相合作的场景下,第一参与方可以对应企业A,而第二参与方可以对应企业B。在企业与个人合作的场景下,也可以将第一参与方对应企业A,而第二参与方对应用户B。第一参与方或者第二参与方可以是联邦学习合作的发起方或者是接收邀请对象。
其中,标志是用来在确定第一参与方的私有数据和第二参与方的私有数据之间的交集的依据,具有相同标志的数据被认为是关联数据。标志可以用来从当前数据中筛选出对应同一用户的数据,也就是说,标志可以是当前数据的特征集合中能用来唯一确定用户信息的特征或者特征组合。在一种可能的实施方式中,标志是用来唯一确定用户信息的特征。例如,标志可以是身份证号。因为身份证号具有唯一性的特点,在第一参与方的私有数据和第二参与方的私有数据中具有同一身份证号的数据被认为对应同一用户也被认为是关联数据。如此,可以通过将身份证号作为标志,确定具有相同标志也即相同身份证号的数据,从而在不同参与方的私有数据中确定对应同一用户的数据的交集。再例如,标志可以是与身份证号类似的具有唯一性的身份验证功能的依据,例如与身份证号绑定的用户微信号,用户手机号或者其他依据。再例如,标志可以是在多数情况下满足唯一性要求的具有较高辨识度的依据,例如设备识别码、MAC地址或者IP地址。
在另一种可能的实施方式中,标志是用来唯一确定用户信息的特征组合,也就是两个特征或者更多个特征的组合。例如,作为标志的特征组合可以包括学校和学号两个特征,这两个特征每一个单独使用均无法用作唯一标志用户信息。但是考虑到同一学校有多个用户,而不同学校的学号可能相同,因此,这学校和学号这两个特征的组合可以用来唯一标识用户信息。再例如,作为标志的特征组合可以包括用户出生年月日。再例如,作为标志的特征组合可以包括任意两种或者更多种信息,只要这些信息的交叉筛选结果能满足或者大多数情况下满足唯一性确定用户信息的要求。
在一些示例性实例中,第一参与方和第二参与方各自的私有数据可以有不同的数量,不同的存储类型,也可以是跨行业的应用数据。例如,第一参与方的私有数据可以是互联网电子商务中的社交方面数据,而第二参与方的私有数据可以是互联网电子商务中的交易数据。双方跨行业的私有数据根据具体的数据模型可以有相应的交集。另外,第一参与方和第二参与方各自的私有数据可以有公开的来源。第一参与方的私有数据也许全部是市场上已经公开的数据,例如公开可查的交易数据,但是这些数据仍可作为第一参与方的私有数据去获得相关的RSA交集。从第二参与方来看,第二参与方无从得知第一参与方的原始数据信息,也不需要知道第一参与方提供的数据是否可以从公开渠道获得。本申请所指的私有数据可以根据具体应用场景进行调整,在此不做具体限定。
步骤S104:根据基于所述标志确定的映射方式,将所述第一参与方的私有数据中与所述交集对应的部分和所述第二参与方的私有数据中与所述交集对应的部分均映射到关联数据集合。
其中,在步骤S102确定的第一参与方的私有数据和第二参与方的私有数据之间具有相同标志的交集,该交集中的数据被认为是关联数据。在联邦学习的应用中,各参与方只能知道自己所持有的私有数据中哪些是属于交集的,或者说哪些是关联数据,但是无从得知其它参与方的情况。为此,需要将各参与方的私有数据中与所述交集对应的部分,根据基于所述标志确定的映射方式,映射到关联数据集合。这里,关联数据集合应当理解成是包含所有参与方的各自私有数据中与所述交集对应的部分的集合。关联数据集合用于后续步骤以便协同调动各个参与方所持有的不同硬件资源,从而实现联邦训练的并行训练。为了达到更好的协同效果,需要在步骤S104通过特定的映射方式,进行数据对齐,也就是建立起各个参与方的私有数据中与所述交集对应的部分和标志之间的对应关系或者映射关系。通过步骤S104的数据对齐也即映射操作,可以既建立关联数据集合,又使得关联数据集合中所包括的各个参与方所持有的关联数据与对应的标志之间有对应关系或者映射关系,有利于后续的协同操作。应当理解的是,步骤S104所提及的映射方式还可以包括根据特征或者特征组合作为依据进行直接分组的操作,也就是不需要建立映射关系表之类的操作,而是将特征/特征组合作为分组依据从而获得关联数据集合。为了便于区别,需要建立映射关系表之类操作的映射方式可以理解成“真映射”的方式,而根据特征或者特征组合作为依据进行直接分组的操作的映射方式可以理解成“伪映射”的方式。
在一种可能的实施方式中,根据基于所述标志确定的所述映射方式,将所述第一参与方的私有数据中与所述交集对应的部分和所述第二参与方的私有数据中与所述交集对应的部分均映射到所述关联数据集合,包括:建立与所述标志一一对应的数据索引,其中,所述映射方式包括所述数据索引;和根据所述数据索引,分别对所述第一参与方的私有数据中与所述交集对应的部分和所述第二参与方的私有数据中与所述交集对应的部分进行排序,得到所述关联数据集合。这里,数据索引指的是通过排序建立起来的跟标志一一对应的索引表。例如,在标志是身份证号的场景,数据索引是与身份证号一一对应的索引表,其中身份证号按照从小到大、从大到小或者其他特定规律而排序。再例如,在标志是用户手机号的场景,数据索引是与用户手机号一一对应的索引表,其中用户手机号按照从小到大、从大到小或者其他特定规律而排序。如此,通过根据数据索引进行排序,建立起了各个参与方的私有数据中与所述交集对应的部分和数据索引中对应排序位置之间的对应关系。也就说,假设第一参与方的给定数据A在数据索引中所处的排序位置跟第二参与方的给定数据B在数据索引中所处的排序位置相同,则可以推定给定数据A和给定数据B具有相同标志。以上面提到的标志是身份证号的场景为例,数据索引是与身份证号一一对应的索引表,假设数据索引中身份证号按照从小到大的规律排序,则位于排序位置第一位的数据对应的身份证号是该交集中最小的。如此,在关联数据集合中,假设第一参与方的给定数据A位于数据索引的排序位置第一位,则该给定数据A的标志必然是对应最小的身份证号,以此类推可以得出如果第二参与方的给定数据B也位于数据索引的排序位置第一位,则给定数据A和给定数据B都对应最小的身份证号。如此,实现了在关联数据集合中,建立起各个参与方的私有数据中与所述交集对应的部分和数据索引中对应排序位置之间的对应关系,有利于通过两个数据在数据索引中排序位置来判断该两个数据是否具有相同标志,从而有利于后续操作的简化。
在一种可能的实施方式中,根据基于所述标志确定的所述映射方式,将所述第一参与方的私有数据中与所述交集对应的部分和所述第二参与方的私有数据中与所述交集对应的部分均映射到所述关联数据集合,包括:建立与所述标志一一对应的内存地址索引,其中,所述映射方式包括所述内存地址索引;和根据所述内存地址索引,分别建立所述第一参与方的私有数据中与所述交集对应的部分和所述第一参与方的内存资源之间的第一映射关系以及所述第二参与方的私有数据中与所述交集对应的部分和所述第二参与方的内存资源之间的第二映射关系;其中,所述关联数据集合包括所述第一映射关系和所述第二映射关系。这里,内存地址索引指的是跟标志一一对应的内存区域或者内存中数据结构的内存地址索引表。例如,在标志是身份证号的场景,内存地址索引是与身份证号一一对应的多个内存区域如内存块的各自内存地址索引表。通过该内存地址索引表,可以确定与特定身份证号对应的内存块的内存地址。如此,通过内存地址索引,实现了在关联数据集合中,建立起各个参与方的私有数据中与所述交集对应的部分和内存地址索引中特定内存地址的对应关系,从而有利于后续操作的简化。在一些示例性实施例中,可以将各个参与方的存储空间都虚拟化成共同的存储空间,再利用该共同的存储空间的内存地址来建立内存地址索引。
在一种可能的实施方式中,根据基于所述标志确定的所述映射方式,将所述第一参与方的私有数据中与所述交集对应的部分和所述第二参与方的私有数据中与所述交集对应的部分均映射到所述关联数据集合,包括:通过Hash算法,获得与所述标志一一对应的Hash值,其中,所述映射方式包括所述Hash值;和根据所述Hash值,分别建立所述第一参与方的私有数据中与所述交集对应的部分和所述Hash值之间的第一映射关系以及所述第二参与方的私有数据中与所述交集对应的部分和所述Hash值之间的第二映射关系;其中,所述关联数据集合包括所述第一映射关系和所述第二映射关系。这里,Hash算法指的是符合散列思想的算法,例如标志是身份证号,而Hash算法是将身份证号作为散列函数的输入后得到输出的散列值。如此,通过Hash算法或者哈希算法,可以建立标志与Hash值的对应关系,再进一步确定各个参与方的私有数据中与所述交集对应的部分与Hash值的映射关系,并且关联数据集合中包括这些映射关系,有利于后续操作的简化。
在一种可能的实施方式中,所述标志包括用于验证用户身份的所述特征组合,所述特征组合包括第一特征和第二特征。其中,根据基于所述标志确定的所述映射方式,将所述第一参与方的私有数据中与所述交集对应的部分和所述第二参与方的私有数据中与所述交集对应的部分均映射到所述关联数据集合,包括:根据所述第一特征,分别对所述第一参与方的私有数据中与所述交集对应的部分和所述第二参与方的私有数据中与所述交集对应的部分进行分类,得到具有相同的所述第一特征的所述第一参与方的用户第一特征分组和所述二参与方的用户第一特征分组;和根据所述第二特征,分别对述第一参与方的用户第一特征分组和所述二参与方的用户第一特征分组进行排序,得到所述关联数据集合。这里,以特征组合是用户出生年月日为例子,第一特征是用户出生年份和月份,而第二特征是用户出生日期。对应的在步骤S102中提及的标志是用来唯一确定用户信息的特征组合,也就是两个特征或者更多个特征的组合。首先,根据作为第一特征的用户出生年份和月份,可以分别对所述第一参与方的私有数据中与所述交集对应的部分和所述第二参与方的私有数据中与所述交集对应的部分进行分类,得到出生在同一季度的所述第一参与方的用户第一特征分组和所述二参与方的用户第一特征分组。然后,根据作为第二特征的用户出生日期,分别对所述第一参与方的用户第一特征分组和所述二参与方的用户第一特征分组进行排序,得到所述关联数据集合。这里,用户出生年月日作为标志具有较高的辨识度,一般情况下两个不同用户具有相同出生年月日的几率较低,因此可以利用出生年月日进行初步的数据对齐操作。具体地,首先根据出生的年份和月份,进行第一次分组,将同一年份且同一季度的数据合并在一组,然后根据出生日期在各个分组内进行进一步的排序。如此,可以建立标志与出生年月日的对应关系,并且各个参与方的私有数据中与所述交集对应的部分按照出生年月日进行排序,有利于后续操作的简化。
应当理解的是,在步骤S104中进行的数据对齐也即映射操作,其中的具体映射方式根据在步骤S102中采用的标志而定,可以采用上述各个可能实施方式中的某一种映射方式来排序以利于后续操作的简化,也可以采用上述各个可能实施方式的任意可能组合或者变体。例如,可以先根据所述用户出生年份和月份进行初步的数据对齐操作从而将同一年份且同一季度的数据合并在一组,然后根据身份证按照从小到大的规律进行排序。
步骤S106:通过预设分组规则对所述第一参与方的硬件资源和所述第二参与方的硬件资源进行分组后分别得到所述第一参与方的硬件分组和所述第二参与方的硬件分组。
其中,第一参与方的硬件资源指的是第一参与方用于参与联邦学习的各种计算设备例如图形处理器(Graphics Processing Unit,GPU)或者具有计算能力的设备例如显卡。第二参与方的硬件资源指的是第二参与方用于参与联邦学习的各种计算设备或者具有计算能力的设备。各个参与方的硬件资源用来体现各个参与方在联邦学习的过程中能够调动的整体的计算能力或者数据处理能力。例如,第一参与方拥有的硬件资源是一张显卡,第二参与方拥有的硬件资源是同类型的显卡而数量为三,则第二参与方能调动的整体的计算能力可以认为是第一参与方能调动的整体的计算能力的三倍。再例如,第一参与方拥有的硬件资源是四个GPU,而第二参与方拥有的硬件资源是同类型的GPU而数量为八个,则第二参与方能调动的整体的计算能力可以认为是第一参与方能调动的整体的计算能力的两倍。各个参与方能调动的硬件资源彼此之间存在差异,同一个参与方的硬件资源也可以包括不同类型的或者具有不同计算能力的各种设备。为了便于后续协同调动各个参与方各自的设备进行并行训练,在步骤S106通过预设分组规则对各个参与方的硬件资源进行分组,而预设分组规则是为了实现预期的效果而预设的分组规则,从而有利于实现结合预期的效果而协同各个参与方各自的硬件资源进行并行训练。
在一种可能的实施方式中,通过所述预设分组规则对所述第一参与方的硬件资源和所述第二参与方的硬件资源进行分组后分别得到所述第一参与方的硬件分组和所述第二参与方的硬件分组,包括:根据数据处理能力指标对所述第一参与方的硬件资源进行分组从而在所述第一参与方的硬件分组的每一个硬件分组中平均分配该数据处理能力指标;以及根据所述数据处理能力指标对所述第二参与方的硬件资源进行分组从而在所述第二参与方的硬件分组的每一个硬件分组中平均分配该数据处理能力指标。这里,数据处理能力指标是用来体现各种计算设备或者具有计算能力的设备用在数据处理方面的量化指标,从而可以衡量不同类型的设备用在联邦学习过程中的计算能力或者数据处理能力。数据处理能力指标包括但不限于,最大并行处理数据量、GPU的显存大小、GPU算力、GPU个数、通道数或者处理器主频。其中,GPU算力可以理解为根据业界通用的GPU算力评估标准计算出来的量化指标,或者是用来评价处理器运算能力的性能指标例如十亿次运算/秒(GigaOperations Per Second,GOPS)、一万亿次运算/秒(Tera Operations Per Second,TOPS)或者百万条指令/秒(Million Instructions Per Second,MIPS)。例如,假设第一参与方的硬件资源是同类型的计算设备或者具有相同计算能力的多个设备,则数据处理能力指标可以理解成这些设备的个数,而平均分配该数据处理能力指标意味着平均分配这些设备。例如,假设第一参与方的硬件资源是同类型的显卡共八个,则可以分成八组每组一个显卡,或者四组每组两个显卡,又或者两组每组四个显卡。在一些示例性实施例中,数据处理能力指标还可以理解成GPU的型号、或者其它表征计算设备性能的信息。如此,通过预设分组规则实现了在参与方的硬件分组中平均分配数据处理能力指标以及该数据处理能力指标所体现的数据处理能力的预期效果,从而有利于后续协同各个参与方各自的硬件资源进行并行训练。
在一种可能的实施方式中,所述预设分组规则包括根据GPU算力进行排序。如此,通过根据GPU算力的高低进行排序,有利于后续操作中针对算力较高的GPU做出不同的配置,有利于提高并行训练效率。
在一种可能的实施方式中,所述第一参与方的硬件资源或者所述第二参与方的硬件资源是将多个GPU虚拟化后的GPU分组,其中,所述GPU分组用于实现所述多个GPU的硬件负载的平衡。通过GPU的虚拟化,可以将具有不同性能的GPU虚拟化成GPU分组,例如将高性能的GPU虚拟化成多组较低性能的GPU从而充分发挥高性能GPU的全部算力,或者将不同性能的GPU虚拟化成多组GPU从而平衡硬件负载。虚拟化GPU的具体策略可以结合实际需求调整。如此,通过虚拟化GPU,实现了充分发挥高性能GPU和平衡硬件负载。
在一种可能的实施方式中,所述第一参与方的硬件资源或者所述第二参与方的硬件资源不包括预留的GPU,其中,所述预留的GPU用于容错处理。其中,考虑到容错处理的需求,预留一部分GPU不参与后续的并行训练也不参与步骤S106的分组。这些预留的GPU可以用于应对当参与分组的部分GPU发生故障时的情形,从而替代这些发生故障的GPU,确保并行训练能顺利进行。
步骤S108:分别获得所述关联数据集合和所述第一参与方的硬件分组之间的第一匹配关系以及所述关联数据集合和所述第二参与方的硬件分组之间的第二匹配关系。
其中,在步骤S104获得关联数据集合,这里,关联数据集合应当理解成是包含所有参与方的各自私有数据中与所述交集对应的部分的集合,用于后续步骤以便协同调动各个参与方所持有的不同硬件资源,从而实现联邦训练的并行训练。在步骤S106获得第一参与方的硬件分组和第二参与方的硬件分组,各参与方的硬件分组是根据预设分组规则获得,而预设分组规则是为了实现预期的效果而预设的分组规则,从而有利于实现结合预期的效果而协同各个参与方各自的硬件资源进行并行训练。在步骤S108中,各个参与方需要确定各自的硬件资源被分组后的硬件分组和关联数据集合之间的匹配关系。这种匹配关系包括用于标识每一个关联数据被分到了哪一个组的信息。如此,通过建立各个硬件分组和关联数据集合之间的匹配关系,可以进一步确定同一个关联数据在各个参与方中分别对应的组。例如,假设第一参与方的硬件资源是特定类型的显卡共四个且被分成四组每组一个显卡,第一参与方的硬件分组标记为GPU01、GPU02、GPU03、GPU04;第二参与方的硬件资源是另一类型的显卡共两个且被分成两组每组一个显卡,第二参与方的硬件分组标记为GPU11、GPU12;再假设有两个关联数据A和B,则第一匹配关系包括关联数据A对应硬件分组GPU01和GPU02,而关联数据B对应硬件分组GPU03和GPU04;第二匹配关系包括关联数据A对应硬件分组GPU11,而关联数据B对应硬件分组GPU12。也就说,关联数据A在第一参与方被分给了硬件分组GPU01和GPU02,而关联数据A在第二参与方被分给了硬件分组GPU11。这意味着,在后续用于联邦学习的并行训练过程中,第一参与方的硬件分组GPU01和GPU02需要对齐第二参与方的硬件分组GPU11,从而让与关联数据A有关的中间结果能在第一参与方和第二参与方各自恰当的GPU之间传递。应当理解的是,各个参与方各自的硬件资源被分组后的硬件分组和关联数据集合之间的匹配关系,根据之前步骤中提及的预设分组规则和映射方式而定,因此可以实现结合实际需求而灵活配置。
在一种可能的实施方式中,所述预设分组规则包括根据GPU算力进行排序,其中,在所述第一匹配关系和所述第二匹配关系中,所述关联数据集合中具有较高优先级的数据匹配具有较高算力的GPU。这里,GPU算力可以理解为根据业界通用的GPU算力评估标准计算出来的量化指标,或者是用来评价处理器运算能力的性能指标例如GOPS、TOPS或者MIPS。如此,通过将具有较高优先级的数据分配给较高算力的GPU,可以有利于优化资源分配及优先处理优先级较高的数据。在一些示例性实施例中,所述优先级根据数据类型、数据子集类型、或者用户偏好确定。其中,数据类型指的是关联数据集合中数据的分类,例如可以包括用户的存款信用信息和用户的商品消费记录两种分类,而其中分类为用户的商品消费记录的数据可以具有较高优先级。数据子集类型指的是符合特定要求的数据子集,例如根据用户群体划分的特定子集如学生群体、高龄用户群体等,这些特定子集的数据可能在某些情况下值得优先考虑,因此具有较高优先级。用户偏好则对应具体应用场景下可能存在的用户偏好设置或者需求导向等,例如可以将最近一个月录入的数据设置为有较高优先级。如此,通过设定较高优先级的数据分配给较高算力的GPU,实现了资源的优化配置和灵活性。
步骤S110:根据所述第一匹配关系和所述第二匹配关系,协同调动所述第一参与方的硬件资源和所述第二参与方的硬件资源,利用所述关联数据集合进行并行训练。
其中,在步骤S108获得的各参与方的各自的硬件资源被分组后的硬件分组和关联数据集合之间的匹配关系,接着在步骤S110中,根据这些匹配关系,协同调动各个参与方的硬件资源,从而利用所述关联数据集合进行并行训练。例如,假设第一匹配关系包括关联数据A对应第一参与方的硬件分组GPU01和GPU02,而关联数据B对应第一参与方的硬件分组GPU03和GPU04;第二匹配关系包括关联数据A对应第二参与方的硬件分组GPU11,而关联数据B对应第二参与方的硬件分组GPU12。则根据第一匹配关系和第二匹配关系,关联数据A相关的训练通过协同调动第一参与方的硬件分组GPU01和GPU02以及第二参与方的硬件分组GPU11来进行并行训练。也就是说,用于联邦学习的并行训练过程中,第一参与方的硬件分组GPU01和GPU02需要对齐第二参与方的硬件分组GPU11,从而让与关联数据A有关的中间结果能在第一参与方和第二参与方各自恰当的GPU之间传递。例如,假设第一参与方和第二参与方要利用关联数据A来训练神经网络模型,则需要利用关联数据A计算相关的梯度(Gradient)、损失函数(Loss Function)等,为此需要协同第一参与方和第二参与方进行多次迭代计算和数据交换,各参与方需要知道对方的匹配关系或者分组信息从而确保迭代计算的中间结果及数据交换发生在匹配的硬件分组之间。例如,当第二参与方的硬件分组GPU11完成当前迭代的中间结果计算后,需要将该中间结果传递给第一参与方的硬件分组GPU01和GPU02从而在第一参与方侧进行剩下的迭代计算过程。如此,根据各参与方的各自的硬件资源被分组后的硬件分组和关联数据集合之间的匹配关系,可以实现协同各参与方进行并行训练,不仅处理了纵向联邦学习场景下数据类型不相同的数据相关性问题,还考虑到了不同参与方各自的硬件资源之间的差异性问题,有利于实现跨平台跨实体的联邦学习下的并行训练。
结合步骤S102至步骤S110,为了实现联邦学习所需要的隐私计算和数据安全的要求,各参与方只能通过RSA密态取交集算法或者其它同态加密算法来交换数据。其中,在步骤S102需要交换数据以确定交集,在步骤S104需要交换数据以交换各自的数据对齐后的信息,在步骤S106需要交换数据以交换各自的硬件分组的信息,最后在步骤S108需要交换数据以交换各自的匹配关系。这些数据交换都可以通过RSA密态取交集算法或者其它同态加密算法来进行,可以参考隐私保护计算下计算双方用户id交集或者叫做RSA交集的方法。如此,通过基于计算RSA交集的方法进行数据交换,从而只在各参与方之间交换必要的信息以完成联邦学习的并行训练,并不会导致各参与方独有的数据被泄露,有利于隐私计算和确保数据安全。
应当理解的是,附图1所示的用于联邦学习的并行训练方法100,可以用于联邦学习下的模型建立、神经网络模型训练或者其它适用并行训练的场景。其中,通过建立关联数据集合,而关联数据集合包括各个参与方所持有的关联数据与对应的标志之间的对应关系或者映射关系,从而解决了不同参与方的数据关联性问题;通过预设分组规则对各个参与方的硬件资源进行分组,从而解决了不同参与方的硬件差异性问题;通过各个参与方各自的硬件资源被分组后的硬件分组和关联数据集合之间的匹配关系,确保了并行训练中迭代中间结果和数据交换发生在恰当的计算设备之间,从而实现跨平台跨实体的联邦学习下的并行训练。并且,因为各个参与方各自的硬件资源被分组后的硬件分组和关联数据集合之间的匹配关系,根据之前步骤中提及的预设分组规则和映射方式而定,因此可以实现结合实际需求而灵活配置,有利于在保证各参与方拥有的数据的保密性和隐私性的前提下,结合其他参与方拥有的数据进行训练,获得更为准确的模型。
应当理解的是,附图1所示的用于联邦学习的并行训练方法100所提及的第一参与方和第二参与方仅用于示例性说明,该方法100可以推广后适用于包括三个或者更多参与方。例如,该方法100可以包括以下步骤:获得多个参与方的私有数据之间具有相同标志的交集;根据基于所述标志确定的映射方式,将多个参与方的私有数据中与所述交集对应的部分均映射到关联数据集合;通过预设分组规则对多个参与方的硬件资源分别进行分组后得到多个参与方的各自的硬件分组;分别获得所述关联数据集合和多个参与方的各自的硬件分组之间的匹配关系;以及根据所述匹配关系协同调动多个参与方的硬件资源利用所述关联数据集合进行并行训练。当涉及到三个或者更多个的参与方时,需要在这些参与方之间进行数据交换以确定各自的私有数据的交集,以及确定数据对齐和硬件分组信息,这些数据交换都可以通过RSA密态取交集算法或者其它同态加密算法来进行,可以参考隐私保护计算下计算双方用户id交集或者叫做RSA交集的方法。
应当理解的是,附图1所示的用于联邦学习的并行训练方法100还可以适用于同步处理关联数据,例如协商处理定点数(Fix-point Number)的长度(用于对浮点数进行编码)等其他方面的共有数据的通信协商。
应当理解的是,附图1所示的用于联邦学习的并行训练方法100允许各个参与方在参与联邦学习的框架下,还根据自有数据进行私有模型的训练,并选择使用联邦模型还是本地私有建模。
应当理解的是,附图1所示的用于联邦学习的并行训练方法100中,第一参与方和第二参与方是参与联邦学习的两方,是相对的概念,并且根据不同的应用场景可以对应不同的实体,或者位于不同地点,或者对应不同的平台。第一参与方的私有数据可能是第二参与方的私有数据的子集,或者两者的共享数据占据了私有数据的主要部分。通过在这些参与方之间进行数据交换以确定各自的私有数据的交集,可以实现数据集不完全匹配情况下的联邦学习。
请参阅图2,图2示出了本申请实施例提供的RSA交集计算方法的流程示意图。如图2所示,RSA交集计算方法200包括以下步骤。
S202:参与者A持有私有数据XA(u1,u2,u3,u4)。
其中,参与者A与参与者B各自有私有数据,需要通过RSA机制来寻找双方私有数据的RSA交集同时保证非交集的部分不被泄露。在图2所示的实施例中,参与者B作为RSA交集计算的发起方,而参与者A作为被邀请方。
S204:参与者B存储私有数据XB(u1,u2,u3,u5)。
其中,在一些示例性实例中,参与者A和参与者B各自的私有数据可以有不同的数量,不同的存储类型,也可以是跨行业的应用数据。例如,参与者A的私有数据可以是互联网电子商务中的社交方面数据,而参与者B的私有数据可以是互联网电子商务中的交易数据。双方跨行业的私有数据根据具体的数据模型可以有相应的RSA交集。另外,参与者A和参与者B各自的私有数据可以有公开的来源。参与者A存储在数据存储模块100的数据也许全部是市场上已经公开的数据,例如公开可查的交易数据,但是这些数据仍可作为参与者A的私有数据去获得相关的RSA交集。从参与者B来看,参与者B无从得知参与者A的原始数据信息,也不需要知道参与者A提供的数据是否可以从公开渠道获得。因此本申请所指的私有数据也可以称作用户数据,用户id,标签数据,用户信息,或者特定领域下的数据如医疗保险信息,金融交易信息等。这些可以根据具体应用场景进行调整,在此不做具体限定。
S206:参与者B通过RSA算法生成参与者B的RSA公钥私钥对,其中RSA公钥是模数n和公有幂e,RSA私钥是私有幂d。
其中,RSA算法可以参考以下细节:随机选取两个大素数p和q,这里的p和q的位宽应当相近,但不能过于接近;计算
Figure 650218DEST_PATH_IMAGE001
;计算p-1和q-1的最小公倍数,记为λ;在(1,λ)的范围内选取与λ互质的e,这里的e应当有较小的位宽和汉明重量,通常情况下取65537;选取e在模n下的逆,记为d。
如此,通过上述RSA算法得到的模数n和公有幂e就是参与者B的RSA公钥,而私有幂d是与参与者B的RSA公钥成对的RSA私钥。
S208:参与者B将RSA公钥(模数n和公有幂e)发送给参与者A。
其中,因为采用了RSA算法进行加密,因此符合联邦学习下的隐私计算和数据安全性要求。
S210:参与者A根据参与者B的RSA公钥对参与者A的私有数据XA进行哈希运算得到随机数YA。
其中,随机数YA的计算参考公式(1)。
Figure 618174DEST_PATH_IMAGE002
(1)
在公式(1)中,
Figure 917569DEST_PATH_IMAGE003
表示参与者A的私有数据XA的样本i;
Figure 629173DEST_PATH_IMAGE004
表示对参与者A的私有数据XA的样本i进行哈希运算得到的随机数;
Figure 494360DEST_PATH_IMAGE005
表示哈希运算;
Figure 633218DEST_PATH_IMAGE006
表示生成随机数的函数;
Figure 154329DEST_PATH_IMAGE007
表示求幂运算;%表示取模运算;e表示参与者B的RSA公钥的公有幂e;n表示参与者B的RSA公钥的模数n。
如此,参与者A根据参与者B的RSA公钥对参与者A的私有数据XA进行哈希运算得到随机数YA。
S212:参与者A将随机数YA发送给参与者B。
其中,因为采用了RSA算法进行加密,因此符合联邦学习下的隐私计算和数据安全性要求。
S214:参与者B根据随机数YA和参与者B的RSA私钥(私有幂d),对随机数YA进行计算得到随机数ZA。
其中,随机数ZA的计算参考公式(2)。
Figure 404045DEST_PATH_IMAGE008
(2)
在公式(2)中,
Figure 389318DEST_PATH_IMAGE009
表示对参与者A的私有数据XA的样本i进行哈希运算得到的随机数;
Figure 699077DEST_PATH_IMAGE010
表示对随机数
Figure 229457DEST_PATH_IMAGE009
进行计算得到的随机数;
Figure 282863DEST_PATH_IMAGE011
表示求幂运算;%表示取模运算;n表示参与者B的RSA公钥的模数n;d表示参与者B的RSA私钥也即私有幂d。
如此,参与者B根据随机数YA和参与者B的RSA私钥(私有幂d),对随机数YA进行计算得到随机数ZA。
S216:参与者B根据参与者B的RSA私钥(私有幂d)对参与者B的私有数据XB进行哈希运算得到随机数ZB。
其中,随机数ZB的计算参考公式(3)。
Figure 122643DEST_PATH_IMAGE012
(3)
在公式(3)中,
Figure 540986DEST_PATH_IMAGE013
表示参与者B的私有数据XB的样本i;
Figure 833427DEST_PATH_IMAGE014
表示对参与者B的私有数据XB的样本i进行哈希运算得到的随机数;
Figure 690525DEST_PATH_IMAGE015
表示哈希运算;
Figure 384812DEST_PATH_IMAGE016
表示求幂运算;%表示取模运算;n表示参与者B的RSA公钥的模数n;d表示参与者B的RSA私钥也即私有幂d。
如此,参与者B根据参与者B的RSA私钥(私有幂d)对参与者B的私有数据XB进行哈希运算得到随机数ZB。
应当理解的是,步骤S216中对随机数ZB的计算,可以重新安排在步骤S206和步骤S218之间任意位置,例如步骤S216可以安排在步骤S206和步骤S208之间,也就是说参与者B在通过RSA算法生成参与者B的RSA公钥私钥对之后即可生成随机数ZB。
S218:参与者B将随机数ZA和随机数ZB都发送给参与者A。
其中,因为采用了RSA算法进行加密,因此符合联邦学习下的隐私计算和数据安全性要求。
S220:参与者A根据随机数ZA和参与者B的RSA公钥(模数n和公有幂e),生成随机数DA,计算DA和ZB之间的RSA交集I(u1,u2,u3)。
其中,随机数DA的计算参考公式(4)。
Figure 36373DEST_PATH_IMAGE017
(4)
在公式(4)中,
Figure 19372DEST_PATH_IMAGE018
表示对随机数
Figure 414582DEST_PATH_IMAGE009
进行计算得到的随机数;
Figure 963375DEST_PATH_IMAGE019
表示根据随机数
Figure 989099DEST_PATH_IMAGE018
生成的随机数;
Figure 256133DEST_PATH_IMAGE005
表示哈希运算;
Figure 455033DEST_PATH_IMAGE020
表示生成随机数的函数;%表示取模运算;n表示参与者B的RSA公钥的模数n。
如此,参与者A根据随机数ZA和参与者B的RSA公钥(模数n和公有幂e),生成随机数DA,计算DA和ZB之间的RSA交集I(u1,u2,u3)。
S222:参与者A将计算得到的RSA交集I(u1,u2,u3)发送给参与者B。
其中,因为采用了RSA算法进行加密,因此符合联邦学习下的隐私计算和数据安全性要求。
S224:参与者B得到RSA交集I(u1,u2,u3)。
如此,参与者A与参与者B均得到双方私有数据的RSA交集I。
请参阅图3,图3示出了本申请实施例提供的用于联邦学习的机器学习模型训练方法的流程示意图。如图3所示,用于联邦学习的机器学习模型训练方法300包括以下步骤。
步骤S302:获得本地训练数据和非本地训练数据之间具有相同标志的交集。
其中,步骤S302与步骤S102的细节相似,在此不再赘述。应当理解的是,本地训练数据和非本地训练数据可以分别对应第一参与方和第二参与方或者相反,是相对概念。
步骤S304:根据基于所述标志确定的映射方式,将所述本地训练数据中与所述交集对应的部分映射到关联数据集合。
其中,步骤S304与步骤S104的细节相似,在此不再赘述。所述非本地训练数据中与所述交集对应的部分根据所述映射方式被映射到所述关联数据集合。
步骤S306:通过预设分组规则对本地硬件资源分组得到本地硬件分组。
其中,步骤S306与步骤S106的细节相似,在此不再赘述。非本地硬件资源通过所述预设分组规则进行分组得到非本地硬件分组。应当理解的是,本地硬件资源和非本地硬件资源可以分别对应第一参与方和第二参与方或者相反,是相对概念。
步骤S308:获得所述关联数据集合和所述本地硬件分组之间的第一匹配关系。
其中,步骤S308与步骤S108的细节相似,在此不再赘述。
步骤S310:根据所述第一匹配关系和第二匹配关系,调动所述本地硬件资源,利用所述关联数据集合进行训练。
其中,步骤S310与步骤S110的细节相似,在此不再赘述。所述第二匹配关系是所述关联数据集合和所述非本地硬件分组之间。
如此,通过建立关联数据集合,而关联数据集合包括本地训练数据以及非本地训练数据与对应的标志之间的对应关系或者映射关系,从而解决了不同参与方的数据关联性问题;通过预设分组规则对本地和非本地的硬件资源进行分组,从而解决了不同参与方的硬件差异性问题;通过本地和非本地的硬件资源被分组后的硬件分组和关联数据集合之间的匹配关系,确保了并行训练中迭代中间结果和数据交换发生在恰当的计算设备之间,从而实现跨平台跨实体的联邦学习下的并行训练。并且,因为本地和非本地的硬件资源被分组后的硬件分组和关联数据集合之间的匹配关系,根据之前步骤中提及的预设分组规则和映射方式而定,因此可以实现结合实际需求而灵活配置,有利于在保证各参与方拥有的数据的保密性和隐私性的前提下,结合其他参与方拥有的数据进行训练,获得更为准确的模型。
请参阅图4,图4示出了本申请实施例提供的用于联邦学习的并行训练系统的结构框图。如图4所示,训练系统400包括接口电路402、训练数据存储器404、计算装置410、主存储器406以及主处理器408。其中,接口电路402用于数据交换。训练数据存储器404用于存储本地训练数据。计算装置410包括三个GPU分别为GPU01 411、GPU02 412和GPU03 413。应当理解的是,图4所示的计算装置410仅为示例性,在一些示例性实施例中,计算装置410还可以包括其它数量的GPU,例如一个或者两个或者四个或者更多个。接口电路402可以包括高速串行计算机扩展总线(Peripheral Component Interconnect Express,PCIE)接口。PCIE接口用于通过直接存储器访问(Direct Memory Access,DMA)的方式将数据分批搬运到主存储器406中,从而有利于高速并行运算中数据的吞吐。主处理器408用于执行图1或者图3所示的实例中的训练方法,例如主处理器408可以用于:获得所述本地训练数据和非本地训练数据之间具有相同标志的交集;根据基于所述标志确定的映射方式,将所述本地训练数据中与所述交集对应的部分映射到关联数据集合,其中,所述非本地训练数据中与所述交集对应的部分根据所述映射方式被映射到所述关联数据集合;通过预设分组规则对所述计算装置进行分组得到本地硬件分组,其中,非本地硬件资源通过所述预设分组规则进行分组得到非本地硬件分组;获得所述关联数据集合和所述本地硬件分组之间的第一匹配关系;以及根据所述第一匹配关系和第二匹配关系,调动所述计算装置,利用所述关联数据集合进行训练,其中,所述第二匹配关系是所述关联数据集合和所述非本地硬件分组之间。
本申请提供的具体实施例可以用硬件,软件,固件或固态逻辑电路中的任何一种或组合来实现,并且可以结合信号处理,控制和/或专用电路来实现。本申请具体实施例提供的设备或装置可以包括一个或多个处理器(例如,微处理器,控制器,数字信号处理器(DSP),专用集成电路(ASIC),现场可编程门阵列(FPGA)等),这些处理器处理各种计算机可执行指令从而控制设备或装置的操作。本申请具体实施例提供的设备或装置可以包括将各个组件耦合在一起的系统总线或数据传输系统。系统总线可以包括不同总线结构中的任何一种或不同总线结构的组合,例如存储器总线或存储器控制器,外围总线,通用串行总线和/或利用多种总线体系结构中的任何一种的处理器或本地总线。本申请具体实施例提供的设备或装置可以是单独提供,也可以是系统的一部分,也可以是其它设备或装置的一部分。
本申请提供的具体实施例可以包括计算机可读存储介质或与计算机可读存储介质相结合,例如能够提供非暂时性数据存储的一个或多个存储设备。计算机可读存储介质/存储设备可以被配置为保存数据,程序器和/或指令,这些数据,程序器和/或指令在由本申请具体实施例提供的设备或装置的处理器执行时使这些设备或装置实现有关操作。计算机可读存储介质/存储设备可以包括以下一个或多个特征:易失性,非易失性,动态,静态,可读/写,只读,随机访问,顺序访问,位置可寻址性,文件可寻址性和内容可寻址性。在一个或多个示例性实施例中,计算机可读存储介质/存储设备可以被集成到本申请具体实施例提供的设备或装置中或属于公共系统。计算机可读存储介质/存储设备可以包括光存储设备,半导体存储设备和/或磁存储设备等等,也可以包括随机存取存储器(RAM),闪存,只读存储器(ROM),可擦可编程只读存储器(EPROM),电可擦可编程只读存储器(EEPROM),寄存器,硬盘,可移动磁盘,可记录和/或可重写光盘(CD),数字多功能光盘(DVD),大容量存储介质设备或任何其他形式的合适存储介质。
以上是本申请实施例的实施方式,应当指出,本申请具体实施例描述的方法中的步骤可以根据实际需要进行顺序调整、合并和删减。在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详细描述的部分,可以参见其他实施例的相关描述。可以理解的是,本申请实施例以及附图所示的结构并不构成对有关装置或系统的具体限定。在本申请另一些实施例中,有关装置或系统可以包括比具体实施例和附图更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者具有不同的部件布置。本领域技术人员将理解,在不脱离本申请具体实施例的精神和范围的情况下,可以对具体实施例记载的方法和设备的布置,操作和细节进行各种修改或变化;在不脱离本申请实施例原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也视为本申请的保护范围。

Claims (39)

1.一种用于联邦学习的并行训练方法,其特征在于,所述方法包括:
获得第一参与方的私有数据和第二参与方的私有数据之间具有相同标志的交集;
根据基于所述标志确定的映射方式,将所述第一参与方的私有数据中与所述交集对应的部分和所述第二参与方的私有数据中与所述交集对应的部分均映射到关联数据集合;
通过预设分组规则对所述第一参与方的硬件资源和所述第二参与方的硬件资源进行分组后分别得到所述第一参与方的硬件分组和所述第二参与方的硬件分组;
分别获得所述关联数据集合和所述第一参与方的硬件分组之间的第一匹配关系以及所述关联数据集合和所述第二参与方的硬件分组之间的第二匹配关系;以及
根据所述第一匹配关系和所述第二匹配关系,协同调动所述第一参与方的硬件资源和所述第二参与方的硬件资源,利用所述关联数据集合进行并行训练。
2.根据权利要求1所述的方法,其特征在于,所述标志包括用于验证用户身份的特征或者特征组合。
3. 根据权利要求1或2所述的方法,其特征在于,根据基于所述标志确定的所述映射方式,将所述第一参与方的私有数据中与所述交集对应的部分和所述第二参与方的私有数据中与所述交集对应的部分均映射到所述关联数据集合,包括:
建立与所述标志一一对应的数据索引,其中,所述映射方式包括所述数据索引;和
根据所述数据索引,分别对所述第一参与方的私有数据中与所述交集对应的部分和所述第二参与方的私有数据中与所述交集对应的部分进行排序,得到所述关联数据集合。
4. 根据权利要求1或2所述的方法,其特征在于,根据基于所述标志确定的所述映射方式,将所述第一参与方的私有数据中与所述交集对应的部分和所述第二参与方的私有数据中与所述交集对应的部分均映射到所述关联数据集合,包括:
建立与所述标志一一对应的内存地址索引,其中,所述映射方式包括所述内存地址索引;和
根据所述内存地址索引,分别建立所述第一参与方的私有数据中与所述交集对应的部分和所述第一参与方的内存资源之间的第一映射关系以及所述第二参与方的私有数据中与所述交集对应的部分和所述第二参与方的内存资源之间的第二映射关系,
其中,所述关联数据集合包括所述第一映射关系和所述第二映射关系。
5. 根据权利要求1或2所述的方法,其特征在于,根据基于所述标志确定的所述映射方式,将所述第一参与方的私有数据中与所述交集对应的部分和所述第二参与方的私有数据中与所述交集对应的部分均映射到所述关联数据集合,包括:
通过Hash算法,获得与所述标志一一对应的Hash值,其中,所述映射方式包括所述Hash值;和
根据所述Hash值,分别建立所述第一参与方的私有数据中与所述交集对应的部分和所述Hash值之间的第一映射关系以及所述第二参与方的私有数据中与所述交集对应的部分和所述Hash值之间的第二映射关系,
其中,所述关联数据集合包括所述第一映射关系和所述第二映射关系。
6. 根据权利要求2所述的方法,其特征在于,所述标志包括用于验证用户身份的所述特征组合,所述特征组合包括第一特征和第二特征,其中,根据基于所述标志确定的所述映射方式,将所述第一参与方的私有数据中与所述交集对应的部分和所述第二参与方的私有数据中与所述交集对应的部分均映射到所述关联数据集合,包括:
根据所述第一特征,分别对所述第一参与方的私有数据中与所述交集对应的部分和所述第二参与方的私有数据中与所述交集对应的部分进行分类,得到具有相同的所述第一特征的所述第一参与方的用户第一特征分组和所述二参与方的用户第一特征分组;和
根据所述第二特征,分别对述第一参与方的用户第一特征分组和所述二参与方的用户第一特征分组进行排序,得到所述关联数据集合。
7. 根据权利要求1所述的方法,其特征在于,通过所述预设分组规则对所述第一参与方的硬件资源和所述第二参与方的硬件资源进行分组后分别得到所述第一参与方的硬件分组和所述第二参与方的硬件分组,包括:
根据数据处理能力指标对所述第一参与方的硬件资源进行分组从而在所述第一参与方的硬件分组的每一个硬件分组中平均分配该数据处理能力指标;以及
根据所述数据处理能力指标对所述第二参与方的硬件资源进行分组从而在所述第二参与方的硬件分组的每一个硬件分组中平均分配该数据处理能力指标。
8.根据权利要求7所述的方法,其特征在于,所述数据处理能力指标包括最大并行处理数据量、GPU的显存大小、GPU算力、GPU个数、通道数或者处理器主频。
9.根据权利要求1所述的方法,其特征在于,所述预设分组规则包括根据GPU算力进行排序,其中,在所述第一匹配关系和所述第二匹配关系中,所述关联数据集合中具有较高优先级的数据匹配具有较高算力的GPU。
10.根据权利要求9所述的方法,其特征在于,所述优先级根据数据类型、数据子集类型、或者用户偏好确定。
11.根据权利要求1所述的方法,其特征在于,所述第一参与方的硬件资源或者所述第二参与方的硬件资源是将多个GPU虚拟化后的GPU分组,其中,所述GPU分组用于实现所述多个GPU的硬件负载的平衡。
12.根据权利要求1所述的方法,其特征在于,所述第一参与方的硬件资源或者所述第二参与方的硬件资源不包括预留的GPU,其中,所述预留的GPU用于容错处理。
13.一种用于联邦学习的机器学习模型训练方法,其特征在于,所述方法包括:
获得本地训练数据和非本地训练数据之间具有相同标志的交集;
根据基于所述标志确定的映射方式,将所述本地训练数据中与所述交集对应的部分映射到关联数据集合,其中,所述非本地训练数据中与所述交集对应的部分根据所述映射方式被映射到所述关联数据集合;
通过预设分组规则对本地硬件资源分组得到本地硬件分组,其中,非本地硬件资源通过所述预设分组规则进行分组得到非本地硬件分组;
获得所述关联数据集合和所述本地硬件分组之间的第一匹配关系;以及
根据所述第一匹配关系和第二匹配关系,调动所述本地硬件资源,利用所述关联数据集合进行训练,其中,所述第二匹配关系是所述关联数据集合和所述非本地硬件分组之间。
14.根据权利要求13所述的方法,其特征在于,所述标志包括用于验证用户身份的特征或者特征组合。
15. 根据权利要求13或14所述的方法,其特征在于,根据基于所述标志确定的所述映射方式,将所述本地训练数据中与所述交集对应的部分映射到所述关联数据集合,包括:
建立与所述标志一一对应的数据索引,其中,所述映射方式包括所述数据索引;和
根据所述数据索引,对所述本地训练数据中与所述交集对应的部分进行排序,得到所述关联数据集合。
16. 根据权利要求13或14所述的方法,其特征在于,根据基于所述标志确定的所述映射方式,将所述本地训练数据中与所述交集对应的部分映射到所述关联数据集合,包括:
建立与所述标志一一对应的内存地址索引,其中,所述映射方式包括所述内存地址索引;和
根据所述内存地址索引,建立所述本地训练数据中与所述交集对应的部分和本地内存资源之间的映射关系,
其中,所述关联数据集合包括所述映射关系。
17. 根据权利要求13或14所述的方法,其特征在于,根据基于所述标志确定的所述映射方式,将所述本地训练数据中与所述交集对应的部分映射到所述关联数据集合,包括:
通过Hash算法,获得与所述标志一一对应的Hash值,其中,所述映射方式包括所述Hash值;和
根据所述Hash值,建立所述本地训练数据中与所述交集对应的部分和所述Hash值之间的映射关系,
其中,所述关联数据集合包括所述映射关系。
18. 根据权利要求14所述的方法,其特征在于,所述标志包括用于验证用户身份的所述特征组合,所述特征组合包括第一特征和第二特征,其中,根据基于所述标志确定的所述映射方式,将所述第一参与方的私有数据中与所述交集对应的部分和所述第二参与方的私有数据中与所述交集对应的部分均映射到所述关联数据集合,包括:
根据所述第一特征,分别对所述第一参与方的私有数据中与所述交集对应的部分和所述第二参与方的私有数据中与所述交集对应的部分进行分类,得到具有相同的所述第一特征的所述第一参与方的用户第一特征分组和所述二参与方的用户第一特征分组;和
根据所述第二特征,分别对述第一参与方的用户第一特征分组和所述二参与方的用户第一特征分组进行排序,得到所述关联数据集合。
19.根据权利要求13所述的方法,其特征在于,通过所述预设分组规则对所述本地硬件资源分组得到所述本地硬件分组,包括:
根据数据处理能力指标对所述本地硬件资源进行分组从而在所述本地硬件分组的每一个硬件分组中平均分配该数据处理能力指标。
20.根据权利要求19所述的方法,其特征在于,所述数据处理能力指标包括最大并行处理数据量、GPU的显存大小、GPU算力、GPU个数、通道数或者处理器主频。
21.根据权利要求13所述的方法,其特征在于,所述预设分组规则包括根据GPU算力进行排序,其中,在所述第一匹配关系中,所述关联数据集合中具有较高优先级的数据匹配具有较高算力的GPU。
22.根据权利要求21所述的方法,其特征在于,所述优先级根据数据类型、数据子集类型、或者用户偏好确定。
23.根据权利要求13所述的方法,其特征在于,所述本地硬件资源是将多个GPU虚拟化后的GPU分组,其中,所述GPU分组用于实现所述多个GPU的硬件负载的平衡。
24.根据权利要求13所述的方法,其特征在于,所述本地硬件资源不包括预留的GPU,其中,所述预留的GPU用于容错处理。
25.一种芯片系统,其特征在于,所述芯片系统应用于电子设备;所述芯片系统包括一个或多个接口电路,以及一个或多个处理器;所述接口电路和所述处理器通过线路互联;所述接口电路用于从所述电子设备的存储器接收信号,并向所述处理器发送所述信号,所述信号包括所述存储器中存储的计算机指令;当所述处理器执行所述计算机指令时,所述电子设备执行如权利要求13、14、18至24中任意一项所述方法。
26.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序指令,所述计算机程序指令当被处理器执行时使所述处理器执行如权利要求13、14、18至24中任一项所述的方法。
27.一种计算机程序产品,其特征在于,所述计算机程序产品包括计算机指令,当所述计算机指令在电子设备上运行时,使得所述电子设备执行如权利要求13、14、18至24中任一项所述的方法。
28.一种用于联邦学习的并行训练系统,其特征在于,所述系统包括:
接口电路,其中,所述接口电路用于数据交换;
训练数据存储器,其中,训练数据存储器用于存储本地训练数据;
计算装置,其中,所述计算装置包括至少一个GPU;
主存储器;以及
主处理器,其中,所述主处理器用于:
获得所述本地训练数据和非本地训练数据之间具有相同标志的交集;
根据基于所述标志确定的映射方式,将所述本地训练数据中与所述交集对应的部分映射到关联数据集合,其中,所述非本地训练数据中与所述交集对应的部分根据所述映射方式被映射到所述关联数据集合;
通过预设分组规则对所述计算装置进行分组得到本地硬件分组,其中,非本地硬件资源通过所述预设分组规则进行分组得到非本地硬件分组;
获得所述关联数据集合和所述本地硬件分组之间的第一匹配关系;以及
根据所述第一匹配关系和第二匹配关系,调动所述计算装置,利用所述关联数据集合进行训练,其中,所述第二匹配关系是所述关联数据集合和所述非本地硬件分组之间。
29.根据权利要求28所述的系统,其特征在于,所述标志包括用于验证用户身份的特征或者特征组合。
30. 根据权利要求28或29所述的系统,其特征在于,根据基于所述标志确定的所述映射方式,将所述本地训练数据中与所述交集对应的部分映射到所述关联数据集合,包括:
建立与所述标志一一对应的数据索引,其中,所述映射方式包括所述数据索引;和
根据所述数据索引,对所述本地训练数据中与所述交集对应的部分进行排序,得到所述关联数据集合。
31. 根据权利要求28或29所述的系统,其特征在于,根据基于所述标志确定的所述映射方式,将所述本地训练数据中与所述交集对应的部分映射到所述关联数据集合,包括:
建立与所述标志一一对应的内存地址索引,其中,所述映射方式包括所述内存地址索引;和
根据所述内存地址索引,建立所述本地训练数据中与所述交集对应的部分和所述主存储器之间的映射关系,
其中,所述关联数据集合包括所述映射关系。
32. 根据权利要求28或29所述的系统,其特征在于,根据基于所述标志确定的所述映射方式,将所述本地训练数据中与所述交集对应的部分映射到所述关联数据集合,包括:
通过Hash算法,获得与所述标志一一对应的Hash值,其中,所述映射方式包括所述Hash值;和
根据所述Hash值,建立所述本地训练数据中与所述交集对应的部分和所述Hash值之间的映射关系,
其中,所述关联数据集合包括所述映射关系。
33. 根据权利要求29所述的系统,其特征在于,所述标志包括用于验证用户身份的所述特征组合,所述特征组合包括第一特征和第二特征,其中,根据基于所述标志确定的所述映射方式,将所述第一参与方的私有数据中与所述交集对应的部分和所述第二参与方的私有数据中与所述交集对应的部分均映射到所述关联数据集合,包括:
根据所述第一特征,分别对所述第一参与方的私有数据中与所述交集对应的部分和所述第二参与方的私有数据中与所述交集对应的部分进行分类,得到具有相同的所述第一特征的所述第一参与方的用户第一特征分组和所述二参与方的用户第一特征分组;和
根据所述第二特征,分别对述第一参与方的用户第一特征分组和所述二参与方的用户第一特征分组进行排序,得到所述关联数据集合。
34.根据权利要求28所述的系统,其特征在于,通过所述预设分组规则对所述计算装置进行分组得到所述本地硬件分组,包括:
根据数据处理能力指标对所述计算装置进行分组从而在所述本地硬件分组的每一个硬件分组中平均分配该数据处理能力指标。
35.根据权利要求34所述的系统,其特征在于,所述数据处理能力指标包括最大并行处理数据量、GPU的显存大小、GPU算力、GPU个数、通道数或者处理器主频。
36.根据权利要求28所述的系统,其特征在于,所述预设分组规则包括根据GPU算力进行排序,其中,在所述第一匹配关系中,所述关联数据集合中具有较高优先级的数据匹配具有较高算力的GPU。
37.根据权利要求36所述的系统,其特征在于,所述优先级根据数据类型、数据子集类型、或者用户偏好确定。
38.根据权利要求28所述的系统,其特征在于,所述计算装置包括将多个GPU虚拟化后的GPU分组,其中,所述GPU分组用于实现所述多个GPU的硬件负载的平衡。
39.根据权利要求28所述的系统,其特征在于,所述系统还包括预留的GPU用于容错处理。
CN202110033547.1A 2021-01-12 2021-01-12 用于联邦学习的并行训练方法及系统 Active CN112365006B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110033547.1A CN112365006B (zh) 2021-01-12 2021-01-12 用于联邦学习的并行训练方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110033547.1A CN112365006B (zh) 2021-01-12 2021-01-12 用于联邦学习的并行训练方法及系统

Publications (2)

Publication Number Publication Date
CN112365006A true CN112365006A (zh) 2021-02-12
CN112365006B CN112365006B (zh) 2021-04-02

Family

ID=74534693

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110033547.1A Active CN112365006B (zh) 2021-01-12 2021-01-12 用于联邦学习的并行训练方法及系统

Country Status (1)

Country Link
CN (1) CN112365006B (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112884165A (zh) * 2021-03-18 2021-06-01 中国地质大学(北京) 面向联邦机器学习的全流程服务迁移方法与系统
CN112884163A (zh) * 2021-03-18 2021-06-01 中国地质大学(北京) 基于联邦机器学习算法与云端反馈的组合服务评估方法与系统
CN113052334A (zh) * 2021-04-14 2021-06-29 中南大学 一种联邦学习实现方法、系统、终端设备及可读存储介质
CN113836559A (zh) * 2021-09-28 2021-12-24 中国银联股份有限公司 一种联邦学习中的样本对齐方法、装置、设备及存储介质
CN113919512A (zh) * 2021-09-26 2022-01-11 重庆邮电大学 基于计算资源逻辑分层的联邦学习通信优化方法及系统

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20190138934A1 (en) * 2018-09-07 2019-05-09 Saurav Prakash Technologies for distributing gradient descent computation in a heterogeneous multi-access edge computing (mec) networks
CN111245903A (zh) * 2019-12-31 2020-06-05 烽火通信科技股份有限公司 一种基于边缘计算的联合学习方法及系统
WO2020206695A1 (en) * 2019-04-12 2020-10-15 Hangzhou Nuowei Information Technology Co., Ltd. System for decentralized ownership and secure sharing of personalized health data
CN112100673A (zh) * 2020-09-29 2020-12-18 深圳致星科技有限公司 用于隐私计算的联邦学习加速器和rsa交集计算方法
CN112148437A (zh) * 2020-10-21 2020-12-29 深圳致星科技有限公司 用于联邦学习的计算任务加速处理方法、装置及设备

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20190138934A1 (en) * 2018-09-07 2019-05-09 Saurav Prakash Technologies for distributing gradient descent computation in a heterogeneous multi-access edge computing (mec) networks
WO2020206695A1 (en) * 2019-04-12 2020-10-15 Hangzhou Nuowei Information Technology Co., Ltd. System for decentralized ownership and secure sharing of personalized health data
CN111245903A (zh) * 2019-12-31 2020-06-05 烽火通信科技股份有限公司 一种基于边缘计算的联合学习方法及系统
CN112100673A (zh) * 2020-09-29 2020-12-18 深圳致星科技有限公司 用于隐私计算的联邦学习加速器和rsa交集计算方法
CN112148437A (zh) * 2020-10-21 2020-12-29 深圳致星科技有限公司 用于联邦学习的计算任务加速处理方法、装置及设备

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
XINCHEN WAN ET AL: "RAT - Resilient Allreduce Tree for Distributed Machine Learning", 《APNET’20:4TH ASIA-PACIFIC WORKSHOP ON NETWORKING》 *
张星洲 等: "边缘智能中的协同计算技术研究", 《人工智能》 *

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112884165A (zh) * 2021-03-18 2021-06-01 中国地质大学(北京) 面向联邦机器学习的全流程服务迁移方法与系统
CN112884163A (zh) * 2021-03-18 2021-06-01 中国地质大学(北京) 基于联邦机器学习算法与云端反馈的组合服务评估方法与系统
CN112884163B (zh) * 2021-03-18 2023-06-23 中国地质大学(北京) 基于联邦机器学习算法与云端反馈的组合服务评估方法与系统
CN113052334A (zh) * 2021-04-14 2021-06-29 中南大学 一种联邦学习实现方法、系统、终端设备及可读存储介质
CN113052334B (zh) * 2021-04-14 2023-09-29 中南大学 一种联邦学习实现方法、系统、终端设备及可读存储介质
CN113919512A (zh) * 2021-09-26 2022-01-11 重庆邮电大学 基于计算资源逻辑分层的联邦学习通信优化方法及系统
CN113836559A (zh) * 2021-09-28 2021-12-24 中国银联股份有限公司 一种联邦学习中的样本对齐方法、装置、设备及存储介质

Also Published As

Publication number Publication date
CN112365006B (zh) 2021-04-02

Similar Documents

Publication Publication Date Title
CN112365006B (zh) 用于联邦学习的并行训练方法及系统
US11875340B2 (en) Method and system for secure data record distribution using a blockchain
Chen et al. When homomorphic encryption marries secret sharing: Secure large-scale sparse logistic regression and applications in risk control
Baum et al. P2DEX: privacy-preserving decentralized cryptocurrency exchange
CN108519981B (zh) 一种跨链智能合约合作可能性评估方法
Pinkas Cryptographic techniques for privacy-preserving data mining
Kasyap et al. Privacy-preserving decentralized learning framework for healthcare system
Kai et al. An efficient public batch auditing protocol for data security in multi-cloud storage
JP2023133560A (ja) コンピュータにより実施される投票処理及びシステム
CN113826349A (zh) 对数据集中的敏感数据字段进行归类
CN112100673A (zh) 用于隐私计算的联邦学习加速器和rsa交集计算方法
CN113761563B (zh) 数据交集计算方法、装置及电子设备
Kim et al. Efficient isogeny computations on twisted Edwards curves
CN114175028A (zh) 密码假名映射方法、计算机系统、计算机程序和计算机可读介质
CN109104419A (zh) 一种区块链账号的生成方法及系统
CN116049909A (zh) 联邦特征工程中的特征筛选方法、装置、设备及存储介质
CN114154196A (zh) 异构数据处理方法、装置及电子设备
Ergun et al. An application of crypto cloud computing in social networks by cooperative game theory
WO2018105038A1 (ja) 通信装置及び分散型元帳システム
CN112685788B (zh) 数据处理方法和装置
JP2013156720A (ja) 匿名データ提供システム、匿名データ装置、及びそれらが実行する方法
Bernabé-Rodríguez et al. A decentralized private data marketplace using blockchain and secure multi-party computation
Kähler et al. Deciding properties of contract-signing protocols
CN114422105A (zh) 联合建模方法、装置、电子设备及存储介质
CN114494803B (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