掌桥专利:专业的专利平台
掌桥专利
首页

边缘场景下的分布式模型训练系统及梯度规约方法

文献发布时间:2024-04-18 19:57:31


边缘场景下的分布式模型训练系统及梯度规约方法

技术领域

本说明书涉及计算机技术领域,尤其涉及一种边缘场景下的分布式模型训练系统及梯度规约方法。

背景技术

随着计算机技术的发展和人们对自身隐私数据的愈发关注,采用分布式学习的方式来对模型进行训练,已在模型训练领域得到了广泛应用。

分布式模型训练系统通常包含多个工作节点和参数服务器,各工作节点中存储有不同的数据,参数服务器中存储模型参数。当需要执行模型训练任务时,由工作节点根据参数服务器下发的模型参数、自身存储的训练样本以及预先部署的模型结构,确定模型梯度,并将模型梯度返回给参数服务器。参数服务器根据接收到的各工作节点发送的模型梯度,更新自身保存的模型参数,并将更新后的模型参数下发至各工作节点,以此来完成上述模型训练任务。

但是,在计算节点为边缘设备的情况下,连接不同边缘设备和边缘服务器之间的不同边缘网络,在使用的通讯协议、网络对应的带宽资源上差距较大,这就导致目前在使用边缘设备对模型进行训练的场景中,模型训练效率较低。

基于此,本说明书提供一种边缘场景下的分布式模型训练系统中的梯度规约方法。

发明内容

本说明书提供一种边缘场景下的分布式模型训练系统及梯度规约方法,以部分的解决现有技术存在的上述问题。

本说明书采用下述技术方案:

本说明书提供一种边缘场景下的分布式模型训练系统,所述系统包含若干边缘设备和若干边缘服务器,每个边缘设备存储不同的训练样本,各边缘服务器连接不同的边缘设备,且每个边缘服务器至少连接一个边缘设备,所述边缘设备通过边缘网络与所述边缘服务器连接,所述各边缘服务器之间通过指定网络连接,其中:

所述边缘设备,用于响应于模型处理任务,根据所述边缘设备自身存储的训练样本,确定第一梯度,并通过边缘网络,将所述梯度发送至与所述边缘设备连接的边缘服务器;

所述边缘服务器,用于接收各边缘设备发送的第一梯度,并根据各第一梯度,确定第二梯度,所述第二梯度用于表征与所述边缘服务器连接的各边缘设备的梯度;对各边缘服务器的第二梯度进行梯度规约,得到总梯度;根据所述总梯度执行模型训练任务。

可选地,所述边缘服务器上预先设置有南向接口和北向接口,所述南向接口和所述边缘网络连接,所述北向接口和所述指定网络连接。

可选地,所述边缘服务器,用于根据预设的时间间隔,确定指定时段内接收到的各第一梯度,作为各指定梯度,并确定所述各指定梯度的均值,作为第二梯度。

可选地,所述边缘服务器,用于通过所述边缘网络,将所述总梯度发送给与所述边缘服务器连接的各边缘设备;

所述边缘设备,用于接收所述边缘服务器发送的总梯度,并根据所述总梯度、当前迭代过程中的模型参数、所述模型的学习率,确定下一迭代过程的模型参数。

本说明书提供一种边缘场景下的分布式模型训练系统中的梯度规约方法,所述方法应用于模型训练系统中的边缘服务器,所述系统包括若干边缘设备和若干边缘服务器,每个边缘设备存储不同的训练样本,各边缘服务器连接不同的边缘设备,且每个边缘服务器至少连接一个边缘设备,所述边缘设备通过边缘网络与所述边缘服务器连接,所述各边缘服务器之间通过指定网络连接,所述方法包括:

接收各边缘设备发送的第一梯度,其中,所述第一梯度为发送所述第一梯度的边缘设备根据自身存储的训练样本确定的;

根据各第一梯度,确定用于表征与所述边缘服务器连接的各边缘设备的梯度的第二梯度;

