CN111695675B - 联邦学习模型训练方法及相关设备 - Google Patents
联邦学习模型训练方法及相关设备 Download PDFInfo
- Publication number
- CN111695675B CN111695675B CN202010409022.9A CN202010409022A CN111695675B CN 111695675 B CN111695675 B CN 111695675B CN 202010409022 A CN202010409022 A CN 202010409022A CN 111695675 B CN111695675 B CN 111695675B
- Authority
- CN
- China
- Prior art keywords
- sample
- preset
- identification information
- box
- target
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000012549 training Methods 0.000 title claims abstract description 160
- 238000000034 method Methods 0.000 title claims abstract description 107
- 230000008569 process Effects 0.000 claims abstract description 27
- 238000004891 communication Methods 0.000 claims description 37
- 238000012545 processing Methods 0.000 claims description 30
- 238000004590 computer program Methods 0.000 claims description 22
- 238000009826 distribution Methods 0.000 claims description 20
- 238000005304 joining Methods 0.000 claims description 16
- 238000003860 storage Methods 0.000 claims description 14
- 238000013473 artificial intelligence Methods 0.000 abstract description 5
- 238000013528 artificial neural network Methods 0.000 description 14
- 238000004422 calculation algorithm Methods 0.000 description 10
- 238000004364 calculation method Methods 0.000 description 9
- 230000006870 function Effects 0.000 description 9
- 238000010586 diagram Methods 0.000 description 5
- 238000007781 pre-processing Methods 0.000 description 4
- 230000000903 blocking effect Effects 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 2
- 238000004140 cleaning Methods 0.000 description 2
- 238000003062 neural network model Methods 0.000 description 2
- 238000001514 detection method Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
Classifications
-
- 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/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/602—Providing cryptographic facilities or services
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
-
- 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)
- Physics & Mathematics (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Mathematical Physics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- General Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- Biophysics (AREA)
- Molecular Biology (AREA)
- Computational Linguistics (AREA)
- Biomedical Technology (AREA)
- Life Sciences & Earth Sciences (AREA)
- Bioethics (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Medical Informatics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Storage Device Security (AREA)
- Complex Calculations (AREA)
Abstract
本发明涉及人工智能,提供一种联邦学习模型训练方法及相关设备。所述联邦学习模型训练方法获取预设分箱规则、预设加密方法;根据预设加密方法对第一分布式系统的第一样本数据的标识信息进行加密,得到第一标识信息;根据预设分箱规则和第一标识信息对第一样本数据进行分箱,得到多个第一样本箱;控制第一分布式系统中的多个第一计算单元根据第一标识信息从匹配任务队列中匹配出多个目标第一样本箱;将多个目标第一样本箱加入训练任务队列;调用多个第一计算单元和第二分布式系统中的多个第二计算单元联合处理训练任务队列中的训练任务,得到每个目标第一样本箱对应的联邦学习模型。本发明提升了训练联邦学习模型的效率。
Description
技术领域
本发明涉及人工智能技术领域,具体涉及一种联邦学习模型训练方法、装置、分布式系统及计算机可读存储介质。
背景技术
随着人工智能技术的发展,通过联合不同的参与者(participant,或者party,也称为数据拥有者(data owner)、或者客户(client))进行机器学习建模成为发展趋势,即联邦学习。
在联邦学习中,如何提升训练联邦学习模型的效率,成为亟待解决的技术问题。
发明内容
鉴于以上内容,有必要提出一种联邦学习模型训练方法、装置、分布式系统及计算机可读存储介质,旨在于提高训练联邦学习模型的效率。
本申请的第一方面提供一种联邦学习模型训练方法,所述联邦学习模型训练方法应用于第一分布式系统中,所述联邦学习模型训练方法包括:
从第二分布式系统获取预设分箱规则、预设加密方法;
根据所述预设加密方法对所述第一分布式系统的第一样本数据的标识信息进行加密,得到第一标识信息;
根据所述预设分箱规则和所述第一标识信息对所述第一样本数据进行分箱,得到多个第一样本箱;
将所述多个第一样本箱加入匹配任务队列;
控制所述第一分布式系统中的多个第一计算单元根据所述第一标识信息从所述匹配任务队列中匹配出多个目标第一样本箱;
将所述多个目标第一样本箱加入训练任务队列;
调用所述多个第一计算单元和所述第二分布式系统中的多个第二计算单元联合处理所述训练任务队列中的训练任务,得到每个目标第一样本箱对应的联邦学习模型。
另一种可能的实现方式中,所述根据所述预设分箱规则和所述第一标识信息对所述第一样本数据进行分箱包括:
获取所述预设分箱规则中的预设除数;
对每个所述第一标识信息与所述预设除数进行相除并获取余数;
根据所述第一标识信息对应的余数对所述第一样本数据进行分箱,得到多个第一样本箱;
判断每个第一样本箱中的第一样本数量是否大于预设数量阈值;
对第一样本数量大于所述预设数量阈值的第一样本箱进行均匀分割,得到多个子箱。
另一种可能的实现方式中,所述控制所述第一分布式系统中的多个第一计算单元根据所述第一标识信息从所述匹配任务队列中匹配出多个目标第一样本箱包括:
每次控制一个第一计算单元读取所述匹配任务队列中的一个匹配任务,获取所述匹配任务中的第一样本箱;
控制所述第一计算单元从所述第二分布式系统中获取与所述第一样本箱关联的第二标识信息;
控制所述第一计算单元从所述第一样本箱中匹配出与所述第二标识信息一致的第一标识信息对应的的样本数据,得到多个目标样本数据;
通过所述第一计算单元,删除所述第一样本箱中除所述多个目标样本数据外的样本数据,得到目标第一样本箱。
另一种可能的实现方式中,所述控制所述第一计算单元从所述第二分布式系统中获取与所述第一样本箱关联的第二标识信息包括:
为所述第一计算单元及所述第二分布式系统中的与所述第一计算单元关联的第二计算单元建立通信通道;
控制所述第一计算单元通过所述通信通道从所述关联的第二计算单元中获取与所述第一样本箱关联的第二样本箱,从所述关联的第二样本箱中获取第二样本数据的第二标识信息。
另一种可能的实现方式中,所述将所述多个目标第一样本箱加入训练任务队列包括:
获取每个目标第一样本箱中的第二样本数量;
当所述第二样本数量小于预设第一样本数量阈值时,合并第二样本数量小于所述预设第一样本数量阈值的目标第一样本箱,将所述合并后的第一样本箱加入所述训练任务队列;
当所述第二样本数量大于所述预设第二样本数量阈值时,拆分第二样本数量大于所述预设第二样本数量阈值的目标第一样本箱,将所述拆分后的第一样本箱加入所述训练任务队列;
其中,所述预设第二样本数量阈值大于所述预设第一样本数量阈值,所述合并后的目标第一样本箱的第二样本数量小于或等于所述预设第二样本数量阈值,且大于或等于所述预设第一样本数量阈值,所述拆分后的第一样本箱的第二样本数量小于或等于预设第二样本数量阈值,且大于或等于所述预设第一样本数量阈值。
另一种可能的实现方式中,所述调用所述多个第一计算单元和所述第二分布式系统中的多个第二计算单元联合处理所述训练任务队列中的训练任务包括:
每次控制一个第一计算单元读取所述训练任务队列中的一个训练任务,获取所述训练任务中的目标第一样本箱,为所述第一计算单元及所述第二分布式系统中的与所述第一计算单元关联的第二计算单元建立通信通道;
控制所述第一计算单元通过所述通信通道与所述关联的第二计算单元基于所述目标第一样本箱联合训练联邦学习模型,得到所述目标第一样本箱对应的联邦学习模型。
另一种可能的实现方式中,所述第一计算单元与所述关联的第二计算单元通过所述通信通道进行加密通信。
本申请的第二方面提供一种联邦学习模型训练装置,所述联邦学习模型训练装置运行于第一分布式系统中,所述联邦学习模型训练装置包括:
获取模块,用于从第二分布式系统获取预设分箱规则、预设加密方法;
加密模块,用于根据所述预设加密方法对所述第一分布式系统的第一样本数据的标识信息进行加密,得到第一标识信息;
分箱模块,用于根据所述预设分箱规则和所述第一标识信息对所述第一样本数据进行分箱,得到多个第一样本箱;
第一加入模块,用于将所述多个第一样本箱加入匹配任务队列;
匹配模块,用于控制所述第一分布式系统中的多个第一计算单元根据所述第一标识信息从所述匹配任务队列中匹配出多个目标第一样本箱;
第二加入模块,用于将所述多个目标第一样本箱加入训练任务队列;
处理模块,用于调用所述多个第一计算单元和所述第二分布式系统中的多个第二计算单元联合处理所述训练任务队列中的训练任务,得到每个目标第一样本箱对应的联邦学习模型。
本申请的第三方面提供一种分布式系统,所述分布式系统由多个计算机设备构成,所述计算机设备包括处理器,所述处理器用于执行存储器中存储的计算机程序时实现所述联邦学习模型训练方法。
本申请的第四方面提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现所述联邦学习模型训练方法。
本发明通过分布式系统的多个计算单元对待处理匹配任务和训练任务进行异步处理,避免待处理任务在单位时间点对计算资源的需求压力,同时提高容错性,提升了训练联邦学习模型的效率。
附图说明
图1是本发明实施例提供的联邦学习模型训练方法的流程图。
图2是本发明实施例提供的联邦学习模型训练装置的结构图。
图3是本发明实施例提供的分布式系统中的计算机设备的示意图。
具体实施方式
为了能够更清楚地理解本发明的上述目的、特征和优点,下面结合附图和具体实施例对本发明进行详细描述。需要说明的是,在不冲突的情况下,本申请的实施例及实施例中的特征可以相互组合。
在下面的描述中阐述了很多具体细节以便于充分理解本发明,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
除非另有定义,本文所使用的所有的技术和科学术语与属于本发明的技术领域的技术人员通常理解的含义相同。本文中在本发明的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本发明。
优选地,本发明的联邦学习模型训练方法应用在一个分布式系统中,所述第一分布式系统由多个计算机设备构成。所述计算机设备是一种能够按照事先设定或存储的指令,自动进行数值计算和/或信息处理的设备,其硬件包括但不限于微处理器、专用集成电路(Application Specific Integrated Circuit,ASIC)、可编程门阵列(Field-Programmable Gate Array,FPGA)、数字处理器(Digital Signal Processor,DSP)、嵌入式设备等。
本申请可用于众多通用或专用的计算机系统环境或配置中。例如:个人计算机、服务器计算机、手持设备或便携式设备、平板型设备、多处理器系统、基于微处理器的系统、置顶盒、可编程的消费电子设备、网络PC、小型计算机、大型计算机、包括以上任何系统或设备的分布式计算环境等等。本申请可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本申请,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
所述计算机设备可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。所述计算机设备可以与用户通过键盘、鼠标、遥控器、触摸板或声控设备等方式进行人机交互。
实施例一
图1是本发明实施例一提供的联邦学习模型训练方法的流程图。所述联邦学习模型训练方法应用于第一分布式系统中,所述第一分布式系统由多个计算机设备构成,用于训练联邦学习模型。
所述联邦学习模型训练方法具体包括以下步骤,根据不同的需求,该流程图中步骤的顺序可以改变,某些可以省略。
101,从第二分布式系统获取预设分箱规则、预设加密方法。
所述第一分布式系统可以是数据请求方,所述第二分布式系统可以是数据提供方,数据请求方需要联合数据提供方进行联邦学习,并不需要获取数据提供方的数据。例如,数据请求方为保险公司,数据提供方为金融公司;保险公司需要在不获取金融公司的数据的情况下,与金融公司进行联邦学习,以获得对客户进行可靠性评分的评分模型。
所述第一分布式系统可以使用所述预设分箱规则对样本数据进行分箱。所述预设分箱规则包括:根据数值范围或除数取余结果将样本数据分入不同的样本箱。所述第二分布式系统也是用所述预设分箱规则对样本数据进行分箱,使两个系统中相同的样本数据被分入相对应的样本箱。
所述预设加密方法可以是不可回溯的均匀加密算法。所述预设加密方法可以是哈希加密方法、对称加密方法、非对称加密方法。所述预设加密方法可以用于对样本数据的识别信息或所述第一分布式系统与所述第二分布式系统之间的通信数据进行加密。所述预设加密方法可以使所述第一分布式系统和所述第二分布式系统不获取对方的明文数据。所述第一分布式系统和所述第二分布式系统使用相同的预设加密方法,当所述第一分布式相同中的样本数据的标识信息与所述第二分布式系统中的样本数据的标识信息相同时,加密后的两个标识信息也相同。
102,根据所述预设加密方法对所述第一分布式系统的第一样本数据的标识信息进行加密,得到第一标识信息。
所述第一样本数据可以包括多个用户的基本信息和一些特征数据等,所述第一标识信息可以是加密后的用户的身份证号码或手机号。
例如,保险公司中的第一样本数据包括3条样本数据,分别为{用户1的标识信息,年龄,保险特征数据}、{用户2的标识信息,年龄,保险特征数据}、{用户3的标识信息,年龄,保险特征数据}。可以根据哈希算法(预设加密方法)对每个用户的识别信息进行加密。
103,根据所述预设分箱规则和所述第一标识信息对所述第一样本数据进行分箱,得到多个第一样本箱。
在一具体实施例中,在所述根据所述预设分箱规则和所述第一标识信息对所述第一样本数据进行分箱之前,所述方法还包括:
对所述第一样本数据进行数据清洗、格式转换、特征工程等预处理。
还可以对所述第一样本数据进行数据混淆、数据编码等预处理。
在一具体实施例中,所述根据所述预设分箱规则和所述第一标识信息对所述第一样本数据进行分箱包括:
获取所述预设分箱规则中的预设除数;
对每个所述第一标识信息与所述预设除数进行相除并获取余数;
根据所述第一标识信息对应的余数对所述第一样本数据进行分箱,得到多个第一样本箱;
判断每个第一样本箱中的第一样本数量是否大于预设数量阈值;
对第一样本数量大于所述预设数量阈值的第一样本箱进行均匀分割,得到多个子箱。
例如,用30个第一标识信息分别除以6(预设除数),得到各个第一标识信息的余数。将第一标识信息的余数为1的第一样本数据分入第1个第一样本箱;将第一标识信息的余数为2的第一样本数据分入第2个第一样本箱;将第一标识信息的余数为3的第一样本数据分入第3个第一样本箱;将第一标识信息的余数为4的第一样本数据分入第4个第一样本箱;将第一标识信息的余数为5的第一样本数据分入第5个第一样本箱;将第一标识信息的余数为0的第一样本数据分入第6个第一样本箱。如果判断第2个第一样本箱中的第一样本数量大于预设数量阈值,将第2个第一样本箱均匀分割为2个子箱(或其它数量)。
或者,所述根据所述预设分箱规则和所述第一标识信息对所述第一样本数据进行分箱包括:
获取所述预设分箱规则中的多个预设取值范围,每个预设取值范围对应一个第一样本箱;
截取每个所述第一标识信息的预设位置的数值,得到每个所述第一标识信息的截取数值;
确定所述第一标识信息的截取数值所属的目标预设取值范围;
根据所述第一标识信息的截取数值所属的目标预设取值范围,将所述第一样本数据分入目标预设取值范围对应的第一样本箱;
判断每个第一样本箱中的第一样本数量是否大于预设数量阈值;
对第一样本数量大于所述预设数量阈值的第一样本箱进行均匀分割,得到多个子箱。
例如,获取预设分箱规则中的5个预设取值范围(如0-1,2-3,4-5,6-7,8-9),5个预设取值范围分别对应5个第一样本箱。截取各个第一标识信息的最后一位数值(如十进制0-9),得到每个第一标识信息的截取数值。确定每个第一标识信息的截取数值所属的目标预设取值范围,如截取数值0、1属于取值范围0-1(对应第1个第一样本箱),截取数值2、3属于取值范围2-3(对应第2个第一样本箱),截取数值4、5属于取值范围4-5(对应第3个第一样本箱),截取数值6、7属于取值范围6-7(对应第4个第一样本箱),截取数值8、9属于取值范围8-9(对应第5个第一样本箱)。将第一标识信息的截取数值为0的第一样本数据分入第1个第一样本箱;将第一标识信息的截取数值为1的第一样本数据分入第1个第一样本箱;将第一标识信息的截取数值为2的第一样本数据分入第2个第一样本箱;以此类推。如果判断第3个第一样本箱中的第一样本数量大于预设数量阈值,将第3个第一样本箱均匀分割为2个子箱(或其它数量)。
通过分箱对需要计算的样本数据进行合理的分配。可以理解为把样本数据均衡分块成多个任务,交给不同的计算单元进行处理。缩小了遍历的计算量和访问压力。
104,将所述多个第一样本箱加入匹配任务队列。
可以将每个第一样本箱打包为待处理的匹配任务,将多个匹配任务加入匹配任务队列。所述第一分布式系统中的处于空闲状态的计算单元可以依次读取并处理所述匹配任务队列中的匹配任务,以达到异步处理匹配任务的目的,提升处理效率。
105,控制所述第一分布式系统中的多个第一计算单元根据所述第一标识信息从所述匹配任务队列中匹配出多个目标第一样本箱。
可以从所述第一分布式系统获取执行任务需要的多个第一计算单元。对所述多个第一计算单元进行配置。为保证配置的一致性和易操作性,可以使用docker向预设代码仓库拉取镜像。
在一具体实施例中,所述控制所述第一分布式系统中的多个第一计算单元根据所述第一标识信息从所述匹配任务队列中匹配出多个目标第一样本箱包括:
每次控制一个第一计算单元读取所述匹配任务队列中的一个匹配任务,获取所述匹配任务中的第一样本箱;
控制所述第一计算单元从所述第二分布式系统中获取与所述第一样本箱关联的第二标识信息;
控制所述第一计算单元从所述第一样本箱中匹配出与所述第二标识信息一致的第一标识信息对应的的样本数据,得到多个目标样本数据;
通过所述第一计算单元,删除所述第一样本箱中除所述多个目标样本数据外的样本数据,得到目标第一样本箱。
在另一实施例中,所述第一样本箱包括多个子箱,所述控制所述第一计算单元从所述第一样本箱中匹配出与所述第二标识信息一致的第一标识信息对应的的样本数据包括:
控制所述第一计算单元从所述第一样本箱的多个子箱中匹配出与所述第二标识信息一致的第一标识信息对应的的样本数据,得到多个目标样本数据。将第一样本箱分为多个子箱,可以减少所述第一计算单元在短时间内对高运行资源的需求。避免卡顿或宕机,从而提升计算效率。
在另一实施例中,所述控制所述第一计算单元从所述第二分布式系统中获取与所述第一样本箱关联的第二标识信息包括:
为所述第一计算单元及所述第二分布式系统中的与所述第一计算单元关联的第二计算单元建立通信通道;
控制所述第一计算单元通过所述通信通道从所述关联的第二计算单元中获取与所述第一样本箱关联的第二样本箱,从所述关联的第二样本箱中获取第二样本数据的第二标识信息。
所述多个第一样本箱与所述第二分布式系统中的多个第二样本箱一一关联,处理两个关联样本箱的两个计算单元一一关联。例如第一样本箱A与第二样本箱B关联,第一计算单元a处理第一样本箱A,第二计算单元b处理第二样本箱B,第一计算单元a与第二计算单元b关联。
所述第一分布式系统中的一个第一计算单元与所述第二分布式系统中的一个第二计算单元一一关联,两个计算单元分别处理的两个样本箱也一一关联。
所述第二分布式系统根据所述预设加密方法对所述第二分布式系统的第二样本数据的标识信息进行加密,得到所述第二标识信息。所述第二分布式系统根据所述预设分箱规则对所述第二样本数据进行分箱,得到多个第二样本箱。
在一具体实施例中,所述控制所述第一分布式系统中的多个第一计算单元根据所述第一标识信息从所述匹配任务队列中匹配出多个目标第一样本箱包括:
获取所述多个第一计算单元的第一数量和所述匹配任务队列中的匹配任务的第二数量;
判断所述第一数量是否小于所述第二数量;
当所述第一数量大于或等于所述第二数量时,用所述多个第一计算单元根据所述第一标识信息处理所述匹配任务队列中的全部匹配任务;
当所述第一数量小于所述第二数量时,用所述多个第一计算单元根据所述第一标识信息分批处理所述匹配任务队列中的匹配任务。
106,将所述多个目标第一样本箱加入训练任务队列。
可以将各个目标第一样本箱打包为待处理的训练任务,将各个训练任务加入训练任务队列。所述第一分布式系统中的处于空闲状态的计算单元可以依次读取并处理所述训练任务队列中的训练任务,以达到异步处理训练任务的目的,提升处理效率。
在一具体实施例中,所述将所述多个目标第一样本箱加入训练任务队列包括:
获取每个目标第一样本箱中的第二样本数量;
当所述第二样本数量小于预设第一样本数量阈值时,合并第二样本数量小于所述预设第一样本数量阈值的目标第一样本箱,将所述合并后的第一样本箱加入所述训练任务队列;
当所述第二样本数量大于所述预设第二样本数量阈值时,拆分第二样本数量大于所述预设第二样本数量阈值的目标第一样本箱,将所述拆分后的第一样本箱加入所述训练任务队列;
其中,所述预设第二样本数量阈值大于所述预设第一样本数量阈值,所述合并后的目标第一样本箱的第二样本数量小于或等于所述预设第二样本数量阈值,且大于或等于所述预设第一样本数量阈值,所述拆分后的第一样本箱的第二样本数量小于或等于预设第二样本数量阈值,且大于或等于所述预设第一样本数量阈值。
107,调用所述多个第一计算单元和所述第二分布式系统中的多个第二计算单元联合处理所述训练任务队列中的训练任务,得到每个目标第一样本箱对应的联邦学习模型。
在一具体实施例中,所述调用所述多个第一计算单元和所述第二分布式系统中的多个第二计算单元联合处理所述训练任务队列中的训练任务包括:
每次控制一个第一计算单元读取所述训练任务队列中的一个训练任务,获取所述训练任务中的目标第一样本箱,为所述第一计算单元及所述第二分布式系统中的与所述第一计算单元关联的第二计算单元建立通信通道;
控制所述第一计算单元通过所述通信通道与所述关联的第二计算单元基于所述目标第一样本箱联合训练联邦学习模型,得到所述目标第一样本箱对应的联邦学习模型。
在一具体实施例中,所述联邦学习模型为神经网络模型(人工智能模型),所述控制所述第一计算单元通过所述通信通道与所述关联的第二计算单元基于所述目标第一样本箱联合训练联邦学习模型包括:
控制所述第一计算单元以所述目标第一样本箱为输入,通过初始化的第一神经网络子模型计算第一中间输出;
控制所述第一计算单元通过所述通信通道将加密后的第一中间输出传输给所述关联的第二计算单元,使所述关联的第二计算单元以所述第一中间输出为输入,通过初始化的第二神经网络子模型计算第二中间输出,将所述第二中间输出通过所述通信通道传输给所述第一计算单元;
控制所述第一计算单元以所述第二中间输出为输入,通过所述第一神经网络子模型计算最终输出,根据所述最终输出和所述最终输出对应的标签通过反向传播算法优化所述第一神经网络子模型的参数;
控制所述第一计算单元通过反向传播算法计算中间误差,将所述中间误差通过所述通信通道传输给所述关联的第二计算单元,使所述关联的第二计算单元根据所述中间误差和所述第二中间输出通过反向传播算法优化所述第二神经网络子模型的参数;
组合所述第一神经网络子模型和所述第二神经网络子模型,得到所述联邦学习模型。
在另一实施例中,所述第一计算单元与所述关联的第二计算单元通过所述通信通道进行加密通信。用所述预设加密方法加密所述第一计算单元与所述关联的第二计算单元通过所述通信通道传输的数据。
在另一实施例中,所述联邦学习模型可以是树模型。
在一具体实施例中,所述调用所述多个第一计算单元和所述第二分布式系统中的多个第二计算单元联合处理所述训练任务队列中的训练任务包括:
获取所述多个第一计算单元的第三数量和所述训练任务队列中的训练任务的第四数量;
判断所述第三数量是否小于所述第四数量;
当所述第三数量大于或等于所述第四数量时,用所述多个第一计算单元和所述第二分布式系统的多个第二计算单元联合处理所述训练任务队列中的全部训练任务;
当所述第三数量小于所述第四数量时,用所述多个第一计算单元和所述第二分布式系统的多个第二计算单元联合,分批处理所述训练任务队列中的训练任务。
实施例一的联邦学习模型训练方法通过分布式系统的多个计算单元对待处理匹配任务和训练任务进行异步处理,避免待处理任务在单位时间点对计算资源的需求压力,同时提高容错性,提升了训练联邦学习模型的效率。
在另一实施例中,所述方法还包括:
从所述第一分布式系统获取多个空闲状态的第一计算单元;
将所述多个空闲状态的第一计算单元动态分配给所述分配任务队列和所述训练任务队列,使所述多个空闲状态的第一计算单元处理所述分配任务队列中的分配任务和/或所述训练任务队列中的训练任务。
所述将所述多个空闲状态的第一计算单元动态分配给所述分配任务队列和所述训练任务队列包括:
获取所述分配任务队列中的分配任务数量和所述训练任务队列中的训练任务数量;
按所述分配任务数量与所述训练任务数量的比例,将所述多个空闲状态的第一计算单元等比例分配给所述分配任务队列和所述训练任务队列。
根据任务队列和计算资源分配任务,从而有效利用计算资源。
在另一实施例中,所述方法还包括:
对所述多个第一计算单元进行心跳检测,检测出停止心跳的第一计算单元;发送对所述停止心跳的第一计算单元的提醒信息给用户。
实施例二
图2是本发明实施例二提供的联邦学习模型训练装置的结构图。所述联邦学习模型训练装置20运行于第一分布式系统中,所述第一分布式系统由多个计算机设备构成。所述联邦学习模型训练装置20用于训练联邦学习模型。
如图2所示,所述联邦学习模型训练装置20可以包括获取模块201、加密模块202、分箱模块203、第一加入模块204、匹配模块205、第二加入模块206、处理模块207。
获取模块201,用于从第二分布式系统获取预设分箱规则、预设加密方法。
所述第一分布式系统可以是数据请求方,所述第二分布式系统可以是数据提供方,数据请求方需要联合数据提供方进行联邦学习,并不需要获取数据提供方的数据。例如,数据请求方为保险公司,数据提供方为金融公司;保险公司需要在不获取金融公司的数据的情况下,与金融公司进行联邦学习,以获得对客户进行可靠性评分的评分模型。
所述第一分布式系统可以使用所述预设分箱规则对样本数据进行分箱。所述预设分箱规则包括:根据数值范围或除数取余结果将样本数据分入不同的样本箱。所述第二分布式系统也是用所述预设分箱规则对样本数据进行分箱,使两个系统中相同的样本数据被分入相对应的样本箱。
所述预设加密方法可以是不可回溯的均匀加密算法。所述预设加密方法可以是哈希加密方法、对称加密方法、非对称加密方法。所述预设加密方法可以用于对样本数据的识别信息或所述第一分布式系统与所述第二分布式系统之间的通信数据进行加密。所述预设加密方法可以使所述第一分布式系统和所述第二分布式系统不获取对方的明文数据。所述第一分布式系统和所述第二分布式系统使用相同的预设加密方法,当所述第一分布式相同中的样本数据的标识信息与所述第二分布式系统中的样本数据的标识信息相同时,加密后的两个标识信息也相同。
加密模块202,用于根据所述预设加密方法对所述第一分布式系统的第一样本数据的标识信息进行加密,得到第一标识信息。
所述第一样本数据可以包括多个用户的基本信息和一些特征数据等,所述第一标识信息可以是加密后的用户的身份证号码或手机号。
例如,保险公司中的第一样本数据包括3条样本数据,分别为{用户1的标识信息,年龄,保险特征数据}、{用户2的标识信息,年龄,保险特征数据}、{用户3的标识信息,年龄,保险特征数据}。可以根据哈希算法(预设加密方法)对每个用户的识别信息进行加密。
分箱模块203,用于根据所述预设分箱规则和所述第一标识信息对所述第一样本数据进行分箱,得到多个第一样本箱。
在一具体实施例中,所述联邦学习模型训练装置还包括预处理模块,用于在所述根据所述预设分箱规则和所述第一标识信息对所述第一样本数据进行分箱之前,对所述第一样本数据进行数据清洗、格式转换、特征工程等预处理。
还可以对所述第一样本数据进行数据混淆、数据编码等预处理。
在一具体实施例中,所述根据所述预设分箱规则和所述第一标识信息对所述第一样本数据进行分箱包括:
获取所述预设分箱规则中的预设除数;
对每个所述第一标识信息与所述预设除数进行相除并获取余数;
根据所述第一标识信息对应的余数对所述第一样本数据进行分箱,得到多个第一样本箱;
判断每个第一样本箱中的第一样本数量是否大于预设数量阈值;
对第一样本数量大于所述预设数量阈值的第一样本箱进行均匀分割,得到多个子箱。
例如,用30个第一标识信息分别除以6(预设除数),得到各个第一标识信息的余数。将第一标识信息的余数为1的第一样本数据分入第1个第一样本箱;将第一标识信息的余数为2的第一样本数据分入第2个第一样本箱;将第一标识信息的余数为3的第一样本数据分入第3个第一样本箱;将第一标识信息的余数为4的第一样本数据分入第4个第一样本箱;将第一标识信息的余数为5的第一样本数据分入第5个第一样本箱;将第一标识信息的余数为0的第一样本数据分入第6个第一样本箱。如果判断第2个第一样本箱中的第一样本数量大于预设数量阈值,将第2个第一样本箱均匀分割为2个子箱(或其它数量)。
或者,所述根据所述预设分箱规则和所述第一标识信息对所述第一样本数据进行分箱包括:
获取所述预设分箱规则中的多个预设取值范围,每个预设取值范围对应一个第一样本箱;
截取每个所述第一标识信息的预设位置的数值,得到每个所述第一标识信息的截取数值;
确定所述第一标识信息的截取数值所属的目标预设取值范围;
根据所述第一标识信息的截取数值所属的目标预设取值范围,将所述第一样本数据分入目标预设取值范围对应的第一样本箱;
判断每个第一样本箱中的第一样本数量是否大于预设数量阈值;
对第一样本数量大于所述预设数量阈值的第一样本箱进行均匀分割,得到多个子箱。
例如,获取预设分箱规则中的5个预设取值范围(如0-1,2-3,4-5,6-7,8-9),5个预设取值范围分别对应5个第一样本箱。截取各个第一标识信息的最后一位数值(如十进制0-9),得到每个第一标识信息的截取数值。确定每个第一标识信息的截取数值所属的目标预设取值范围,如截取数值0、1属于取值范围0-1(对应第1个第一样本箱),截取数值2、3属于取值范围2-3(对应第2个第一样本箱),截取数值4、5属于取值范围4-5(对应第3个第一样本箱),截取数值6、7属于取值范围6-7(对应第4个第一样本箱),截取数值8、9属于取值范围8-9(对应第5个第一样本箱)。将第一标识信息的截取数值为0的第一样本数据分入第1个第一样本箱;将第一标识信息的截取数值为1的第一样本数据分入第1个第一样本箱;将第一标识信息的截取数值为2的第一样本数据分入第2个第一样本箱;以此类推。如果判断第3个第一样本箱中的第一样本数量大于预设数量阈值,将第3个第一样本箱均匀分割为2个子箱(或其它数量)。
通过分箱对需要计算的样本数据进行合理的分配。可以理解为把样本数据均衡分块成多个任务,交给不同的计算单元进行处理。缩小了遍历的计算量和访问压力。
第一加入模块204,用于将所述多个第一样本箱加入匹配任务队列。
可以将每个第一样本箱打包为待处理的匹配任务,将多个匹配任务加入匹配任务队列。所述第一分布式系统中的处于空闲状态的计算单元可以依次读取并处理所述匹配任务队列中的匹配任务,以达到异步处理匹配任务的目的,提升处理效率。
匹配模块205,用于控制所述第一分布式系统中的多个第一计算单元根据所述第一标识信息从所述匹配任务队列中匹配出多个目标第一样本箱。
可以从所述第一分布式系统获取执行任务需要的多个第一计算单元。对所述多个第一计算单元进行配置。为保证配置的一致性和易操作性,可以使用docker向预设代码仓库拉取镜像。
在一具体实施例中,所述控制所述第一分布式系统中的多个第一计算单元根据所述第一标识信息从所述匹配任务队列中匹配出多个目标第一样本箱包括:
每次控制一个第一计算单元读取所述匹配任务队列中的一个匹配任务,获取所述匹配任务中的第一样本箱;
控制所述第一计算单元从所述第二分布式系统中获取与所述第一样本箱关联的第二标识信息;
控制所述第一计算单元从所述第一样本箱中匹配出与所述第二标识信息一致的第一标识信息对应的的样本数据,得到多个目标样本数据;
通过所述第一计算单元,删除所述第一样本箱中除所述多个目标样本数据外的样本数据,得到目标第一样本箱。
在另一实施例中,所述第一样本箱包括多个子箱,所述控制所述第一计算单元从所述第一样本箱中匹配出与所述第二标识信息一致的第一标识信息对应的的样本数据包括:
控制所述第一计算单元从所述第一样本箱的多个子箱中匹配出与所述第二标识信息一致的第一标识信息对应的的样本数据,得到多个目标样本数据。将第一样本箱分为多个子箱,可以减少所述第一计算单元在短时间内对高运行资源的需求。避免卡顿或宕机,从而提升计算效率。
在另一实施例中,所述控制所述第一计算单元从所述第二分布式系统中获取与所述第一样本箱关联的第二标识信息包括:
为所述第一计算单元及所述第二分布式系统中的与所述第一计算单元关联的第二计算单元建立通信通道;
控制所述第一计算单元通过所述通信通道从所述关联的第二计算单元中获取与所述第一样本箱关联的第二样本箱,从所述关联的第二样本箱中获取第二样本数据的第二标识信息。
所述多个第一样本箱与所述第二分布式系统中的多个第二样本箱一一关联,处理两个关联样本箱的两个计算单元一一关联。例如第一样本箱A与第二样本箱B关联,第一计算单元a处理第一样本箱A,第二计算单元b处理第二样本箱B,第一计算单元a与第二计算单元b关联。
所述第一分布式系统中的一个第一计算单元与所述第二分布式系统中的一个第二计算单元一一关联,两个计算单元分别处理的两个样本箱也一一关联。
所述第二分布式系统根据所述预设加密方法对所述第二分布式系统的第二样本数据的标识信息进行加密,得到所述第二标识信息。所述第二分布式系统根据所述预设分箱规则对所述第二样本数据进行分箱,得到多个第二样本箱。
在一具体实施例中,所述控制所述第一分布式系统中的多个第一计算单元根据所述第一标识信息从所述匹配任务队列中匹配出多个目标第一样本箱包括:
获取所述多个第一计算单元的第一数量和所述匹配任务队列中的匹配任务的第二数量;
判断所述第一数量是否小于所述第二数量;
当所述第一数量大于或等于所述第二数量时,用所述多个第一计算单元根据所述第一标识信息处理所述匹配任务队列中的全部匹配任务;
当所述第一数量小于所述第二数量时,用所述多个第一计算单元根据所述第一标识信息分批处理所述匹配任务队列中的匹配任务。
第二加入模块206,用于将所述多个目标第一样本箱加入训练任务队列。
可以将各个目标第一样本箱打包为待处理的训练任务,将各个训练任务加入训练任务队列。所述第一分布式系统中的处于空闲状态的计算单元可以依次读取并处理所述训练任务队列中的训练任务,以达到异步处理训练任务的目的,提升处理效率。
在一具体实施例中,所述将所述多个目标第一样本箱加入训练任务队列包括:
获取每个目标第一样本箱中的第二样本数量;
当所述第二样本数量小于预设第一样本数量阈值时,合并第二样本数量小于所述预设第一样本数量阈值的目标第一样本箱,将所述合并后的第一样本箱加入所述训练任务队列;
当所述第二样本数量大于所述预设第二样本数量阈值时,拆分第二样本数量大于所述预设第二样本数量阈值的目标第一样本箱,将所述拆分后的第一样本箱加入所述训练任务队列;
其中,所述预设第二样本数量阈值大于所述预设第一样本数量阈值,所述合并后的目标第一样本箱的第二样本数量小于或等于所述预设第二样本数量阈值,且大于或等于所述预设第一样本数量阈值,所述拆分后的第一样本箱的第二样本数量小于或等于预设第二样本数量阈值,且大于或等于所述预设第一样本数量阈值。
处理模块207,用于调用所述多个第一计算单元和所述第二分布式系统中的多个第二计算单元联合处理所述训练任务队列中的训练任务,得到每个目标第一样本箱对应的联邦学习模型。
在一具体实施例中,所述调用所述多个第一计算单元和所述第二分布式系统中的多个第二计算单元联合处理所述训练任务队列中的训练任务包括:
每次控制一个第一计算单元读取所述训练任务队列中的一个训练任务,获取所述训练任务中的目标第一样本箱,为所述第一计算单元及所述第二分布式系统中的与所述第一计算单元关联的第二计算单元建立通信通道;
控制所述第一计算单元通过所述通信通道与所述关联的第二计算单元基于所述目标第一样本箱联合训练联邦学习模型,得到所述目标第一样本箱对应的联邦学习模型。
在一具体实施例中,所述联邦学习模型为神经网络模型(人工智能模型),所述控制所述第一计算单元通过所述通信通道与所述关联的第二计算单元基于所述目标第一样本箱联合训练联邦学习模型包括:
控制所述第一计算单元以所述目标第一样本箱为输入,通过初始化的第一神经网络子模型计算第一中间输出;
控制所述第一计算单元通过所述通信通道将加密后的第一中间输出传输给所述关联的第二计算单元,使所述关联的第二计算单元以所述第一中间输出为输入,通过初始化的第二神经网络子模型计算第二中间输出,将所述第二中间输出通过所述通信通道传输给所述第一计算单元;
控制所述第一计算单元以所述第二中间输出为输入,通过所述第一神经网络子模型计算最终输出,根据所述最终输出和所述最终输出对应的标签通过反向传播算法优化所述第一神经网络子模型的参数;
控制所述第一计算单元通过反向传播算法计算中间误差,将所述中间误差通过所述通信通道传输给所述关联的第二计算单元,使所述关联的第二计算单元根据所述中间误差和所述第二中间输出通过反向传播算法优化所述第二神经网络子模型的参数;
组合所述第一神经网络子模型和所述第二神经网络子模型,得到所述联邦学习模型。
在另一实施例中,所述第一计算单元与所述关联的第二计算单元通过所述通信通道进行加密通信。用所述预设加密方法加密所述第一计算单元与所述关联的第二计算单元通过所述通信通道传输的数据。
在另一实施例中,所述联邦学习模型可以是树模型。
在一具体实施例中,所述调用所述多个第一计算单元和所述第二分布式系统中的多个第二计算单元联合处理所述训练任务队列中的训练任务包括:
获取所述多个第一计算单元的第三数量和所述训练任务队列中的训练任务的第四数量;
判断所述第三数量是否小于所述第四数量;
当所述第三数量大于或等于所述第四数量时,用所述多个第一计算单元和所述第二分布式系统的多个第二计算单元联合处理所述训练任务队列中的全部训练任务;
当所述第三数量小于所述第四数量时,用所述多个第一计算单元和所述第二分布式系统的多个第二计算单元联合,分批处理所述训练任务队列中的训练任务。
实施例二的联邦学习模型训练装置20通过分布式系统的多个计算单元对待处理匹配任务和训练任务进行异步处理,避免待处理任务在单位时间点对计算资源的需求压力,同时提高容错性,提升了训练联邦学习模型的效率。
在另一实施例中,所述处理模块还用于从所述第一分布式系统获取多个空闲状态的第一计算单元;将所述多个空闲状态的第一计算单元动态分配给所述分配任务队列和所述训练任务队列,使所述多个空闲状态的第一计算单元处理所述分配任务队列中的分配任务和/或所述训练任务队列中的训练任务。
所述将所述多个空闲状态的第一计算单元动态分配给所述分配任务队列和所述训练任务队列包括:
获取所述分配任务队列中的分配任务数量和所述训练任务队列中的训练任务数量;
按所述分配任务数量与所述训练任务数量的比例,将所述多个空闲状态的第一计算单元等比例分配给所述分配任务队列和所述训练任务队列。
根据任务队列和计算资源分配任务,从而有效利用计算资源。
在另一实施例中,所述联邦学习模型训练装置20还包括发送模块,用于对所述多个第一计算单元进行心跳检测,检测出停止心跳的第一计算单元;发送对所述停止心跳的第一计算单元的提醒信息给用户。
实施例三
本实施例提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器执行时实现上述联邦学习模型训练方法实施例中的步骤,例如图1所示的步骤101-107:
101,从第二分布式系统获取预设分箱规则、预设加密方法;
102,根据所述预设加密方法对第一分布式系统的第一样本数据的标识信息进行加密,得到第一标识信息;
103,根据所述预设分箱规则和所述第一标识信息对所述第一样本数据进行分箱,得到多个第一样本箱;
104,将所述多个第一样本箱加入匹配任务队列;
105,控制所述第一分布式系统中的多个第一计算单元根据所述第一标识信息从所述匹配任务队列中匹配出多个目标第一样本箱;
106,将所述多个目标第一样本箱加入训练任务队列;
107,调用所述多个第一计算单元和所述第二分布式系统中的多个第二计算单元联合处理所述训练任务队列中的训练任务,得到每个目标第一样本箱对应的联邦学习模型。
或者,该计算机程序被处理器执行时实现上述装置实施例中各模块的功能,例如图2中的模块201-207:
获取模块201,用于从第二分布式系统获取预设分箱规则、预设加密方法;
加密模块202,用于根据所述预设加密方法对第一分布式系统的第一样本数据的标识信息进行加密,得到第一标识信息;
分箱模块203,用于根据所述预设分箱规则和所述第一标识信息对所述第一样本数据进行分箱,得到多个第一样本箱;
第一加入模块204,用于将所述多个第一样本箱加入匹配任务队列;
匹配模块205,用于控制所述第一分布式系统中的多个第一计算单元根据所述第一标识信息从所述匹配任务队列中匹配出多个目标第一样本箱;
第二加入模块206,用于将所述多个目标第一样本箱加入训练任务队列;
处理模块207,用于调用所述多个第一计算单元和所述第二分布式系统中的多个第二计算单元联合处理所述训练任务队列中的训练任务,得到每个目标第一样本箱对应的联邦学习模型。
实施例四
图3为本发明实施例四提供的计算机设备的示意图。所述计算机设备30包括存储器301、处理器302以及存储在所述存储器301中并可在所述处理器302上运行的计算机程序303,例如联邦学习模型训练程序。所述处理器302执行所述计算机程序303时实现上述联邦学习模型训练方法实施例中的步骤,例如图1所示的101-107:
101,从第二分布式系统获取预设分箱规则、预设加密方法;
102,根据所述预设加密方法对第一分布式系统的第一样本数据的标识信息进行加密,得到第一标识信息;
103,根据所述预设分箱规则和所述第一标识信息对所述第一样本数据进行分箱,得到多个第一样本箱;
104,将所述多个第一样本箱加入匹配任务队列;
105,控制所述第一分布式系统中的多个第一计算单元根据所述第一标识信息从所述匹配任务队列中匹配出多个目标第一样本箱;
106,将所述多个目标第一样本箱加入训练任务队列;
107,调用所述多个第一计算单元和所述第二分布式系统中的多个第二计算单元联合处理所述训练任务队列中的训练任务,得到每个目标第一样本箱对应的联邦学习模型。
或者,该计算机程序被处理器执行时实现上述装置实施例中各模块的功能,例如图2中的模块201-207:
获取模块201,用于从第二分布式系统获取预设分箱规则、预设加密方法;
加密模块202,用于根据所述预设加密方法对第一分布式系统的第一样本数据的标识信息进行加密,得到第一标识信息;
分箱模块203,用于根据所述预设分箱规则和所述第一标识信息对所述第一样本数据进行分箱,得到多个第一样本箱;
第一加入模块204,用于将所述多个第一样本箱加入匹配任务队列;
匹配模块205,用于控制所述第一分布式系统中的多个第一计算单元根据所述第一标识信息从所述匹配任务队列中匹配出多个目标第一样本箱;
第二加入模块206,用于将所述多个目标第一样本箱加入训练任务队列;
处理模块207,用于调用所述多个第一计算单元和所述第二分布式系统中的多个第二计算单元联合处理所述训练任务队列中的训练任务,得到每个目标第一样本箱对应的联邦学习模型。
示例性的,所述计算机程序303可以被分割成一个或多个模块,所述一个或者多个模块被存储在所述存储器301中,并由所述处理器302执行,以完成本方法。所述一个或多个模块可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述所述计算机程序303在所述计算机设备30中的执行过程。例如,所述计算机程序303可以被分割成图2中的获取模块201、加密模块202、分箱模块203、第一加入模块204、匹配模块205、第二加入模块206、处理模块207,各模块具体功能参见实施例二。
本领域技术人员可以理解,所述示意图3仅仅是计算机设备30的示例,并不构成对计算机设备30的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如所述计算机设备30还可以包括输入输出设备、网络接入设备、总线等。
所称处理器302可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器302也可以是任何常规的处理器等,所述处理器302是所述计算机设备30的控制中心,利用各种接口和线路连接整个计算机设备30的各个部分。
所述存储器301可用于存储所述计算机程序303,所述处理器302通过运行或执行存储在所述存储器301内的计算机程序或模块,以及调用存储在存储器301内的数据,实现所述计算机设备30的各种功能。所述存储器301可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据计算机设备30的使用所创建的数据等。此外,存储器301可以包括非易失性存储器,例如硬盘、内存、插接式硬盘,智能存储卡(Smart MediaCard,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)、至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。
所述计算机设备30集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)。
在本发明所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能模块可以集成在一个处理模块中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用硬件加软件功能模块的形式实现。
上述以软件功能模块的形式实现的集成的模块,可以存储在一个计算机可读取存储介质中。上述软件功能模块存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本发明各个实施例所述联邦学习模型训练方法的部分步骤。
对于本领域技术人员而言,显然本发明不限于上述示范性实施例的细节,而且在不背离本发明的精神或基本特征的情况下,能够以其他的具体形式实现本发明。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化涵括在本发明内。不应将权利要求中的任何附关联图标记视为限制所涉及的权利要求。此外,显然“包括”一词不排除其他模块或步骤,单数不排除复数。系统权利要求中陈述的多个模块或装置也可以由一个模块或装置通过软件或者硬件来实现。第一,第二等词语用来表示名称,而并不表示任何特定的顺序。
最后应说明的是,以上实施例仅用以说明本发明的技术方案而非限制,尽管参照较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或等同替换,而不脱离本发明技术方案的精神和范围。
Claims (9)
1.一种联邦学习模型训练方法,所述联邦学习模型训练方法应用于第一分布式系统中,其特征在于,所述联邦学习模型训练方法包括:
从第二分布式系统获取预设分箱规则、预设加密方法;
根据所述预设加密方法对所述第一分布式系统的第一样本数据的标识信息进行加密,得到第一标识信息;
根据所述预设分箱规则和所述第一标识信息对所述第一样本数据进行分箱,得到多个第一样本箱,包括:获取所述预设分箱规则中的预设除数;对每个所述第一标识信息与所述预设除数进行相除并获取余数;根据所述第一标识信息对应的余数对所述第一样本数据进行分箱,得到多个第一样本箱;判断每个第一样本箱中的第一样本数量是否大于预设数量阈值;对第一样本数量大于所述预设数量阈值的第一样本箱进行均匀分割,得到多个子箱;或者,获取所述预设分箱规则中的多个预设取值范围,每个预设取值范围对应一个第一样本箱;截取每个所述第一标识信息的预设位置的数值,得到每个所述第一标识信息的截取数值;确定所述第一标识信息的截取数值所属的目标预设取值范围;根据所述第一标识信息的截取数值所属的目标预设取值范围,将所述第一样本数据分入目标预设取值范围对应的第一样本箱;判断每个第一样本箱中的第一样本数量是否大于预设数量阈值;对第一样本数量大于所述预设数量阈值的第一样本箱进行均匀分割,得到多个子箱;
将所述多个第一样本箱加入匹配任务队列;
控制所述第一分布式系统中的多个第一计算单元根据所述第一标识信息从所述匹配任务队列中匹配出多个目标第一样本箱;
将所述多个目标第一样本箱加入训练任务队列;
调用所述多个第一计算单元和所述第二分布式系统中的多个第二计算单元联合处理所述训练任务队列中的训练任务,得到每个目标第一样本箱对应的联邦学习模型。
2.如权利要求1所述的联邦学习模型训练方法,其特征在于,所述控制所述第一分布式系统中的多个第一计算单元根据所述第一标识信息从所述匹配任务队列中匹配出多个目标第一样本箱包括:
每次控制一个第一计算单元读取所述匹配任务队列中的一个匹配任务,获取所述匹配任务中的第一样本箱;
控制所述第一计算单元从所述第二分布式系统中获取与所述第一样本箱关联的第二标识信息;
控制所述第一计算单元从所述第一样本箱中匹配出与所述第二标识信息一致的第一标识信息对应的样本数据,得到多个目标样本数据;
通过所述第一计算单元,删除所述第一样本箱中除所述多个目标样本数据外的样本数据,得到目标第一样本箱。
3.如权利要求2所述的联邦学习模型训练方法,其特征在于,所述控制所述第一计算单元从所述第二分布式系统中获取与所述第一样本箱关联的第二标识信息包括:
为所述第一计算单元及所述第二分布式系统中的与所述第一计算单元关联的第二计算单元建立通信通道;
控制所述第一计算单元通过所述通信通道从所述关联的第二计算单元中获取与所述第一样本箱关联的第二样本箱,从所述关联的第二样本箱中获取第二样本数据的第二标识信息。
4.如权利要求1所述的联邦学习模型训练方法,其特征在于,所述将所述多个目标第一样本箱加入训练任务队列包括:
获取每个目标第一样本箱中的第二样本数量;
当所述第二样本数量小于预设第一样本数量阈值时,合并第二样本数量小于所述预设第一样本数量阈值的目标第一样本箱,将所述合并后的第一样本箱加入所述训练任务队列;
当所述第二样本数量大于预设第二样本数量阈值时,拆分第二样本数量大于所述预设第二样本数量阈值的目标第一样本箱,将拆分后的第一样本箱加入所述训练任务队列;
其中,所述预设第二样本数量阈值大于所述预设第一样本数量阈值,合并后的目标第一样本箱的第二样本数量小于或等于所述预设第二样本数量阈值,且大于或等于所述预设第一样本数量阈值,所述拆分后的第一样本箱的第二样本数量小于或等于预设第二样本数量阈值,且大于或等于所述预设第一样本数量阈值。
5.如权利要求1所述的联邦学习模型训练方法,其特征在于,所述调用所述多个第一计算单元和所述第二分布式系统中的多个第二计算单元联合处理所述训练任务队列中的训练任务包括:
每次控制一个第一计算单元读取所述训练任务队列中的一个训练任务,获取所述训练任务中的目标第一样本箱,为所述第一计算单元及所述第二分布式系统中的与所述第一计算单元关联的第二计算单元建立通信通道;
控制所述第一计算单元通过所述通信通道与所述关联的第二计算单元基于所述目标第一样本箱联合训练联邦学习模型,得到所述目标第一样本箱对应的联邦学习模型。
6.如权利要求5所述的联邦学习模型训练方法,其特征在于,所述第一计算单元与所述关联的第二计算单元通过所述通信通道进行加密通信。
7.一种联邦学习模型训练装置,所述联邦学习模型训练装置运行于第一分布式系统中,其特征在于,所述联邦学习模型训练装置包括:
获取模块,用于从第二分布式系统获取预设分箱规则、预设加密方法;
加密模块,用于根据所述预设加密方法对所述第一分布式系统的第一样本数据的标识信息进行加密,得到第一标识信息;
分箱模块,用于根据所述预设分箱规则和所述第一标识信息对所述第一样本数据进行分箱,得到多个第一样本箱,包括:获取所述预设分箱规则中的预设除数;对每个所述第一标识信息与所述预设除数进行相除并获取余数;根据所述第一标识信息对应的余数对所述第一样本数据进行分箱,得到多个第一样本箱;判断每个第一样本箱中的第一样本数量是否大于预设数量阈值;对第一样本数量大于所述预设数量阈值的第一样本箱进行均匀分割,得到多个子箱;或者,获取所述预设分箱规则中的多个预设取值范围,每个预设取值范围对应一个第一样本箱;截取每个所述第一标识信息的预设位置的数值,得到每个所述第一标识信息的截取数值;确定所述第一标识信息的截取数值所属的目标预设取值范围;根据所述第一标识信息的截取数值所属的目标预设取值范围,将所述第一样本数据分入目标预设取值范围对应的第一样本箱;判断每个第一样本箱中的第一样本数量是否大于预设数量阈值;对第一样本数量大于所述预设数量阈值的第一样本箱进行均匀分割,得到多个子箱;
第一加入模块,用于将所述多个第一样本箱加入匹配任务队列;
匹配模块,用于控制所述第一分布式系统中的多个第一计算单元根据所述第一标识信息从所述匹配任务队列中匹配出多个目标第一样本箱;
第二加入模块,用于将所述多个目标第一样本箱加入训练任务队列;
处理模块,用于调用所述多个第一计算单元和所述第二分布式系统中的多个第二计算单元联合处理所述训练任务队列中的训练任务,得到每个目标第一样本箱对应的联邦学习模型。
8.一种分布式系统,所述分布式系统由多个计算机设备构成,其特征在于,每个计算机设备包括处理器,所述处理器用于执行存储器中存储的计算机程序以实现如权利要求1-6中任一项所述联邦学习模型训练方法。
9.一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1-6中任一项所述联邦学习模型训练方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010409022.9A CN111695675B (zh) | 2020-05-14 | 2020-05-14 | 联邦学习模型训练方法及相关设备 |
PCT/CN2020/098884 WO2021114616A1 (zh) | 2020-05-14 | 2020-06-29 | 联邦学习模型训练方法及相关设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010409022.9A CN111695675B (zh) | 2020-05-14 | 2020-05-14 | 联邦学习模型训练方法及相关设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111695675A CN111695675A (zh) | 2020-09-22 |
CN111695675B true CN111695675B (zh) | 2024-05-07 |
Family
ID=72477808
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010409022.9A Active CN111695675B (zh) | 2020-05-14 | 2020-05-14 | 联邦学习模型训练方法及相关设备 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN111695675B (zh) |
WO (1) | WO2021114616A1 (zh) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112162959B (zh) * | 2020-10-15 | 2023-10-10 | 深圳技术大学 | 一种医疗数据共享方法及装置 |
CN112231768B (zh) * | 2020-10-27 | 2021-06-18 | 腾讯科技(深圳)有限公司 | 数据处理方法、装置、计算机设备及存储介质 |
CN112464278B (zh) * | 2020-11-24 | 2023-07-21 | 平安科技(深圳)有限公司 | 基于非均匀分布数据的联邦建模方法及相关设备 |
CN114629930A (zh) * | 2020-12-10 | 2022-06-14 | 华为技术有限公司 | 半异步联邦学习的方法和通信装置 |
CN112711765A (zh) * | 2020-12-30 | 2021-04-27 | 深圳前海微众银行股份有限公司 | 样本特征的信息价值确定方法、终端、设备和存储介质 |
CN113392974B (zh) * | 2021-07-07 | 2024-04-09 | 北京百度网讯科技有限公司 | 模型训练方法、装置、电子设备以及存储介质 |
WO2023070684A1 (zh) * | 2021-11-01 | 2023-05-04 | Oppo广东移动通信有限公司 | 无线通信的方法和设备 |
CN114328432A (zh) * | 2021-12-02 | 2022-04-12 | 京信数据科技有限公司 | 一种大数据联邦学习处理方法及系统 |
CN116244650B (zh) * | 2023-05-12 | 2023-10-03 | 北京富算科技有限公司 | 特征分箱方法、装置、电子设备和计算机可读存储介质 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109325584A (zh) * | 2018-08-10 | 2019-02-12 | 深圳前海微众银行股份有限公司 | 基于神经网络的联邦建模方法、设备及可读存储介质 |
CN109492420A (zh) * | 2018-12-28 | 2019-03-19 | 深圳前海微众银行股份有限公司 | 基于联邦学习的模型参数训练方法、终端、系统及介质 |
CN110135467A (zh) * | 2019-04-23 | 2019-08-16 | 北京淇瑀信息科技有限公司 | 一种基于数据拼接的模型训练方法、装置、系统和记录介质 |
CN110162551A (zh) * | 2019-04-19 | 2019-08-23 | 阿里巴巴集团控股有限公司 | 数据处理方法、装置和电子设备 |
CN110942154A (zh) * | 2019-11-22 | 2020-03-31 | 深圳前海微众银行股份有限公司 | 基于联邦学习的数据处理方法、装置、设备及存储介质 |
CN111091200A (zh) * | 2019-12-20 | 2020-05-01 | 深圳前海微众银行股份有限公司 | 训练模型的更新方法、系统、智能体、服务器及存储介质 |
CN111131080A (zh) * | 2019-12-26 | 2020-05-08 | 电子科技大学 | 分布式深度学习流调度方法、系统、设备 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8571884B2 (en) * | 2008-06-13 | 2013-10-29 | Aionex, Inc. | Healthcare communication and workflow management system and method |
CN110795228B (zh) * | 2018-08-03 | 2023-08-25 | 伊姆西Ip控股有限责任公司 | 用于训练深度学习模型的方法和制品、以及计算系统 |
US11494669B2 (en) * | 2018-10-30 | 2022-11-08 | Diveplane Corporation | Clustering, explainability, and automated decisions in computer-based reasoning systems |
CN110797124B (zh) * | 2019-10-30 | 2024-04-12 | 腾讯科技(深圳)有限公司 | 一种模型多端协同训练方法、医疗风险预测方法和装置 |
CN110825476A (zh) * | 2019-10-31 | 2020-02-21 | 深圳前海微众银行股份有限公司 | 联邦学习工作流界面的显示方法、装置、终端及介质 |
CN111104731B (zh) * | 2019-11-19 | 2023-09-15 | 北京集奥聚合科技有限公司 | 一种用于联邦学习的图形化模型全生命周期建模方法 |
CN110990857B (zh) * | 2019-12-11 | 2021-04-06 | 支付宝(杭州)信息技术有限公司 | 保护隐私安全的多方联合进行特征评估的方法及装置 |
CN110991552B (zh) * | 2019-12-12 | 2021-03-12 | 支付宝(杭州)信息技术有限公司 | 基于联邦学习的孤立森林模型构建和预测方法和装置 |
-
2020
- 2020-05-14 CN CN202010409022.9A patent/CN111695675B/zh active Active
- 2020-06-29 WO PCT/CN2020/098884 patent/WO2021114616A1/zh active Application Filing
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109325584A (zh) * | 2018-08-10 | 2019-02-12 | 深圳前海微众银行股份有限公司 | 基于神经网络的联邦建模方法、设备及可读存储介质 |
CN109492420A (zh) * | 2018-12-28 | 2019-03-19 | 深圳前海微众银行股份有限公司 | 基于联邦学习的模型参数训练方法、终端、系统及介质 |
CN110162551A (zh) * | 2019-04-19 | 2019-08-23 | 阿里巴巴集团控股有限公司 | 数据处理方法、装置和电子设备 |
CN110135467A (zh) * | 2019-04-23 | 2019-08-16 | 北京淇瑀信息科技有限公司 | 一种基于数据拼接的模型训练方法、装置、系统和记录介质 |
CN110942154A (zh) * | 2019-11-22 | 2020-03-31 | 深圳前海微众银行股份有限公司 | 基于联邦学习的数据处理方法、装置、设备及存储介质 |
CN111091200A (zh) * | 2019-12-20 | 2020-05-01 | 深圳前海微众银行股份有限公司 | 训练模型的更新方法、系统、智能体、服务器及存储介质 |
CN111131080A (zh) * | 2019-12-26 | 2020-05-08 | 电子科技大学 | 分布式深度学习流调度方法、系统、设备 |
Also Published As
Publication number | Publication date |
---|---|
WO2021114616A1 (zh) | 2021-06-17 |
CN111695675A (zh) | 2020-09-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111695675B (zh) | 联邦学习模型训练方法及相关设备 | |
US11106486B2 (en) | Techniques to manage virtual classes for statistical tests | |
Tchernykh et al. | Towards understanding uncertainty in cloud computing with risks of confidentiality, integrity, and availability | |
WO2021179720A1 (zh) | 基于联邦学习的用户数据分类方法、装置、设备及介质 | |
CN110599335A (zh) | 一种基于多模型的用户金融风险评估方法和装置 | |
WO2021056737A1 (zh) | 高频业务数据的数据压缩方法、装置、设备及存储介质 | |
US20210398026A1 (en) | Federated learning for improving matching efficiency | |
CN111563267A (zh) | 用于联邦特征工程数据处理的方法和装置 | |
CN112199442A (zh) | 分布式批量下载文件方法、装置、计算机设备及存储介质 | |
US11023825B2 (en) | Platform as a service cloud server and machine learning data processing method thereof | |
US9473572B2 (en) | Selecting a target server for a workload with a lowest adjusted cost based on component values | |
CN115794359A (zh) | 用于联邦学习的异构系统及处理方法 | |
CN112182111A (zh) | 基于区块链的分布式系统分层处理方法和电子设备 | |
CN110909085A (zh) | 数据处理方法、装置、设备及存储介质 | |
CN111291084A (zh) | 样本id对齐方法、装置、设备及存储介质 | |
WO2023071566A1 (zh) | 数据处理方法、装置、计算机设备、计算机可读存储介质及计算机程序产品 | |
CN114254370A (zh) | 基于多方安全隐私计算提升交易匹配度的方法及装置 | |
US20220326996A1 (en) | Data processing method, electronic device, and computer storage medium | |
US9264310B2 (en) | Monitoring and distributing event processing within a complex event processing environment | |
US20230350728A1 (en) | System and method for queuing node load in data preprocessing | |
CN116776842A (zh) | 数据处理方法、装置、计算机设备及可读存储介质 | |
CN115330097A (zh) | 数据处理方法及装置 | |
KR20240071279A (ko) | 동형 암호화를 이용한 포트폴리오 검증 방법 및 이를 수행하는 장치 | |
CN114579085A (zh) | 网关的api开发方法及装置 | |
CN115185491A (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 | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 40031275 Country of ref document: HK |
|
GR01 | Patent grant | ||
GR01 | Patent grant |