用于神经网络的分布式训练的方法和设备技术

技术编号:37793339 阅读:15 留言:0更新日期:2023-06-09 09:23
公开了用于神经网络的分布式训练的训练方法和设备,所述训练设备包括:多个处理器,被配置为:各自接收与多个批中的对应批对应的多个数据,并且基于各自接收的与所述多个批中的对应批对应的数据来并行地执行训练,以各自生成神经网络的各个层的最终局部梯度;以及控制器,被配置为:接收所述多个处理器生成的各个层的最终局部梯度,基于接收的最终局部梯度来确定聚合梯度,并且基于聚合梯度来更新神经网络的参数。络的参数。络的参数。

【技术实现步骤摘要】
用于神经网络的分布式训练的方法和设备
[0001]本申请要求于2021年11月30日在韩国知识产权局提交的第10

2021

0169069号韩国专利申请的权益,所述韩国专利申请的全部公开出于所有目的通过引用包含于此。


[0002]下面的描述涉及执行神经网络的分布式训练。

技术介绍

[0003]正在开展研究以通过识别模型(诸如,分类器)从图像识别对象并对对象进行分类。识别模型可基于神经网络,神经网络可生成输入信息与输出信息之间的映射,并且可具有针对尚未用于训练的输入信息推断出相对正确的输出的泛化能力。神经网络可用于输出与输入信息的输入模式对应的识别结果。神经网络具有这样的能力:通过学习生成输入模式与输出模式之间的映射,并且针对尚未用于学习的输入模式生成相对正确的输出值。

技术实现思路