对各边缘服务器的梯度进行规约,得到总梯度,所述总梯度用于执行模型训练任务。

可选地,根据各第一梯度,确定用于表征与所述边缘服务器连接的各边缘设备的梯度的第二梯度,具体包括:

根据预设的时间间隔,确定指定时段内接收到的各第一梯度,作为各指定梯度;

确定所述各指定梯度的均值,作为第二梯度。

可选地,所述方法还包括:

通过所述边缘网络,将所述总梯度发送给与所述边缘服务器连接的各边缘设备,以使接收到所述总梯度的边缘设备,根据所述总梯度、当前迭代过程中的模型参数、所述模型的学习率,确定下一迭代过程的模型参数。

本说明书提供一种边缘场景下的分布式模型训练系统中的梯度规约装置,所述装置应用于训练系统中的边缘服务器,所述训练系统包括若干边缘设备和若干边缘服务器,每个边缘设备存储不同的训练样本,各边缘服务器连接不同的边缘设备,且每个边缘服务器至少连接一个边缘设备,所述边缘设备通过边缘网络与所述边缘服务器连接,所述各边缘服务器之间通过指定网络连接,所述装置包括:

接收模块,用于接收各边缘设备发送的第一梯度,其中,所述第一梯度为发送所述第一梯度的边缘设备根据自身存储的训练样本确定的;

梯度确定模块,用于根据各第一梯度,确定用于表征与所述边缘服务器连接的各边缘设备的梯度的第二梯度;

训练模块,用于对各边缘服务器的梯度进行规约,得到总梯度,所述总梯度用于执行所述模型训练任务。

本说明书提供了一种计算机可读存储介质,所述存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述边缘场景下的分布式模型训练系统中的梯度规约方法。

本说明书提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述边缘场景下的分布式模型训练系统中的梯度规约方法。

本说明书采用的上述至少一个技术方案能够达到以下有益效果:

在系统中设置有用于根据自身存储的训练样本确定第一梯度的边缘设备,以及接收各边缘设备的梯度并共享的边缘服务器,在模型迭代过程中,由边缘设备确定自身梯度,并将自身梯度发送给边缘服务器,边缘服务器根据接收到第一梯度确定局部梯度,并基于局部梯度确定总梯度,以根据确定出的总梯度执行模型训练任务。

该模型训练系统在各边缘设备的网络情况各不相同的情况下,可通过与各边缘设备连接的边缘服务器先确定局部梯度,再通过指定网络确定总梯度,并根据确定出的总梯度训练模型,保证了模型训练效率。

附图说明

此处所说明的附图用来提供对本说明书的进一步理解,构成本说明书的一部分,本说明书的示意性实施例及其说明用于解释本说明书,并不构成对本说明书的不当限定。在附图中:

图1为本说明书提供的边缘场景下的分布式模型训练系统的结构示意图;

图2为本说明书提供的边缘场景下的分布式模型训练系统的结构示意图;

图3为本说明书提供的边缘场景下的分布式模型训练系统中的梯度规约方法的流程示意图;

图4为本说明书提供的边缘场景下的分布式模型训练系统中的梯度规约装置的结构示意图;

图5为本说明书提供的对应于图3的电子设备示意图。

具体实施方式

为使本说明书的目的、技术方案和优点更加清楚,下面将结合本说明书具体实施例及相应的附图对本说明书技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本说明书一部分实施例,而不是全部的实施例。基于本说明书中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本说明书保护的范围。

需要说明的是,本说明书中所有获取信号、信息或数据的动作都是在遵照所在地相应的数据保护法规政策的前提下,并获得由相应装置所有者给予授权的情况下进行的。

深度学习是计算机科学与人工智能的重要分支领域,是神经网络的进一步延伸。通过从数据中自动地学习有效的特征表示,提升预测模型的准确度,已经被广泛应用于语音识别、图像识别以及目标检测等领域。

