[发明专利]一种基于神经网络的参数更新方法、分布式训练平台系统在审
申请号: | 202010110959.6 | 申请日: | 2020-02-21 |
公开(公告)号: | CN113298222A | 公开(公告)日: | 2021-08-24 |
发明(设计)人: | 张曼妮;李杨;张翔宇;孙军欢 | 申请(专利权)人: | 深圳致星科技有限公司 |
主分类号: | G06N3/04 | 分类号: | G06N3/04;G06N3/08;G06T1/20 |
代理公司: | 深圳市力道知识产权代理事务所(普通合伙) 44507 | 代理人: | 何姣 |
地址: | 518000 广东省深圳市南山区粤海街道高新*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 神经网络 参数 更新 方法 分布式 训练 平台 系统 | ||
1.一种基于神经网络的参数更新方法,其特征在于,
确定设备内、设备间GPU分阶段聚合;其中包括,
设备内GPU间的参数聚合:
对于任一设备,确定其中的一个GPU为首节点GPU;
使设备内的各个GPU以Allreduce方式进行参数聚合;
和之后的各个设备首节点GPU间的基于矩阵拓扑的Allreduce参数聚合:
构建一个矩阵拓扑,将其包括所述的各个首节点GPU;
1)在水平方向上执行reduce-scatter操作,使各行的各个GPU分别获得对应的行GPU合并参数子集;
2)在垂直方向上分别对各列的行GPU合并参数子集执行all-reduce操作,使各列的各个GPU分别获得对应的矩阵GPU合并参数子集;
3)在水平方向上执行all-gather操作,同步上述的矩阵GPU合并参数子集,以及标准化运算,使矩阵中的所有GPU的参数集达到完全一致的状态;
以及之后的使设备内首节点GPU将其更新后的参数集向其他GPU的反向广播,最终实现各个设备各个GPU间的参数更新。
2.根据权利要求1所述的基于神经网络的参数更新方法,其特征在于,
其中的不同设备的首节点GPU间的参数更新,采用RDMA网络通信。
3.根据权利要求1-2任一所述的基于神经网络的参数更新方法,其特征在于,
其中确定首节点GPU时,选择与用于跨设备通信的网络设备最近的、跳数最少的GPU作为该机器设备的首节点GPU。
4.根据权利要求3所述的基于神经网络的参数更新方法,其特征在于,
选择能够直接对所述网络设备直接进行存取操作的GPU,作为所述的首节点GPU。
5.根据权利要求1所述的基于神经网络的参数更新方法,其特征在于,
其中的设备内GPU间的参数聚合,
和/或不同设备的首节点GPU间在垂直方向上的all-reduce操作,
是基于环形拓扑的Allreduce,或者是基于树形拓扑的Allreduce实现的。
6.根据权利要求1所述的基于神经网络的参数更新方法,其特征在于,
其中的设备内GPU间的参数聚合采用NCCL通信框架。
7.根据权利要求1所述的基于神经网络的参数更新方法,其特征在于,
其中的参数,包括神经网络的损失函数的梯度。
8.一种分布式训练平台系统,其特征在于,包括:
多个计算模块;
所述的计算模块,分别对应权利要求1-7任一所述的基于神经网络的参数更新方法中的的GPU,包括用于执行模型训练相关的计算;
在其执行分布式训练过程中,执行权利要求1-7任一所述的基于神经网络的参数更新方法实现所述计算模块间的参数更新。
9.一种用于深度神经网络模型分布式训练的装置,其特征在于,包括:
不少于两台的计算设备;其中,
所述的各台计算设备,包括处理器;其中的处理器包括权利要求1-7任一所述的基于神经网络的参数更新方法中的GPU;
所述的处理器,用于执行程序代码,实现权利要求1-7任一所述的基于神经网络的参数更新方法中的操作。
10.一种计算机可读存储介质,其特征在于,包括:
存储有用于神经网络参数更新的程序代码;
所述的程序代码,包括用于执行实现权利要求1-7任一所述的基于神经网络的参数更新方法中操作的指令。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于深圳致星科技有限公司,未经深圳致星科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010110959.6/1.html,转载请声明来源钻瓜专利网。