[发明专利]用于神经网络的分布式训练的方法和设备在审
申请号: | 202210854702.0 | 申请日: | 2022-07-18 |
公开(公告)号: | CN116227545A | 公开(公告)日: | 2023-06-06 |
发明(设计)人: | 崔彰仁;金健熙;金容德;金明宇;李承远;奈良库乌·土乌辛贾格尔 | 申请(专利权)人: | 三星电子株式会社 |
主分类号: | G06N3/0464 | 分类号: | G06N3/0464;G06N3/063;G06N3/082;G06F18/214 |
代理公司: | 北京铭硕知识产权代理有限公司 11286 | 代理人: | 张川绪;方成 |
地址: | 韩国京畿*** | 国省代码: | 暂无信息 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 用于 神经网络 分布式 训练 方法 设备 | ||
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中的任一项所述的训练设备,其中,控制器是所述多个处理器之中的负载最低的一个处理器。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于三星电子株式会社,未经三星电子株式会社许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202210854702.0/1.html,转载请声明来源钻瓜专利网。