随着深度学习数据规模的急剧扩增,传统的模型训练中,迭代计算只能利用当前进程所在主机上的所有硬件资源,可是单机扩展性始终有限,因此,单机在面对海量数据和巨大规模的模型时是无能为力的,有必要把数据或者模型分割成为多个部分,在多个机器上借助不同主机上的硬件资源进行训练加速。基于此,采用多个工作节点并行执行模型训练作业的方式得到广泛应用。

常用的一种分布式训练系统,其模型训练过程通过包含以下过程:

首先,配置若干工作节点和参数服务器。

其次,参数服务器将自身存储的模型参数发送给各工作节点。

然后,各工作节点分别根据自身存储的模型结构、从训练样本集中分配到的训练样本和参数服务器发送的模型参数进行模型训练,确定模型梯度。再将确定出的模型梯度发送给参数服务器。

之后,参数服务器根据接收到的所有模型梯度,对模型参数进行更新,并将更新后的模型参数发送给工作节点。

最后,重复上述步骤,直至模型训练结束。

但是,在计算节点为边缘设备的情况下,连接不同边缘设备和边缘服务器之间的不同边缘网络,在使用的通讯协议、网络对应的带宽资源上差距较大,这就导致目前在使用边缘设备对模型进行训练的场景中,模型的训练效率很大程度取决于网络环境最差的边缘网络传输梯度所需的时长,导致模型训练效率较低。

基于此,本说明书提供一种新的边缘场景下的分布式模型训练系统,该系统包含用于根据自身存储的训练样本确定梯度的边缘设备,以及根据自身连接的边缘设备的梯度确定局部梯度的边缘服务器,通过各边缘服务器之间将确定出的局部梯度进行共享来确定该系统在当前迭代过程中的总梯度,并根据总梯度执行模型训练任务,以此来完成模型训练过程。

以下结合附图,详细说明本说明书各实施例提供的技术方案。

图1为本说明书提供的一种模型训练系统的结构示意图。其中,该训练系统包含有若干边缘设备和若干边缘服务器。其中,各边缘设备中存储有不同的训练样本。各边缘服务器之间通过指定网络进行连接,且每个边缘服务器通过边缘网络连接有至少一个边缘设备。或者说,各边缘设备通过与其连接的边缘网络,和边缘服务器进行连接。其中,该边缘设备通常可包括短距离无线通信(如WiFi、ZigBee、Lora等)、长距离无线通信(GSM、4G、NB-IoT等)、有线网络(以太网、MBus、RS232等)。该指定网络的网络质量高于边缘网络的网络质量,该指定网络通常可为带宽资源为千兆的网络,或与云服务器相连接的网络。

从硬件角度上来说,本说明书提供的一个或多个实施例中,针对该系统中的每个边缘设备,该边缘设备可为智能设备、终端等。针对每个边缘服务器,该边缘服务器为用于通过边缘网络连接各边缘设备的服务器。针对每个边缘设备和每个边缘服务器,该边缘设备和该边缘服务器可为一个或多个电子设备。

从软件角度上来说,本说明书提供的一个或多个实施例中,该系统中的各单元可为在服务器上运行的代码,通过运行各单元的代码实现各单元的功能。并且,在本说明书中,不同单元的代码之间是相互独立的,每个单元可通过预设的数据接口与其他单元进行通信或者数据传输。

本说明书提供的一个或多个实施例中,该模型训练系统执行的训练任务可为对风控模型的训练任务、对语言模型的训练任务以及对识别模型的训练任务等,具体该模型训练系统执行的训练任务所对应的类型可根据需要进行设置,本说明书对此不做限制。

基于上述对本说明书提供的模型训练系统的简要说明,本说明书提供的边缘场景下的分布式模型训练系统,可为数据并行的分布式学习系统。即,每个边缘设备中预先部署有模型对应的完整网络结构,各边缘设备中存储不同的训练样本。此时,该系统可基于各边缘设备中存储的不同训练样本,在各边缘设备中并行训练,再将训练得到的梯度进行共享,基于共享后的梯度调整模型参数。

