[发明专利]一种神经网络分布式训练方法、装置、设备及存储介质在审
申请号: | 202011130809.8 | 申请日: | 2020-10-21 |
公开(公告)号: | CN112288083A | 公开(公告)日: | 2021-01-29 |
发明(设计)人: | 周宇浩;叶庆;张海伦 | 申请(专利权)人: | 周宇浩 |
主分类号: | G06N3/08 | 分类号: | G06N3/08 |
代理公司: | 北京润泽恒知识产权代理有限公司 11319 | 代理人: | 王婷婷 |
地址: | 610065 四川省*** | 国省代码: | 四川;51 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 神经网络 分布式 训练 方法 装置 设备 存储 介质 | ||
本申请提供了一种神经网络分布式训练方法、装置、设备及存储介质,涉及机器学习技术领域。该方法改进了分布式神经网络的训练架构,提高分布式训练中各个节点的计算资源利用率,包括:针对集群中的每个节点,建立同步进程以及与同步进程并行运行的训练进程;节点根据同步进程的状态信息,确定训练进程的第N个训练周期;在第N个训练周期内,节点对目标神经网络模型进行训练,得到本地梯度;节点累加本地梯度,得到累计梯度;节点在训练进程中进行第N+1个训练周期的训练时,在同步进程中与其他节点同步累计梯度,计算获得第一平均梯度;在节点在同步进程中利用第一平均梯度更新第N个训练周期结束时的目标神经网络模型的参数。
技术领域
本申请涉及机器学习技术领域,特别是涉及一种神经网络分布式训练方法、装置、设备及存储介质。
背景技术
基于大型数据集对神经网络进行训练在多个领域获得令人印象深刻的性能表现,例如:在图像识别、自然语言处理,欺诈检测和推荐系统等领域利用大型数据集训练神经网络提高了应用的准确性。但基于大型数据集训练神经网络对计算设备的性能要求很高,单个计算设备很难完成。
分布式的神经网络训练使得训练复杂的神经网络,以及利用大规模训练数据集训练神经网络成为可能。但由于参与分布式训练的各节点存在性能差异,处理数据所需时间不同,因此存在部分节点资源浪费的情况。同时,节点之间存在不可避免的、耗时的信息交换过程,也导致了节点利用率低的问题。
发明内容
本申请实施例提供一种神经网络分布式训练方法、装置、设备及存储介质,改进分布式神经网络的训练架构,提高分布式训练中各个节点的计算资源利用率。
本申请实施例第一方面提供一种神经网络分布式训练方法,所述方法包括:
针对集群中的每个节点,建立同步进程以及与所述同步进程并行运行的训练进程;
所述节点根据所述同步进程的状态信息,确定所述训练进程的第N个训练周期,N为>0的整数;
在所述第N个训练周期内,所述节点在所述训练进程中对目标神经网络模型进行训练,得到本地梯度;
所述节点累加多次训练所述目标神经网络模型得到的本地梯度,得到累计梯度;
所述节点在所述训练进程中进行第N+1个训练周期的训练时,在所述同步进程中与共同训练所述目标神经网络模型的其他节点同步所述累计梯度,并基于其他节点的累计梯度,计算获得第一平均梯度;
在所述训练进程完成所述第N+1个训练周期的训练后,所述节点在所述同步进程中利用所述第一平均梯度更新第N个训练周期结束时的所述目标神经网络模型的参数。
可选地,所述方法还包括:
在所述训练进程设置计数器;其中,所述计数器用于记录所述目标神经网络模型在一个周期内的训练次数;
所述节点根据所述同步进程的状态信息,确定所述训练进程的第N个训练周期,包括:
初始化所述目标神经网络模型,确定所述训练进程的第1个训练周期;
取N=n+1,n为>0的整数,执行步骤:在所述同步进程的状态信息为空闲状态时,所述节点通过所述训练进程将同步状态赋值给所述同步进程的状态信息,以使所述同步进程进入同步状态;同时,所述节点将所述计数器记录的累计训练次数置为零,确定所述训练进程结束第N-1个训练周期并开始第N个训练周期。
可选地,在所述第N个训练周期内,所述节点在所述训练进程中对目标神经网络模型进行训练,得到本地梯度,包括:
依次取m从1至M,M为>1的整数,在所述第N个训练周期内对所述目标神经网络模型进行第m次训练,得到对应所述第m次训练的本地梯度;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于周宇浩,未经周宇浩许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202011130809.8/2.html,转载请声明来源钻瓜专利网。