[发明专利]神经网络分布式训练系统、方法、装置、计算单元及介质有效
申请号: | 202210652215.6 | 申请日: | 2022-06-09 |
公开(公告)号: | CN114912587B | 公开(公告)日: | 2023-05-26 |
发明(设计)人: | 吴长平;李华毅;张亚林 | 申请(专利权)人: | 上海燧原科技有限公司 |
主分类号: | G06N3/04 | 分类号: | G06N3/04;G06N3/08;G06N3/063 |
代理公司: | 北京品源专利代理有限公司 11332 | 代理人: | 蔡舒野 |
地址: | 201306 上海市浦东新区中国(上海*** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 神经网络 分布式 训练 系统 方法 装置 计算 单元 介质 | ||
本发明公开了神经网络分布式训练系统、方法、装置、计算单元及介质。该系统包括:神经网络芯片和主机;神经网络芯片包括多个计算单元,各计算单元上分别设置有内存屏障;各计算单元,用于根据数据分片进行前向传播计算,得到单机代价函数;根据单机代价函数计算与单机代价函数匹配的梯度分区;在满足内存屏障释放时机时,将梯度分区发送至主机;主机,用于对接收到的全部计算单元的梯度分区进行全局梯度规约,并将得到的全局梯度反馈至各计算单元;各计算单元,还用于根据接收的全局梯度,更新单机计算参数。通过本发明的技术方案,能够减小神经网络芯片和主机之间的梯度状态同步时间,提高了分布式训练的效率。
技术领域
本发明涉及分布式训练技术领域,尤其涉及神经网络分布式训练系统、方法、装置、计算单元及介质。
背景技术
由于神经网络的分布式训练使得训练复杂的神经网络,以及利用大规模训练数据集训练神经网络成为可能,因此,神经网络分布式训练在神经网络领域十分重要。
然而,由于现有的神经网络分布式训练在神经网络芯片和主机之间会存在梯度状态同步时间,该梯度状态同步时间的存在会影响分布式训练的整体性能。因此,如何减小神经网络芯片和主机之间的梯度状态同步时间,提高分布式训练的效率,是目前亟待解决的问题。
发明内容
本发明提供了一种神经网络分布式训练系统、方法、装置、计算单元及介质,可以减小神经网络芯片和主机之间的梯度状态同步时间,提高分布式训练的效率。
根据本发明的一方面,提供了一种神经网络分布式训练系统,包括:神经网络芯片和主机;神经网络芯片包括多个计算单元,各计算单元上分别设置有内存屏障;
各计算单元,用于根据数据分片进行前向传播计算,得到单机代价函数;根据单机代价函数计算与单机代价函数匹配的梯度分区;在满足内存屏障释放时机时,将梯度分区发送至主机;
主机,用于对接收到的全部计算单元的梯度分区进行全局梯度规约,得到全局梯度,并将全局梯度反馈至各计算单元;
各计算单元,还用于根据接收的全局梯度,对单机计算参数进行更新;
其中,内存屏障释放时机用于控制各计算单元在全部计算单元均完成梯度分区的计算后,向主机发送梯度分区。
根据本发明的另一方面,提供了一种神经网络分布式训练方法,由如本发明任一实施例所述的神经网络分布式训练系统中的计算单元执行,该方法包括:
根据数据分片进行前向传播计算,得到单机代价函数;
根据单机代价函数计算与单机代价函数匹配的梯度分区;
在满足内存屏障释放时机时,将梯度分区发送至主机;
接收主机反馈的全局梯度,根据全局梯度对单机计算参数进行更新;
其中,内存屏障释放时机用于控制各计算单元在全部计算单元均完成梯度分区的计算后,向主机发送梯度分区。
根据本发明的另一方面,提供了一种神经网络分布式训练装置,该装置包括:
前向计算模块,用于根据数据分片进行前向传播计算,得到单机代价函数;
反向计算模块,用于根据单机代价函数计算与单机代价函数匹配的梯度分区;
数据发送模块,用于在满足内存屏障释放时机时,将梯度分区发送至主机;
参数更新模块,用于接收主机反馈的全局梯度,根据全局梯度对单机计算参数进行更新;
其中,内存屏障释放时机用于控制各计算单元在全部计算单元均完成梯度分区的计算后,向主机发送梯度分区。
根据本发明的另一方面,提供了一种计算单元,所述计算单元包括:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于上海燧原科技有限公司,未经上海燧原科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202210652215.6/2.html,转载请声明来源钻瓜专利网。
- 上一篇:半导体结构及其形成方法
- 下一篇:基于DID的企业圈生成方法及系统