以该系统执行的模型训练任务为风控模型的训练任务为例,假设各边缘设备中存储有各用户的敏感数据。于是,针对该模型训练系统中的每个边缘设备,该边缘设备可根据自身存储的用户的敏感数据确定待风控数据,作为训练样本。

同时,该边缘设备还可确定待风控数据对应的风控结果作为训练样本的标注。

于是,该边缘设备可将自身确定出的训练样本作为输入,输入到待训练的模型训练任务对应的目标模型中,得到该目标模型输出的预测风控结果。

之后,该边缘设备可基于预测风控结果和训练样本的标注,来确定该工作单元的训练样本对应的损失。

最后,该边缘设备可根据自身存储的训练样本对应的损失,确定第一梯度。

其中,该目标模型由模型训练任务对应的模型的网络结构和模型参数组成。该网络结构为预先部署在边缘设备中的,或者由边缘设备根据模型训练任务对应的模型标识,从已存储的各网络结构中确定出的。该模型参数为该边缘设备根据上一次和执行该模型处理任务的其他边缘设备共享加密数据后确定出的总梯度进行调整的,也可为该边缘设备接收到的执行该模型处理任务的其他边缘设备发送的。具体该目标模型的网络结构和模型参数如何确定可根据需要进行设置,本说明书对此不做限制。

当然,在本说明书中,使用边缘设备来进行模型训练的原因之一为该边缘设备连接有可用于获取用户数据的传感器。于是,该边缘设备还可通过传感器,确定用户数据,并对获取到的数据进行数据清洗、数据融合等操作,确定训练样本,以及确定该训练样本的标注。进而基于获取到的训练样本及其标注执行模型训练过程。

需要说明的是,本说明书中的梯度可为边缘设备基于训练样本确定出的损失的梯度,也可为基于梯度确定出的模型参数的调整量。也就是说,该梯度可为训练系统在训练过程中任意一个需要进行聚合以便于根据聚合结果执行模型训练任务的调整量。

则在确定出第一梯度后,该系统需将各边缘设备确定出的梯度进行共享,确定出总梯度,以根据确定出的总梯度来执行模型训练任务。

而如前所述的,各边缘设备所对应的边缘网络的网络质量之间相差甚远,若仅在系统中部署一个用来与各边缘设备进行连接的参数服务器,其训练质量较低。因此,在本说明书提供的该模型训练系统中,可设置多个边缘服务器,每个边缘服务器与一个或多个边缘设备进行连接,确定各边缘设备分别对应的梯度,并根据接收到的各梯度,确定该边缘服务器对应的子网的局部梯度,进而在各边缘服务器之间将确定出的局部梯度进行共享,以对各局部梯度进行规约,得到总梯度。

因此,在确定出第一梯度后,该边缘设备可确定与自身连接的边缘网络,并通过边缘网络,将该第一梯度发送给与该边缘网络连接的边缘服务器。

该边缘服务器基于局部规约的方法,可接收该边缘设备发送的第一梯度,并根据接收到的各第一梯度,确定第二梯度。其中,该第一梯度用于表征与该边缘服务器相连的各边缘设备的梯度,也就是该边缘服务器所对应的子网的局部梯度。

在确定出第二梯度后,该边缘服务器采用全局规约方法,该第二梯度发送给其他边缘服务器,以使其他边缘服务器可根据接收到的第二梯度,对各边缘服务器分别对应的第二梯度进行规约,确定总梯度。

当然,该边缘服务器还可根据自身接收到的其他边缘服务器发送的第二梯度,并根据自身确定出的第二梯度,对自身与各其他边缘服务器的第二梯度进行规约,得到总梯度。

则在确定出总梯度后,该边缘服务器可将确定出的总梯度,发送给边缘设备。

该边缘设备可根据梯度规约得到的总梯度,调整该模型训练任务对应的目标模型的模型参数,并根据调整后的模型参数和该边缘设备自身存储的训练样本,重新确定该边缘设备的第一梯度。以及将重新确定出的第一梯度发送给边缘服务器。其中,该梯度规约即为梯度同步。

该边缘服务器可根据确定出的各第一梯度,继续执行确定第二梯度和确定总梯度的步骤,直至达到迭代终止条件为止。

基于图1所述的模型训练系统,在系统中设置有用于根据自身存储的训练样本确定第一梯度的边缘设备,以及接收各边缘设备的梯度并共享的边缘服务器,在模型迭代过程中,由边缘设备确定第一梯度,并将第一梯度发送给边缘服务器,边缘服务器根据接收到第一梯度确定局部梯度,并对各局部梯度进行梯度规约得到总梯度,以根据确定出的总梯度执行模型训练任务。该模型训练系统在各边缘设备的网络情况各不相同的情况下,可通过与各边缘设备连接的边缘服务器先确定局部梯度,再通过指定网络确定总梯度,并根据确定出的总梯度训练模型,保证了模型训练效率。其中,该局部梯度为第二梯度。

另外,在本说明书中,针对每个边缘服务器,该边缘服务器上设置有南向接口和北向接口。该边缘服务器可通过南向接口和边缘网络连接,通过北向接口和指定网络连接。如图2所示。

图2为本说明书提供的模型训练系统的结构示意图。其中,该模型训练系统包含多个边缘设备和多个边缘服务器,针对每个边缘服务器,该边缘服务器上设置有南向接口和北向接口,该南向接口与各边缘设备的边缘网络连接,该北向接口与指定网络连接。于是,该边缘服务器可通过南向接口,接收各边缘设备发送的第一梯度,并通过北向接口,将确定出的第二梯度进行发送,或者接收其他边缘服务器发送的第二梯度。

进一步的,该边缘服务器可确定各第一梯度的均值,作为第二梯度,或者,确定各第一梯度的中位数等指标,作为第二梯度。但边缘服务器需要接收到与其相连的各边缘设备发送的第一梯度,才能确定出该第二梯度。在边缘设备和该边缘服务器之间连接的边缘网络的网络状况不佳的情况下,该模型训练系统仍然需要较长时间才能完成一次迭代过程。因此,该模型训练系统还可确定大部分边缘设备的梯度,来确定大致梯度,进而基于大致梯度进行模型训练。

具体的,该边缘服务器中可预设有时间间隔,在每次迭代过程中,该边缘服务器可根据预设的时间间隔,确定接收各第一梯度的指定时段。

于是,该边缘服务器可根据该指定时段,确定接收时刻在该指定时段内的各第一梯度,并将其作为指定梯度。

最后,该边缘服务器可根据各指定梯度,确定第二梯度。也就是说,若存在边缘设备在该指定时段后发送第一梯度给该边缘服务器,则该边缘服务器可对该第一梯度进行接收,但不使用该第一梯度来对模型进行训练。也就是说,对模型参数进行调整的总梯度是根据指定时段内接收到的各第一梯度进行梯度规约确定的。

需要说明的是,即使边缘服务器相同,其连接的边缘设备不同,或者,即使连接的边缘设备相同,各边缘设备连接的边缘网络不同,各边缘服务器所对应的预设时间间隔和指定时段也可不同。于是,针对每个边缘服务器,该边缘服务器的指定时段与其他边缘服务器的指定时段可为相同时段,也可为不同时段,具体各边缘服务器对应的指定时段的数值,可根据需要进行设置,本说明书对此不做限制。

在本说明书中,该边缘场景下的分布式模型训练系统,可针对每个边缘服务器,采用基于时间周期的局部规约(Partial-Reduce)算法,根据与该边缘服务器连接的边缘设备的第一梯度,确定该边缘服务器的第二梯度。并在各边缘服务器之间,通过全局规约(Ring-AllReduce)算法,对各第二梯度进行梯度规约,确定该迭代过程中的总梯度。

另外,在本说明书中,在各边缘服务器对各第二梯度进行梯度规约确定总梯度时,可采用从各边缘服务器中确定用于执行确定总梯度这一任务的目标边缘服务器的方式。

