CN112862112A - 联邦学习方法、存储介质、终端、服务器、联邦学习系统 - Google Patents
联邦学习方法、存储介质、终端、服务器、联邦学习系统 Download PDFInfo
- Publication number
- CN112862112A CN112862112A CN201911175010.8A CN201911175010A CN112862112A CN 112862112 A CN112862112 A CN 112862112A CN 201911175010 A CN201911175010 A CN 201911175010A CN 112862112 A CN112862112 A CN 112862112A
- Authority
- CN
- China
- Prior art keywords
- training
- terminal
- server
- federal learning
- constraint time
- 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
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
- G06N20/20—Ensemble learning
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Medical Informatics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Physics & Mathematics (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Artificial Intelligence (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明公开了一种联邦学习方法、存储介质、服务器、终端和联邦学习系统。联邦学习方法包括:服务器根据终端的训练信息获取约束时间,所述约束时间用于使终端在所述约束时间以内完成模型训练;终端根据所述约束时间获取训练参数;终端根据所述训练参数完成模型训练,所述训练参数用于使终端完成模型训练时消耗最小能耗。本申请的联邦学习方法一方面终端的实时状态来控制终端每轮训练的完成时间,减少了整体训练时间;另一方面,终端根据服务器预测的训练完成时间计算能耗最低的训练速度,从而降低了每轮训练的功耗。
Description
技术领域
本发明属于机器学习技术领域,具体地讲,涉及联邦学习方法、存储介质、终端、服务器、联邦学习系统。
背景技术
近年来,移动设备快速发展,其不仅在计算能力上得到快速提升,也配备了各种各样的传感器,从不同维度搜集着信息并且记录着人们的生活。有效利用这些数据进行机器学习模型的训练将大大提高移动设备的智能化发展,同时也将大幅提高用户体验。传统的训练方式会首先将用户在移动设备上的初始数据集中到服务器上,而后对相关深度学习模型进行训练。在应用具有推测需求的时候,其将初始数据上传服务器,在服务器上进行推理过程,而后服务器将推理结果回传给移动设备,这种训练与推理方式将引起严重的数据隐私问题。
为了解决分布式训练的隐私问题,谷歌在2017年提出了联邦学习。联邦学习首先将数据在移动设备上直接进行训练,之后将相关梯度进行上传,并在服务器端对梯度进行融合,并将更新好的模型下发给移动设备。以这种方式进行模型的迭代与更新直到模型收敛。然而,模型训练通常是计算密集型任务,在移动设备上通常会引起大量功耗。为了解决这个问题,谷歌现有的解决方案是,仅在移动设备在充电状态并且用于与移动设备没有交互的时间段进行模型的训练,但是这样严重违反了利用移动设备进行数据分析的初衷,并不能及时广泛地对移动端数据进行分析。即现有解决方案并不能有效兼顾终端的功耗和整体训练时间。
发明内容
(一)本发明所要解决的技术问题
本发明解决的技术问题是:如何减少整体训练时间并降低终端的训练能耗。
(二)本发明所采用的技术方案
为解决上述的技术问题,本发明采用如下技术方案:
一种联邦学习方法,包括:
服务器接收发自终端的训练信息;
服务器根据所述训练信息获取约束时间,所述约束时间用于使终端在所述约束时间以内完成模型训练;
服务器将所述约束时间发送到终端。
优选地,所述训练信息包括硬件信息和预设训练数据量,其中服务器根据所述训练信息获取约束时间的方法包括:
服务器根据所述硬件信息和预设训练数据量获取预设训练完成时间;
服务器根据所述预设训练完成时间和预设梯度更新比例获取约束时间。
优选地,所述联邦学习方法还包括:
服务器接收发自终端的本轮训练的实际速度;
服务器根据所述本轮训练的实际速度获取下轮训练的约束时间;
服务器将下轮训练的约束时间发送到终端。
优选地,服务器根据所述本轮训练的实际速度获取下轮训练的约束时间的方法包括:
服务器根据所述本轮训练的实际速度获取下轮训练的预设完成时间;
服务器根据所述下轮训练的预设完成时间和所述预设梯度更新比例获取下轮训练的约束时间。
优选地,联邦学习方法还包括:
服务器获取本轮训练进度值,并判断所述本轮训练进度值是否大于预设值;
若是,服务器向终端发送启动下轮训练的第一指令;
若否,服务器向终端发送重启本轮训练的第二指令。
优选地,服务器获取本轮训练进度值的方法为:
服务器获取发自各个终端的本轮训练梯度值,其中所述本轮训练进度值为各个终端的本轮训练梯度值之和。
本发明公开了一种计算机可读存储介质,所述计算机可读存储介质存储有联邦学习控制程序,所述联邦学习控制程序被处理器执行时实现上述的联邦学习方法。
本发明公开了一种服务器,所述服务器包括计算机可读存储介质、处理器以及存储在所述计算机可读存储介质上的联邦学习控制程序,所述联邦学习控制程序被处理器执行时实现上述的联邦学习方法。
本发明公开了另一种联邦学习方法,包括:
终端接收发自服务器的约束时间,其中所述约束时间用于使终端在所述约束时间以内完成模型训练;
终端根据所述约束时间获取训练参数;
终端根据所述训练参数完成模型训练,所述训练参数用于使终端完成模型训练时消耗最小能耗。
优选地,终端根据所述约束时间获取训练参数的方法包括:
终端根据硬件信息、预设训练数据量和所述约束时间生成训练参数,所述训练参数包括训练速度以及与所述训练速度匹配的终端的处理器的频率。
优选地,所述联邦学习方法还包括:
终端获取本轮训练的实际速度;
终端将获取的所述本轮训练的实际速度发送至服务器,其中,本轮训练的实际速度用于使服务器获取下轮训练的约束时间。
优选地,所述联邦学习方法还包括:
终端将本轮训练梯度值发送至服务器,所述本轮训练梯度值用于使服务器获取本轮训练进度值,其中所述本轮训练进度值为各个终端的本轮训练梯度值之和。
优选地,所述联邦学习方法还包括:
终端根据发自服务器的第一指令启动下轮训练,其中所述第一指令为服务器根据获取到的本轮训练进度值为大于预设值时生成的指令。
优选地,所述联邦学习方法还包括:
终端根据发自服务器的第二指令重启本轮训练,其中所述第二指令为服务器根据获取到的本轮训练进度值为小于或等于预设值时生成的指令。
本发明还公开了另一种计算机可读存储介质所述计算机可读存储介质存储有联邦学习控制程序,所述联邦学习控制程序被处理器执行时实现上述的联邦学习方法。
本发明还公开一种终端,所述终端包括计算机可读存储介质、处理器以及存储在所述计算机可读存储介质上的联邦学习控制程序,所述联邦学习控制程序被处理器执行时实现上述的联邦学习方法。
本发明公开了一种联邦学习系统,所述联邦学习系统包括服务器和终端;
服务器用于接收发自终端的训练信息;服务器用于根据所述训练信息获取约束时间,所述约束时间用于使终端在所述约束时间以内完成模型训练;
终端用于接收发自服务器的约束时间;终端用于根据所述约束时间获取训练参数;终端还用于根据所述训练参数完成模型训练,所述训练参数用于使终端完成模型训练时消耗最小能耗。
本发明还公开了一种联邦学习系统的联邦学习方法,所述联邦学习方法包括:
服务器根据终端的训练信息获取约束时间,所述约束时间用于使终端在所述约束时间以内完成模型训练;
终端根据所述约束时间获取训练参数;
终端根据所述训练参数完成模型训练,所述训练参数用于使终端完成模型训练时消耗最小能耗。
(三)有益效果
本发明公开了一种联邦学习方法、服务器、终端和联邦学习系统,与现有技术相比,具有如下优点和有益效果:
(1)减少了整体训练时间。服务器根据各个终端的实时状态来控制终端每轮训练的完成时间,并且终端在不同状态下都能进行对应训练,减少了整体训练时间,避免了现有技术方案中终端仅仅在充电状态且未与外界交互的情况才能进行训练的弊端,有效地提高了训练效率,以及增强了训练的实时性。
(2)降低了能耗。终端根据服务器预测的训练完成时间计算能耗最低的训练速度,并在训练过程中动态调整CPU频率,使得训练过程尽可能维持在该训练速度,从而降低了每轮训练的功耗。
附图说明
图1是本发明的实施例一的联邦学习系统的架构图;
图2是本发明的实施例二的联邦学习方法的流程图;
图3是本发明的实施例四的服务器的结构框图;
图4是本发明的实施例五的联邦学习方法的流程图;
图5是本发明的实施例七的终端的结构示意图;
图6是本发明的实施例八的联邦学习方法的流程图。
具体实施方式
以下,将参照附图来详细描述本发明的实施例。然而,可以以许多不同的形式来实施本发明,并且本发明不应该被解释为限制于这里阐述的具体实施例。相反,提供这些实施例是为了解释本发明的原理及其实际应用,从而本领域的其他技术人员能够理解本发明的各种实施例和适合于特定预期应用的各种修改。相同的标号在整个说明书和附图中可用来表示相同的元件。
实施例一
如图1所示,本发明的实施例一的联邦学习系统包括服务器10和若干终端20,且服务器10与终端20之间可相互通信。联邦学习系统的基本工作流程是:各个终端20将各自的训练信息发送至服务器10,服务器10根据各个终端20的训练信息获取约束时间,终端20根据所述约束时间获取训练参数,终端20根据所述训练参数完成模型训练。其中所述约束时间用于使终端在所述约束时间以内完成模型训练,所述训练参数用于使终端完成模型训练时消耗最小能耗。这样联邦学习系统可减少了整体训练时间和降低了能耗。
下面分别从服务器10和终端20两个方面来详细描述本实施例的联邦学习系统。
实施例二
如图2所示,本实施例二的联邦学习方法包括如下步骤:
步骤S10:服务器10接收发自终端的训练信息。
在每次开始训练之前,服务器10需要事先收集各个终端20的训练信息。所述训练信息包括硬件信息和预设训练数据量,其中,硬件信息包括终端的处理器信息等信息,主要是指CPU频率、CPU周期等信息,预设训练数据量是指每个终端内所包含训练数据的数量,例如,对于图像识别任务,训练数据的数量是指终端里包含多少张图片。
步骤S20:服务器10根据所述训练信息获取约束时间,所述约束时间用于使终端在所述约束时间以内完成模型训练。
具体地,该步骤S20包括如下步骤:
步骤S21:服务器根据所述硬件信息和预设训练数据量获取预设训练完成时间。
预设训练完成时间是指每个终端完成本地训练所需要的时间。其中,预设训练完成时间的具体计算公式是其中ci代表处理一个训练样本所需要的CPU周期,Di代表终端设备内所包含的训练样本的数量,fi代表训练时所使用的CPU频率。
步骤S22:服务器根据所述预设训练完成时间和预设梯度更新比例获取约束时间。
由于每个终端的硬件信息存在差异,例如CPU频率、CPU周期不同,同时每个终端的训练数据量也不同,这样计算得到的预设训练完成时间也是不同的,导致在每轮训练中,一部分终端比另一部分终端先完成训练。根据联邦学习系统的要求,先完成训练的终端需要等待其他终端完成训练之后,才能认为是一轮训练完成。另外联邦学习系统在启动训练后,并不是每一个终端都能按照预设的指令完成本地训练,例如某些终端因突然关机或突然断电等原因会造成训练终止,这时该终端的训练结果并不能反馈至服务器中。联邦学习系统中考虑到此类意外情况,并不要求每一个终端都必须完成训练且上传训练结果,一般会设定相应的比例,即预设梯度更新比例,例如预设梯度更新比例为90%,表示当系统中的90%的终端完成了本地训练并将训练结果上传至服务器,此时便成功完成训练。
进一步地,由于每个终端的预设训练时间不同,因此服务器需要设定合适的约束时间来保证足够多的移动设备能完成本地训练并上传训练结果。约束时间的设定一方面要保证预定比例的终端能顺利完成训练,另一方面约束时间也不宜过长,以避免部分的终端在进行过长时间的训练,会造成过多的能耗。举例来说,联邦学习系统中有100台终端都可完成本地训练,其中80台终端完成本地训练的预设训练完成时间均在1小时之内,另外20台终端完成本地训练的预设训练完成时间均在1.5小时以上,如果预设梯度更新比例是80%,那么此时的约束时间可设置为1小时至1.5小时之间的值,例如1.2小时。这样可保证服务器10接收到足够的梯度更新,同时不会浪费过度的能耗。
需要说明的是,约束时间的设置需要根据每个联邦学习系统中的各个终端的预设训练完成时间和预设梯度更新比例来实际确定,并不限于上述示例。
步骤S30:服务器10将所述约束时间发送到终端20。
当服务器10确定约束时间之后,服务器将约束时间发送至各个终端20,各个终端20根据该约束时间优化本地训练过程,以使终端用最小的功耗完成训练。
本申请的联邦学习方法还包括:
步骤S40:服务器10接收发自终端的本轮训练的实际速度,服务器根据所述本轮实际训练速度获取下轮训练的约束时间,服务器将下轮训练的约束时间发送到终端。
具体来说,由于联邦学习系统的一次训练包括多轮训练,每轮训练的约束时间均不同。步骤S10和步骤S20计算得到的是首轮训练所对应的约束时间,而第二轮、第三轮、第四轮…等后续每轮训练的约束时间需要重新计算。本实施例中的后续每轮训练的约束时间的获取方式与首轮训练的约束时间的获取方式不相同,而是根据本轮训练的实际速度来预测下轮训练所需要的约束时间。
进一步地,服务器根据所述本轮训练的实际速度获取下轮训练的约束时间的方法包括如下步骤:
步骤S41:服务器根据所述本轮训练的实际速度获取下轮训练的预设完成时间。
由于终端在实际训练过程,存在一些不可控情况,例如终端同时在进行其他任务,会占用较多的计算资源,使得移动终端的训练速度减慢而不能达到预期的速度,因此终端在训练过程中会实时监控每轮训练的实际训练速度,并将实际训练速度反馈至服务器20中。服务器20根据本轮实际训练速度获取下轮的预设训练完成时间,作为优选实施例,我们利用指数移动加权平均的方法,根据本轮实际训练速度来预测下一轮的训练完成速度,由于总的训练量可事先确定,那么根据预测的训练完成速度和总的训练量可计算得到下一轮的训练完成时间,其中这里采用的指数移动加权平均算法属于现有技术,本领域技术人员熟知此算法,在此不进行赘述。
步骤S42:服务器根据所述下轮训练的预设完成时间和所述预设梯度更新比例获取下轮训练的约束时间。
具体来说,根据各个终端的预设训练完成时间和预设梯度更新比例获取下轮训练的约束时间,最后将下轮训练的约束时间发送至各个终端,各个终端20根据该约束时间优化本地训练过程,以使终端用最小的功耗完成训练。需要说明的是,联邦学习系统中一次训练中的各轮训练的预设梯度更新比例都是相同值,约束时间的设置方法与步骤S20的方法相同,在此不进行赘述。
进一步地,本申请的联邦学习方法还包括:
步骤S50:服务器获取本轮训练进度值,并判断所述本轮训练进度值是否大于预设值;若是,服务器向终端发送启动下轮训练的第一指令;若否,服务器向终端发送重启本轮训练的第二指令。
作为优选实施例,本轮训练进度值选为梯度更新总值,梯度更新总值为各个终端上传的本轮训练梯度值之和,预设值根据需求自行设定。
具体地讲,实际训练过程中,各个终端20在约束时间内完成了一轮训练之后便将其本轮训练梯度值上传至服务器10中,由于各个终端20的完成时间存在差异,在约束时间的期限内,部分终端完成了本轮训练,部分终端未能完成本轮训练,若期限内各个终端的本轮训练梯度值之和大于预设值,对于联邦学习系统而言,说明本轮训练已成功完成,此时服务器10向各个终端发送启动下轮训练的第一指令,各个终端根据第一指令启动下轮训练。若各个终端的本轮训练梯度值之和小于或等于预设值,说明本轮训练未能完成,此时服务器向终端发送重启本轮训练的第二指令,各个终端根据第二指令重启本轮训练。
需要说明的是,本实施例中的服务器10安装有全局控制器,全局控制器被配置为执行上述各个步骤。
本实施例的联邦学习方法,获取到终端的硬件信息等训练信息,服务器根据这些训练信息计算出相应的约束时间,以便实时地控制终端的训练过程,另外约束时间在不同轮训练过程中都进行调整,以利于在保证训练准确率的前提下,尽可能降低整体训练时间。
实施例三
本实施例三公开一种计算机可读存储介质,所述计算机可读存储介质存储有联邦学习程序,所述联邦学习程序被处理器执行时实现如实施例二所述的联邦学习方法。
实施例四
如图3所示,本实施例四公开一种服务器,在硬件层面,该终端包括处理器12、内部总线13、网络接口14、计算机可读存储介质11。处理器12从计算机可读存储介质11中读取对应的计算机程序然后运行,在逻辑层面上形成请求处理装置。当然,除了软件实现方式之外,本说明书一个或多个实施例并不排除其他实现方式,比如逻辑器件抑或软硬件结合的方式等等,也就是说以下处理流程的执行主体并不限定于各个逻辑单元,也可以是硬件或逻辑器件。所述计算机可读存储介质11上存储有联邦学习程序,所述联邦学习程序被处理器12执行时实现如实施例二所述的联邦学习方法。
实施例五
如图4所示,本实施例公开了一种联邦学习方法,该联邦学习方法包括如下步骤:
步骤S01:终端接收发自服务器的约束时间,其中所述约束时间用于使终端在所述约束时间以内完成模型训练。
在联邦学习系统的每次模型训练开启之前,各个终端20事先将各自的训练信息上传至服务器10。所述训练信息包括硬件信息和预设训练数据量,其中,硬件信息包括终端的处理器信息等信息,主要是指CPU频率、CPU周期等信息,预设训练数据量是指每个终端内所包含训练数据的数量,例如,对于图像识别任务,训练数据的数量是指终端里包含多少张图片。服务器根据各个终端的训练信息计算出约束时间,并将约束时间发送至终端,这样各个终端可接收到每轮训练的约束时间。其中所述约束时间用于使终端10在所述约束时间以内完成模型训练,约束时间的计算方法已在实施例二中的步骤S20中描述,在此不进行赘述。
步骤S02:终端根据所述约束时间获取训练参数。
具体地,终端根据所述约束时间获取训练参数的方法包括:终端根据硬件信息、预设训练数据量和所述约束时间生成训练参数,所述训练参数包括训练速度以及与所述训练速度匹配的终端的处理器的频率。
终端接收到约束时间之后,终端对系统配置进行优化,以在约束时间内以最小功耗完成本地训练。具体来说,终端根据自身的硬件信息、预设训练数据量计算出能耗最优的预设训练速度和CPU频率,具体计算方法如下是:
我们对终端设备完成一轮训练的所需能耗进行建模如下:
E=ptrain*ttrain+pidle*tidle
其中,E表示一轮训练所需要的能耗,ptrain表示模型训练时的功耗,ttrain表示训练完成时间,pidle表示系统闲置时的功耗,tidle表示系统闲置时间。需要说明的是,对于不同的终端而言,系统闲置时间和训练完成时间均是不同的,但是系统闲置时间和训练完成时间两者之和均为约束时间。举例来说,当服务器确立了约束时间,若终端刚好在约束时间内完成了训练,此时系统闲置时间tidle为零,训练完成时间ttrain等于约束时间;若终端在约束时间之前便完成了训练,此时该终端还需等待其余的终端完成训练,直至约束时间,此过程中的等待时间便是系统闲置时间tidle。
而系统的训练功耗又可进行如下建模:
ptrain=β*f3
其中β代表芯片的电阻系数,f代表训练时所使用的CPU频率。
之后我们把训练参数的确定问题提炼成一个约束优化问题如下:
其中dk表示约束时间,fi min表示终端的CPU的最小频率,fi max表示终端的CPU的最大频率,argmin表示求最小值,下标i表示不同的终端。通过求解此优化问题来获得是能耗E最小的的最优训练完成时间和对应的处理器频率fi,这时每个终端的总训练量已预先确定,根据总训练量和最优训练完成时间可确定能耗最优的训练速度,具体的求解过程为本领域技术人员能够获知的现有技术,在此不进行赘述。
步骤S03:终端根据所述训练参数完成模型训练,所述训练参数用于使终端完成模型训练时消耗最小能耗。
具体来说,在上述的训练参数下进行模型训练,即按照最优的训练速度以及以及与所述训练速度匹配的终端的处理器的频率去进行模型训练。由于实际过程中,终端可能同时进行多个任务,使得终端的处理器频率并不能保持在最优的频率,此时终端的资源配置器动态地调整终端的处理器频率,使得训练速度尽可能保持在最优的训练速度。在该最优的训练速度下,一方面可使得终端在约束时间内完成本轮模型训练,另一方面可使得终端降低能耗。
本实施例中的联邦学习方法进一步包括:
步骤S04:终端获取本轮训练的实际速度;终端将获取的所述本轮训练的实际速度发送至服务器,其中,本轮训练的实际速度用于使服务器获取下轮训练的约束时间。
由于终端在实际训练过程,存在一些不可控情况,例如终端同时在进行其他任务,会占用较多的计算资源,使得移动终端的训练速度减慢而不能达到预期的速度,因此终端的速度检测器在训练过程中会实时监控本轮训练的实际速度,并将实际速度反馈至服务器10,以便服务器10根据本轮训练的实际速度预测下轮训练的预设完成时间,最后获得下轮训练的约束时间,约束时间的计算方法已在实施例二中的步骤S20中描述,在此不进行赘述。
进一步地,本实施例中的联邦学习方法还包括:
步骤S05:终端将本轮训练梯度值发送至服务器,所述本轮训练梯度值用于使服务器获取本轮训练进度值。其中,本轮训练梯度值和本轮训练进度值相关内容已在实施例二中的步骤S50描述,在此不进行赘述。
进一步地,终端根据发自服务器的第一指令启动下轮训练,其中所述第一指令为服务器根据获取到的本轮训练进度值为大于预设值时生成的指令。终端根据发自服务器的第二指令重启本轮训练,其中所述第二指令为服务器根据获取到的本轮训练进度值为小于或等于预设值时生成的指令。
具体来说,实际训练过程中,各个终端20在约束时间内完成了一轮训练之后便将其本轮训练梯度值上传至服务器10中,由于各个终端20的完成时间存在差异,在约束时间的期限内,部分终端完成了本轮训练,部分终端未能完成本轮训练,若期限内各个终端的本轮训练梯度值之和大于预设值,对于联邦学习系统而言,说明本轮训练已成功完成,此时服务器10生成启动下轮训练的第一指令并向各个终端发送第一指令,各个终端根据第一指令启动下轮训练。若各个终端的本轮训练梯度值之和小于或等于预设值,说明本轮训练未能完成,此时服务器生成重启本轮训练的第二指令并向终端发送第二指令,各个终端根据第二指令重启本轮训练。
本实施例的联邦学习方法,根据约束时间计算出最优的训练速度和处理器频率,并根据该训练速度和处理器频率进行模型训练,以使得终端在消耗最小小的能耗下完成模型训练。另外该联邦学习方法适应于终端的不同实时状态,且在终端的不同状态下都能进行模型训练,避免现有技术方案中只能在终端处于充电且未与外界交互的状态下进行训练的弊端,提高了终端的有效使用率。
需要说明的是,每个终端20安装有局部控制器,每个局部控制器被配置为完成上述的联邦学习方法。
需要指出的是上面的联邦学习系统已在仿真平台以及小规模的真实测试环境中进行测试,测试结果表明,相对于现有技术方案,本申请的联邦学习系统可以有效降低32.8%的系统能耗并且加速2.27倍训练时间。
结合上面的描述可知,本申请提供的联邦学习系统,服务器可实时地计算每轮训练的约束时间,这样服务器通过有效地控制每一轮训练的完成时间来减少整体时间。终端可根据约束时间计算每一轮最优的训练参数,并根据该训练参数完成每一轮的模型训练,在完成模型训练的情况下降低了各个终端的能耗,从而有效平衡系统能耗,训练时间以及模型准确率。
实施例六
本实施例六公开了一种计算机可读存储介质,所述计算机可读存储介质存储有联邦学习程序,所述联邦学习程序被处理器执行时实现如实施例五所述的联邦学习方法。
实施例七
如图5所示,本实施例七公开了一种终端,在硬件层面,该终端包括处理器21、内部总线22、网络接口23、计算机可读存储介质24,当然还可能包括其他业务所需要的硬件,例如触摸屏。处理器21从计算机可读存储介质24中读取对应的计算机程序然后运行,在逻辑层面上形成请求处理装置。当然,除了软件实现方式之外,本说明书一个或多个实施例并不排除其他实现方式,比如逻辑器件抑或软硬件结合的方式等等,也就是说以下处理流程的执行主体并不限定于各个逻辑单元,也可以是硬件或逻辑器件。所述计算机可读存储介质24上存储有联邦学习程序,所述联邦学习程序被处理器21执行时实现如实施例五所述的联邦学习方法。
实施例八
如图6所示,本实施例的联邦学习系统的联邦学习方法包括如下步骤:
步骤S100:服务器根据终端的训练信息获取约束时间,所述约束时间用于使终端在所述约束时间以内完成模型训练。
步骤S200:终端根据所述约束时间获取训练参数。
步骤S300:终端根据所述训练参数完成模型训练,所述训练参数用于使终端完成模型训练时消耗最小能耗。
其中,服务器10和终端20的联邦学习方法已分别在实施例二和实施例五中描述,在此不进行赘述。
终端的具体形式可以是个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件收发设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任意几种设备的组合。
计算机可读存储介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机可读存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带、磁盘存储、量子存储器、基于石墨烯的存储介质或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。
上面对本发明的具体实施方式进行了详细描述,虽然已表示和描述了一些实施例,但本领域技术人员应该理解,在不脱离由权利要求及其等同物限定其范围的本发明的原理和精神的情况下,可以对这些实施例进行修改和完善,这些修改和完善也应在本发明的保护范围内。
Claims (18)
1.一种联邦学习方法,其特征在于,包括:
服务器接收发自终端的训练信息;
服务器根据所述训练信息获取约束时间,所述约束时间用于使终端在所述约束时间以内完成模型训练;
服务器将所述约束时间发送到终端。
2.根据权利要求1所述的联邦学习方法,其特征在于,所述训练信息包括硬件信息和预设训练数据量,其中服务器根据所述训练信息获取约束时间的方法包括:
服务器根据所述硬件信息和预设训练数据量获取预设训练完成时间;
服务器根据所述预设训练完成时间和预设梯度更新比例获取约束时间。
3.根据权利要求1所述的联邦学习方法,其特征在于,所述联邦学习方法还包括:
服务器接收发自终端的本轮训练的实际速度;
服务器根据所述本轮训练的实际速度获取下轮训练的约束时间;
服务器将下轮训练的约束时间发送到终端。
4.根据权利要求3所述的联邦学习方法,其特征在于,服务器根据所述本轮训练的实际速度获取下轮训练的约束时间的方法包括:
服务器根据所述本轮训练的实际速度获取下轮训练的预设完成时间;
服务器根据所述下轮训练的预设完成时间和所述预设梯度更新比例获取下轮训练的约束时间。
5.根据权利要求1所述的联邦学习方法,其特征在于,联邦学习方法还包括:
服务器获取本轮训练进度值,并判断所述本轮训练进度值是否大于预设值;
若是,服务器向终端发送启动下轮训练的第一指令;
若否,服务器向终端发送重启本轮训练的第二指令。
6.根据权利要求5所述的联邦学习方法,其特征在于,服务器获取本轮训练进度值的方法为:
服务器获取发自各个终端的本轮训练梯度值,其中所述本轮训练进度值为各个终端的本轮训练梯度值之和。
7.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有联邦学习控制程序,所述联邦学习控制程序被处理器执行时实现如权利要求1至6任一项所述的联邦学习方法。
8.一种服务器,其特征在于,所述服务器包括计算机可读存储介质、处理器以及存储在所述计算机可读存储介质上的联邦学习控制程序,所述联邦学习控制程序被处理器执行时实现如权利要求1至6任一项所述的联邦学习方法。
9.一种联邦学习方法,其特征在于,包括:
终端接收发自服务器的约束时间,其中所述约束时间用于使终端在所述约束时间以内完成模型训练;
终端根据所述约束时间获取训练参数;
终端根据所述训练参数完成模型训练,所述训练参数用于使终端完成模型训练时消耗最小能耗。
10.根据权利要求9所述的联邦学习方法,其特征在于,终端根据所述约束时间获取训练参数的方法包括:
终端根据硬件信息、预设训练数据量和所述约束时间生成训练参数,所述训练参数包括训练速度以及与所述训练速度匹配的终端的处理器的频率。
11.根据权利要求9所述的联邦学习方法,其特征在于,所述联邦学习方法还包括:
终端获取本轮训练的实际速度;
终端将获取的所述本轮训练的实际速度发送至服务器,其中,本轮训练的实际速度用于使服务器获取下轮训练的约束时间。
12.根据权利要求9所述的联邦学习方法,其特征在于,所述联邦学习方法还包括:
终端将本轮训练梯度值发送至服务器,所述本轮训练梯度值用于使服务器获取本轮训练进度值,其中所述本轮训练进度值为各个终端的本轮训练梯度值之和。
13.根据权利要求12所述的联邦学习方法,其特征在于,所述联邦学习方法还包括:
终端根据发自服务器的第一指令启动下轮训练,其中所述第一指令为服务器根据获取到的本轮训练进度值为大于预设值时生成的指令。
14.根据权利要求12所述的联邦学习方法,其特征在于,所述联邦学习方法还包括:
终端根据发自服务器的第二指令重启本轮训练,其中所述第二指令为服务器根据获取到的本轮训练进度值为小于或等于预设值时生成的指令。
15.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有联邦学习控制程序,所述联邦学习控制程序被处理器执行时实现如权利要求9至14任一项所述的联邦学习方法。
16.一种终端,其特征在于,所述终端包括计算机可读存储介质、处理器以及存储在所述计算机可读存储介质上的联邦学习控制程序,所述联邦学习控制程序被处理器执行时实现如权利要求9至14任一项所述的联邦学习方法。
17.一种联邦学习系统,其特征在于,所述联邦学习系统包括服务器和终端;
服务器用于接收发自终端的训练信息;服务器用于根据所述训练信息获取约束时间,所述约束时间用于使终端在所述约束时间以内完成模型训练;
终端用于接收发自服务器的约束时间;终端用于根据所述约束时间获取训练参数;终端还用于根据所述训练参数完成模型训练,所述训练参数用于使终端完成模型训练时消耗最小能耗。
18.一种如权利要求17所述的联邦学习系统的联邦学习方法,其特征在于,所述联邦学习方法包括:
服务器根据终端的训练信息获取约束时间,所述约束时间用于使终端在所述约束时间以内完成模型训练;
终端根据所述约束时间获取训练参数;
终端根据所述训练参数完成模型训练,所述训练参数用于使终端完成模型训练时消耗最小能耗。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911175010.8A CN112862112A (zh) | 2019-11-26 | 2019-11-26 | 联邦学习方法、存储介质、终端、服务器、联邦学习系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911175010.8A CN112862112A (zh) | 2019-11-26 | 2019-11-26 | 联邦学习方法、存储介质、终端、服务器、联邦学习系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112862112A true CN112862112A (zh) | 2021-05-28 |
Family
ID=75985736
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911175010.8A Pending CN112862112A (zh) | 2019-11-26 | 2019-11-26 | 联邦学习方法、存储介质、终端、服务器、联邦学习系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112862112A (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113625751A (zh) * | 2021-08-05 | 2021-11-09 | 南京航空航天大学 | 面向空地一体联邦学习的无人机位置与资源联合优化方法 |
CN113660112A (zh) * | 2021-07-23 | 2021-11-16 | 广州大学 | 一种联邦学习带宽分配方法、系统、计算机设备及介质 |
CN114627736A (zh) * | 2022-03-11 | 2022-06-14 | 苏州尚领医疗科技有限公司 | 一种具备复活功能的实训方法及系统 |
CN114822863A (zh) * | 2022-05-12 | 2022-07-29 | 浙江大学 | 基于联邦学习系统的医疗数据分析方法、设备、存储介质和程序产品 |
CN114925744A (zh) * | 2022-04-14 | 2022-08-19 | 支付宝(杭州)信息技术有限公司 | 联合训练的方法及装置 |
-
2019
- 2019-11-26 CN CN201911175010.8A patent/CN112862112A/zh active Pending
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113660112A (zh) * | 2021-07-23 | 2021-11-16 | 广州大学 | 一种联邦学习带宽分配方法、系统、计算机设备及介质 |
CN113660112B (zh) * | 2021-07-23 | 2023-11-24 | 广州大学 | 一种联邦学习带宽分配方法、系统、计算机设备及介质 |
CN113625751A (zh) * | 2021-08-05 | 2021-11-09 | 南京航空航天大学 | 面向空地一体联邦学习的无人机位置与资源联合优化方法 |
CN113625751B (zh) * | 2021-08-05 | 2023-02-24 | 南京航空航天大学 | 面向空地一体联邦学习的无人机位置与资源联合优化方法 |
CN114627736A (zh) * | 2022-03-11 | 2022-06-14 | 苏州尚领医疗科技有限公司 | 一种具备复活功能的实训方法及系统 |
CN114925744A (zh) * | 2022-04-14 | 2022-08-19 | 支付宝(杭州)信息技术有限公司 | 联合训练的方法及装置 |
CN114925744B (zh) * | 2022-04-14 | 2024-07-02 | 支付宝(杭州)信息技术有限公司 | 联合训练的方法及装置 |
CN114822863A (zh) * | 2022-05-12 | 2022-07-29 | 浙江大学 | 基于联邦学习系统的医疗数据分析方法、设备、存储介质和程序产品 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112862112A (zh) | 联邦学习方法、存储介质、终端、服务器、联邦学习系统 | |
CN113326126B (zh) | 任务处理方法、任务调度方法、装置及计算机设备 | |
CN115237581B (zh) | 一种面向异构算力的多策略智能调度方法和装置 | |
CN110389816B (zh) | 用于资源调度的方法、装置以及计算机可读介质 | |
CN117313789A (zh) | 使用神经网络的黑盒优化 | |
CN111274036A (zh) | 一种基于速度预测的深度学习任务的调度方法 | |
JP2022058328A (ja) | 分散型モデルトレーニング装置および方法、電子機器、記憶媒体、ならびに、コンピュータプログラム | |
CN110795226B (zh) | 利用计算机系统处理任务的方法、电子设备和存储介质 | |
CN112764893B (zh) | 数据处理方法和数据处理系统 | |
CN111124644B (zh) | 任务调度资源的确定方法、装置及系统 | |
CN113792920A (zh) | 一种面向单诊室的医院就诊顺序优化方法及装置 | |
EP3991097A1 (en) | Managing workloads of a deep neural network processor | |
CN116795524A (zh) | 任务处理方法、装置、计算机设备、存储介质及程序产品 | |
CN116737370A (zh) | 一种多资源调度方法、系统、存储介质及终端 | |
CN114490374A (zh) | 应用的压力测试方法、电子设备、存储介质及程序产品 | |
CN118170524B (zh) | 基于强化学习的任务调度方法、装置、设备、介质及产品 | |
CN114692824A (zh) | 一种神经网络模型的量化训练方法、装置和设备 | |
CN114611717A (zh) | 联邦学习的多层协调控制方法、控制装置、介质和设备 | |
WO2022120993A1 (zh) | 在线场景的资源分配方法、装置及电子设备 | |
CN117892769B (zh) | 神经网络训练方法、显存调度方法、系统、设备和产品 | |
CN118132279B (zh) | 任务处理方法、装置、电子设备和计算机可读存储介质 | |
CN115688893B (zh) | 内存调度方法及装置、电子设备和存储介质 | |
WO2023104200A1 (en) | Systems, apparatuses, methods, and non-transitory computer-readable storage devices for artificial-intelligence model training using hybrid shuffling of training data | |
CN117421126A (zh) | 一种多租户无服务器平台资源管理方法 | |
CN117806937A (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 |