CN112348197A - 基于联邦学习的模型生成方法及装置 - Google Patents

基于联邦学习的模型生成方法及装置 Download PDF

Info

Publication number
CN112348197A
CN112348197A CN202010622796.XA CN202010622796A CN112348197A CN 112348197 A CN112348197 A CN 112348197A CN 202010622796 A CN202010622796 A CN 202010622796A CN 112348197 A CN112348197 A CN 112348197A
Authority
CN
China
Prior art keywords
data
party
users
party users
trainer
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
CN202010622796.XA
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.)
Beijing Wodong Tianjun Information Technology Co Ltd
Original Assignee
Beijing Wodong Tianjun 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 Beijing Wodong Tianjun Information Technology Co Ltd filed Critical Beijing Wodong Tianjun Information Technology Co Ltd
Priority to CN202010622796.XA priority Critical patent/CN112348197A/zh
Publication of CN112348197A publication Critical patent/CN112348197A/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
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/16Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
    • H04L1/1607Details of the supervisory signal
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/16Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
    • H04L1/18Automatic repetition systems, e.g. Van Duuren systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45595Network integration; Enabling network access in virtual machine instances

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • General Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • Health & Medical Sciences (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Artificial Intelligence (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Medical Informatics (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本申请公开了一种基于联邦学习的模型生成方法及装置。方法的一具体实施方式包括:对获取的多方用户的数据,进行数据拼接,得到拼接数据;根据多方用户的预设合作协议,对多方用户进行资源配置;以拼接数据作为输入数据,对基于所配置的资源构建的多方用户的初始模型进行分布式训练,得到目标模型。本实施方式通过多方用户的数据训练得到优质的目标模型,提高了目标模型的准确性;而且,多方用户不必交换数据,保证了多方用户的数据安全。

Description

基于联邦学习的模型生成方法及装置
技术领域
本申请实施例涉及计算机技术领域,具体涉及一种基于联邦学习的模型生成方法及装置。
背景技术
目前,人工智能技术大行其道,从人脸识别、阿尔法狗到无人驾驶以及早已被普遍应用的精准营销,人工智能技术已经进入人们生活的方方面面。一般,实现人工智能的相应模型需要依赖大量优质数据训练得到。而现实生活中,除了少数巨头公司能够拥有大量优质数据,绝大多数企业都存在数据量少、信息孤岛的问题,以至于无法获得输出结果精确的人工智能模型。
发明内容
本申请实施例提出了一种基于联邦学习的模型生成方法及装置。
第一方面,本申请实施例提供了一种基于联邦学习的模型生成方法,包括:对获取的多方用户的数据,进行数据拼接,得到拼接数据;根据多方用户的预设合作协议,对多方用户进行资源配置;以拼接数据作为输入数据,对基于所配置的资源构建的多方用户的初始模型进行分布式训练,得到目标模型。
在一些实施例中,上述对获取的多方用户的数据,进行数据拼接,得到拼接数据,包括:对获取的多方用户的原始数据进行数据转换,得到转换数据;在对转换数据的拼接过程中进行数据加密,得到加密后的拼接数据。
在一些实施例中,上述对获取的多方用户的数据,进行数据拼接,得到拼接数据,包括:针对获取的多方用户中的每一方用户的每一份数据,获取该数据的身份信息;将多方用户的数据中身份信息相同的数据进行数据拼接,得到拼接数据。
在一些实施例中,上述将多方用户的数据中身份信息相同的数据进行数据拼接,得到拼接数据,包括:通过设置的多个数据拼接模块将多方用户的数据中身份信息相同的数据进行数据拼接,得到拼接数据;和/或在包括预设数量的数据的滑动时间窗口中,将多方用户的数据中身份信息相同的数据进行数据拼接,得到拼接数据。
在一些实施例中,上述根据多方用户的预设合作协议,对多方用户进行资源配置,包括:根据多方用户的预设合作协议,确定资源配置信息,其中,资源配置信息包括多方用户中的每一方用户进行模型训练的多个容器;根据资源配置信息,对多方用户进行资源配置。
在一些实施例中,上述以拼接数据作为输入数据,对基于所配置的资源构建的多方用户的初始模型进行分布式训练,得到目标模型,包括:将多方用户中的一方用户的多个容器中部署的多个训练器与多方用户中的其他方用户的多个容器中部署的多个训练器进行配对,得到多个训练器组,其中,训练器组与初始模型一一对应,对于同一训练器组中的每个训练器,该训练器用于以同一拼接数据中属于该训练器所属方用户的部分数据为输入数据,对与该训练器对应的初始模型进行训练;通过多个训练器组,进行多方用户的多个初始模型的分布式训练,得到目标模型。
在一些实施例中,上述方法还包括:在分布式训练过程中,响应于同一训练器组中的多个训练器配对失败,进行重新配对。
在一些实施例中,上述方法还包括:在分布式训练过程中,通过数据包在多方用户之间进行信息交互。
在一些实施例中,上述在分布式训练过程中,通过数据包在多方用户之间进行信息交互,包括:在分布式训练过程中,响应于接收到多方用户中的数据接收方的回应数据包,确定多方用户中的数据发送方完成基于发送数据包的信息交互,其中,回应数据包的身份信息所表征的数值与发送数据包的身份信息所表征的数值之差为预设数值。
在一些实施例中,上述在分布式训练过程中,响应于接收到多方用户中的数据接收方的回应数据包,确定多方用户中的数据发送方完成基于发送数据包的信息交互,包括:在分布式训练过程中,响应于接收到多方用户中的数据接收方的回应数据包,确定多方用户中的数据发送方完成基于一次性发送的多个发送数据包的信息交互,其中,一次性发送的多个发送数据包的身份信息所表征的数值为连续数值,回应数据包的身份信息所表征的数值与收到的连续数值中最大的数值之差为预设数值。
在一些实施例中,上述在分布式训练过程中,通过数据包在多方用户之间进行信息交互,还包括:在分布式训练过程中,响应于未接收到多方用户中的数据接收方的回应数据包,重新向多方用户中的数据接收方发送发送数据包。
在一些实施例中,上述通过多个训练器组,进行多方用户的多个初始模型的分布式训练,得到目标模型,包括:针对于所述多个训练器组中的每个训练器组,响应于确定该训练器组中的、对应于多方用户中的一方用户的训练器预先获取到输入数据,通过数据包与该训练器组中的、对应于多方用户的中的其他用户的训练器进行信息交互,以同步该训练器组中的多个训练器在模型训练过程中的输入数据;通过所述多个训练器组,以预先获取的输入数据作为输入数据,对多方用户的多个初始模型进行分布式训练,得到目标模型。
在一些实施例中,上述通过所述多个训练器组,以预先获取的输入数据作为输入数据,对多方用户的多个初始模型进行分布式训练,得到目标模型,包括:通过所述多个训练器组,以预先获取的输入数据作为输入数据,对多方用户的多个初始模型进行分布式训练,在分布式训练过程中,通过参数服务器对多方用户的多个初始模型进行参数更新,得到目标模型。
第二方面,本申请提供了一种基于联邦学习的模型生成装置,包括:拼接单元,被配置成对获取的多方用户的数据,进行数据拼接,得到拼接数据;配置单元,被配置成根据多方用户的预设合作协议,对多方用户进行资源配置;训练单元,被配置成以拼接数据作为输入数据,对基于所配置的资源构建的多方用户的初始模型进行分布式训练,得到目标模型。
在一些实施例中,拼接单元进一步被配置成:对获取的多方用户的原始数据进行数据转换,得到转换数据;在对转换数据的拼接过程中进行数据加密,得到加密后的拼接数据。
在一些实施例中,拼接单元进一步被配置成:针对获取的多方用户中的每一方用户的每一份数据,获取该数据的身份信息;将多方用户的数据中身份信息相同的数据进行数据拼接,得到拼接数据。
在一些实施例中,拼接单元进一步被配置成:通过设置的多个数据拼接模块将多方用户的数据中身份信息相同的数据进行数据拼接,得到拼接数据;和/或在包括预设数量的数据的滑动时间窗口中,将多方用户的数据中身份信息相同的数据进行数据拼接,得到拼接数据。
在一些实施例中,配置单元进一步被配置成:根据多方用户的预设合作协议,确定资源配置信息,其中,资源配置信息包括多方用户中的每一方用户进行模型训练的多个容器;根据资源配置信息,对多方用户进行资源配置。
在一些实施例中,训练单元进一步被配置成:将多方用户中的一方用户的多个容器中部署的多个训练器与多方用户中的其他方用户的多个容器中部署的多个训练器进行配对,得到多个训练器组,其中,训练器组与初始模型一一对应,对于同一训练器组中的每个训练器,该训练器用于以同一拼接数据中属于该训练器所属方用户的部分数据为输入数据,对与该训练器对应的初始模型进行训练;通过多个训练器组,进行多方用户的多个初始模型的分布式训练,得到目标模型。
在一些实施例中,训练单元进一步被配置成:在分布式训练过程中,响应于同一训练器组中的多个训练器配对失败,进行重新配对。
在一些实施例中,上述装置还包括:交互单元,被配置成:在分布式训练过程中,通过数据包在多方用户之间进行信息交互。
在一些实施例中,交互单元进一步被配置成:在分布式训练过程中,响应于接收到多方用户中的数据接收方的回应数据包,确定多方用户中的数据发送方完成基于发送数据包的信息交互,其中,回应数据包的身份信息所表征的数值与发送数据包的身份信息所表征的数值之差为预设数值。
在一些实施例中,交互单元进一步被配置成:在分布式训练过程中,响应于接收到多方用户中的数据接收方的回应数据包,确定多方用户中的数据发送方完成基于一次性发送的多个发送数据包的信息交互,其中,一次性发送的多个发送数据包的身份信息所表征的数值为连续数值,回应数据包的身份信息所表征的数值与收到的连续数值中最大的数值之差为预设数值。
在一些实施例中,交互单元进一步被配置成:在分布式训练过程中,响应于未接收到多方用户中的数据接收方的回应数据包,重新向多方用户中的数据接收方发送发送数据包。
在一些实施例中,训练单元进一步被配置成:针对于所述多个训练器组中的每个训练器组,响应于确定该训练器组中的、对应于多方用户中的一方用户的训练器预先获取到输入数据,通过数据包与该训练器组中的、对应于多方用户的中的其他用户的训练器进行信息交互,以同步该训练器组中的多个训练器在模型训练过程中的输入数据;通过所述多个训练器组,以预先获取的输入数据输入数据,对多方用户的多个初始模型进行分布式训练,得到目标模型。
在一些实施例中,训练单元进一步被配置成:通过所述多个训练器组,以预先获取的输入数据作为输入数据,对多方用户的多个初始模型进行分布式训练,在分布式训练过程中,通过参数服务器对多方用户的多个初始模型进行参数更新,得到目标模型。
第三方面,本申请实施例提供了一种计算机可读介质,其上存储有计算机程序,其中,程序被处理器执行时实现如第一方面任一实现方式描述的方法。
第四方面,本申请实施例提供了一种电子设备,包括:一个或多个处理器;存储装置,其上存储有一个或多个程序,当一个或多个程序被一个或多个处理器执行,使得一个或多个处理器实现如第一方面任一实现方式描述的方法。
本申请实施例提供的基于联邦学习的模型生成方法及装置,通过对获取的多方用户的数据,进行数据拼接,得到拼接数据;根据多方用户的预设合作协议,对多方用户进行资源配置;以拼接数据作为输入数据,对基于所配置的资源构建的多方用户的初始模型进行分布式训练,得到目标模型,从而通过多方用户的数据训练得到优质的目标模型,提高了目标模型的准确性;而且,多方用户不必交换数据,保证了多方用户的数据安全。
附图说明
通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本申请的其它特征、目的和优点将会变得更明显:
图1是本申请的一个实施例可以应用于其中的示例性系统架构图;
图2是根据本申请的基于联邦学习的模型生成方法的一个实施例的流程图;
图3是根据本实施例的基于联邦学习的模型生成方法的应用场景的示意图;
图4是根据本申请的基于联邦学习的模型生成方法的又一个实施例的流程图;
图5是根据本申请的基于联邦学习的模型生成装置的一个实施例的结构图;
图6是适于用来实现本申请实施例的计算机系统的结构示意图。
具体实施方式
下面结合附图和实施例对本申请作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释相关发明,而非对该发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与有关发明相关的部分。
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。
图1示出了可以应用本申请的基于联邦学习的模型生成方法及装置的示例性架构100。
如图1所示,系统架构100可以包括终端设备101、102、103,网络104和服务器105。网络104用以在终端设备101、102、103和服务器105之间提供通信链路的介质。网络104可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
终端设备101、102、103可以是支持网络连接从而进行数据交互和数据处理的硬件设备或软件。当终端设备101、102、103为硬件时,其可以是支持信息交互、网络连接、图像拍摄、信息处理等功能的各种电子设备,包括但不限于智能手机、平板电脑、电子书阅读器、膝上型便携计算机和台式计算机等等。当终端设备101、102、103为软件时,可以安装在上述所列举的电子设备中。其可以实现成例如用来提供分布式服务的多个软件或软件模块,也可以实现成单个软件或软件模块。在此不做具体限定。
服务器105可以是提供各种服务的服务器,例如基于终端设备101、102、103发送的多方用户的数据,进行数据拼接,并基于拼接数据进行模型训练的后台处理服务器。后台处理服务器可以对多方用户的数据进行特征提取、分析处理,从而得到拼接数据,以进行模型训练。可选的,后台处理服务器还可以将训练后的目标模型反馈给终端设备,以供终端设备使用。作为示例,服务器105可以是云端服务器。
需要说明的是,服务器可以是硬件,也可以是软件。当服务器为硬件时,可以实现成多个服务器组成的分布式服务器集群,也可以实现成单个服务器。当服务器为软件时,可以实现成多个软件或软件模块(例如用来提供分布式服务的软件或软件模块),也可以实现成单个软件或软件模块。在此不做具体限定。
还需要说明的是,本公开的实施例所提供的基于联邦学习的模型生成方法可以由服务器执行,也可以由终端设备执行,还可以由服务器和终端设备彼此配合执行。相应地,基于联邦学习的模型生成装置包括的各个部分(例如各个单元、子单元、模块、子模块)可以全部设置于服务器中,也可以全部设置于终端设备中,还可以分别设置于服务器和终端设备中。
应该理解,图1中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。当基于联邦学习的模型生成方法运行于其上的电子设备不需要与其他电子设备进行数据传输时,该系统架构可以仅包括基于联邦学习的模型生成运行于其上的电子设备(例如服务器或终端设备)。
继续参考图2,示出了基于联邦学习的模型生成方法的一个实施例的流程200,包括以下步骤:
步骤201,对获取的多方用户的数据,进行数据拼接,得到拼接数据。
本实施例中,基于联邦学习的模型生成方法的执行主体(例如图1中的终端设备或服务器)可以通过有线连接方式或者无线连接方式从远程,或从本地获取多方用户的数据,并对获取的数据进行数据拼接,得到拼接数据。
本实施例中,多方用户可以是具有合作关系的多方用户,也可以是业务有联系的多方用户。以具有合作关系的多方用户为例,多方用户可以是具有合作关系的不同公司,也可以是同一公司中的不同部门。
鉴于此,多方用户的数据可以是表征同一人、物的不同方面信息的数据。作为示例,多方用户的数据可以是基于具有上下游关系的不同业务得到的同一货品的特征信息。
在本实施例的一些可选的实现方式中,上述执行主体可以通过如下方式执行步骤201:
首先,对获取的多方用户的原始数据进行数据转换,得到转换数据。然后,在对转换数据的拼接过程中进行数据加密,得到加密后的拼接数据。本实现方式中,上述执行主体可以采用各种的数据转换技术与数据加密技术。数据转换技术与数据加密技术是应用于数据处理方面的成熟技术,在此不作赘述。基于对多方用户的数据的数据转换和数据加密,保证了多方用户的数据安全。
在本实施例的一些可选的实现方式中,上述执行主体可以通过如下方式执行步骤201:
首先,针对获取的多方用户中的每一方用户的每一份数据,获取该数据的身份信息。然后,将多方用户的数据中身份信息相同的数据进行数据拼接,得到拼接数据。作为示例,多方用户中的一方用户的数据表征一目标人员的消费信息,多方用户中的另一方用户的数据表征该目标人员的行走轨迹信息,双方用户的数据的身份信息表征该目标人员的属性信息。根据该目标人员的属性信息,可以将该目标人员的消费信息和行走轨迹信息进行拼接,得到更全面的拼接数据。
在本实现方式,上述执行主体可以设置多个数据拼接模块,通过多个数据拼接模块将多方用户的数据中身份信息相同的数据进行数据拼接,得到拼接数据。针对于大规模的离线数据的情况,通过多个数据拼接模块进行数据拼接,可以提升数据拼接效率。
在本实现方式,上述执行主体还可以在包括预设数量的数据的滑动时间窗口中,将多方用户的数据中身份信息相同的数据进行数据拼接,得到拼接数据。由于在线实时数据按照时间顺序产生,基本按照时间进行排序。因此,针对于在线实时数据,上述执行主体可以为多方用户设置对应的滑动时间窗口,并进行滑动时间窗口内的数据拼接。随着滑动时间窗口沿时间的滑动,完成截止到当前时间所产生的所有数据的数据拼接。其中,多方用户的滑动时间窗口可以相同也可以不同,预设数量可以根据具体情况进行设定,在此不做限定。
作为示例,滑动时间窗口对应的预设数量为5000,这5000份数据中的第一份数据的产生时间对应于该时间窗口的上限时间,这5000份数据中的最后一份数据的产生时间对应于该时间窗口的下限时间。
在基于滑动时间窗口的数据拼接过程中,多方用户中的甲方用户的滑动时间窗口沿时间滑动。若处于甲方用户的滑动时间窗口中的一中间时间所对应的数据,在多方用户中的乙方用户的滑动时间窗口内未找到身份信息相同的数据,则需要将乙方用户的滑动时间窗口沿时间进行滑动,加载新的数据。其中,甲方用户的滑动时间窗口的中间时间早于乙方用户的滑动时间窗口的下限时间。
其滑动后的乙方用户的滑动时间窗口的下限时间晚于甲方用户的滑动时间窗口的上限时间。
本实施例中,上述可选的实现方式可以相互结合。作为示例,上述执行主体针对获取的多方用户中的每一方用户的每一份数据,获取该数据的身份信息,并对每一份数据进行数据转换,得到转换数据。然后,在对多方用户的数据中身份信息相同的数据的数据拼接过程中进行数据加密,得到加密后的拼接数据。
步骤202,根据多方用户的预设合作协议,对多方用户进行资源配置。
本实施例中,上述执行主体可以通过有线连接方式或者无线连接方式从远程,或从本地获取多方用户的预设合作协议,根据多方用户的预设合作协议,对多方用户进行资源配置。
多方用户的预设合作协议为表征多方用户的合作策略的协议,包括但不限于合作事项、合作目的、初始模型信息、初始模型的配置信息等,依据预设合作协议中多方用户的有关资源配置方面的信息可以对多方用户进行资源配置。
具体的,上述执行主体可以通过K8S(Kubernetes的简称)管理平台进行资源配置,动态地进行资源创建、管理与回收,以提升资源利用率;并且可以根据训练任务的规模与复杂程度,进行分布式集群规模的调整,以提高资源配置的灵活并性和高效性。
在本实施例的一些可选的实现方式中,上述执行主体可以通过如下方式执行步骤202:
首先,根据多方用户的预设合作协议,确定资源配置信息,其中,资源配置信息包括多方用户中的每一方用户进行模型训练的多个容器,其中,容器为一组受到资源限制、彼此间相互隔离的用于训练初始模型的进程。此外,资源配置信息还可以包括初始模型信息和用于对初始模型进行训练的训练器信息。
然后,根据资源配置信息,对多方用户进行资源配置。针对于每一方用户,上述执行主体分配多个容器和部署于多个容器中的多个训练器。一般而言,一个容器中部署有一个训练器。
本实施例中,初始模型可以是以任意算法实现任意功能的初始模型,包括但不限于是逻辑回归模型、深度学习模型、决策树模型、支持向量机模型等等。
步骤203,以拼接数据作为输入数据,对基于所配置的资源构建的多方用户的初始模型进行分布式训练,得到目标模型。
本实施例中,上述执行主体可以将步骤201得到的拼接数据作为输入数据,对基于步骤202所配置的资源构建的多方用户的初始模型进行分布式训练,得到目标模型。
本实施例中,目标模型可能是基于大规模数据集训练的现代神经网络架构,可以在各种领域获得令人印象深刻的性能表现,从语音和图像识别,到自然语言处理,再到欺诈检测和推荐系统等领域中应用。为了解决模型训练在单个机器上花费时间长的问题,可以通过分布式训练的方式对多个初始模型进行训练。
基于数据并行的分布式训练,上述执行主体在每个容器中部署训练器,以大规模的训练数据集中的不同子集作为每个容器中的训练器所对应的初始模型的输入数据进行模型训练。在训练过程中可以基于参数服务器进行参数更新,以快速得到最终的目标模型。作为示例,参数服务器可以采用参数平均方法、基于梯度的方法、中心化同步、分布式同步等方法进行各模型在训练过程中的更新。
继续参见图3,图3是根据本实施例的基于联邦学习的模型生成方法的应用场景的一个示意图。在图3的应用场景中,多方用户包括具有合作关系的用户301和用户302。其中,用户301为提供购物平台的公司用户,用户302为提供短视频类应用的公司用户,在用户302提供的短视频类应用中插播有用户301提供的购物平台中的各物品的广告信息。首先,服务器303、304分别从用户301和用户302各自的数据中心305和306获取用户301和用户302的数据,并对获取的数据进行数据拼接,得到拼接数据。然后,服务器303、304根据用户301和用户302的预设合作协议,分别对用户301和用户302进行资源配置。其中,针对用户301和用户302,服务器303、304分别配置3个容器和3个训练器,配置给用户301的容器包括容器307、308、309,配置给用户302的容器包括容器310、311、312,各容器中部署有训练器。最后,服务器307-312以拼接数据作为输入数据,对基于所配置的资源构建的用户301和用户302的初始模型进行分布式训练,得到目标模型,目标模型用于确定使用短视频类应用的各人员的广告推送信息,广告推送信息为关于购物平台中的物品的广告推送信息。
本公开的上述实施例提供的方法,通过对获取的多方用户的数据,进行数据拼接,得到拼接数据;根据多方用户的预设合作协议,对多方用户进行资源配置;以拼接数据作为输入数据,对基于所配置的资源构建的多方用户的初始模型进行分布式训练,得到目标模型,从而通过多方用户的数据训练得到优质的目标模型,提高了目标模型的准确性;而且,多方用户不必交换数据,保证了多方用户的数据安全。
在本实施例的一些可选的实现方式中,上述执行主体还可以执行如下步骤:在分布式训练过程中,通过数据包在多方用户之间进行信息交互。
在分布式训练过程中,针对于更新参数、梯度、输入数据等信息,多方用户的模型需要进行信息交互,以同步多方用户的模型训练过程中的信息。
本实现方式中,进一步的,上述执行主体可以通过如下方式进行信息交互:在分布式训练过程中,上述执行主体响应于接收到多方用户中的数据接收方的回应数据包,确定多方用户中的数据发送方完成基于发送数据包的信息交互,其中,回应数据包的身份信息所表征的数值与发送数据包的身份信息所表征的数值之差为预设数值。
作为示例,预设数值可以是1。多方用户中的数据发送方向数据接收方发送身份信息所表征的数值为1的发送数据包,若收到数据接收方发送的身份信息所表征的数值为2的回应数据包,则表明身份信息所表征的数值为1的发送数据包被数据接收方成功接收。
本实现方式中,更进一步的,上述执行主体可以通过如下方式进行信息交互:在分布式训练过程中,响应于接收到多方用户中的数据接收方的回应数据包,确定多方用户中的数据发送方完成基于一次性发送的多个发送数据包的信息交互,其中,一次性发送的多个发送数据包的身份信息所表征的数值为连续数值,回应数据包的身份信息所表征的数值与收到的连续数值中最大的数值之差为预设数值。
继续以预设数值是1为例,多方用户中的数据发送方向数据接收方一次性发送5个发送数据包,5个发送数据包的身份信息所表征的数值依次为1、2、3、4、5。若收到数据接收方发送的身份信息所表征的数值为6的回应数据包,则表明身份信息所表征的数值依次为1、2、3、4、5的5个发送数据包被数据接收方成功接收。
在本实现方式中,在分布式训练过程中,上述执行主体响应于未接收到多方用户中的数据接收方的回应数据包,重新向多方用户中的数据接收方发送发送数据包。
作为示例,预设数值是1。多方用户中的数据发送方向数据接收方发送身份信息所表征的数值为1的发送数据包,若未收到数据接收方发送的身份信息所表征的数值为2的回应数据包,则表明身份信息所表征的数值为1的发送数据包未被数据接收方成功接收,需要通过数据发送方重新向数据接收方发送身份信息所表征的数值为1的发送数据包。
作为又一示例,预设数值是1,多方用户中的数据发送方向数据接收方一次性发送5个发送数据包,5个发送数据包的身份信息所表征的数值依次为1、2、3、4、5。若收到数据接收方发送的身份信息所表征的数值为5的回应数据包,则表明身份信息所表征的数值依次为1、2、3、4的4个发送数据包被数据接收方成功接收,身份信息所表征的数值为5的发送数据包未被数据接收方成功接收,需要通过数据发送方重新向数据接收方发送身份信息所表征的数值为5的发送数据包。
本实现方式中,上述执行主体可以同时通过TCP(Transmission ControlProtocol,传输控制协议)长连接、保活心跳、重连、连接池等方式保障多方用户的资源连接的稳定性,以保证基于数据包成功进行信息交互。
在本实施例的一些可选的实现方式中,上述执行主体还可以执行如下步骤:在分布式训练过程中,响应于同一训练器组中的多个训练器配对失败,进行重新配对。
本实现方式中,当因容器故障导致训练器配对失败时,上述执行主体可以重新分配容器进行配对;当因训练器故障时,上述执行主体可以重启训练器进行配对。
继续参考图4,示出了根据本申请的基于联邦学习的模型生成方法的另一个实施例的示意性流程400,包括以下步骤:
步骤401,对获取的多方用户的数据,进行数据拼接,得到拼接数据。
本实施例中,步骤401与图2对应实施例中的步骤201基本一致,这里不再赘述。
步骤402,根据多方用户的预设合作协议,对多方用户进行资源配置。
本实施例中,步骤402与图2对应实施例中的步骤202基本一致,这里不再赘述。
步骤403,将多方用户中的一方用户的多个容器中部署的多个训练器与多方用户中的其他方用户的多个容器中部署的多个训练器进行配对,得到多个训练器组。
本实施例中,由于采用了双方联邦学习的方式,多方用户均部署有多个训练器,因此,基于联邦学习的模型生成方法的执行主体可以将多方用户中的一方用户的多个容器中部署的多个训练器与多方用户中的其他方用户的多个容器中部署的多个训练器进行配对,得到多个训练器组。其中,训练器组与初始模型一一对应,对于同一训练器组中的每个训练器,该训练器用于以同一拼接数据中属于该训练器所属方用户的部分数据为输入数据,对与该训练器对应的初始模型进行训练。
具体的,上述执行主体可以采用动态配对的机制,将多方用户中的一方用户的容器列表同步至其他方用户;其他方用户根据自身的容器列表进行随机配对,得到多个容器组,并将配对信息返回多方用户中的一方用户,以及将同一容器组中的多个训练器确定为训练器组。
步骤404,通过多个训练器组,进行多方用户的多个初始模型的分布式训练,得到目标模型。
本实施例中,同一训练器组中的每个训练器,该训练器用于以同一拼接数据中属于该训练器所属方用户的部分数据为输入数据,对与该训练器对应的初始模型进行训练。。
在本实施例的一些可选的实现方式中,上述执行主体可以通过如下方式执行上述步骤404:
首先,针对于多个训练器组中的每个训练器组,响应于确定该训练器组中的、对应于多方用户中的一方用户的训练器预先获取到输入数据,通过数据包与该训练器组中的、对应于多方用户的中的其他用户的训练器进行信息交互,以同步该训练器组中的多个训练器在模型训练过程中的输入数据。
然后,通过所述多个训练器组,以预先获取的输入数据作为输入数据,对多方用户的多个初始模型进行分布式训练,得到目标模型。
本实现方式中,针对于模型训练,训练器可以预先获取训练数据,上述执行主体基于预先获取的训练数据同步同一训练器型组中的多个训练器在模型训练过程中的输入数据,提高了模型训练效率。
本实现方式中,在分布式训练过程中,上述执行主体可以通过参数服务器对多方用户的多个初始模型进行参数更新,得到目标模型。
从本实施例中可以看出,与图2对应的实施例相比,本实施例中的基于联邦学习的模型生成方法的流程400具体说明了基于多方用户的配对后的训练器的训练过程。如此,进一步提高了目标模型的训练效率和多方用户的目标模型的一致性。
继续参考图5,作为对上述各图所示方法的实现,本公开提供了一种基于联邦学习的模型生成装置的一个实施例,该装置实施例与图2所示的方法实施例相对应,该装置具体可以应用于各种电子设备中。
如图5所示,基于联邦学习的模型生成装置,包括:拼接单元501,被配置成对获取的多方用户的数据,进行数据拼接,得到拼接数据;配置单元502,被配置成根据多方用户的预设合作协议,对多方用户进行资源配置;训练单元503,被配置成以拼接数据作为输入数据,对基于所配置的资源构建的多方用户的初始模型进行分布式训练,得到目标模型。
在一些实施例中,拼接单元501进一步被配置成:对获取的多方用户的原始数据进行数据转换,得到转换数据;在对转换数据的拼接过程中进行数据加密,得到加密后的拼接数据。
在一些实施例中,拼接单元501进一步被配置成:针对获取的多方用户中的每一方用户的每一份数据,获取该数据的身份信息;将多方用户的数据中身份信息相同的数据进行数据拼接,得到拼接数据。
在一些实施例中,拼接单元501进一步被配置成:通过设置的多个数据拼接模块将多方用户的数据中身份信息相同的数据进行数据拼接,得到拼接数据;和/或在包括预设数量的数据的滑动时间窗口中,将多方用户的数据中身份信息相同的数据进行数据拼接,得到拼接数据。
在一些实施例中,配置单元502进一步被配置成:根据多方用户的预设合作协议,确定资源配置信息,其中,资源配置信息包括多方用户中的每一方用户进行模型训练的多个容器;根据资源配置信息,对多方用户进行资源配置。
在一些实施例中,训练单元503进一步被配置成:将多方用户中的一方用户的多个容器中部署的多个训练器与多方用户中的其他方用户的多个容器中部署的多个训练器进行配对,得到多个训练器组,其中,训练器组与初始模型一一对应,对于同一训练器组中的每个训练器,该训练器用于以同一拼接数据中属于该训练器所属方用户的部分数据为输入数据,对与该训练器对应的初始模型进行训练;通过多个训练器组,进行多方用户的多个初始模型的分布式训练,得到目标模型。
在一些实施例中,训练单元503进一步被配置成:在分布式训练过程中,响应于同一训练器组中的多个训练器配对失败,进行重新配对。
在一些实施例中,上述装置还包括:交互单元(图中未示出),被配置成:在分布式训练过程中,通过数据包在多方用户之间进行信息交互。
在一些实施例中,交互单元(图中未示出)进一步被配置成:在分布式训练过程中,响应于接收到多方用户中的数据接收方的回应数据包,确定多方用户中的数据发送方完成基于发送数据包的信息交互,其中,回应数据包的身份信息所表征的数值与发送数据包的身份信息所表征的数值之差为预设数值。
在一些实施例中,交互单元(图中未示出)进一步被配置成:在分布式训练过程中,响应于接收到多方用户中的数据接收方的回应数据包,确定多方用户中的数据发送方完成基于一次性发送的多个发送数据包的信息交互,其中,一次性发送的多个发送数据包的身份信息所表征的数值为连续数值,回应数据包的身份信息所表征的数值与收到的连续数值中最大的数值之差为预设数值。
在一些实施例中,交互单元(图中未示出)进一步被配置成:在分布式训练过程中,响应于未接收到多方用户中的数据接收方的回应数据包,重新向多方用户中的数据接收方发送发送数据包。
在一些实施例中,训练单元503进一步被配置成:针对于所述多个训练器组中的每个训练器组,响应于确定该训练器组中的、对应于多方用户中的一方用户的训练器预先获取到输入数据,通过数据包与该训练器组中的、对应于多方用户的中的其他用户的训练器进行信息交互,以同步该训练器组中的多个训练器在模型训练过程中的输入数据;通过所述多个训练器组,以预先获取的输入数据作为输入数据,对多方用户的多个初始模型进行分布式训练,得到目标模型。
在一些实施例中,训练单元503进一步被配置成:通过所述多个训练器组,以预先获取的输入数据作为输入数据,对多方用户的多个初始模型进行分布式训练,在分布式训练过程中,通过参数服务器对多方用户的多个初始模型进行参数更新,得到目标模型。
本实施例中,基于联邦学习的模型生成装置中的拼接单元对获取的多方用户的数据,进行数据拼接,得到拼接数据;配置单元根据多方用户的预设合作协议,对多方用户进行资源配置;训练单元以拼接数据作为输入数据,对基于所配置的资源构建的多方用户的初始模型进行分布式训练,得到目标模型,从而通过多方用户的数据训练得到优质的目标模型,提高了目标模型的准确性;而且,多方用户不必交换数据,保证了多方用户的数据安全。
下面参考图6,其示出了适于用来实现本申请实施例的设备(例如图1所示的设备101、102、103、105)的计算机系统600的结构示意图。图6示出的设备仅仅是一个示例,不应对本申请实施例的功能和使用范围带来任何限制。
如图6所示,计算机系统600包括处理器(例如CPU,中央处理器)601,其可以根据存储在只读存储器(ROM)602中的程序或者从存储部分608加载到随机访问存储器(RAM)603中的程序而执行各种适当的动作和处理。在RAM603中,还存储有系统600操作所需的各种程序和数据。处理器601、ROM602以及RAM603通过总线604彼此相连。输入/输出(I/O)接口605也连接至总线604。
以下部件连接至I/O接口605:包括键盘、鼠标等的输入部分606;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分607;包括硬盘等的存储部分608;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分609。通信部分609经由诸如因特网的网络执行通信处理。驱动器610也根据需要连接至I/O接口605。可拆卸介质611,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器610上,以便于从其上读出的计算机程序根据需要被安装入存储部分608。
特别地,根据本公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分609从网络上被下载和安装,和/或从可拆卸介质611被安装。在该计算机程序被处理器601执行时,执行本申请的方法中限定的上述功能。
需要说明的是,本申请的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本申请中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本申请中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言或其组合来编写用于执行本申请的操作的计算机程序代码,程序设计语言包括面向目标的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如”C”语言或类似的程序设计语言。程序代码可以完全地在客户计算机上执行、部分地在客户计算机上执行、作为一个独立的软件包执行、部分在客户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)—连接到客户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
附图中的流程图和框图,图示了按照本申请各种实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本申请实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的单元也可以设置在处理器中,例如,可以描述为:一种处理器,包括拼接单元、配置单元和训练单元。其中,这些单元的名称在某种情况下并不构成对该单元本身的限定,例如,训练单元还可以被描述为“以拼接数据作为输入数据,对基于所配置的资源构建的多方用户的初始模型进行分布式训练,得到目标模型的单元”。
作为另一方面,本申请还提供了一种计算机可读介质,该计算机可读介质可以是上述实施例中描述的设备中所包含的;也可以是单独存在,而未装配入该设备中。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被该装置执行时,使得该计算机设备:对获取的多方用户的数据,进行数据拼接,得到拼接数据;根据多方用户的预设合作协议,对多方用户进行资源配置;以拼接数据作为输入数据,对基于所配置的资源构建的多方用户的初始模型进行分布式训练,得到目标模型。
以上描述仅为本申请的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本申请中所涉及的发明范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离上述发明构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本申请中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。

Claims (28)

1.一种基于联邦学习的模型生成方法,包括:
对获取的多方用户的数据,进行数据拼接,得到拼接数据;
根据所述多方用户的预设合作协议,对所述多方用户进行资源配置;
以所述拼接数据作为输入数据,对基于所配置的资源构建的所述多方用户的初始模型进行分布式训练,得到目标模型。
2.根据权利要求1所述的方法,其中,所述对获取的多方用户的数据,进行数据拼接,得到拼接数据,包括:
对获取的所述多方用户的原始数据进行数据转换,得到转换数据;
在对所述转换数据的拼接过程中进行数据加密,得到加密后的所述拼接数据。
3.根据权利要求1所述的方法,其中,所述对获取的多方用户的数据,进行数据拼接,得到拼接数据,包括:
针对获取的所述多方用户中的每一方用户的每一份数据,获取该数据的身份信息;
将所述多方用户的数据中身份信息相同的数据进行数据拼接,得到所述拼接数据。
4.根据权利要求3所述的方法,其中,所述将所述多方用户的数据中身份信息相同的数据进行数据拼接,得到所述拼接数据,包括:
通过设置的多个数据拼接模块将所述多方用户的数据中身份信息相同的数据进行数据拼接,得到所述拼接数据;和/或
在包括预设数量的数据的滑动时间窗口中,将所述多方用户的数据中身份信息相同的数据进行数据拼接,得到所述拼接数据。
5.根据权利要求1所述的方法,所述根据所述多方用户的预设合作协议,对所述多方用户进行资源配置,包括:
根据所述多方用户的预设合作协议,确定资源配置信息,其中,所述资源配置信息包括所述多方用户中的每一方用户进行模型训练的多个容器;
根据所述资源配置信息,对所述多方用户进行资源配置。
6.根据权利要求5所述的方法,所述以所述拼接数据作为输入数据,对基于所配置的资源构建的所述多方用户的初始模型进行分布式训练,得到目标模型,包括:
将所述多方用户中的一方用户的多个容器中部署的多个训练器与所述多方用户中的其他方用户的多个容器中部署的多个训练器进行配对,得到多个训练器组,其中,训练器组与初始模型一一对应,对于同一训练器组中的每个训练器,该训练器用于以同一拼接数据中属于该训练器所属方用户的部分数据为输入数据,对与该训练器对应的初始模型进行训练;
通过多个训练器组,进行所述多方用户的多个初始模型的分布式训练,得到所述目标模型。
7.根据权利要求6所述的方法,其中,所述方法还包括:
在分布式训练过程中,响应于同一训练器组中的多个训练器配对失败,进行重新配对。
8.根据权利要求1所述的方法,其中,所述方法还包括:
在分布式训练过程中,通过数据包在所述多方用户之间进行信息交互。
9.根据权利要求8所述的方法,其中,所述在分布式训练过程中,通过数据包在所述多方用户之间进行信息交互,包括:
在所述分布式训练过程中,响应于接收到所述多方用户中的数据接收方的回应数据包,确定所述多方用户中的数据发送方完成基于发送数据包的信息交互,其中,所述回应数据包的身份信息所表征的数值与所述发送数据包的身份信息所表征的数值之差为预设数值。
10.根据权利要求9所述的方法,其中,所述在所述分布式训练过程中,响应于接收到所述多方用户中的数据接收方的回应数据包,确定所述多方用户中的数据发送方完成基于发送数据包的信息交互,包括:
在所述分布式训练过程中,响应于接收到所述多方用户中的数据接收方的回应数据包,确定所述多方用户中的数据发送方完成基于一次性发送的多个发送数据包的信息交互,其中,所述一次性发送的多个发送数据包的身份信息所表征的数值为连续数值,所述回应数据包的身份信息所表征的数值与收到的所述连续数值中最大的数值之差为预设数值。
11.根据权利要求9或10所述的方法,其中,所述在分布式训练过程中,通过数据包在所述多方用户之间进行信息交互,还包括:
在所述分布式训练过程中,响应于未接收到所述多方用户中的数据接收方的回应数据包,重新向所述多方用户中的数据接收方发送所述发送数据包。
12.根据权利要求6所述的方法,其中,所述通过多个训练器组,进行所述多方用户的多个初始模型的分布式训练,得到所述目标模型,包括:
针对于所述多个训练器组中的每个训练器组,响应于确定该训练器组中的、对应于所述多方用户中的一方用户的训练器预先获取到输入数据,通过数据包与该训练器组中的、对应于所述多方用户的中的其他用户的训练器进行信息交互,以同步该训练器组中的多个训练器在模型训练过程中的输入数据;
通过所述多个训练器组,以预先获取的输入数据作为输入数据,对所述多方用户的多个初始模型进行分布式训练,得到所述目标模型。
13.根据权利要求12所述的方法,其中,所述通过所述多个训练器组,以预先获取的输入数据作为输入数据,对所述多方用户的多个初始模型进行分布式训练,得到所述目标模型,包括:
通过所述多个训练器组,以预先获取的输入数据作为输入数据,对所述多方用户的多个初始模型进行分布式训练,在所述分布式训练过程中,通过参数服务器对所述多方用户的多个初始模型进行参数更新,得到所述目标模型。
14.一种基于联邦学习的模型生成装置,包括:
拼接单元,被配置成对获取的多方用户的数据,进行数据拼接,得到拼接数据;
配置单元,被配置成根据所述多方用户的预设合作协议,对所述多方用户进行资源配置;
训练单元,被配置成以所述拼接数据作为输入数据,对基于所配置的资源构建的所述多方用户的初始模型进行分布式训练,得到目标模型。
15.根据权利要求14所述的装置,其中,所述拼接单元,进一步被配置成:
对获取的所述多方用户的原始数据进行数据转换,得到转换数据;在对所述转换数据的拼接过程中进行数据加密,得到加密后的所述拼接数据。
16.根据权利要求14所述的装置,其中,所述拼接单元,进一步被配置成:
针对获取的所述多方用户中的每一方用户的每一份数据,获取该数据的身份信息;将所述多方用户的数据中身份信息相同的数据进行数据拼接,得到所述拼接数据。
17.根据权利要求16所述的装置,其中,所述拼接单元,进一步被配置成:
通过设置的多个数据拼接模块将所述多方用户的数据中身份信息相同的数据进行数据拼接,得到所述拼接数据;和/或在包括预设数量的数据的滑动时间窗口中,将所述多方用户的数据中身份信息相同的数据进行数据拼接,得到所述拼接数据。
18.根据权利要求14所述的装置,所述配置单元,进一步被配置成:
根据所述多方用户的预设合作协议,确定资源配置信息,其中,所述资源配置信息包括所述多方用户中的每一方用户进行模型训练的多个容器;根据所述资源配置信息,对所述多方用户进行资源配置。
19.根据权利要求18所述的装置,所述训练单元,进一步被配置成:
将所述多方用户中的一方用户的多个容器中部署的多个训练器与所述多方用户中的其他方用户的多个容器中部署的多个训练器进行配对,得到多个训练器组,其中,训练器组与初始模型一一对应,对于同一训练器组中的每个训练器,该训练器用于以同一拼接数据中属于该训练器所属方用户的部分数据为输入数据,对与该训练器对应的初始模型进行训练;通过多个训练器组,进行所述多方用户的多个初始模型的分布式训练,得到所述目标模型。
20.根据权利要求19所述的装置,其中,所述训练单元,进一步被配置成:
在分布式训练过程中,响应于同一训练器组中的多个训练器配对失败,进行重新配对。
21.根据权利要求14所述的装置,其中,所述装置还包括:交互单元,被配置成:
在分布式训练过程中,通过数据包在所述多方用户之间进行信息交互。
22.根据权利要求21所述的装置,其中,所述交互单元,进一步被配置成:
在所述分布式训练过程中,响应于接收到所述多方用户中的数据接收方的回应数据包,确定所述多方用户中的数据发送方完成基于发送数据包的信息交互,其中,所述回应数据包的身份信息所表征的数值与所述发送数据包的身份信息所表征的数值之差为预设数值。
23.根据权利要求22所述的装置,其中,所述交互单元,进一步被配置成:
在所述分布式训练过程中,响应于接收到所述多方用户中的数据接收方的回应数据包,确定所述多方用户中的数据发送方完成基于一次性发送的多个发送数据包的信息交互,其中,所述一次性发送的多个发送数据包的身份信息所表征的数值为连续数值,所述回应数据包的身份信息所表征的数值与收到的所述连续数值中最大的数值之差为预设数值。
24.根据权利要求22或23所述的装置,其中,所述交互单元,进一步被配置成:
在所述分布式训练过程中,响应于未接收到所述多方用户中的数据接收方的回应数据包,重新向所述多方用户中的数据接收方发送所述发送数据包。
25.根据权利要求19所述的装置,其中,所述训练单元,进一步被配置成:
针对于所述多个训练器组中的每个训练器组,响应于确定该训练器组中的、对应于所述多方用户中的一方用户的训练器预先获取到输入数据,通过数据包与该训练器组中的、对应于所述多方用户的中的其他用户的训练器进行信息交互,以同步该训练器组中的多个训练器在模型训练过程中的输入数据;通过所述多个训练器组,以预先获取的输入数据作为输入数据,对所述多方用户的多个初始模型进行分布式训练,得到所述目标模型。
26.根据权利要求25所述的方法,其中,所述训练单元,进一步被配置成:
通过所述多个训练器组,以预先获取的输入数据作为输入数据,对所述多方用户的多个初始模型进行分布式训练,在所述分布式训练过程中,通过参数服务器对所述多方用户的多个初始模型进行参数更新,得到所述目标模型。
27.一种计算机可读介质,其上存储有计算机程序,其中,所述程序被处理器执行时实现如权利要求1-13中任一所述的方法。
28.一种电子设备,包括:
一个或多个处理器;
存储装置,其上存储有一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-13中任一所述的方法。
CN202010622796.XA 2020-07-01 2020-07-01 基于联邦学习的模型生成方法及装置 Pending CN112348197A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010622796.XA CN112348197A (zh) 2020-07-01 2020-07-01 基于联邦学习的模型生成方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010622796.XA CN112348197A (zh) 2020-07-01 2020-07-01 基于联邦学习的模型生成方法及装置

Publications (1)

Publication Number Publication Date
CN112348197A true CN112348197A (zh) 2021-02-09

Family

ID=74357511

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010622796.XA Pending CN112348197A (zh) 2020-07-01 2020-07-01 基于联邦学习的模型生成方法及装置

Country Status (1)

Country Link
CN (1) CN112348197A (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113435516A (zh) * 2021-06-29 2021-09-24 京东科技控股股份有限公司 数据分类方法和装置
CN113672352A (zh) * 2021-08-23 2021-11-19 支付宝(杭州)信息技术有限公司 一种基于容器部署联邦学习任务的方法及装置
CN113672352B (zh) * 2021-08-23 2024-05-31 支付宝(杭州)信息技术有限公司 一种基于容器部署联邦学习任务的方法及装置

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113435516A (zh) * 2021-06-29 2021-09-24 京东科技控股股份有限公司 数据分类方法和装置
CN113435516B (zh) * 2021-06-29 2024-02-06 京东科技控股股份有限公司 数据分类方法和装置
CN113672352A (zh) * 2021-08-23 2021-11-19 支付宝(杭州)信息技术有限公司 一种基于容器部署联邦学习任务的方法及装置
CN113672352B (zh) * 2021-08-23 2024-05-31 支付宝(杭州)信息技术有限公司 一种基于容器部署联邦学习任务的方法及装置

Similar Documents

Publication Publication Date Title
CN107609506B (zh) 用于生成图像的方法和装置
CN112712182B (zh) 一种基于联邦学习的模型训练方法、装置及存储介质
CN109146490A (zh) 区块生成方法、装置和系统
CN106686339A (zh) 电子会议智能
CN106685916A (zh) 电子会议智能
CN108491267B (zh) 用于生成信息的方法和装置
CN109189544B (zh) 用于生成表盘的方法和装置
CN110708358B (zh) 会话消息处理方法、电子设备和计算机可读存储介质
CN111488995B (zh) 用于评估联合训练模型的方法、装置和系统
CN113177645A (zh) 联邦学习方法、装置、计算设备及存储介质
WO2020119540A1 (zh) 用于生成群聊头像的方法和设备
CN113505520A (zh) 用于支持异构联邦学习的方法、装置和系统
US11210563B2 (en) Method and apparatus for processing image
CN110009059A (zh) 用于生成模型的方法和装置
US20220391425A1 (en) Method and apparatus for processing information
US11232560B2 (en) Method and apparatus for processing fundus image
CN110097004B (zh) 面部表情识别方法和装置
CN112348197A (zh) 基于联邦学习的模型生成方法及装置
CN113537512A (zh) 基于联邦学习的模型训练方法、装置、系统、设备和介质
CN109840072B (zh) 信息处理方法和装置
CN113779346A (zh) 用于识别一人多账号的方法及装置
CN110473108A (zh) 基于区块链的合约生成方法和装置
CN111626802A (zh) 用于处理信息的方法和装置
CN115757933A (zh) 推荐信息生成方法、装置、设备、介质和程序产品
CN111260756A (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