于是,针对每个边缘服务器,可首先判断自身是否为目标边缘服务器,若是,则接收其他边缘服务器发送的第二梯度,并根据自身确定出的第二梯度和接收到的各第二梯度,对各第二梯度进行梯度规约,确定总梯度。若不是,则该边缘服务器可向目标边缘服务器发送第二梯度。

当然,该系统中的各边缘服务器还可有其对应的次序,于是,针对每个边缘服务器,该边缘服务器可根据自身次序与其他工作单元的次序,确定自身的前一邻近单元和后一邻近单元,作为前单元和后单元。于是,该边缘服务器可根据自身确定出的第二梯度,以及该前单元的第二梯度和后单元的第二梯度,判断自身确定出的第二梯度与上述前单元的第二梯度和后单元的第二梯度是否不同。

若是,则该第二梯度可将前单元的第二梯度和自身确定出的第二梯度进行相加,并将相加结果重新作为自身的第二梯度,以及将重新确定出的第二梯度发送给后节点。直至各节点中存储的第二梯度的数值相同为止。

若否,则表征各边缘服务器中的第二梯度已被规约为总梯度,则该边缘服务器可基于对各第二梯度进行梯度规约的总梯度,执行模型训练任务。

进一步的,在确定出总梯度后,该边缘服务器还可确定自身连接的各边缘网络,并将确定出的总梯度根据各边缘网络发送给各边缘设备。

于是,针对每个边缘设备,可将边缘服务器发送的总梯度进行接收,并根据该总梯度,当前迭代过程中的模型参数和模型的学习率,确定下一迭代过程的模型参数。

若以k表征当前迭代过程,以

于是,该边缘设备可将第一梯度发送给边缘服务器。

该边缘服务器可确定指定时段,并确定指定时段对应的指定梯度。以指定时段内接收到M个第一梯度为例,则该边缘服务器确定出的第二梯度可为

接着,各边缘服务器可根据确定出的各第二梯度,确定总梯度。假设系统中有N各边缘服务器,则确定出的总梯度可为

之后,该边缘服务器可将确定出的总梯度发送给边缘设备。

边缘设备可根据接收到的总梯度,确定下一迭代过程对应的模型参数的参数矩阵

基于相同思路,本说明书还提供一种边缘场景下的分布式模型训练系统中的梯度规约方法的流程示意图。如图3所示。

图3为本说明书提供的边缘场景下的分布式模型训练系统中的梯度规约方法的流程示意图,具体包括以下步骤:

S100:接收各边缘设备发送的第一梯度,其中,所述第一梯度为发送所述第一梯度的边缘设备根据自身存储的训练样本确定的。

S102:根据各第一梯度,确定用于表征与所述边缘服务器连接的各边缘设备的梯度的第二梯度。

S104:对各边缘服务器的梯度进行规约,得到总梯度,所述总梯度用于执行所述模型训练任务。

在本说明书提供的一个或多个实施例中,该边缘场景下的分布式模型训练系统中的梯度规约方法应用于模型训练系统中的边缘服务器。该模型训练系统包括边缘设备和边缘服务器,其中,边缘设备用于根据自身存储的训练样本确定第一梯度,该边缘服务器用于根据接收到的第一梯度,确定局部梯度,即,第二梯度。

其中,各边缘服务器之间通过指定网络连接,针对每个边缘服务器,该边缘服务器至少连接一个边缘设备,且该边缘设备与该边缘服务器之间通过边缘网络连接。边缘网络和指定网络可为有线网络,也可为无线网络。该指定网络的网络环境优于该边缘网络的网络环境。如,该指定网络的带宽资源多于该边缘网络的带宽资源。该指定网络的稳定性高于边缘网络的稳定性。

于是,该边缘设备可响应于模型训练任务,将自身的训练样本作为输入,输入到待训练的模型训练任务对应的目标模型中,得到该目标模型输出的预测风控结果。再基于预测风控结果和训练样本的标注,来确定该工作单元的训练样本对应的损失。最后根据自身存储的训练样本对应的损失,确定梯度。

