CN112036580B - 用于联盟学习的方法、装置及联盟学习系统 - Google Patents
用于联盟学习的方法、装置及联盟学习系统 Download PDFInfo
- Publication number
- CN112036580B CN112036580B CN202010945591.5A CN202010945591A CN112036580B CN 112036580 B CN112036580 B CN 112036580B CN 202010945591 A CN202010945591 A CN 202010945591A CN 112036580 B CN112036580 B CN 112036580B
- Authority
- CN
- China
- Prior art keywords
- model
- member device
- hardware performance
- group
- equipment
- 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
Images
Classifications
-
- 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
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
- G06F9/5044—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering hardware capabilities
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5061—Partitioning or combining of resources
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (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
技术领域
本说明书实施例通常涉及人工智能领域,尤其涉及用于联盟学习的方法、装置以及联盟学习系统。
背景技术
随着人工智能技术的发展,业务模型已经逐渐应用于各种业务应用场景,比如,风险评估、语音识别、自然语言处理等。为了解决模型训练时的数据孤岛问题,提出了联盟学习(Federated Learning)。利用联盟学习,可以在保护数据隐私的情况下,让多个数据拥有方通过多方安全计算或者在硬件SGX环境中进行加密计算,通过各个数据拥有方之间的协同计算来实现模型训练。
然而,在联盟学习场景下,各个数据拥有方设备可能是具有不同配置和不同计算能力的终端设备,比如,由不同生产厂商生产的不同型号的智能移动终端,从而使得各个数据拥有方设备的硬件性能差异非常大。在这种情况下,在各个数据拥有方设备进行联盟学习时,如果所有数据拥有方设备都训练同一全局业务模型,则会存在巨大的性能瓶颈。例如,部分硬件性能较差的数据拥有方设备可能会在规定时间内无法训练出全局业务模型,或者在规定时间内完成全局业务模型训练,但需要消耗大量的代价,比如,大量的通信成本以及大量的电量消耗等等。
发明内容
鉴于上述问题,本说明书实施例提供一种用于联盟学习的方法、装置及联盟学习系统。利用该方法、装置及系统,在具有全局业务模型的第二成员设备处,基于具有本地数据的各个第一成员设备的硬件性能参数来对第一成员设备进行成员设备分组,每个成员设备分组具有与其硬件性能参数适配的全局业务模型,并由各个成员设备分组的第一成员设备使用本地数据,与第二成员设备一起来对各自的全局业务模型进行联盟学习,可以为不同硬件性能的第一成员设备分配不同模型复杂度的全局业务模型,由此使得各个第一成员设备所训练的全局业务模型的复杂度不超出该第一成员设备的硬件性能参数,从而使得各个第一成员设备分组能够快速地训练出全局业务模型,进而提高联盟学习效率。
根据本说明书实施例的一个方面,提供一种用于联盟学习的方法,所述联盟包括至少三个第一成员设备以及第二成员设备,每个第一成员设备具有本地数据,所述方法由第二成员设备执行,所述方法包括:获取各个第一成员设备的硬件性能参数信息;基于各个第一成员设备的硬件性能参数信息,对第一成员设备进行成员分组,得到各个第一成员设备分组,每个第一成员设备分组具有与各自的硬件性能参数适配的初始全局业务模型;以及将各个初始全局业务模型分别提供给对应的第一成员设备分组中的各个第一成员设备,其中,针对各个第一成员设备分组,各个第一成员设备使用各自的本地数据,与所述第二成员设备一起执行联盟学习来得到目标全局业务模型。
可选地,在上述方面的一个示例中,所述第二成员设备维护至少一个全局业务模型,基于各个第一成员设备的硬件性能参数信息,对第一成员设备进行成员分组,得到各个第一成员设备分组,每个第一成员设备分组具有与各自的硬件性能参数适配的初始全局业务模型可以包括:基于各个第一成员设备的硬件性能参数信息,将各个第一成员设备分配给与各自的硬件性能参数适配的初始全局业务模型,具有同一初始全局业务模型的第一成员设备组成第一成员设备分组。
可选地,在上述方面的一个示例中,基于各个第一成员设备的硬件性能参数信息,对第一成员设备进行成员分组,得到各个第一成员设备分组,每个第一成员设备分组具有与各自的硬件性能参数适配的初始全局业务模型可以包括:基于各个第一成员设备的硬件性能参数信息,对第一成员设备进行成员分组,得到各个第一成员设备分组;以及为各个第一成员设备分组生成与各自的硬件性能参数适配的初始全局业务模型。
可选地,在上述方面的一个示例中,所述第一成员设备是智能终端设备,所述硬件性能参数信息可以包括下述参数信息中的至少一种:处理芯片型号、内存大小、操作系统版本以及设备使用年限。
可选地,在上述方面的一个示例中,基于各个第一成员设备的硬件性能参数信息,对第一成员设备进行成员分组,得到各个第一成员设备分组,每个第一成员设备分组具有与各自的硬件性能参数适配的初始全局业务模型可以包括:基于各个第一成员设备的硬件性能参数信息以及其它参数信息,对第一成员设备进行成员分组,得到各个第一成员设备分组,每个第一成员设备分组具有与各自的硬件性能参数适配的初始全局业务模型,所述其它参数信息包括所述第二成员设备的可用计算能力信息以及各个第一成员设备与所述第二成员设备之间的通信参数信息中的至少一种。
可选地,在上述方面的一个示例中,各个第一成员设备和所述第二成员设备之间通过网络进行数据传输,所述通信参数信息可以包括网络传输速度、网络使用率和/或网络连接成功率。
可选地,在上述方面的一个示例中,所述方法进一步包括:基于各个初始全局业务模型的模型结构和模型训练要求,为各个初始全局业务模型的模型训练配置所述第二成员设备的计算资源。
可选地,在上述方面的一个示例中,所述方法进一步包括:针对各个第一成员设备分组,与该第一成员设备分组中的各个第一成员设备一起,使用各个第一成员设备的本地数据执行联盟学习来得到目标全局业务模型。
可选地,在上述方面的一个示例中,所述方法进一步包括:针对模型性能最好的第一成员设备分组,利用知识蒸馏技术训练出小规模模型。
可选地,在上述方面的一个示例中,所述小规模模型被用作所具有的硬件性能参数低于预定阈值的第一成员设备分组的初始全局业务模型或者目标全局业务模型。
可选地,在上述方面的一个示例中,在所述第二成员设备的计算资源不足以提供针对所有第一成员设备分组的全局模型训练时,所述小规模模型被用作部分第一成员设备分组的目标全局业务模型。
根据本说明书的实施例的另一方面,提供一种用于联盟学习的方法,所述联盟包括至少三个第一成员设备以及第二成员设备,每个第一成员设备具有本地数据,所述方法由所述第一成员设备执行,所述方法包括:将所述第一成员设备的设备性能参数信息提供给所述第二成员设备;从所述第二成员设备接收初始全局业务模型,所述第二成员设备基于各个第一成员设备的硬件性能参数信息进行成员分组,以得到各个第一成员设备分组,每个第一成员设备分组具有与各自的硬件性能参数适配的初始全局业务模型;以及与同一第一成员设备分组中的其它第一成员设备以及所述第二成员设备一起,使用各自的本地数据执行联盟学习来得到目标全局业务模型。
根据本说明书的实施例的另一方面,提供一种用于联盟学习的方法,所述联盟包括至少三个第一成员设备以及第二成员设备,每个第一成员设备具有本地数据,所述方法由所述联盟执行,所述方法包括:在第二成员设备处,获取各个第一成员设备的硬件性能参数信息;基于各个第一成员设备的硬件性能参数信息,对第一成员设备进行成员分组,得到各个第一成员设备分组,每个第一成员设备分组具有与各自的硬件性能参数适配的初始全局业务模型;以及将各个初始全局业务模型分别提供给对应的第一成员设备分组中的各个第一成员设备,针对各个第一成员设备分组,该第一成员设备分组中的各个第一成员设备使用各自的本地数据,与所述第二成员设备一起执行联盟学习来得到目标全局业务模型。
根据本说明书的实施例的另一方面,提供一种用于联盟学习的装置,所述联盟包括至少三个第一成员设备以及第二成员设备,每个第一成员设备具有本地数据,所述装置应用于第二成员设备,所述装置包括:性能参数获取单元,获取各个第一成员设备的硬件性能参数信息;设备分组单元,基于各个第一成员设备的硬件性能参数信息,对第一成员设备进行成员分组,得到各个第一成员设备分组,每个第一成员设备分组具有与各自的硬件性能参数适配的初始全局业务模型;以及模型提供单元,将各个初始全局业务模型分别提供给对应的第一成员设备分组中的各个第一成员设备,其中,针对各个第一成员设备分组,该第一成员设备分组中的各个第一成员设备使用各自的本地数据,与所述第二成员设备一起执行联盟学习来得到目标全局业务模型。
可选地,在上述方面的一个示例中,所述设备分组单元基于各个第一成员设备的硬件性能参数信息,将各个第一成员设备分配给与各自的硬件性能参数适配的初始全局业务模型,具有同一初始全局业务模型的第一成员设备组成第一成员设备分组。
可选地,在上述方面的一个示例中,所述设备分组单元可以包括:设备分组模块,基于各个第一成员设备的硬件性能参数信息,对第一成员设备进行成员分组,得到各个第一成员设备分组;以及模型生成模块,为各个第一成员设备分组生成与各自的硬件性能参数适配的初始全局业务模型。
可选地,在上述方面的一个示例中,所述设备分组单元基于各个第一成员设备的硬件性能参数信息以及其它参数信息,对第一成员设备进行成员分组,得到第一成员设备分组,每个第一成员设备分组具有与各自的硬件性能参数适配的初始全局业务模型,所述其它参数信息包括所述第二成员设备的可用计算能力信息以及各个第一成员设备与所述第二成员设备之间的通信参数信息中的至少一种。
可选地,在上述方面的一个示例中,所述装置进一步包括:计算资源配置单元,基于各个初始全局业务模型的模型结构和模型训练要求,为各个第一成员设备的模型训练配置所述第二成员设备的计算资源。
可选地,在上述方面的一个示例中,所述装置进一步包括:联盟学习单元,与各个第一成员设备分组中的各个第一成员设备一起,使用该第一成员设备分组中的各个第一成员设备的本地数据执行联盟学习来得到目标全局业务模型。
可选地,在上述方面的一个示例中,所述装置进一步包括:知识蒸馏单元,针对模型性能最好的第一成员设备分组,利用知识蒸馏技术训练出小规模模型。
根据本说明书的实施例的另一方面,提供一种用于联盟学习的装置,所述联盟包括至少三个第一成员设备以及第二成员设备,每个第一成员设备具有本地数据,所述装置应用于第一成员设备,所述装置包括:性能参数提供单元,将所述第一成员设备的设备性能参数信息提供给所述第二成员设备;模型获取单元,从所述第二成员设备获取初始全局业务模型,所述第二成员设备基于各个第一成员设备的硬件性能参数信息进行成员分组,得到各个第一成员设备分组,每个第一成员设备分组具有与各自的硬件性能参数适配的初始全局业务模型;以及联盟学习单元,与同一第一成员设备分组中的其它第一成员设备以及所述第二成员设备一起,使用各自的本地数据执行联盟学习来得到目标全局业务模型。
根据本说明书的实施例的另一方面,提供一种联盟学习系统,包括:至少三个第一成员设备,每个第一成员设备具有本地数据,并且包括如上所述的用于联盟学习的装置;和第二成员设备,所述第二成员设备维护全局模型,并且包括如上所述的用于联盟学习的装置。
根据本说明书的实施例的另一方面,提供一种电子设备,包括:至少一个处理器,以及与所述至少一个处理器耦合的存储器,所述存储器存储指令,当所述指令被所述至少一个处理器执行时,使得所述至少一个处理器执行如上所述的在第二成员设备侧执行的用于联盟学习的方法。
根据本说明书的实施例的另一方面,提供一种机器可读存储介质,其存储有可执行指令,所述指令当被执行时使得所述机器执行如上所述的在第二成员设备侧执行的用于联盟学习的方法。
根据本说明书的实施例的另一方面,提供一种电子设备,包括:至少一个处理器,以及与所述至少一个处理器耦合的存储器,所述存储器存储指令,当所述指令被所述至少一个处理器执行时,使得所述至少一个处理器执行如上所述的在第一成员设备侧执行的用于联盟学习的方法。
根据本说明书的实施例的另一方面,提供一种机器可读存储介质,其存储有可执行指令,所述指令当被执行时使得所述机器执行如上所述的在第一成员设备侧执行的用于联盟学习的方法。
附图说明
通过参照下面的附图,可以实现对于本说明书内容的本质和优点的进一步理解。在附图中,类似组件或特征可以具有相同的附图标记。
图1示出了联盟学习系统架构的示例示意图。
图2示出了根据本说明书的实施例的联盟学习系统架构的示例示意图。
图3示出了根据本说明书的实施例的联盟学习过程的一个示例的流程图。
图4示出了根据本说明书的实施例的成员设备分组过程的示例流程图。
图5示出了根据本说明书的实施例的知识蒸馏过程的示例流程图。
图6示出了根据本说明书的实施例的在第一成员设备处的用于联盟学习的装置的一个示例的方框图。
图7示出了根据本说明书的实施例的在第二成员设备处的用于联盟学习的装置的一个示例的方框图。
图8示出了根据本说明书的实施例的设备分组单元的一个示例的方框图。
图9示出了根据本说明书的实施例的用于实现在第一成员设备处的联盟学习过程的电子设备的示意图。
图10示出了根据本说明书的实施例的用于实现在第二成员设备处的联盟学习过程的电子设备的示意图。
具体实施方式
现在将参考示例实施方式讨论本文描述的主题。应该理解,讨论这些实施方式只是为了使得本领域技术人员能够更好地理解从而实现本文描述的主题,并非是对权利要求书中所阐述的保护范围、适用性或者示例的限制。可以在不脱离本说明书内容的保护范围的情况下,对所讨论的元素的功能和排列进行改变。各个示例可以根据需要,省略、替代或者添加各种过程或组件。例如,所描述的方法可以按照与所描述的顺序不同的顺序来执行,以及各个步骤可以被添加、省略或者组合。另外,相对一些示例所描述的特征在其它例子中也可以进行组合。
如本文中使用的,术语“包括”及其变型表示开放的术语,含义是“包括但不限于”。术语“基于”表示“至少部分地基于”。术语“一个实施例”和“一实施例”表示“至少一个实施例”。术语“另一个实施例”表示“至少一个其他实施例”。术语“第一”、“第二”等可以指代不同的或相同的对象。下面可以包括其他的定义,无论是明确的还是隐含的。除非上下文中明确地指明,否则一个术语的定义在整个说明书中是一致的。
图1示出了一种联盟学习系统架构100的示例示意图。
如图1所示,联盟学习系统架构100包括多个数据拥有方110和服务端120。在图1中示出的示例中,多个数据拥有方110包括数据拥有方A、数据拥有方B和数据拥有方C。在其它示例中,多个数据拥有方110例如可以包括两个数据拥有方,或者多于三个数据拥有方。
各个数据拥有方110在本地收集用于联盟学习的数据样本,例如,数据拥有方A收集数据样本XA,数据拥有方B收集数据样本XB,以及数据拥有方C收集数据样本XC。服务端120上部署全局模型W。各个数据拥有方具有的每条数据样本具有全局模型W训练所需的完整维度数据,可以被使用来单独训练全局模型W。
数据拥有方A、B和C与服务端120一起使用数据拥有方A、B和C的数据样本来迭代训练全局模型W。在每次迭代训练时,服务端120将全局模型W提供给数据拥有方A、B和C。数据拥有方A、B和C各自在本地使用各自的数据样本来训练全局模型W,由此分别训练出各自的全局模型WA、WB和WC。
然后,数据拥有方A、B和C分别将各自训练出的全局模型WA、WB和WC提供给服务端120。服务端120按照预定整合规则来对全局模型WA、WB和WC进行模型整合,以得到整合后的全局模型,作为当前训练出的目标全局模型。如果满足迭代结束条件,则模型训练完成。如果不满足迭代结束条件,则服务端120将当前训练出的目标全局模型提供给数据拥有方A、B和C来执行下一迭代过程。
按照上述联盟学习方案,每个数据拥有方都使用相同的全局模型来进行模型训练。各个数据拥有方处的设备(下文中称为“数据拥有方设备”)可能是具有不同配置和不同计算能力的终端设备,比如,由不同生产厂商生产的不同型号的智能移动终端,从而使得各个数据拥有方设备的硬件性能差异非常大。按照这种联盟学习方案,部分硬件性能较差的数据拥有方设备可能会在规定时间内无法训练出全局业务模型,或者在规定时间内完成全局业务模型训练,但需要消耗大量的代价,比如,大量的通信成本以及大量的电量消耗等等,从而使得联盟学习的效率不高。
鉴于上述,本说明书实施例提供一种用于联盟学习的方法、装置和联盟学习系统。利用该方法、装置及系统。在该联盟学习方案中,在具有全局业务模型的第二成员设备处,基于具有本地数据的各个第一成员设备的硬件性能参数来对第一成员设备进行成员设备分组,并且使得每个成员设备分组具有与其硬件性能参数适配的全局业务模型。随后,各个成员设备分组的第一成员设备使用本地数据,与第二成员设备一起来对各自的全局业务模型进行联盟学习。按照这种联盟学习方案,可以为不同硬件性能的第一成员设备分配不同模型复杂度的全局业务模型,由此使得各个第一成员设备所训练的全局业务模型的复杂度不超出该第一成员设备的硬件性能参数,从而使得各个第一成员设备分组能够快速地训练出全局业务模型,进而提高联盟学习效率。
本说明书实施例提供的方法和装置可以由电子设备执行,例如终端设备或服务端设备。换言之,所述方法可以由安装在终端设备或服务器设备的软件或硬件来执行。所述服务器设备包括但不限于:单台服务器、服务器集群、云端服务器或云端服务器集群等。所述终端设备包括但不限于:智能手机、个人电脑(personal computer,PC)、笔记本电脑、平板电脑、电子阅读器、网络电视、可穿戴设备等智能终端设备中的任一种。
在本说明书的实施例中,术语“多个”指的是“三个或三个以上”。术语“第一成员设备”可以是用于本地收集数据样本的设备或设备方,比如,智能终端设备、服务器设备等。“第一成员设备”也可以称为“数据拥有方”或“数据持有方”。在第一成员设备上不部署(或不维护)业务模型。术语“第二成员设备”可以是部署或维护业务模型的设备或设备方,比如,终端设备、服务器设备等。“第二成员设备”也可以称为“服务端”或“模型拥有方”。
在一个实际应用示例中,第二成员设备例如可以是第三支付平台的服务器,各个第一成员设备例如可以是不同金融机构或医疗机构的私有数据存储服务器或智能终端设备。
在本说明提供的实施例中,第一成员设备的本地数据可以包括本地私有数据和本地非私有数据。在本说明书中,本地私有数据是隐私数据,不能泄露给其它成员设备,从而在进行联盟学习时不能以明文或将该数据全部共享给其它成员设备。本地非私有数据是指可以分享给其它成员设备的本地数据。本地非私有数据可以被其它成员设备使用来形成公域数据。
下文以包括6个第一成员设备的联盟学习系统为例,对本说明书的实施例所提供的联盟学习方法、装置及联盟学习系统进行说明。在本说明书的其它实施例中,联盟学习系统可以包括少于6个但不少于3个第一成员设备,或者多于6个第一成员设备。
图2示出了根据本说明书的实施例的联盟学习系统架构200的示例示意图。
如图2所示,联盟学习系统架构200包括多个第一成员设备210和第二成员设备220。多个第一成员设备210包括第一成员设备210-1到第一成员设备210-6。第一成员设备210-1到210-6以及第二成员设备220可以通过例如但不局限于互联网或局域网等的网络相互通信。
各个第一成员设备210在本地收集用于联盟学习的数据样本,例如,第一成员设备210-1收集数据样本X1,第一成员设备210-2收集数据样本X2,第一成员设备210-3收集数据样本X3,第一成员设备210-4收集数据样本X4,第一成员设备210-5收集数据样本X5,以及第一成员设备210-6收集数据样本X6。第二成员设备220上部署或者维护全局业务模型,或者部署或维护多于1个全局业务模型。各个数据拥有方具有的每条数据样本具有全局业务模型训练所需的完整维度数据,可以被使用来单独训练全局业务模型。
在进行联盟学习时,各个第一成员设备210-1到210-6将各自的硬件性能参数信息提供给第二成员设备220。第二成员设备220基于各个第一成员设备210-1到210-6的硬件性能参数来对第一成员设备210-1到210-6进行成员设备分组,以得到各个第一成员设备分组。
例如,可以将位于某一硬件性能参数范围的多个第一成员设备划分到同一第一成员设备分组中,从而使得该第一成员设备分组中的第一成员设备的硬件性能参数相似,每个第一成员设备分组包括一个或多个第一成员设备,并且具有与该第一成员设备分组的硬件性能参数适配的全局业务模型。如图2所示,第一成员设备210-1到210-6被分组为3个第一成员设备分组,其中,第一成员设备分组1包括第一成员设备210-1到第一成员设备210-2,并且具有全局业务模型1。第一成员设备分组2包括第一成员设备210-3到210-5,并且具有全局业务模型2。第一成员设备分组包括第一成员设备210-6,并且具有全局业务模型3。
然后,针对各个第一成员设备分组,该第一成员设备分组中的各个第一成员设备使用各自的本地数据,与第二成员设备220一起联盟学习来得到目标全局业务模型。
此外,如图2所示,第二成员设备220还可以针对模型性能最好的第一成员设备分组,利用知识蒸馏技术训练出小规模模型。在一个示例中,如果部分第一成员设备分组中的第一成员设备的硬件性能参数较差,例如,低于预定阈值,则可以将小规模模型用作这些第一成员设备分组的初始全局业务模型或者目标全局业务模型。或者,在第二成员设备的计算资源不足以提供针对所有第一成员设备分组的全局模型训练时,可以将小规模模型用作部分第一成员设备分组的目标全局业务模型,例如,用作硬件性能参数低于预定阈值的部分第一成员设备分组的目标全局业务模型。
图3示出了根据本说明书的实施例的联盟学习过程的一个示例的流程图。在图3中,为了描述简单,仅仅以4个第一成员设备210-1到210-4并且该4个第一成员设备被分组为2个第一成员设备分组为例来进行说明。在其他实施例中,可以具有更多或更少的第一成员设备,以及更多的第一成员设备分组。
如图3所示,在步骤310,第二成员设备220获取各个第一成员设备的硬件性能参数信息,即,第一成员设备210-1到第一成员设备210-4的硬件性能参数信息。硬件性能参数信息的获取方式,可以是由各个第一成员设备210-1到210-4主动上传,如图3中所示。或者,可以是由各个第一成员设备210-1到210-4响应于第二成员设备220的性能参数信息获取请求而上传。
在本说明书的一个示例中,第一成员设备可以包括智能终端设备。第一成员设备的硬件性能参数信息可以包括下述参数信息中的至少一种:处理芯片型号、内存大小、操作系统版本以及设备使用年限。这里,术语“处理芯片”可以包括各种处理器或者处理器芯片,比如,CPU、MPU、FPGA、GPU等等。
在步骤320,第二成员设备220基于各个第一成员设备的硬件性能参数信息,对第一成员设备进行成员分组,得到各个第一成员设备分组,每个第一成员设备分组具有与各自的硬件性能参数适配的初始全局业务模型。在本说明书中,针对各个第一成员设备分组,可以将该第一成员设备分组中的具有最高硬件性能参数的第一成员设备的硬件性能参数,确定为该第一成员设备分组的硬件性能参数。或者,可以将该第一成员设备分组中的具有最低硬件性能参数的第一成员设备的硬件性能参数,确定为该第一成员设备分组的硬件性能参数。或者,可以将该第一成员设备分组中的各个第一成员设备的硬件性能参数的平均值,确定为该第一成员设备分组的硬件性能参数。
在一个示例中,第二成员设备220上可以预先维护至少一个全局业务模型。相应地,第二成员设备220可以基于各个第一成员设备的硬件性能参数信息,将各个第一成员设备分配给与各自的硬件性能参数适配的初始全局业务模型,具有同一初始全局业务模型的第一成员设备组成第一成员设备分组。在本说明书中,第二成员设备220所维护的全局业务模型的个数可以与第一成员设备分组的分组数相等,也可以多于第一成员设备分组的分组数。
例如,如图3中所示,第二成员设备220上维护2个全局业务模型:全局业务模型1和全局业务模型2。第二成员设备220通过分析第一成员设备1-4的硬件性能参数可知,全局业务模型1与第一成员设备分组1-2的硬件性能参数适配,全局业务模型2与第一成员设备分组3-4的硬件性能参数适配。由此,第二成员设备220将全局业务模型1分配给第一成员设备1-2,以及将全局业务模型2分配给第一成员设备3-4。第一成员设备1和2组成第一成员设备分组1,以及第一成员设备3和4组成第一成员设备分组2。
图4示出了根据本说明书的实施例的成员设备分组过程的另一示例流程图。在图4中示出的示例中,第二成员设备220上没有预先维护至少一个全局业务模型。
如图4所示,在步骤410,第二成员设备220基于各个第一成员设备的硬件性能参数信息,对第一成员设备进行成员分组,得到各个第一成员设备分组。
接着,在步骤420,为各个第一成员设备分组生成与各自的硬件性能参数适配的初始全局业务模型。
此外,在本说明书的其他实施例中,第二成员设备220还可以基于各个第一成员设备210的硬件性能参数信息以及其它参数信息,对第一成员设备进行成员分组,得到各个第一成员设备分组,每个第一成员设备分组具有与各自的硬件性能参数适配的初始全局业务模型。这里,所述其它参数信息可以包括第二成员设备的可用计算能力信息以及各个第一成员设备与第二成员设备之间的通信参数信息中的至少一种。
在本说明书的一个示例中,第二成员设备的可用计算能力信息可以包括第二成员设备的计算资源使用率和/或容器数量。这里,容器例如可以是K8S容器,其是资源聚合器,包含比如CPU、硬盘等各类资源。在另一示例中,各个第一成员设备和第二成员设备之间通过网络进行数据传输。各个第一成员设备与第二成员设备之间的通信参数信息可以包括网络传输速度、网络使用率和/或网络连接成功率。此外,在另一示例中,所述网络连接成功率可以是规定时间段内的网络连接成功率。比如,在最近1天内,第一成员设备与第二成员设备的网络连接成功率。
在如上完成针对第一成员设备的成员设备分组后,在步骤330,将各个初始全局业务模型分别提供给对应的第一成员设备分组中的各个第一成员设备。例如,如图3所示,将全局业务模型1提供给第一成员设备210-1和210-2,以及将全局业务模型2提供给第一成员设备210-3和210-4。
回到图3,在各个第一成员设备接收到对应的全局业务模型后,在步骤340,针对各个第一成员设备分组,各个第一成员设备使用各自的本地数据,与第二成员设备一起执行联盟学习来得到目标全局业务模型。例如,第一成员设备210-1和210-2使用各自的本地数据,与第二成员设备220一起执行针对全局业务模型1的联盟学习,得到目标全局业务模型,即,具有目标模型参数的全局业务模型1。第一成员设备210-3和210-4使用各自的本地数据,与第二成员设备220一起执行针对全局业务模型2的联盟学习,得到目标全局业务模型,即,具有目标模型参数的全局业务模型2。
在图3中示出的联盟学习方法中,在具有全局业务模型的第二成员设备处,基于具有本地数据的各个第一成员设备的硬件性能参数来对第一成员设备进行成员设备分组,并且使得每个成员设备分组具有与其硬件性能参数适配的全局业务模型。随后,各个成员设备分组的第一成员设备使用本地数据,与第二成员设备一起来对各自的全局业务模型进行联盟学习。按照这种联盟学习方法,可以为不同硬件性能的第一成员设备分配不同模型复杂度的全局业务模型,例如,硬件性能弱的第一成员设备,所分配来训练的全局业务模型简单,模型复杂度低,由此使得各个第一成员设备所训练的全局业务模型的复杂度不超出该第一成员设备的硬件性能参数,从而使得各个第一成员设备分组能够快速地训练出全局业务模型,进而提高联盟学习效率。
此外,可选地,在另一示例中,在使用各自的本地数据执行联盟学习之前,联盟学习方法还可以包括:基于各个初始全局业务模型的模型结构和模型训练要求,为各个初始全局业务模型的模型训练配置第二成员设备的计算资源。这里,全局业务模型的模型结构例如可以包括全局业务模型的网络层数(模型层次)以及每层模型的节点个数。模型训练要求可以包括模型精度和/或训练迭代轮数等。
相应地,针对各个第一成员设备分组,各个第一成员设备使用各自的本地数据以及所配置的第二成员设备的计算资源,与第二成员设备一起执行联盟学习来得到目标全局业务模型。
利用上述方案,通过为不同的第一成员设备分组配置合适的计算资源,可以使得各个第一成员设备能够在合适的计算资源下执行联盟学习,进而使得各个第一成员设备的联盟学习所花费的训练时间基本相同,从而使得各个第一成员设备之间的协同效率更高,由此提高联盟学习效率。
此外,可选地,在如上完成针对各个全局业务模型的联盟学习后,联盟学习方法还可以包括知识蒸馏处理过程。在该知识蒸馏处理过程中,针对模型性能最好的第一成员设备分组,利用知识蒸馏技术训练出小规模模型。这里,术语“小规模模型”可以是指模型结构不复杂的业务模型。例如,如果业务模型的隐层数量小于等于3,以及每层模型的节点个数不超过100个,则认为该业务模型是小规模模型。
图5示出了根据本说明书的实施例的知识蒸馏过程的示例流程图。
如图5所示,在步骤510,从各个第一成员设备分组中确定出所训练出的业务模型的模型性能最好的第一成员设备分组。在步骤520,利用该模型性能最好的第一成员设备分组的本地数据,训练出小规模模型。此外,可选地,在训练出小规模模型后,在步骤530,可以将该小规模模型充当部分第一成员设备分组的初始全局业务模型或者目标全局业务模型。
例如,在一个示例中,在部分第一成员设备分组的硬件性能参数不佳的情况下,比如,所具有的硬件性能参数低于预定阈值,可以将小规模模型用作这些部分第一成员设备分组的初始全局业务模型。随后,这些部分第一成员设备分组中的第一成员设备分组使用各自的本地数据,与第二成员设备一起来执行针对该小规模模型的联盟学习,由此得到目标全局业务模型。按照这种方式,可以使得这些部分第一成员设备分组可以在较好的初始全局模型的基础上进行联盟学习,从而可以快速地实现全局业务模型训练。
或者,在另一示例中,在部分第一成员设备分组的硬件性能参数不佳的情况下,甚至可以将所训练出的小规模模型直接用作这些部分第一成员设备分组的目标全局业务模型,而无需再次训练,由此提高联盟学习的模型训练速度。
或者,在另一示例中,在第二成员设备的计算资源不足以提供针对所有第一成员设备分组的全局模型训练时,可以所训练出的小规模模型用作部分第一成员设备分组的目标全局业务模型。例如,可以将所训练出的小规模模型用作硬件性能参数低于预定阈值的部分第一成员设备分组的目标全局业务模型。
如上参照图1到图5,对根据本说明书的实施例的联盟学习方法进行了描述。下面参照图6到图8描述根据本说明书的实施例的联盟学习装置。
图6示出了根据本说明书的实施例的在第一成员设备处的用于联盟学习的装置(下文中称为“联盟学习装置”)600的一个示例的方框图。如图6所示,联盟学习装置600包括性能参数提供单元610、模型获取单元620和联盟学习单元630。
性能参数提供单元610被配置为将第一成员设备的设备性能参数信息提供给第二成员设备。性能参数提供单元610的操作可以参考上面参照图3描述的步骤310的操作。
模型获取单元620被配置为从第二成员设备获取初始全局业务模型。第二成员设备基于各个第一成员设备的硬件性能参数信息进行成员分组,得到各个第一成员设备分组,每个第一成员设备分组具有与各自的硬件性能参数适配的初始全局业务模型。模块获取单元620的操作可以参考上面参照图3描述的步骤330的操作。
联盟学习单元630被配置为与同一第一成员设备分组中的其它第一成员设备以及第二成员设备一起,使用各自的本地数据执行联盟学习来得到目标全局业务模型。联盟学习单元630的操作可以参考上面参照图3描述的步骤340的操作。
图7示出了根据本说明书的实施例的在第二成员设备处的用于联盟学习的装置(下文中称为“联盟学习装置”)700的一个示例的方框图。如图7所示,联盟学习装置700包括性能参数获取装置710、设备分组单元720、模型提供单元730、计算资源配置单元740、联盟学习单元750和知识蒸馏单元760。
性能参数获取单元710被配置为获取各个第一成员设备的硬件性能参数信息。性能参数获取单元710的操作可以参考上面参照图3描述的步骤310的操作。
设备分组单元720被配置为基于各个第一成员设备的硬件性能参数信息,对第一成员设备进行成员分组,得到各个第一成员设备分组,每个第一成员设备分组具有与各自的硬件性能参数适配的初始全局业务模型。设备分组单元720的操作可以参考上面参照图3描述的步骤320的操作。
在一个示例中,第二成员设备220上可以预先维护至少一个全局业务模型。相应地,设备分组单元720可以基于各个第一成员设备的硬件性能参数信息,将各个第一成员设备分配给与各自的硬件性能参数适配的初始全局业务模型,具有同一初始全局业务模型的第一成员设备组成第一成员设备分组。
图8示出了根据本说明书的实施例的设备分组单元800的另一示例的方框图。在图8中示出的示例中,第二成员设备220上没有预先维护至少一个全局业务模型。如图8所示,设备分组单元800包括设备分组模块810和模型生成模块820。
设备分组模块810被配置为基于各个第一成员设备的硬件性能参数信息,对第一成员设备进行成员分组,得到各个第一成员设备分组。设备分组模块810的操作可以参考上面参照图4描述的步骤410的操作。
模型生成模块820被配置为各个第一成员设备分组生成与各自的硬件性能参数适配的初始全局业务模型。模型生成模块820的操作可以参考上面参照图4描述的步骤420的操作。
此外,在另一示例中,设备分组单元720还可以基于各个第一成员设备的硬件性能参数信息以及其它参数信息,对第一成员设备进行成员分组,得到第一成员设备分组,每个第一成员设备分组具有与各自的硬件性能参数适配的初始全局业务模型。这里,其它参数信息可以包括第二成员设备的可用计算能力信息以及各个第一成员设备与所述第二成员设备之间的通信参数信息中的至少一种。
回到图7,模型提供单元730被配置为将各个初始全局业务模型分别提供给对应的第一成员设备分组中的各个第一成员设备。模型提供单元730的操作可以参考上面参照图3描述的步骤330的操作。
计算资源配置单元740被配置为基于各个初始全局业务模型的模型结构和模型训练要求,为各个第一成员设备的模型训练配置第二成员设备的计算资源。
联盟学习单元750被配置为与各个第一成员设备分组中的各个第一成员设备一起,使用该第一成员设备分组中的各个第一成员设备的本地数据执行联盟学习来得到目标全局业务模型。联盟学习单元750的操作可以参考上面参照图3描述的步骤340的操作。
知识蒸馏单元760被配置为针对模型性能最好的第一成员设备分组,利用知识蒸馏技术训练出小规模模型。在一个示例中,在部分第一成员设备分组的硬件性能参数不佳的情况下,所训练出的小规模模型可以被用作这些部分第一成员设备分组的初始全局业务模型。随后,这些部分第一成员设备分组中的第一成员设备分组使用各自的本地数据,与第二成员设备一起来执行针对该小规模模型的联盟学习,由此得到目标全局业务模型。
或者,在另一示例中,在部分第一成员设备分组的硬件性能参数不佳的情况下,所训练出的小规模模型可以被直接用作这些部分第一成员设备分组的目标全局业务模型,而无需再次训练,由此提高联盟学习的模型训练速度。
或者,在另一示例中,在第二成员设备的计算资源不足以提供针对所有第一成员设备分组的全局模型训练时,所训练出的小规模模型可以被用作部分第一成员设备分组的目标全局业务模型。例如,可以将所训练出的小规模模型用作硬件性能参数低于预定阈值的部分第一成员设备分组的目标全局业务模型。
此外,在本说明书的其他实施例中,可以不包括图7中示出的计算资源配置单元740和知识蒸馏单元760中的一个或全部。在另一实施例中,甚至可以不包括联盟学习单元750。
如上参照图1到图8,对根据本说明书实施例的联盟学习方法和联盟学习装置进行了描述。上面的联盟学习装置可以采用硬件实现,也可以采用软件或者硬件和软件的组合来实现。
图9示出了根据本说明书的实施例的用于实现在第一成员设备处的联盟学习过程的电子设备的示意图。如图9所示,电子设备900可以包括至少一个处理器910、存储器(例如,非易失性存储器)920、内存930和通信接口940,并且至少一个处理器910、存储器920、内存930和通信接口940经由总线960连接在一起。至少一个处理器910执行在存储器中存储或编码的至少一个计算机可读指令(即,上述以软件形式实现的元素)。
在一个实施例中,在存储器中存储计算机可执行指令,其当执行时使得至少一个处理器910:将第一成员设备的设备性能参数信息提供给第二成员设备;从第二成员设备接收初始全局业务模型,第二成员设备基于各个第一成员设备的硬件性能参数信息进行成员分组,得到各个第一成员设备分组,每个第一成员设备分组具有与各自的硬件性能参数适配的初始全局业务模型;以及与同一第一成员设备分组中的其它第一成员设备以及第二成员设备一起,使用各自的本地数据执行联盟学习来得到目标全局业务模型。
应该理解,在存储器中存储的计算机可执行指令当执行时使得至少一个处理器910进行本说明书的各个实施例中以上结合图1-8描述的各种操作和功能。
根据一个实施例,提供了一种比如机器可读介质(例如,非暂时性机器可读介质)的程序产品。机器可读介质可以具有指令(即,上述以软件形式实现的元素),该指令当被机器执行时,使得机器执行本说明书的各个实施例中以上结合图1-8描述的各种操作和功能。具体地,可以提供配有可读存储介质的系统或者装置,在该可读存储介质上存储着实现上述实施例中任一实施例的功能的软件程序代码,且使该系统或者装置的计算机或处理器读出并执行存储在该可读存储介质中的指令。
图10示出了根据本说明书的实施例的用于实现在第二成员设备处的联盟学习过程的电子设备的示意图。如图10所示,电子设备1000可以包括至少一个处理器1010、存储器(例如,非易失性存储器)1020、内存1030和通信接口1040,并且至少一个处理器1010、存储器1020、内存1030和通信接口1040经由总线1060连接在一起。至少一个处理器1010执行在存储器中存储或编码的至少一个计算机可读指令(即,上述以软件形式实现的元素)。
在一个实施例中,在存储器中存储计算机可执行指令,其当执行时使得至少一个处理器1010:获取各个第一成员设备的硬件性能参数信息;基于各个第一成员设备的硬件性能参数信息,对第一成员设备进行成员分组,得到各个第一成员设备分组,每个第一成员设备分组具有与各自的硬件性能参数适配的初始全局业务模型;以及将各个初始全局业务模型分别提供给对应的第一成员设备分组中的各个第一成员设备,其中,针对各个第一成员设备分组,各个第一成员设备使用各自的本地数据,与第二成员设备一起执行联盟学习来得到目标全局业务模型。
应该理解,在存储器中存储的计算机可执行指令当执行时使得至少一个处理器1010进行本说明书的各个实施例中以上结合图1-8描述的各种操作和功能。
根据一个实施例,提供了一种比如机器可读介质(例如,非暂时性机器可读介质)的程序产品。机器可读介质可以具有指令(即,上述以软件形式实现的元素),该指令当被机器执行时,使得机器执行本说明书的各个实施例中以上结合图1-8描述的各种操作和功能。具体地,可以提供配有可读存储介质的系统或者装置,在该可读存储介质上存储着实现上述实施例中任一实施例的功能的软件程序代码,且使该系统或者装置的计算机或处理器读出并执行存储在该可读存储介质中的指令。
在这种情况下,从可读介质读取的程序代码本身可实现上述实施例中任何一项实施例的功能,因此机器可读代码和存储机器可读代码的可读存储介质构成了本发明的一部分。
可读存储介质的实施例包括软盘、硬盘、磁光盘、光盘(如CD-ROM、CD-R、CD-RW、DVD-ROM、DVD-RAM、DVD-RW、DVD-RW)、磁带、非易失性存储卡和ROM。可选择地,可以由通信网络从服务器计算机上或云上下载程序代码。
本领域技术人员应当理解,上面公开的各个实施例可以在不偏离发明实质的情况下做出各种变形和修改。因此,本发明的保护范围应当由所附的权利要求书来限定。
需要说明的是,上述各流程和各系统结构图中不是所有的步骤和单元都是必须的,可以根据实际的需要忽略某些步骤或单元。各步骤的执行顺序不是固定的,可以根据需要进行确定。上述各实施例中描述的装置结构可以是物理结构,也可以是逻辑结构,即,有些单元可能由同一物理实体实现,或者,有些单元可能分由多个物理实体实现,或者,可以由多个独立设备中的某些部件共同实现。
以上各实施例中,硬件单元或模块可以通过机械方式或电气方式实现。例如,一个硬件单元、模块或处理器可以包括永久性专用的电路或逻辑(如专门的处理器,FPGA或ASIC)来完成相应操作。硬件单元或处理器还可以包括可编程逻辑或电路(如通用处理器或其它可编程处理器),可以由软件进行临时的设置以完成相应操作。具体的实现方式(机械方式、或专用的永久性电路、或者临时设置的电路)可以基于成本和时间上的考虑确定。
上面结合附图阐述的具体实施方式描述了示例性实施例,但并不表示可以实现的或者落入权利要求书的保护范围的所有实施例。在整个本说明书中使用的术语“示例性”意味着“用作示例、实例或例示”,并不意味着比其它实施例“优选”或“具有优势”。出于提供对所描述技术的理解的目的,具体实施方式包括具体细节。然而,可以在没有这些具体细节的情况下实施这些技术。在一些实例中,为了避免对所描述的实施例的概念造成难以理解,公知的结构和装置以框图形式示出。
本公开内容的上述描述被提供来使得本领域任何普通技术人员能够实现或者使用本公开内容。对于本领域普通技术人员来说,对本公开内容进行的各种修改是显而易见的,并且,也可以在不脱离本公开内容的保护范围的情况下,将本文所定义的一般性原理应用于其它变型。因此,本公开内容并不限于本文所描述的示例和设计,而是与符合本文公开的原理和新颖性特征的最广范围相一致。
Claims (22)
1.一种用于联盟学习的方法,所述联盟包括至少三个第一成员设备,以及第二成员设备,每个第一成员设备具有本地数据,所述方法由第二成员设备执行,所述方法包括:
获取各个第一成员设备的硬件性能参数信息;
基于各个第一成员设备的硬件性能参数信息,对第一成员设备进行成员分组,得到各个第一成员设备分组,每个第一成员设备分组具有与各自的硬件性能参数适配的初始全局业务模型,各个第一成员设备分组中的第一成员设备的硬件性能参数相似,各个初始全局业务模型具有不同的模型复杂度;
将各个初始全局业务模型分别提供给对应的第一成员设备分组中的各个第一成员设备;
针对各个第一成员设备分组,与该第一成员设备分组中的各个第一成员设备一起,使用各个第一成员设备的本地数据一起执行联盟学习来得到目标全局业务模型;以及
针对模型性能最好的第一成员设备分组,利用知识蒸馏技术训练出小规模模型。
2.如权利要求1所述的方法,其中,所述第二成员设备维护至少一个全局业务模型,基于各个第一成员设备的硬件性能参数信息,对第一成员设备进行成员分组,得到各个第一成员设备分组,每个第一成员设备分组具有与各自的硬件性能参数适配的初始全局业务模型包括:
基于各个第一成员设备的硬件性能参数信息,将各个第一成员设备分配给与各自的硬件性能参数适配的初始全局业务模型,具有同一初始全局业务模型的第一成员设备组成第一成员设备分组。
3.如权利要求1所述的方法,其中,基于各个第一成员设备的硬件性能参数信息,对第一成员设备进行成员分组,得到各个第一成员设备分组,每个第一成员设备分组具有与各自的硬件性能参数适配的初始全局业务模型包括:
基于各个第一成员设备的硬件性能参数信息,对第一成员设备进行成员分组,得到各个第一成员设备分组;以及
为各个第一成员设备分组生成与各自的硬件性能参数适配的初始全局业务模型。
4.如权利要求1所述的方法,其中,所述第一成员设备是智能终端设备,所述硬件性能参数信息包括下述参数信息中的至少一种:
处理芯片型号、内存大小、操作系统版本以及设备使用年限。
5.如权利要求1所述的方法,其中,基于各个第一成员设备的硬件性能参数信息,对第一成员设备进行成员分组,得到各个第一成员设备分组,每个第一成员设备分组具有与各自的硬件性能参数适配的初始全局业务模型包括:
基于各个第一成员设备的硬件性能参数信息以及其它参数信息,对第一成员设备进行成员分组,得到各个第一成员设备分组,每个第一成员设备分组具有与各自的硬件性能参数适配的初始全局业务模型,
所述其它参数信息包括所述第二成员设备的可用计算能力信息以及各个第一成员设备与所述第二成员设备之间的通信参数信息中的至少一种。
6.如权利要求5所述的方法,其中,各个第一成员设备和所述第二成员设备之间通过网络进行数据传输,所述通信参数信息包括网络传输速度、网络使用率和/或网络连接成功率。
7.如权利要求1所述的方法,进一步包括:
基于各个初始全局业务模型的模型结构和模型训练要求,为各个初始全局业务模型的模型训练配置所述第二成员设备的计算资源。
8.如权利要求1所述的方法,其中,所述小规模模型被用作所具有的硬件性能参数低于预定阈值的第一成员设备分组的初始全局业务模型或者目标全局业务模型。
9.如权利要求1所述的方法,其中,在所述第二成员设备的计算资源不足以提供针对所有第一成员设备分组的全局模型训练时,所述小规模模型被用作部分第一成员设备分组的目标全局业务模型。
10.一种用于联盟学习的方法,所述联盟包括至少三个第一成员设备,以及第二成员设备,每个第一成员设备具有本地数据,所述方法由所述第一成员设备执行,所述方法包括:
将所述第一成员设备的硬件性能参数信息提供给所述第二成员设备;
从所述第二成员设备接收初始全局业务模型,所述第二成员设备基于各个第一成员设备的硬件性能参数信息进行成员分组,以得到各个第一成员设备分组,每个第一成员设备分组具有与各自的硬件性能参数适配的初始全局业务模型,各个第一成员设备分组中的第一成员设备的硬件性能参数相似,各个初始全局业务模型具有不同的模型复杂度;以及
与同一第一成员设备分组中的其它第一成员设备以及所述第二成员设备一起,使用各自的本地数据执行联盟学习来得到目标全局业务模型,
其中,在所述第一成员设备所在的第一成员设备分组的模型性能最好时,利用知识蒸馏技术训练出小规模模型。
11.一种用于联盟学习的方法,所述联盟包括至少三个第一成员设备,以及第二成员设备,每个第一成员设备具有本地数据,所述方法由所述联盟执行,所述方法包括:
在第二成员设备处,获取各个第一成员设备的硬件性能参数信息;基于各个第一成员设备的硬件性能参数信息,对第一成员设备进行成员分组,得到各个第一成员设备分组,每个第一成员设备分组具有与各自的硬件性能参数适配的初始全局业务模型,各个第一成员设备分组中的第一成员设备的硬件性能参数相似,各个初始全局业务模型具有不同的模型复杂度;
针对各个第一成员设备分组,该第一成员设备分组中的各个第一成员设备使用各自的本地数据,与所述第二成员设备一起执行联盟学习来得到目标全局业务模型;以及
针对模型性能最好的第一成员设备分组,利用知识蒸馏技术训练出小规模模型。
12.一种用于联盟学习的装置,所述联盟包括至少三个第一成员设备,以及第二成员设备,每个第一成员设备具有本地数据,所述装置应用于第二成员设备,所述装置包括:
性能参数获取单元,获取各个第一成员设备的硬件性能参数信息;
设备分组单元,基于各个第一成员设备的硬件性能参数信息,对第一成员设备进行成员分组,得到各个第一成员设备分组,每个第一成员设备分组具有与各自的硬件性能参数适配的初始全局业务模型,各个第一成员设备分组中的第一成员设备的硬件性能参数相似,各个初始全局业务模型具有不同的模型复杂度;
模型提供单元,将各个初始全局业务模型分别提供给对应的第一成员设备分组中的各个第一成员设备;
联盟学习单元,与各个第一成员设备分组中的各个第一成员设备一起,使用该第一成员设备分组中的各个第一成员设备的本地数据执行联盟学习来得到目标全局业务模型;以及
知识蒸馏单元,针对模型性能最好的第一成员设备分组,利用知识蒸馏技术训练出小规模模型。
13.如权利要求12所述的装置,其中,所述设备分组单元基于各个第一成员设备的硬件性能参数信息,将各个第一成员设备分配给与各自的硬件性能参数适配的初始全局业务模型,具有同一初始全局业务模型的第一成员设备组成第一成员设备分组。
14.如权利要求12所述的装置,其中,所述设备分组单元包括:
设备分组模块,基于各个第一成员设备的硬件性能参数信息,对第一成员设备进行成员分组,得到各个第一成员设备分组;以及
模型生成模块,为各个第一成员设备分组生成与各自的硬件性能参数适配的初始全局业务模型。
15.如权利要求12所述的装置,其中,所述设备分组单元基于各个第一成员设备的硬件性能参数信息以及其它参数信息,对第一成员设备进行成员分组,得到第一成员设备分组,每个第一成员设备分组具有与各自的硬件性能参数适配的初始全局业务模型,
所述其它参数信息包括所述第二成员设备的可用计算能力信息以及各个第一成员设备与所述第二成员设备之间的通信参数信息中的至少一种。
16.如权利要求12所述的装置,进一步包括:
计算资源配置单元,基于各个初始全局业务模型的模型结构和模型训练要求,为各个第一成员设备的模型训练配置所述第二成员设备的计算资源。
17.一种用于联盟学习的装置,所述联盟包括至少三个第一成员设备,以及第二成员设备,每个第一成员设备具有本地数据,所述装置应用于第一成员设备,所述装置包括:
性能参数提供单元,将所述第一成员设备的设备性能参数信息提供给所述第二成员设备;
模型获取单元,从所述第二成员设备获取初始全局业务模型,所述第二成员设备基于各个第一成员设备的硬件性能参数信息进行成员分组,得到各个第一成员设备分组,每个第一成员设备分组具有与各自的硬件性能参数适配的初始全局业务模型,各个第一成员设备分组中的第一成员设备的硬件性能参数相似,各个初始全局业务模型具有不同的模型复杂度;
联盟学习单元,与同一第一成员设备分组中的其它第一成员设备以及所述第二成员设备一起,使用各自的本地数据执行联盟学习来得到目标全局业务模型;以及
知识蒸馏单元,在所述第一成员设备所在的第一成员设备分组的模型性能最好时,利用知识蒸馏技术训练出小规模模型。
18.一种联盟学习系统,包括:
至少三个第一成员设备,每个第一成员设备具有本地数据,并且包括如权利要求17所述的装置;和
第二成员设备,所述第二成员设备维护全局模型,并且包括如权利要求12到16中任一所述的装置。
19.一种电子设备,包括:
至少一个处理器,以及
与所述至少一个处理器耦合的存储器,所述存储器存储指令,当所述指令被所述至少一个处理器执行时,使得所述至少一个处理器执行如权利要求1到10中任一所述的方法。
20.一种机器可读存储介质,其存储有可执行指令,所述指令当被执行时使得所述机器执行如权利要求1到10中任一所述的方法。
21.一种电子设备,包括:
至少一个处理器,以及
与所述至少一个处理器耦合的存储器,所述存储器存储指令,当所述指令被所述至少一个处理器执行时,使得所述至少一个处理器执行如权利要求11所述的方法。
22.一种机器可读存储介质,其存储有可执行指令,所述指令当被执行时使得所述机器执行如权利要求11所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010945591.5A CN112036580B (zh) | 2020-05-15 | 2020-05-15 | 用于联盟学习的方法、装置及联盟学习系统 |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010411922.7A CN111340243B (zh) | 2020-05-15 | 2020-05-15 | 用于联盟学习的方法、装置及联盟学习系统 |
CN202010945591.5A CN112036580B (zh) | 2020-05-15 | 2020-05-15 | 用于联盟学习的方法、装置及联盟学习系统 |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010411922.7A Division CN111340243B (zh) | 2020-05-15 | 2020-05-15 | 用于联盟学习的方法、装置及联盟学习系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112036580A CN112036580A (zh) | 2020-12-04 |
CN112036580B true CN112036580B (zh) | 2022-05-20 |
Family
ID=71186598
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010945591.5A Active CN112036580B (zh) | 2020-05-15 | 2020-05-15 | 用于联盟学习的方法、装置及联盟学习系统 |
CN202010411922.7A Active CN111340243B (zh) | 2020-05-15 | 2020-05-15 | 用于联盟学习的方法、装置及联盟学习系统 |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010411922.7A Active CN111340243B (zh) | 2020-05-15 | 2020-05-15 | 用于联盟学习的方法、装置及联盟学习系统 |
Country Status (1)
Country | Link |
---|---|
CN (2) | CN112036580B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112070207A (zh) * | 2020-07-31 | 2020-12-11 | 华为技术有限公司 | 一种模型训练方法及装置 |
CN112884165B (zh) * | 2021-03-18 | 2023-07-04 | 中国地质大学(北京) | 面向联邦机器学习的全流程服务迁移方法与系统 |
CN112884163B (zh) * | 2021-03-18 | 2023-06-23 | 中国地质大学(北京) | 基于联邦机器学习算法与云端反馈的组合服务评估方法与系统 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20180089587A1 (en) * | 2016-09-26 | 2018-03-29 | Google Inc. | Systems and Methods for Communication Efficient Distributed Mean Estimation |
US11823067B2 (en) * | 2017-06-27 | 2023-11-21 | Hcl Technologies Limited | System and method for tuning and deploying an analytical model over a target eco-system |
CN109144716A (zh) * | 2017-06-28 | 2019-01-04 | 中兴通讯股份有限公司 | 基于机器学习的操作系统调度方法及装置、设备 |
CN109167695B (zh) * | 2018-10-26 | 2021-12-28 | 深圳前海微众银行股份有限公司 | 基于联邦学习的联盟网络构建方法、设备及可读存储介质 |
CN110266771B (zh) * | 2019-05-30 | 2022-11-22 | 王静逸 | 分布式智能节点及分布式群体智能统部署方法 |
CN110874650B (zh) * | 2020-01-16 | 2020-04-24 | 支付宝(杭州)信息技术有限公司 | 融合公域数据和私有数据的联盟学习方法、装置和系统 |
-
2020
- 2020-05-15 CN CN202010945591.5A patent/CN112036580B/zh active Active
- 2020-05-15 CN CN202010411922.7A patent/CN111340243B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN111340243B (zh) | 2020-09-08 |
CN111340243A (zh) | 2020-06-26 |
CN112036580A (zh) | 2020-12-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112036580B (zh) | 用于联盟学习的方法、装置及联盟学习系统 | |
US20200202182A1 (en) | Risky transaction identification method and apparatus | |
Zhang et al. | MASM: A multiple-algorithm service model for energy-delay optimization in edge artificial intelligence | |
Zhou et al. | Edge intelligence: Paving the last mile of artificial intelligence with edge computing | |
Wang et al. | Convergence of edge computing and deep learning: A comprehensive survey | |
Du et al. | Federated learning for vehicular internet of things: Recent advances and open issues | |
US11276068B2 (en) | Fraudulent transaction identification method and apparatus, server, and storage medium | |
WO2019232772A1 (en) | Systems and methods for content identification | |
CN107516090A (zh) | 一体化人脸识别方法和系统 | |
CN113505882B (zh) | 基于联邦神经网络模型的数据处理方法、相关设备及介质 | |
CN111476376B (zh) | 联盟学习方法、联盟学习装置及联盟学习系统 | |
US11423307B2 (en) | Taxonomy construction via graph-based cross-domain knowledge transfer | |
US11632305B2 (en) | Method and system for link prediction in large multiplex networks | |
Adam et al. | Toward smart traffic management with 3D placement optimization in UAV-assisted NOMA IIoT networks | |
CN111401483B (zh) | 样本数据处理方法、装置及多方模型训练系统 | |
JP2023176023A (ja) | 分散型データ分析のためのシステムおよび方法 | |
CN103095784B (zh) | 一种云端用户映射系统和方法 | |
CN112418444A (zh) | 用于联盟学习的方法、装置及联盟学习系统 | |
CN114492739A (zh) | 基于车联网的联邦学习方法、路边单元、车辆节点和基站 | |
CN104091117B (zh) | 基于安全风险的聚类方法及聚类装置 | |
Nawrocki et al. | Modeling adaptive security-aware task allocation in mobile cloud computing | |
CN116486493A (zh) | 一种活体检测方法、装置及设备 | |
CN113239879B (zh) | 联邦模型训练、证件检测方法、装置、设备及介质 | |
CN114638998A (zh) | 模型更新方法、装置、系统及设备 | |
Berta et al. | Dimension reduction methods for collaborative mobile gossip learning |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |