CN116415378A - 一种联合学习训练结果聚合系统和方法 - Google Patents
一种联合学习训练结果聚合系统和方法 Download PDFInfo
- Publication number
- CN116415378A CN116415378A CN202111639838.1A CN202111639838A CN116415378A CN 116415378 A CN116415378 A CN 116415378A CN 202111639838 A CN202111639838 A CN 202111639838A CN 116415378 A CN116415378 A CN 116415378A
- Authority
- CN
- China
- Prior art keywords
- aggregation
- training
- result
- model
- compression
- 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
Links
- 230000002776 aggregation Effects 0.000 title claims abstract description 434
- 238000004220 aggregation Methods 0.000 title claims abstract description 434
- 238000012549 training Methods 0.000 title claims abstract description 233
- 238000000034 method Methods 0.000 title claims abstract description 47
- 230000006835 compression Effects 0.000 claims abstract description 140
- 238000007906 compression Methods 0.000 claims abstract description 140
- 238000004891 communication Methods 0.000 claims abstract description 24
- 230000004931 aggregating effect Effects 0.000 claims abstract description 23
- 238000005192 partition Methods 0.000 claims description 84
- 238000000638 solvent extraction Methods 0.000 claims description 26
- 230000000903 blocking effect Effects 0.000 claims description 6
- 230000008569 process Effects 0.000 abstract description 12
- 238000009826 distribution Methods 0.000 abstract description 9
- 238000004364 calculation method Methods 0.000 abstract description 7
- 238000010801 machine learning Methods 0.000 abstract description 2
- 238000012545 processing Methods 0.000 description 15
- 238000004590 computer program Methods 0.000 description 13
- 238000006116 polymerization reaction Methods 0.000 description 7
- 238000013138 pruning Methods 0.000 description 7
- 238000003860 storage Methods 0.000 description 7
- 238000010586 diagram Methods 0.000 description 5
- 230000005540 biological transmission Effects 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000013135 deep learning Methods 0.000 description 3
- 230000009286 beneficial effect Effects 0.000 description 2
- 238000004422 calculation algorithm Methods 0.000 description 2
- 238000003062 neural network model Methods 0.000 description 2
- 230000000379 polymerizing effect Effects 0.000 description 2
- 230000003247 decreasing effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000005304 joining Methods 0.000 description 1
- 239000011159 matrix material Substances 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
- 239000013307 optical fiber Substances 0.000 description 1
- 230000011218 segmentation Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/10—Geometric CAD
- G06F30/18—Network design, e.g. design based on topological or interconnect aspects of utility systems, piping, heating ventilation air conditioning [HVAC] or cabling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/20—Design optimisation, verification or simulation
- G06F30/27—Design optimisation, verification or simulation using machine learning, e.g. artificial intelligence, neural networks, support vector machines [SVM] or training a model
-
- 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/04—Architecture, e.g. interconnection topology
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2111/00—Details relating to CAD techniques
- G06F2111/02—CAD in a network environment, e.g. collaborative CAD or distributed simulation
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Evolutionary Computation (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Artificial Intelligence (AREA)
- Mathematical Physics (AREA)
- Computing Systems (AREA)
- Geometry (AREA)
- Data Mining & Analysis (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Medical Informatics (AREA)
- Computer Hardware Design (AREA)
- Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Molecular Biology (AREA)
- Pure & Applied Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Computational Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本公开涉及机器学习技术领域,提供了一种联合学习训练结果聚合系统和方法。该系统包括:总聚合节点、中间聚合节点和客户端;总聚合节点用于向目标客户端下发联合学习任务;目标客户端用于使用其本地数据对联合学习任务的训练模型进行分块训练,得到训练结果并返回中间聚合节点;中间聚合节点用于对目标客户端上传的训练结果进行聚合压缩,得到中间聚合压缩结果并上传总聚合节点;总聚合节点还用于对中间聚合节点上传的中间聚合压缩结果进行聚合,得到全局聚合结果并返回中间聚合节点。本公开采用分层次聚合的三层架构,可有效地提高联合学习过程中的训练结果的聚合计算效率,且通信稳定性好,还可适用于数据非独立同分布场景下的联合学习训练。
Description
技术领域
本公开涉及机器学习技术领域,尤其涉及一种联合学习训练结果聚合系统和方法。
背景技术
目前,基于深度学习的横向联合学习通常是采用server-clients(服务器-客户端)的两层架构。在应用该两层结构进行联合学习的过程中,所有客户端在进行每一轮联合训练后得到的模型参数均需要统一上传至服务器进行中心聚合计算。
但是,这种中心聚合计算的方式仍存在如下问题:1)在动态带宽或模型过大的情况下,联合学习必须延长其全局共享时间,比如中心节点(服务器)要等待各节点的模型都上传才能聚合,这将会严重减慢训练和聚合速度;2)当成百上千的客户端(客户端数量较多)同时上传其模型参数时,容易导致网络因承载过限而崩溃,因此,这在一方面也会制约客户端数量的扩展和联合学习的效率的提升;3)由于流量的增多,通信中断的可能性也会随之增加;4)难以适用于数据非独立同分布的场景下的联合学习训练。
可见,现有的联合学习采用中心聚合计算的两层网络架构存在模型参数聚合计算效率低、通信稳定性差,且难以适用于数据非独立同分布的场景下的联合学习训练的问题。
发明内容
有鉴于此,本公开实施例提供了一种联合学习训练结果聚合系统和方法,以解决现有技术中采用中心聚合计算的两层网络架构存在模型参数聚合计算效率低、通信稳定性差,且难以适用于数据非独立同分布的场景下的联合学习训练的问题。
本公开实施例的第一方面,提供了一种联合学习训练结果聚合系统,包括总聚合节点,与总聚合节点通信连接的多个中间聚合节点,以及与每个中间聚合节点通信连接的多个客户端;
总聚合节点,被配置为向每一个中间聚合节点选中的多个目标客户端下发联合学习任务,联合学习任务包括训练模型和模型分块策略;
每个目标客户端,被配置为根据模型分块策略对训练模型进行划分,得到多个模型分块,使用其本地数据对多个模型分块进行训练,得到与每一个模型分块对应的训练结果,将训练结果传送至其所隶属的中间聚合节点;
每个中间聚合节点,被配置为对其属下的所有目标客户端上传的训练结果进行聚合压缩,得到中间聚合压缩结果,并将中间聚合压缩结果上传至总聚合节点;
总聚合节点,还被配置为对每个中间聚合节点上传的中间聚合压缩结果进行聚合,得到全局聚合结果,并将全局聚合结果返回至每个中间聚合节点。
本公开实施例的第二方面,提供了一种联合学习训练结果聚合方法,包括:
总聚合节点,向每一个中间聚合节点所选中的多个目标客户端下发联合学习任务,联合学习任务包括训练模型和模型分块策略;
每个目标客户端,根据模型分块策略对训练模型进行划分,得到多个模型分块,使用其本地数据对多个模型分块进行训练,得到与每一个模型分块对应的训练结果,将训练结果传送至其所隶属的中间聚合节点;
每个中间聚合节点,对其属下的所有目标客户端的训练结果进行聚合压缩,得到中间聚合压缩结果,并将中间聚合压缩结果上传至总聚合节点;
总聚合节点,对每个中间聚合节点上传的中间聚合压缩结果进行聚合,得到全局聚合结果,并将全局聚合结果返回至每个中间聚合节点。
本公开实施例与现有技术相比存在的有益效果至少包括:提供了一种联合学习训练结果聚合系统,该系统包括总聚合节点,与总聚合节点通信连接的多个中间聚合节点,以及与每个中间聚合节点通信连接的多个客户端;总聚合节点,被配置为向每一个中间聚合节点选中的多个目标客户端下发联合学习任务,联合学习任务包括训练模型和模型分块策略;每个目标客户端,被配置为根据模型分块策略对训练模型进行划分,得到多个模型分块,使用其本地数据对多个模型分块进行训练,得到与每一个模型分块对应的训练结果,将训练结果传送至其所隶属的中间聚合节点;每个中间聚合节点,被配置为对其属下的所有目标客户端上传的训练结果进行聚合压缩,得到中间聚合压缩结果,并将中间聚合压缩结果上传至总聚合节点;总聚合节点,还被配置为对每个中间聚合节点上传的中间聚合压缩结果进行聚合,得到全局聚合结果,并将全局聚合结果返回至每个中间聚合节点,即采用分层次聚合的三层架构,先通过中间聚合节点对其属下的客户端的训练结果进行一次聚合后,再上传至总聚合节点进行全局聚合,可以充分了利用中间聚合节点的计算资源进行参数的预聚合,大大减轻了总聚合节点的参数聚合计算的压力,从而能够有效地提高横向联合学习过程中对各参与方(客户端)的模型参数(训练结果)的聚合计算效率;同时,通过每个中间聚合节点与其属下的客户端进行分区通信,由于在同一分区内的各方的通信带宽相对较稳定,且传输延时较短,因此,可以提高中间聚合节点与客户端之间的通信效率和稳定性;此外,本公开所采用的三层架构不仅适用于数据独立分布的联合学习训练,还可适用于数据非独立同分布的场景下的联合学习训练。
附图说明
为了更清楚地说明本公开实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1是本公开实施例提供的一种联合学习训练结果聚合系统的结构示意图;
图2是本公开实施例提供的一种联合学习训练结果聚合方法的时序示意图;
图3是本公开实施例提供的一种电子设备的结构示意图。
具体实施方式
以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本公开实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本公开。在其它情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本公开的描述。
下面将结合附图详细说明根据本公开实施例的一种联合学习训练结果聚合系统和方法。
图1是本公开实施例提供的一种联合学习训练结果聚合系统的结构示意图。如图1所示,该联合学习训练结果聚合系统包括:
总聚合节点101,与总聚合节点101通信连接的多个中间聚合节点102,以及与每个中间聚合节点102通信连接的多个客户端103。
其中,总聚合节点101,可以是提供各种服务的服务器,例如,对与其建立通信连接的多个中间聚合节点102发送的中间聚合压缩结果进行接收的后台服务器,该后台服务器可以对多个中间聚合节点102发送的中间聚合压缩结果进行接收和分析等处理,并生成处理结果(全局聚合结果)。服务器可以是一台服务器,也可以是由若干台服务器组成的服务器集群,或者还可以是一个云计算服务中心,本公开实施例对此不作限制。
需要说明的是,服务器可以是硬件,也可以是软件。当服务器为硬件时,其可以是为中间聚合节点102提供各种服务的各种电子设备。当服务器为软件时,其可以是为中间聚合节点102提供各种服务的多个软件或软件模块,也可以是为中间聚合节点102提供各种服务的单个软件或软件模块,本公开实施例对此不作限制。
中间聚合节点102,可以是局域网中的聚合服务器。例如,对与其建立通信连接的多个客户端103发送的训练结果进行接收和处理的聚合服务器。该聚合服务器可以是一台服务器,也可以是由若干台服务器组成的服务器集群,或者还可以是一个云计算服务中心,本公开实施例对此不作限制。
需要说明的是,该聚合服务器可以是硬件,也可以是软件。当聚合服务器为硬件时,其可以是为客户端103提供各种服务的各种电子设备。当服务器为软件时,其可以是为客户端103提供各种服务的多个软件或软件模块,也可以是为客户端103供各种服务的单个软件或软件模块,本公开实施例对此不作限制。
客户端103,可以是硬件,也可以是软件。当客户端103为硬件时,其可以是具有显示屏且支持与聚合服务器通信的各种电子设备,包括但不限于智能手机、平板电脑、膝上型便携计算机和台式计算机等;当客户端103为软件时,其可以安装在如上的电子设备中。客户端103可以实现为多个软件或软件模块,也可以实现为单个软件或软件模块,本公开实施例对此不作限制。进一步地,客户端103上可以安装有各种应用,例如,数据处理应用、即时通信工具、社交平台软件、搜索类应用等。
在一个实施例中,可以根据地域分区,建立每个地域分区的局域网,其中,在每个局域网中,可搭建一个中间聚合节点102,在同一局域网范围内,该中间聚合节点102可通过网络(例如,同轴电缆、双绞线和光纤连接的有线网络,也可以是无需布线就能实现各种通信设备互联的无线网络,例如,蓝牙(Bluetooth)、近场通信(Near Field Communication,NFC)、红外(Infrared)等)与多个客户端103建立通信连接,接收并处理其属下的客户端上传的训练结果,得到处理结果。之后,再经由该局域网的中间聚合节点102将其所属区域的处理结果上传至总聚合节点101,使得总聚合节点101能够对各个区域上传的处理结果进行全局聚合,得到全局聚合结果。
总聚合节点101,被配置为向每一个中间聚合节点选中的多个目标客户端下发联合学习任务,联合学习任务包括训练模型和模型分块策略。
其中,训练模型,可以是参与方提供的算法模型,也可以是总聚合节点101提供的基本模型。
模型分块策略,是指对训练模型进行划分的策略。例如,训练模型A为一个具有X层的深度学习神经网络模型(模型很大,难以在一个计算节点上运行),那么模型分块策略可以是将该X层的深度学习神经网络模型按层进行划分,得到X个模型分块,其中,一层网络结构层作为一个模型分块。可以理解的,这里的模型分块策略,可以根据训练模型的空间网络结构特点等来制定不同的划分规则。
需要说明的是,采用模型分块策略对训练模型进行分块,得到多个模型分块,每个模型分块拥有训练模型的一部分,且不重复。
示例性的,模型分块策略的划分结果的config格式可如下:{aggregator-ip-port:List[网络层标识]}。其中,“aggregator-ip-port”为键,表示聚合器-IP-接口,“List”为值,表示对应的第几层网络结构。
作为一示例,联合学习参与方可预先在总聚合节点101处注册一个联合学习登陆账号,当其需要发起或者加入某个联合学习任务时,可以登陆该联合学习账号,向总聚合节点101发起任务查询或者加入任务的请求。总聚合节点101在接收到该任务查询或者加入任务的请求时,调取出与参与方查询或者请求加入的联合学习任务的相关参数,包括该联合学习任务所对应的训练模型和模型分块策略。此时,总聚合节点可以根据该联合学习任务,确定需要启动哪些分区的中间聚合节点。
示例性的,假设总聚合节点根据联合学习任务B(如,华南地区的用气负荷预测联合学习训练任务),确定需要启动在华南地区的中间聚合节点01、中间聚合节点02和中间聚合节点03,则可以向这三个中间聚合节点发送任务启动通知,这三个中间聚合节点在接收到总聚合节点发送的任务启动通知时,可以在其所管辖的分区范围内的客户端集合中挑选出一个客户端子集(包含多个目标客户端),或者是全集(即所有的客户端),并将挑中的客户端子集或全集名单发给总聚合节点101。总聚合节点101根据各中间聚合节点提供的名单,将联合学习任务下发至被中间聚合节点选中的多个目标客户端。
每个目标客户端103,被配置为根据模型分块策略对训练模型进行划分,得到多个模型分块,使用其本地数据对多个模型分块进行训练,得到与每一个模型分块对应的训练结果,将训练结果传送至其所隶属的中间聚合节点。
作为一示例,假设上述示例中的中间聚合节点01选中了其属下的分区中的客户端01、02和03作为目标客户端。那么,目标客户端01、02和03接收到总聚合节点101下发的联合学习任务后,根据其中的模型分块策略(假设将训练模型按层划分)对训练模型(假设为3层的深度学习神经网络模型)进行划分,得到3个模型分块,分别为模型分块01、02、03。接着,目标客户端01、02和03可分别使用其本地数据(可先将其本地数据处理成网络输入格式)对这3个模型分块进行模型训练,得到训练结果(如权重、偏置等模型参数)。这里,以目标客户端01为例进行说明,目标客户端01使用其本地数据分别对模型分块01、02、03进行训练,得到训练结果01(对应模型分块01)、训练结果02(对应模型分块02)和训练结果03(对应模型分块03),再将训练结果01、02、03传送至其所隶属的中间聚合节点01。
每个中间聚合节点102,被配置为对其属下的所有目标客户端上传的训练结果进行聚合压缩,得到中间聚合压缩结果,并将中间聚合压缩结果上传至总聚合节点。
结合上述示例,中间聚合节点01在接收到目标客户端01、02和03上传的三组训练结果后,对这三组训练结果进行聚合压缩,得到中间聚合压缩结果01,再将该中间聚合压缩结果01上传至总聚合节点。
类似的,参照上述方法,中间聚合节点02、03也将它们所得到的中间聚合压缩结果02和中间聚合结果03上传至总聚合节点101,在此不再赘述。
总聚合节点101,还被配置为对每个中间聚合节点上传的中间聚合压缩结果进行聚合,得到全局聚合结果,并将全局聚合结果返回至每个中间聚合节点。
结合上述示例,总聚合节点101在接收到中间聚合节点01、02和03上传的中间聚合压缩结果01、02、03后,对中间聚合压缩结果01、02、03进行聚合,得到全局聚合结果,并将该全局聚合结果返回至中间聚合节点01、02和03。
本公开实施例提供的技术方案,采用分层次聚合的三层架构,先通过中间聚合节点对其属下的客户端的训练结果进行一次聚合后,再上传至总聚合节点进行全局聚合,可以充分了利用中间聚合节点的计算资源进行参数的预聚合,大大减轻了总聚合节点的参数聚合计算的压力,从而能够有效地提高横向联合学习过程中对各参与方(客户端)的模型参数(训练结果)的聚合计算效率;同时,通过每个中间聚合节点与其属下的客户端进行分区通信,由于在同一分区内的各方的通信带宽相对较稳定,且传输延时较短,因此,可以提高中间聚合节点与客户端之间的通信效率和稳定性;此外,本公开所采用的三层架构不仅适用于数据独立分布的联合学习训练,还可适用于数据非独立同分布的场景下的联合学习训练。
在一些实施例中,上述步骤,将训练结果传送至其所隶属的中间聚合节点,包括:
根据预设的压缩策略对每个模型分块对应的训练结果进行压缩,得到与每个模型分块对应的压缩结果;
将与每个模型分块对应的压缩结果传送至其所隶属的中间聚合节点;
对其属下的所有目标客户端的训练结果进行聚合压缩,包括:
对其属下的所有目标客户端的压缩结果进行聚合压缩。
其中,预设的压缩策略,可以是Block-Punched Pruning(权重剪枝策略)。由于每个模型分块(假设一个模型分块为一层网络结构)可能拥有多层权重,故预设的压缩策略可以是:可将每个模型分块的每层权重的权重矩阵划分为大小相等多个块(block),则每个块中将包含来自m个filter(过滤器)的n个channel(通道)的权重。在每个块中,被剪枝的位置需要做出如下限定:需要修剪所有filter相同位置的一个或多个权重,同时也修剪所有通道相同位置的一个或多个权重。从另一个角度来看,这种剪枝方案将权重的剪枝位置贯穿了整个块中所有的卷积核(kernel)。对于不同的block,剪枝的位置和剪掉的权重数量都是灵活可变的。
下面以目标客户端01对其训练结果进行压缩为例进行详细说明。目标客户端01可分别采用上述权重剪枝策略对其训练结果01、02和03进行压缩,得到与模型分块01对应的压缩结果01、与模型分块02对应的压缩结果02、与模型分块03对应的压缩结果03。然后,目标客户端01可将压缩结果01、02和03传送至其所隶属的中间聚合节点01。
可理解的,中间聚合节点01属下的目标客户端02、03可以参照上述目标客户端01对其训练结果的压缩方法来对它们的各自的各个模型分块的训练结果进行压缩之后,将压缩结果上传至中间聚合节点01。中间聚合节点01在接收到目标客户端01、02和03上传的压缩结果后,对这些压缩结果进行聚合压缩,得到中间聚合压缩结果,并将该中间聚合压缩结果上传至总聚合节点。
在一些实施例中,上述步骤,对其属下的所有目标客户端的训练结果进行聚合压缩,得到中间聚合压缩结果,并将中间聚合压缩结果返回至总聚合节点,包括:
对其属下的所有目标客户端的同一模型分块的训练结果进行聚合,得到聚合结果;
对其属下的所有目标客户端的同一模型分块的聚合结果进行压缩,得到与每个模型分块对应的中间聚合压缩结果,并将所有的中间聚合压缩结果返回至总聚合节点。
结合上述示例,假设中间聚合节点01接收到其属下的目标客户端01上传的训练结果01、02和03,目标客户端02上传的训练结果04、05和06,目标客户端03上传的训练结果07、08和09。其中,训练结果01、04和07是属于同一模型分块(模型分块01),训练结果02、05和08是属于同一模型分块(模型分块02),训练结果03、06和09是属于同一模型分块(模型分块03)。那么,中间聚合节点01可将训练结果01、04和07进行聚合,得到聚合结果01;将训练结果02、05和08进行聚合,得到聚合结果02;将训练结果03、06和09进行聚合,得到聚合结果03。
接着,再分别对聚合结果01、02和03进行压缩,可得到与模型分块01对应的聚合压缩结果01,与模型分块02对应的聚合压缩结果02,与模型分块03对应的聚合压缩结果03。最后,将聚合压缩结果01、02和03返回至总聚合节点101。
可以理解的,中间聚合节点02、03可参照上述中间聚合节点01对其属下的目标客户端上传的训练结果进行聚合压缩处理的方法,对它们各自的目标客户端所上传的训练结果进行聚合压缩处理,得到聚合压缩结果,并上传至总聚合节点101。
在一些实施例中,上述中间聚合节点102,还被配置为:
当接收到其属下的第一目标客户端上传的训练结果时,启动计时器进入倒计时,
在进入倒计时开始到预设的截止时间点为止的时间范围内,获取其属下的第一目标客户端至第N目标客户端上传的训练结果,其中,N为≥2的正整数;
对第一目标客户端至第N目标客户端上传的训练结果进行聚合压缩,得到中间聚合压缩结果,并将中间聚合压缩结果返回至总聚合节点。
作为一示例,假设中间聚合节点01接收到的第一目标客户端(目标客户端01)上传的训练结果时,启动预设的计时器进入倒计时(可为预先设定的一个时间范围,如10分钟以内)。获取在进入倒计时开始(即接收到目标客户端01上传其训练结果的时间点)到预设的截止时间点(假设倒计时时长为10分钟,则截止时间点为接收到目标客户端01上传其训练结果的时间点+10分钟)的时间范围内,其属下的第一目标客户端至第N目标客户端(假设N=3),即获取第一、第二和第三目标客户端上传的训练结果。然后,对第一、第二和第三目标客户端上传的训练结果按照上述示例中的聚合压缩步骤进行聚合压缩,得到中间聚合压缩结果,并将该中间聚合压缩结果返回至总聚合节点101。
本公开实施例提供的技术方案,中间聚合节点通过设置计时器,在接收到其属下的第一目标客户端上传其训练结果的时间点开始启动计时器进入预设的倒计时长,并在获取在该倒计时长范围内的其他目标客户端上传的训练结果,并对这些能够在倒计时长范围内上传训练结果的目标客户端上传的训练结果进行优先聚合压缩,可以提高对联合训练的训练结果的聚合计算效率,避免一直在等到其他的客户端上传训练结果而减慢联合训练和聚合的速度。
作为一示例,中间聚合节点可以通过记录各个目标客户端上传训练结果的时间点,并根据记录结果筛选出其中能够每次准时在预设的倒计时范围内上传训练结果的客户端,作为下次挑选联合学习任务目标客户端的依据,有利于进一步优化和提升其分区内的整体联合学习训练和参数聚合效率。
在一些实施例中,每个中间聚合节点102包括至少一个聚合器。上述步骤,对其属下的所有目标客户端上传的训练结果进行聚合压缩,包括:
根据其属下的所有目标客户端上传的训练结果的数量和至少一个聚合器的计算能力,确定启动的目标聚合器;
使用目标聚合器对其属下的所有客户端上传的训练结果进行聚合压缩。
作为一示例,每个中间聚合节点102可由至少一个聚合器(如为边缘服务设备等)组成。比如,中间聚合节点01包括3个聚合器,那么可以将其中的一个聚合器作为协调聚合器,该协调聚合器可以对目标客户端上传的一个或者多个模型分块的训练结果进行聚合,同时可兼任挑选目标客户端的操作,其余的聚合器则不兼任挑选目标客户端的操作,可只被配置为对目标客户端上传的一个或多个模型分块的训练结果进行聚合压缩处理。
在一实施例中,由于中间聚合节点102中的聚合器的计算能力不一,有些计算能力较强,有些计算能力较弱,因此,中间聚合节点102可以根据其属下的目标客户端上传的训练结果的数量和各聚合器的计算能力来确定需要启动哪一个或几个聚合器对目标客户端上传的训练结果进行聚合压缩操作。
示例性的,假设中间聚合节点01包括3个聚合器,分别为聚合器A、B和C,它们的计算能力从大到小的排序为A>C>B。若中间聚合节点01选定了其属下的10个客户端作为目标客户端,每个目标客户端上传了5个训练结果(分别为5个模型分块所对应的训练结果),共有50个训练结果。此时,中间聚合节点01可根据其属下的3个聚合器的计算能力和这50个训练结果,确定启动聚合器A、B和C(三个均为目标聚合器)对这50个训练结果进行聚合压缩,其中,根据聚合器A、B和C的计算能力的不同,可以分配30个训练结果给聚合器A进行聚合压缩处理,分别各分配10个训练结果给B和C进行聚合压缩处理,从而能够加快对训练结果的聚合速度。
作为一示例,假设中间聚合节点确定了启动聚合器A、B和C对上述的50个训练结果进行聚合压缩,具体地,可以将10个目标客户端的同一模型分块01、同一模型分块02以及同一模型分块03的训练结果分配给聚合器A,聚合器A分别对同一模型分块01的10个训练结果进行聚合压缩,对同一模型分块02的10个训练结果进行聚合压缩,对同一模型分块03的10个训练结果进行聚合压缩。将10个目标客户端的同一模型分块04的10个训练结果分配给聚合器B进行聚合压缩。将将10个目标客户端的同一模型分块05的10个训练结果分配给聚合器C进行聚合压缩。
作为另一示例,中间聚合节点在确定了启动的目标聚合器之后,可以将目标聚合器的标识信息以及每个目标聚合器所负责聚合的模型分块的告知目标客户端,这样目标客户端在获得训练结果之后,可将每个模型分块的训练结果分别发送至对应的目标聚合器。
在一些实施例中,上述步骤,对每个中间聚合节点上传的中间聚合压缩结果进行聚合,得到全局聚合结果,包括:
对每个中间聚合节点上传的属于同一模型分块的中间聚合压缩结果进行聚合,得到与每一模型分块对应的总聚合结果;
将各个模型分块的总聚合结果进行拼接,得到全局聚合结果。
作为一示例,假设总聚合节点接收到中间聚合节点01上传的中间聚合压缩结果包括与模型分块01对应的中间聚合压缩结果01、与模型分块02对应的中间聚合压缩结果02、与模型分块03对应的中间聚合压缩结果03;中间聚合节点02上传的与模型分块01对应的中间聚合压缩结果04、与模型分块02对应的中间聚合压缩结果05、与模型分块03对应的中间聚合压缩结果06;中间聚合节点03上传的与模型分块01对应的中间聚合压缩结果07、与模型分块02对应的中间聚合压缩结果08、与模型分块03对应的中间聚合压缩结果09。那么可将属于同一模型分块的中间聚合结果进行聚合,即对中间聚合压缩结果01、04和07进行聚合,得到总聚合结果01;对中间聚合压缩结果02、05和08进行聚合,得到总聚合结果02;对中间聚合压缩结果03、06和09进行聚合,得到总聚合结果03。之后,再将总聚合结果01、02和03进行拼接,得到全局聚合结果,并可将该全局聚合结果返回至各个中间聚合节点(如协调聚合器处)。
在一些实施例中,每个目标客户端,还被配置为:
从其所隶属的中间聚合节点处获取全局聚合结果;根据全局聚合结果更新训练模型,得到更新结果;当更新结果满足预设的结束训练条件时,结束模型训练。
作为一示例,假设目标客户端01隶属于中间聚合节点01,那么目标客户端01可从中间聚合节点01处获取到全局聚合结果,并根据该全局聚合结果更新训练模型,得到更新结果(即更新的训练模型)。当该更新结果满足预设的结束训练条件(如迭代次数达到预设次数阈值(如50次)、更新的训练模型精度达到预设的精度要求(如>80%)等)时,结束模型训练。
当更新结果未满足预设的结束训练条件时,则继续使用模型分块策略对更新的训练模型进行划分,接着使用其本地数据对划分得到的模型分块进行训练,得到训练结果,然后上传给其所隶属的中间聚合节点,该中间聚合节点在收集到其隶属的所有目标客户端的训练结果,并对这些训练结果进行聚合压缩,得到中间聚合压缩结果,再将该中间聚合压缩结果上传给总聚合节点,总聚合节点对各中间聚合节点上传的中间聚合压缩结果进行全局聚合,得到本轮训练的全局聚合结果,再返回至各中间聚合节点,此时,各目标客户端可再次从其所隶属的中间聚合节点处获取到本轮训练的全局聚合结果,对更新的训练模型再次更新,得到再次更新训练模型,并对该再次更新训练模型进行验证,判断其是否满足预设的结束训练条件。重复上述步骤,直至满足预设的训练条件为止。
作为一个优选实施例,可以采用Grpc(是由Google开发并开源的RPC框架)服务对需要传输的训练结果进行压缩传输。由于grpc可以通过protobuf来定义接口,通过protobuf(Google Protocol Buffer的简称,是一种混合语言数据标准),可以将数据序列转化为二进制编码,由此传输的数据可被压缩传输,其传输效率比rest服务更加快,故优选采用grpc的方式来实现对待传输数据的压缩传输。
图2是本公开实施例提供的一种联合学习训练结果聚合方法的流程示意图(时序图)。如图2所示,该联合学习训练结果聚合方法包括:
步骤S201,总聚合节点,向每一个中间聚合节点所选中的多个目标客户端下发联合学习任务,联合学习任务包括训练模型和模型分块策略;
步骤S202,每个目标客户端,根据模型分块策略对训练模型进行划分,得到多个模型分块,使用其本地数据对多个模型分块进行训练,得到与每一个模型分块对应的训练结果,将训练结果传送至其所隶属的中间聚合节点;
步骤S203,每个中间聚合节点,对其属下的所有目标客户端的训练结果进行聚合压缩,得到中间聚合压缩结果,并将中间聚合压缩结果上传至总聚合节点;
步骤S204,总聚合节点,对每个中间聚合节点上传的中间聚合压缩结果进行聚合,得到全局聚合结果,并将全局聚合结果返回至每个中间聚合节点。
本公开实施例提供的技术方案,采用分层次聚合的三层架构,先通过中间聚合节点对其属下的客户端的训练结果进行一次聚合后,再上传至总聚合节点进行全局聚合,可以充分了利用中间聚合节点的计算资源进行参数的预聚合,大大减轻了总聚合节点的参数聚合计算的压力,从而能够有效地提高横向联合学习过程中对各参与方(客户端)的模型参数(训练结果)的聚合计算效率;同时,通过每个中间聚合节点与其属下的客户端进行分区通信,由于在同一分区内的各方的通信带宽相对较稳定,且传输延时较短,因此,可以提高中间聚合节点与客户端之间的通信效率和稳定性;此外,本公开所采用的三层架构不仅适用于数据独立分布的联合学习训练,还可适用于数据非独立同分布的场景下的联合学习训练。
在一些实施例中,上述步骤,将训练结果传送至其所隶属的中间聚合节点,包括:
根据预设的压缩策略对每个模型分块对应的训练结果进行压缩,得到与每个模型分块对应的压缩结果;
将与每个模型分块对应的压缩结果传送至其所隶属的中间聚合节点;
对其属下的所有目标客户端的训练结果进行聚合压缩,包括:
对其属下的所有目标客户端的压缩结果进行聚合压缩。
在一些实施例中,上述步骤,对其属下的所有目标客户端的训练结果进行聚合压缩,得到中间聚合压缩结果,并将中间聚合压缩结果返回至总聚合节点,包括:
对其属下的所有目标客户端的同一模型分块的训练结果进行聚合,得到聚合结果;
对其属下的所有目标客户端的同一模型分块的聚合结果进行压缩,得到与每个模型分块对应的中间聚合压缩结果,并将所有的中间聚合压缩结果返回至总聚合节点。
在一些实施例中,上述方法还包括:
中间聚合节点,当接收到其属下的第一目标客户端上传的训练结果时,启动计时器进入倒计时,
在进入倒计时开始到预设的截止时间点为止的时间范围内,获取其属下的第一目标客户端至第N目标客户端上传的训练结果,其中,N为≥2的正整数;
对第一目标客户端至第N目标客户端上传的训练结果进行聚合压缩,得到中间聚合压缩结果,并将中间聚合压缩结果返回至总聚合节点。
在一些实施例中,每个中间聚合节点包括至少一个聚合器。上述步骤,对其属下的所有目标客户端上传的训练结果进行聚合压缩,包括:
根据其属下的所有目标客户端上传的训练结果的数量和至少一个聚合器的计算能力,确定启动的目标聚合器;
使用目标聚合器对其属下的所有客户端上传的训练结果进行聚合压缩。
在一些实施例中,上述对每个中间聚合节点上传的中间聚合压缩结果进行聚合,得到全局聚合结果,包括:
对每个中间聚合节点上传的属于同一模型分块的中间聚合压缩结果进行聚合,得到与每一模型分块对应的总聚合结果;
将各个模型分块的总聚合结果进行拼接,得到全局聚合结果。
在一些实施例中,上述方法还包括:
每个目标客户端,从其所隶属的中间聚合节点处获取全局聚合结果;根据全局聚合结果更新训练模型,得到更新结果;当更新结果满足预设的结束训练条件时,结束模型训练。
上述所有可选技术方案,可以采用任意结合形成本申请的可选实施例,在此不再一一赘述。
下述为本公开装置实施例,可以用于执行本公开方法实施例。对于本公开装置实施例中未披露的细节,请参照本公开方法实施例。
应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本公开实施例的实施过程构成任何限定。
在一实施例中,一种联合学习训练结果聚合方法的具体应用示例包括如下步骤:
①,coordinator(协调聚合器)从客户端集合中选择一个子集(也可以是全集),coordinator将选中信息分别告知被选中的个客户端;
②,各区域的每个client(被选中的目标客户端)获取云端下发的联合学习任务(包括模型分块策略和训练模型),根据该模型分块策略对训练模型进行划分,并使用自己的数据在本地进行本地训练,得到每个模型分块的训练结果;
③,每个被选择的client将步骤②中的每个模型分块的训练结果进行压缩,得到压缩交换信息,每个被选择的目标客户端将压缩交换信息上传给对应的aggregators。Aggregators针对特定的block聚合该区域内所有clients的压缩权重,并对聚合的权重再次进行压缩;将区域内的聚合压缩block上传至Cloud(云端);
④,Cloud接收blocks后先进行各区域同层网络模型的聚合,然后进行拼接;Cloud拼接成一个整体模型后,将模型传给各区域的coordinator;
⑤,每个client从aggregator获取整体模型,然后整体模型继续本地训练更新模型。
其中,每个局域网范围内各有n个客户端,m个aggregators(聚合器)(这里假设每个区域网内的aggregator数都相同,其中一个作为coordinator(协调者),即局域网数等于coordinator数,aggregator与client之间是有通信存在的),一个cloud用于任务初始化和训练结果的存储(类似第三方引擎服务端)。每个局域网视为一个区域。迭代训练之前,首先cloud将参数划分发给所有client(该模型划分策略要通知到每个client)。之后每个区域的Clients、Aggregators和Cloud循环执行上述步骤直到结束条件满足为止。
图3是本公开实施例提供的电子设备300的示意图。如图3所示,该实施例的电子设备300包括:处理器301、存储器302以及存储在该存储器302中并且可在处理器301上运行的计算机程序303。处理器301执行计算机程序303时实现上述各个方法实施例中的步骤。或者,处理器301执行计算机程序303时实现上述各装置实施例中各模块/单元的功能。
示例性地,计算机程序303可以被分割成一个或多个模块/单元,一个或多个模块/单元被存储在存储器302中,并由处理器301执行,以完成本公开。一个或多个模块/单元可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述计算机程序303在电子设备300中的执行过程。
电子设备300可以是桌上型计算机、笔记本、掌上电脑及云端服务器等电子设备。电子设备300可以包括但不仅限于处理器301和存储器302。本领域技术人员可以理解,图3仅仅是电子设备300的示例,并不构成对电子设备300的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如,电子设备还可以包括输入输出设备、网络接入设备、总线等。
处理器301可以是中央处理单元(Central Processing Unit,CPU),也可以是其它通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其它可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
存储器302可以是电子设备300的内部存储单元,例如,电子设备300的硬盘或内存。存储器302也可以是电子设备300的外部存储设备,例如,电子设备300上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。进一步地,存储器302还可以既包括电子设备300的内部存储单元也包括外部存储设备。存储器302用于存储计算机程序以及电子设备所需的其它程序和数据。存储器302还可以用于暂时地存储已经输出或者将要输出的数据。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。上述系统中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本公开的范围。
在本公开所提供的实施例中,应该理解到,所揭露的装置/电子设备和方法,可以通过其它的方式实现。例如,以上所描述的装置/电子设备实施例仅仅是示意性的,例如,模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口,装置或单元的间接耦合或通讯连接,可以是电性,机械或其它的形式。
作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本公开各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读存储介质中。基于这样的理解,本公开实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,计算机程序可以存储在计算机可读存储介质中,该计算机程序在被处理器执行时,可以实现上述各个方法实施例的步骤。计算机程序可以包括计算机程序代码,计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。计算机可读介质可以包括:能够携带计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、电载波信号、电信信号以及软件分发介质等。需要说明的是,计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如,在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。
以上实施例仅用以说明本公开的技术方案,而非对其限制;尽管参照前述实施例对本公开进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本公开各实施例技术方案的精神和范围,均应包含在本公开的保护范围之内。
Claims (10)
1.一种联合学习训练结果聚合系统,其特征在于,包括总聚合节点,与所述总聚合节点通信连接的多个中间聚合节点,以及与每个所述中间聚合节点通信连接的多个客户端;
所述总聚合节点,被配置为向每一个所述中间聚合节点选中的多个目标客户端下发联合学习任务,所述联合学习任务包括训练模型和模型分块策略;
每个所述目标客户端,被配置为根据所述模型分块策略对所述训练模型进行划分,得到多个模型分块,使用其本地数据对所述多个模型分块进行训练,得到与每一个所述模型分块对应的训练结果,将所述训练结果传送至其所隶属的中间聚合节点;
每个所述中间聚合节点,被配置为对其属下的所有目标客户端上传的所述训练结果进行聚合压缩,得到中间聚合压缩结果,并将所述中间聚合压缩结果上传至所述总聚合节点;
所述总聚合节点,还被配置为对每个所述中间聚合节点上传的中间聚合压缩结果进行聚合,得到全局聚合结果,并将所述全局聚合结果返回至每个所述中间聚合节点。
2.根据权利要求1所述的系统,其特征在于,所述将所述训练结果传送至其所隶属的中间聚合节点,包括:
根据预设的压缩策略对每个所述模型分块对应的训练结果进行压缩,得到与每个所述模型分块对应的压缩结果;
将与每个所述模型分块对应的压缩结果传送至其所隶属的中间聚合节点;
所述对其属下的所有目标客户端的所述训练结果进行聚合压缩,包括:
对其属下的所有目标客户端的压缩结果进行聚合压缩。
3.根据权利要求1所述的系统,其特征在于,所述对其属下的所有目标客户端的训练结果进行聚合压缩,得到中间聚合压缩结果,并将所述中间聚合压缩结果返回至所述总聚合节点,包括:
对其属下的所有目标客户端的同一模型分块的训练结果进行聚合,得到聚合结果;
对其属下的所有目标客户端的同一模型分块的所述聚合结果进行压缩,得到与每个模型分块对应的中间聚合压缩结果,并将所有的中间聚合压缩结果返回至所述总聚合节点。
4.根据权利要求1所述的系统,其特征在于,所述中间聚合节点,还被配置为:
当接收到其属下的第一目标客户端上传的训练结果时,启动计时器进入倒计时,
在进入倒计时开始到预设的截止时间点为止的时间范围内,获取其属下的第一目标客户端至第N目标客户端上传的训练结果,其中,N为≥2的正整数;
对所述第一目标客户端至第N目标客户端上传的训练结果进行聚合压缩,得到中间聚合压缩结果,并将所述中间聚合压缩结果返回至所述总聚合节点。
5.根据权利要求1所述的系统,其特征在于,每个所述中间聚合节点包括至少一个聚合器;
所述对其属下的所有目标客户端上传的所述训练结果进行聚合压缩,包括:
根据其属下的所有目标客户端上传的训练结果的数量和所述至少一个聚合器的计算能力,确定启动的目标聚合器;
使用所述目标聚合器对其属下的所有客户端上传的所述训练结果进行聚合压缩。
6.根据权利要求1所述的系统,其特征在于,所述对每个所述中间聚合节点上传的中间聚合压缩结果进行聚合,得到全局聚合结果,包括:
对每个所述中间聚合节点上传的属于同一模型分块的中间聚合压缩结果进行聚合,得到与每一模型分块对应的总聚合结果;
将各个模型分块的总聚合结果进行拼接,得到全局聚合结果。
7.根据权利要求1所述的系统,其特征在于,每个所述目标客户端,还被配置为:
从其所隶属的所述中间聚合节点处获取所述全局聚合结果;
根据所述全局聚合结果更新所述训练模型,得到更新结果;
当所述更新结果满足预设的结束训练条件时,结束模型训练。
8.一种联合学习训练结果聚合方法,其特征在于,包括:
总聚合节点,向每一个中间聚合节点所选中的多个目标客户端下发联合学习任务,所述联合学习任务包括训练模型和模型分块策略;
每个所述目标客户端,根据所述模型分块策略对所述训练模型进行划分,得到多个模型分块,使用其本地数据对所述多个模型分块进行训练,得到与每一个所述模型分块对应的训练结果,将所述训练结果传送至其所隶属的中间聚合节点;
每个所述中间聚合节点,对其属下的所有目标客户端的所述训练结果进行聚合压缩,得到中间聚合压缩结果,并将所述中间聚合压缩结果上传至所述总聚合节点;
所述总聚合节点,对每个所述中间聚合节点上传的中间聚合压缩结果进行聚合,得到全局聚合结果,并将所述全局聚合结果返回至每个所述中间聚合节点。
9.根据权利要求8所述的方法,其特征在于,所述对其属下的所有目标客户端的训练结果进行聚合压缩,得到中间聚合压缩结果,并将所述中间聚合压缩结果返回至所述总聚合节点,包括:
对其属下的所有目标客户端的同一模型分块的训练结果进行聚合,得到聚合结果;
对其属下的所有目标客户端的同一模型分块的所述聚合结果进行压缩,得到与每个模型分块对应的中间聚合压缩结果,并将所有的中间聚合压缩结果返回至所述总聚合节点。
10.根据权利要求8所述的方法,其特征在于,每个所述中间聚合节点包括至少一个聚合器;
所述对其属下的所有目标客户端上传的所述训练结果进行聚合压缩,包括:
根据其属下的所有目标客户端上传的训练结果的数量和所述至少一个聚合器的计算能力,确定启动的目标聚合器;
使用所述目标聚合器对其属下的所有客户端上传的所述训练结果进行聚合压缩。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111639838.1A CN116415378A (zh) | 2021-12-29 | 2021-12-29 | 一种联合学习训练结果聚合系统和方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111639838.1A CN116415378A (zh) | 2021-12-29 | 2021-12-29 | 一种联合学习训练结果聚合系统和方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116415378A true CN116415378A (zh) | 2023-07-11 |
Family
ID=87054778
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111639838.1A Pending CN116415378A (zh) | 2021-12-29 | 2021-12-29 | 一种联合学习训练结果聚合系统和方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116415378A (zh) |
-
2021
- 2021-12-29 CN CN202111639838.1A patent/CN116415378A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7518916B2 (ja) | 計算力共有方法及び関連デバイス | |
WO2020168761A1 (zh) | 训练模型的方法和装置 | |
CN106549878B (zh) | 一种业务分流方法和装置 | |
CN114116198A (zh) | 一种移动车辆的异步联邦学习方法、系统、设备及终端 | |
CN110602156A (zh) | 一种负载均衡调度方法及装置 | |
CN113435534A (zh) | 一种基于相似度度量的数据异构处理方法、装置、计算机设备及计算机可读存储介质 | |
WO2019075662A1 (zh) | 一种网关多连接的方法及装置 | |
CN109831524A (zh) | 一种负载均衡处理方法及装置 | |
CN109828843A (zh) | 一种计算节点间数据传输的方法、系统及电子设备 | |
CN114614989B (zh) | 基于数字孪生技术的网络业务的可行性验证方法及装置 | |
WO2023207035A1 (zh) | 一种数据同步方法、装置、设备及存储介质 | |
US11023825B2 (en) | Platform as a service cloud server and machine learning data processing method thereof | |
CN114548416A (zh) | 数据模型训练方法及装置 | |
US20200134431A1 (en) | Calculation unit, calculation system and control method for calculation unit | |
CN105045873A (zh) | 一种数据文件的推送方法、装置及系统 | |
CN116800753A (zh) | 一种移动模型通信资源分配方法、装置、终端及存储介质 | |
CN116415378A (zh) | 一种联合学习训练结果聚合系统和方法 | |
CN115526339B (zh) | 联邦学习方法、装置、电子设备及计算机可读存储介质 | |
CN114700957B (zh) | 模型低算力需求的机器人控制方法及装置 | |
CN102521360B (zh) | 栅格数据传输方法及系统 | |
CN105591792A (zh) | 一种服务模板的推荐方法和装置 | |
CN113887746A (zh) | 基于联合学习的降低通信压力的方法及装置 | |
CN112866897B (zh) | 一种定位测量方法、终端和网络节点 | |
CN116996516B (zh) | 一种集群通信方法及装置、电子设备及可读存储介质 | |
CN109587641B (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 |