则在确定出第一梯度后,该边缘设备可确定自身连接的边缘网络,并通过该边缘网络,将该第一梯度发送给与该边缘网络连接的边缘服务器。

于是,边缘服务器可将该第一梯度进行接收,并根据接收到的第一梯度,确定可用于表征该边缘服务器和与该边缘服务器连接的各边缘网络单元所形成的子网对应的局部梯度。

则在确定出局部梯度后,各边缘服务器可对各局部梯度进行梯度规约,得到训练系统的总梯度。其中,该局部梯度即为第二梯度。该总梯度用于执行模型训练任务。

因此,在确定出总梯度后,各边缘服务器还可根据确定出的总梯度执行模型训练任务。

如图3所示的边缘场景下的分布式模型训练系统中的梯度规约方法,在模型迭代过程中,通过接收边缘设备确定出的第一梯度,并基于第一梯度确定表征该与该边缘服务器相连的边缘设备整体梯度情况的第二梯度,进而基于该第二梯度确定总梯度,以根据确定出的总梯度执行模型训练任务。

该方法在各边缘设备的网络情况各不相同的情况下,也可通过指定网络,确定总梯度,并根据确定出的总梯度,训练模型。保证了模型训练效率。

另外,本说明书中的该边缘场景下的分布式模型训练系统中的梯度规约方法的执行过程,具体可参见上述模型训练系统中对边缘服务器的描述,本说明书对此不再赘述。

需要说明的是,本说明书中所有获取信号、信息或数据的动作都是在遵照所在地相应的数据保护法规政策的前提下,并获得由相应装置所有者给予授权的情况下进行的。

基于同样思路,本说明书还提供一种模型训练装置,如图4所示。

图4为本说明书提供的边缘场景下的分布式模型训练系统中的梯度规约装置,所述装置应用于训练系统中的边缘服务器,所述训练系统包括若干边缘设备和若干边缘服务器,每个边缘设备存储不同的训练样本,各边缘服务器连接不同的边缘设备,且每个边缘服务器至少连接一个边缘设备,所述边缘设备通过边缘网络与所述边缘服务器连接,所述各边缘服务器之间通过指定网络连接,其中:

接收模块200,用于接收各边缘设备发送的第一梯度,其中,所述第一梯度为发送所述第一梯度的边缘设备根据自身存储的训练样本确定的。

梯度确定模块202,用于根据各第一梯度,确定用于表征与所述边缘服务器连接的各边缘设备的梯度的第二梯度。

训练模块204,用于对各边缘服务器的梯度进行规约,得到总梯度,所述总梯度用于执行所述模型训练任务。

可选地,梯度确定模块202,用于根据预设的时间间隔,确定指定时段内接收到的各第一梯度,作为各指定梯度,确定所述各指定梯度的均值,作为第二梯度。

可选地,训练模块204,用于通过所述边缘网络,将所述总梯度发送给与所述边缘服务器连接的各边缘设备,以使接收到所述总梯度的边缘设备,根据所述总梯度、当前迭代过程中的模型参数、所述模型的学习率,确定下一迭代过程的模型参数。

本说明书还提供了一种计算机可读存储介质,该存储介质存储有计算机程序,计算机程序可用于执行上述图3提供的边缘场景下的分布式模型训练系统中的梯度规约方法。

本说明书还提供了图5所示的电子设备的示意结构图。如图5所述,在硬件层面,该电子设备包括处理器、内部总线、网络接口、内存以及非易失性存储器,当然还可能包括其他业务所需要的硬件。处理器从非易失性存储器中读取对应的计算机程序到内存中然后运行,以实现上述图3所述的边缘场景下的分布式模型训练系统中的梯度规约方法。当然,除了软件实现方式之外,本说明书并不排除其他实现方式,比如逻辑器件抑或软硬件结合的方式等等,也就是说以下处理流程的执行主体并不限定于各个逻辑单元应用容器,也可以是硬件或逻辑器件。