[0004]提供本
技术实现思路
以简化的形式介绍在下面的具体实施方式中进一步描述的构思的选择。本
技术实现思路
不意在确定要求保护的主题的关键特征或必要特征,也不意在用于帮助确定要求保护的主题的范围。
[0005]在一个总体方面,提供一种用于执行神经网络的分布式训练的训练设备,所述训练设备包括:多个处理器,被配置为:各自接收与多个批中的对应批对应的多个数据,并且基于各自接收的与所述多个批中的对应批对应的数据来并行地执行训练,以各自生成神经网络的各个层的最终局部梯度;以及控制器,被配置为:接收所述多个处理器生成的各个层的最终局部梯度,基于接收的最终局部梯度来确定聚合梯度,并且基于聚合梯度来更新神经网络的参数,其中,所述多个处理器中的每个执行训练的处理包括:基于与所述多个批中的对应批对应的数据,对神经网络的层执行前向操作,基于前向操作的结果,确定神经网络的损失,通过基于所述损失对神经网络的层执行反向操作,确定神经网络的每个层的局部梯度,响应于通过反向操作确定当前层的局部梯度,确定是否对针对前一层确定的局部梯度执行梯度裁剪,以及基于反向操作的结果和梯度裁剪的结果,确定最终局部梯度。
[0006]所述多个处理器中的每个还可被配置为:响应于在确定神经网络的第一层的第一局部梯度之后确定第二层的第二局部梯度,确定是否对第一局部梯度执行梯度裁剪。
[0007]所述多个处理器中的每个还可被配置为:响应于针对前一层的局部梯度的梯度裁剪检查处理完成,将前一层的最终局部梯度发送到控制器。
[0008]所述多个处理器中的每个还可被配置为:同时地确定当前层的局部梯度与将前一层的最终局部梯度发送到控制器。
[0009]控制器还可被配置为:将通过所述多个处理器确定的神经网络的各个层的局部梯度的平均值确定为聚合梯度。
[0010]所述多个处理器中的每个还可被配置为:基于针对前一层确定的局部梯度和阈
值,确定是否执行梯度裁剪。
[0011]所述多个处理器中的每个还可被配置为:响应于确定执行梯度裁剪,将前一层的局部梯度改变为与阈值对应的值。
[0012]梯度裁剪可通过除所述多个处理器之外的处理器执行。
[0013]所述多个处理器中的每个还可被配置为:基于方差值、动量值和参数范数值中的任何一个或任何组合来执行梯度裁剪。
[0014]所述多个处理器可包括被配置为执行并行处理的图形处理器(GPU)。
[0015]执行前向操作的处理、确定所述损失的处理、确定每个层的局部梯度的处理、确定是否执行梯度裁剪的处理可通过所述多个处理器并行地执行。
[0016]控制器可以是所述多个处理器中的一个或多个、或者除所述多个处理器之外的另一处理器。
[0017]控制器可以是所述多个处理器之中的负载最低的一个处理器。
[0018]在另一总体方面,提供一种通过训练设备执行的用于训练神经网络的方法,所述训练设备包括多个处理器,所述方法包括:通过所述多个处理器各自接收与多个批中的对应批对应的多个数据;通过所述多个处理器基于各自接收的与多个批中的对应批对应的数据来并行地执行训练,以各自生成神经网络的各个层的最终局部梯度;通过控制器接收所述多个处理器生成的各个层的最终局部梯度;通过控制器基于接收的最终局部梯度来确定聚合梯度;以及通过控制器基于聚合梯度来更新神经网络的参数,其中,执行训练的步骤包括:通过所述多个处理器中的每个基于与多个批中的对应批对应的数据来对神经网络的层执行前向操作,通过所述多个处理器中的每个基于前向操作的结果来确定神经网络的损失,通过所述多个处理器中的每个通过基于所述损失对神经网络的层执行反向操作来确定神经网络的每个层的局部梯度,通过所述多个处理器中的每个基于反向操作的结果和梯度裁剪的结果,确定最终局部梯度,其中,确定每个层的局部梯度的步骤包括:响应于通过反向操作确定当前层的局部梯度,确定是否对前一层的局部梯度执行梯度裁剪。
[0019]前向操作、确定神经网络的损失的操作、反向操作和梯度裁剪可通过所述多个处理器中并行执行。
[0020]确定是否执行梯度裁剪的步骤可包括:响应于确定神经网络的第二层的第二局部梯度,确定是否对神经网络的第一层的第一局部梯度执行梯度裁剪。
[0021]确定每个层的局部梯度的步骤可包括:响应于针对前一层的局部梯度的梯度裁剪检查处理完成,将前一层的最终局部梯度发送到控制器。
[0022]确定当前层的局部梯度的步骤和将针对前一层确定的最终局部梯度发送到控制器的步骤可被同时执行。
[0023]确定聚合梯度的步骤可包括:将通过所述多个处理器中的每个确定的每个层的局部梯度的平均值确定为聚合梯度。
[0024]确定是否执行梯度裁剪的步骤可包括:基于针对前一层确定的局部梯度和阈值来确定是否执行梯度裁剪。
[0025]确定是否执行梯度裁剪的步骤还可包括:响应于前一层的局部梯度大于第一阈值或小于第二阈值,对前一层的局部梯度进行裁剪,其中,第一阈值大于第二阈值。
[0026]所述训练方法还可包括:响应于确定执行梯度裁剪,将针对前一层确定的局部梯
度改变为与阈值对应的值。
[0027]梯度裁剪可基于方差值、动量值和参数范数值中的任何一个或任何组合而被执行。
[0028]一种非暂时性计算机可读存储介质可存储指令,所述指令在由处理器执行时,使所述处理器执行所述训练方法。从下面的具体实施方式、附图和权利要求,其他特征和方面将是清楚的。
附图说明
[0029]图1示出用于执行神经网络的分布式训练的训练框架(training framework)的示例。
[0030]图2示出训练设备的配置的示例。
[0031]图3示出用于神经网络的分布式训练的分布式训练框架的示例。
[0032]图4示出用于执行神经网络的分布式训练的训练方法的操作的示例。
[0033]图5示出执行局部梯度裁剪(local gradient clipping)和局部梯度交换的时间点的示例。
[0034]图6示出电子装置的配置的示例。
[0035]贯穿附图本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种用于执行神经网络的分布式训练的训练设备,所述训练设备包括:多个处理器,被配置为:各自接收与多个批中的对应批对应的多个数据,并且基于各自接收的与所述多个批中的对应批对应的数据来并行地执行训练,以各自生成神经网络的各个层的最终局部梯度;以及控制器,被配置为:接收所述多个处理器生成的各个层的最终局部梯度,基于接收的最终局部梯度来确定聚合梯度,并且基于聚合梯度来更新神经网络的参数,其中,所述多个处理器中的每个执行训练的处理包括:基于与所述多个批中的对应批对应的数据,对神经网络的层执行前向操作,基于前向操作的结果,确定神经网络的损失,通过基于所述损失对神经网络的层执行反向操作,确定神经网络的每个层的局部梯度,响应于通过反向操作确定当前层的局部梯度,确定是否对针对前一层确定的局部梯度执行梯度裁剪,以及基于反向操作的结果和梯度裁剪的结果,确定最终局部梯度。2.根据权利要求1所述的训练设备,其中,所述多个处理器中的每个还被配置为:响应于在确定神经网络的第一层的第一局部梯度之后确定第二层的第二局部梯度,确定是否对第一局部梯度执行梯度裁剪。3.根据权利要求1所述的训练设备,其中,所述多个处理器中的每个还被配置为:响应于针对前一层的局部梯度的梯度裁剪检查处理完成,将前一层的最终局部梯度发送到控制器。4.根据权利要求3所述的训练设备,其中,所述多个处理器中的每个还被配置为:同时地确定当前层的局部梯度与将前一层的最终局部梯度发送到控制器。5.根据权利要求1所述的训练设备,其中,控制器还被配置为:将通过所述多个处理器确定的神经网络的各个层的局部梯度的平均值确定为聚合梯度。6.根据权利要求1所述的训练设备,其中,所述多个处理器中的每个还被配置为:基于针对前一层确定的局部梯度和阈值,确定是否执行梯度裁剪。7.根据权利要求6所述的训练设备,其中,所述多个处理器中的每个还被配置为:响应于确定执行梯度裁剪,将前一层的局部梯度改变为与阈值对应的值。8.根据权利要求1至权利要求7中的任一项所述的训练设备,其中,梯度裁剪通过除所述多个处理器之外的处理器执行。9.根据权利要求1至权利要求7中的任一项所述的训练设备,其中,所述多个处理器中的每个还被配置为:基于方差值、动量值和参数范数值中的任何一个或任何组合来执行梯度裁剪。10.根据权利要求1至权利要求7中的任一项所述的训练设备,其中,所述多个处理器包括被配置为执行并行处理的图形处理器。11.根据权利要求1至权利要求7中的任一项所述的训练设备,其中,执行前向操作的处理、确定所述损失的处理、确定每个层的局部梯度的处理、确定是否执行梯度裁剪的处理通过所述多个处理器并行地执行。12.根据权利要求1至权利要求7中的任一项所述的训练设备,其中,控制器是所述多个
处理器中的一个或多个、或者除所述多个处理器之外的另一处理器。13.根据权利要求1至权利要求7中的任一...

【专利技术属性】
技术研发人员:崔彰仁金健熙金容德金明宇李承远奈良库乌
申请(专利权)人:三星电子株式会社
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1