[发明专利]一种神经网络分布式并行训练方法与装置在审
申请号: | 201910810557.4 | 申请日: | 2019-08-29 |
公开(公告)号: | CN110503201A | 公开(公告)日: | 2019-11-26 |
发明(设计)人: | 高开;郭振华;曹芳 | 申请(专利权)人: | 苏州浪潮智能科技有限公司 |
主分类号: | G06N3/08 | 分类号: | G06N3/08;G06F9/50 |
代理公司: | 11278 北京连和连知识产权代理有限公司 | 代理人: | 刘小峰<国际申请>=<国际公布>=<进入 |
地址: | 215100 江苏省苏州市吴*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 计算设备 卷积核 卷积 并行计算 并行训练 反向传播 神经网络 同一通道 并行度 吞吐率 权重 算法 更新 学习 | ||
本发明公开了一种神经网络分布式并行训练方法与装置,包括:将深度学习模型的每一层中处于同一通道的卷积核划分到多个计算设备中的同一计算设备;在每个计算设备上分别针对每一层独立基于卷积核执行卷积操作,将新生成的特征传入下一层继续卷积;从最后一层开始反向传播丢失误差并更新每一层的梯度权重。本发明能够减少分布式训练并行计算方法的训练时间,提高算法的并行度并改善吞吐率和性能。
技术领域
本发明涉及计算机领域,更具体地,特别是指一种神经网络分布式并行训练方法与装置。
背景技术
深度学习已经为人工智能领域带来了巨大的发展进步,但是训练深度学习模型需要显著大量的计算。在一台具有一个现代GPU的单台机器上完成一次基于ImageNet等基准数据集的训练可能要耗费多达一周的时间。在多台机器上的分布式训练能减少训练时间,但现有技术缺乏相应的实施方式。
针对现有技术中缺乏好用的分布式训练并行计算方法的问题,目前尚未有有效的解决方案。
发明内容
有鉴于此,本发明实施例的目的在于提出一种神经网络分布式并行训练方法与装置,能够减少分布式训练并行计算方法的训练时间,提高算法的并行度并改善吞吐率和性能。
基于上述目的,本发明实施例的第一方面提供了一种神经网络分布式并行训练方法,包括:
将深度学习模型的每一层中处于同一通道的卷积核划分到多个计算设备中的同一计算设备;
在每个计算设备上分别针对每一层独立基于卷积核执行卷积操作,将新生成的特征传入下一层继续卷积;
从最后一层开始反向传播丢失误差并更新每一层的梯度权重。
在一些实施方式中,将深度学习模型的每一层中处于同一通道的卷积核划分到多个计算设备中的同一计算设备包括:在保证同一通道的前提下,向每个计算设备划分数量尽量接近的卷积核以平衡计算设备之间的负载。
在一些实施方式中,计算设备为现场可编程门阵列。
在一些实施方式中,在每个所述计算设备上针对每一层分别独立基于所述卷积核执行卷积操作,将新生成的特征传入下一层继续卷积包括:使用Opencl来描述分布式并行训练算法生成代码,使用高层次综合工具来编译代码生成AOCX文件,并使用现场可编程门阵列执行AOCX文件。
在一些实施方式中,还包括:调用现场可编程门阵列中的分布式并行训练算法硬件电路来硬件加速执行AOCX文件。
本发明实施例的第二方面提供了一种神经网络分布式并行训练装置,包括:
分配模块,用于将深度学习模型的每一层中处于同一通道的卷积核划分到多个计算设备中的同一计算设备;
执行模块,用于在每个计算设备上分别针对每一层独立基于卷积核执行卷积操作,将新生成的特征传入下一层继续卷积;
更新模块,用于从最后一层开始反向传播丢失误差并更新每一层的梯度权重。
在一些实施方式中,将深度学习模型的每一层中处于同一通道的卷积核划分到多个计算设备中的同一计算设备包括:在保证同一通道的前提下,向每个计算设备划分数量尽量接近的卷积核以平衡计算设备之间的负载。
在一些实施方式中,计算设备为现场可编程门阵列。
在一些实施方式中,在每个所述计算设备上针对每一层分别独立基于所述卷积核执行卷积操作,将新生成的特征传入下一层继续卷积包括:使用Opencl来描述分布式并行训练算法生成代码,使用高层次综合工具来编译代码生成AOCX文件,并使用现场可编程门阵列执行AOCX文件;调用现场可编程门阵列中的分布式并行训练算法硬件电路来硬件加速执行AOCX文件。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于苏州浪潮智能科技有限公司,未经苏州浪潮智能科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910810557.4/2.html,转载请声明来源钻瓜专利网。