在20世纪90年代,对于一个技术的改进可以很明显地区分是硬件上的改进(例如,对二极管、晶体管、开关等电路结构的改进)还是软件上的改进(对于方法流程的改进)。然而,随着技术的发展,当今的很多方法流程的改进已经可以视为硬件电路结构的直接改进。设计人员几乎都通过将改进的方法流程编程到硬件电路中来得到相应的硬件电路结构。因此,不能说一个方法流程的改进就不能用硬件实体模块来实现。例如,可编程逻辑器件(Programmable Logic Device, PLD)(例如现场可编程门阵列(Field Programmable GateArray,FPGA))就是这样一种集成电路,其逻辑功能由用户对器件编程来确定。由设计人员自行编程来把一个数字系统“集成”在一片PLD上,而不需要请芯片制造厂商来设计和制作专用的集成电路芯片。而且,如今,取代手工地制作集成电路芯片,这种编程也多半改用“逻辑编译器(logic compiler)”软件来实现,它与程序开发撰写时所用的软件编译器相类似,而要编译之前的原始代码也得用特定的编程语言来撰写,此称之为硬件描述语言(Hardware Description Language,HDL),而HDL也并非仅有一种,而是有许多种,如ABEL(Advanced Boolean Expression Language)、AHDL(Altera Hardware DescriptionLanguage)、Confluence、CUPL(Cornell University Programming Language)、HDCal、JHDL(Java Hardware Description Language)、Lava、Lola、MyHDL、PALASM、RHDL(RubyHardware Description Language)等,目前最普遍使用的是VHDL(Very-High-SpeedIntegrated Circuit Hardware Description Language)与Verilog。本领域技术人员也应该清楚,只需要将方法流程用上述几种硬件描述语言稍作逻辑编程并编程到集成电路中,就可以很容易得到实现该逻辑方法流程的硬件电路。

控制器可以按任何适当的方式实现,例如,控制器可以采取例如微处理器或处理器以及存储可由该(微)处理器执行的计算机可读程序代码(例如软件或固件)的计算机可读介质、逻辑门、开关、专用集成电路(Application Specific Integrated Circuit,ASIC)、可编程逻辑控制器和嵌入微控制器的形式,控制器的例子包括但不限于以下微控制器:ARC 625D、Atmel AT91SAM、Microchip PIC18F26K20 以及Silicone Labs C8051F320,存储器控制器还可以被实现为存储器的控制逻辑的一部分。本领域技术人员也知道,除了以纯计算机可读程序代码方式实现控制器以外,完全可以通过将方法步骤进行逻辑编程来使得控制器以逻辑门、开关、专用集成电路、可编程逻辑控制器和嵌入微控制器等的形式来实现相同功能。因此这种控制器可以被认为是一种硬件部件,而对其内包括的用于实现各种功能的装置也可以视为硬件部件内的结构。或者甚至,可以将用于实现各种功能的装置视为既可以是实现方法的软件模块又可以是硬件部件内的结构。

上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机。具体的,计算机例如可以为个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任何设备的组合。

为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本说明书时可以把各单元的功能在同一个或多个软件和/或硬件中实现。

本领域内的技术人员应明白,本说明书的实施例可提供为方法、系统、或计算机程序产品。因此,本说明书可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本说明书可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。

本说明书是参照根据本说明书实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。

内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。

计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。

还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。

本领域技术人员应明白,本说明书的实施例可提供为方法、系统或计算机程序产品。因此,本说明书可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本说明书可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。

本说明书可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本说明书,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。

本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。

以上所述仅为本说明书的实施例而已,并不用于限制本说明书。对于本领域技术人员来说,本说明书可以有各种更改和变化。凡在本说明书的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本说明书的权利要求范围之内。

相关技术
  • 边缘计算环境下用于分布式DNN训练的梯度压缩方法
  • 边缘计算环境下用于分布式DNN训练的梯度压缩方法
技术分类

06120116459722