一种基于混合并行的深度卷积神经网络并行训练方法技术

技术编号:35468093 阅读:37 留言:0更新日期:2022-11-05 16:12
本发明专利技术提出了一种基于混合并行的深度卷积神经网络并行训练方法,用于快速训练具有大数据集的大模型。该方法包含组内并行和组间并行。对于组内并行性,首先使用自动模型划分方法将模型分割为多个分区,并将多个分区分别放置在不同的GPU上。然后,将划分后的小批量数据一个接一个地连续发送到不同的GPU上,并且以流水线并行方式训练多个分区。组间并行在每个分组上复制模型副本,独立的计算梯度,然后在组间分区上将这些梯度的汇总更新,以达到最大化计算与通信重叠,从而减少梯度同步时间。实验结果表明,与传统数据并行和最先进的并行训练torchgpipe方法相比,本发明专利技术提出的方法加速性能得到了明显提升。性能得到了明显提升。性能得到了明显提升。

【技术实现步骤摘要】
一种基于混合并行的深度卷积神经网络并行训练方法


[0001]本专利技术属于高性能计算领域,具体涉及一种基于混合并行的深度卷积神经网络并行训练方法。

技术介绍

[0002]深度卷积神经网络(Deep Convolutional Neural Network,DCNN)由于其复杂的模型和大样本的支持,在图像分类、自动驾驶、智慧医疗和智慧农业等场景中发挥着至关重要的作用。例如:百度Apollo能智能感知道路复杂场景以提供自动驾驶服务、Cox模型根据临床特征能准确预测COVID

19患者发生危急疾病的风险。此外,在情感分析、电子健康助手、国防、游戏娱乐等其他应用领域也占有大部分比例。
[0003]随着训练数据规模的增加和深度卷积神经网络模型的日趋复杂,在海量数据的驱动下,包含更多参数的深度卷积神经网络被设计出来解决更加复杂的任务,训练数据的增多和模型结构的复杂化涉及到大量参数计算,导致训练时间过长的问题。并行化成为加速神经网络训练的重要技术手段。目前传统的分布式深度卷积神经网络并行训练方法主要分为以下三类:1)数据并行。数据本文档来自技高网...

【技术保护点】

【技术特征摘要】
1.一种基于混合并行的深度卷积神经网络并行训练方法,其特征在于,包括以下步骤:步骤1,输入数据,将数据分为若干个小批量数据;步骤2,小批量数据被划分为m个微批量数据,每一个微批量数据输入至一个分组;步骤3,对微批量数据依次进行前向计算和反向计算;每一个分组内前一分区GPU对前一个微批量数据进行前向计算,将计算结果传递至后一分区GPU,后一分区GPU依据前一分区GPU计算结果继续前向计算,前一分区GPU对下一个微批量数据进行前向计算;每一个微批量数据由所述分组内所有的GPU进行前向计算结束后,通过所有的GPU进行反向计算,每一个分组内前一分区GPU对前一个微批量数据进行反向计算,将计算结果传递至后一分区GPU,后一分区GPU依据前一分区GPU计算结果继续反向计算,前一分区GPU对下一个微批量数据进行反向计算,每一个分区GPU通过反向计算获得对应梯度;前向计算和反向计算同步进行,直至所述分组对应小批量数据中的所有微批量数据计算完成;一个分组内k个分区GPU同步计算;N个分组同步计算各自对应的小批量数据;一个分区GPU对应深度卷积神经网络中的一区,一个分区GPU中有一个GPU,深度卷积神经网络中的一区包含神经网络中的若干网络层;步骤4,不同组的所有同一区GPU计算结束后,不同组的同一区GPU进行梯度同步;步骤5,所有的同一层GPU梯度同步结束后,重复步骤2~4,直至所有的数据计算完成。2.根据权利要求1所述的一种基于混合并行的深度卷积神经网络并行训练方法,其特征在于,一个分组内k个分区GPU的确定过程为:(1)基于小批量数据计算深度卷积神经网络中的每一层网络的计算执行时间;(2)归一化每层的执行时间;(3)任意划分一个分组内有k个分区GPU,为k个分区GPU中的每一个分区GPU随机平均分配深度卷积神经网络中的若干网络层;(4)获取每一个分区的运行计算时间,通过双层循环法调整并调换每一个分区中的网络层;(5)以分区的运行计算时间为基准,当执行时间之和最大的分区P
max
和执行时间之和最小的分区P
min
的差值小于一个阈值,结束步骤(4),获得最终的k个分区GPU;(6)将k个分区的结果输入至GPU...

【专利技术属性】
技术研发人员:刘斌胡琪琳刘荣达张海曦袁爱红
申请(专利权)人:西北农林科技大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1