一种反向传播神经网络DNN的训练系统技术方案

技术编号:8801393 阅读:240 留言:0更新日期:2013-06-13 06:00
本发明专利技术提供了一种反向传播神经网络DNN的训练系统,包括:第一图形处理器组,用于进行DNN前向计算和权重更新计算;第二图形处理器组,用于进行DNN前向计算和DNN反向计算;控制器组,用于控制第一图形处理器组和第二图形处理器组分别根据各自的输入数据进行第N层DNN前向计算,直至前向计算完成之后,控制第一图形处理器组进行权重更新计算,并控制第二图形处理器组进行DNN反向计算,其中,N为正整数。本发明专利技术的训练系统具有训练速度快,数据传输开销低的优点,从而提升了反向传播神经网络DNN的训练速度。

【技术实现步骤摘要】

本专利技术涉及反向传播神经网络
,特别涉及一种反向传播神经网络DNN的训练系统
技术介绍
反向传播神经网络(即DNN)被广泛应用在很多重要的互联网应用,如语音识别,图像识别,自然语言处理等。它能大幅度提高语音识别的精度,因此被广泛用在很多公司的语首识别广品中。DNN训练计算有两个特点:计算复杂度高和不能大规模并行。DNN训练的计算主要是浮点类型的矩阵的乘法,计算复杂度是O (N3),属于典型的计算密集型。DNN训练计算由于算法的限制不能大规模并行,因此不能采用传统的多服务器的方法提高计算速度。采用GPU加速DNN训练是一直常用的加速方法,本专利技术提出一直采用4GPU进行加速的方案,该方案能比单GPU加速3.3倍。如图1所示,示出了一种目前的DNN的结构。包括输入层,数个中间层和输出层。各层的节点数一般是几百到几万不等,层以层之间是全连接的网络。DNN的训练计算是一层算完再期待下一层,层与层之间不能并行,所以该算法不适合大规模集群并行加速。一般一次DNN训练可以用以下几个阶段表示:前向计算O、反向误差计算E,最后是根据前向计算和反向误差计算的结果更新每层的权重W。前向计算过程是从输入层向后一直算到输出层,计算是串行的,例如第一次算完才能开始第二层的计算。反向计算过程是从输出层向前一直算到第一层,计算也是串行的,例如最后一层算完才能开始算倒数第一层。更新权值计算依赖前向计算和误差计算的结果,更新权值的计算没有层与层的依赖关系。每次输入只是一小段的训练数据,称为一个batch,一个batch完成一次训练,也就是说得到一个新的权值后,会用这个权值及新输入的下一个batch进行训练,得到更新的一个权值,知道所有的输入计算完毕。这个过程称为一轮,一般一个完整的训练需要10 20轮。Batch不能太大,否则会影响训练精度,这也影响了训练的多机并行化。DNN由信息的正向传播和误差的反向传播两个过程组成。输入层负责接收来自外界的输入信息,并传递给中间层;隐层是内部信息处理层,负责信息变换,根据信息变化能力的需求,隐层可以设计为单隐层或者多隐层结构;最后一个隐层传递到输出层的信息经进一步处理后,完成一次学习的正向传播处理过程,由输出层向外界输出信息处理结果。当实际输出与期望输出不符时,进入误差的反向传播阶段。误差通过输出层,按误差梯度下降的方式修正各层权值,向隐层、输入层逐层反传。DNN训练过程是周而复始的信息正向传播和误差反向传播过程,是各层权值不断调整的过程,也是神经网络学习训练的过程,此过程一直进行到网络输出的误差减少到可以接受的程度,或者预先设定的学习次数为止。DNN学习训练的复杂程度,与DNN的规模和训练的数据规模有关。越大规模的DNN上各层权值收敛越慢,就需要的训练次数非常多。而一般越多的训练数据就能让DNN权值越稳定,DNN的训练效果也会越好,因此对于工业使用的DNN前期训练的数据量可能非常之大。由于DNN训练计算量非常大,并且训练过程中数据前后依赖关系较强,无法做粗粒度的并行化,因此单机上的CPU已经无法在合理的时间内完成DNN的训练。随着GPU计算的通用化,利用GPU进行DNN训练已经成为一个有效的加速手段。但随着DNN规模的增大,单GPU也已经无法满足需要,因此多GPU上的DNN训练成为研究热点。目前普通的多GPU的训练算法一般是每块卡上都保存一个BPNN,初始权重相同,每次训练都将输入数据分为多份,每块卡同时进行一份数据的前向计算、反向误差计算和权重更新计算;由于每块卡都只算了一部分数据,因此最后需要权重同步和计算才能获得最终新的权重值。在每块卡获得一致的新权重值后,才可以进入下一次计算。然而上述方法存在以下缺点:数据同步开销较大。在普通算法中,每次计算都需要一次权重同步。大规模BPNN的权重数据量十分庞大,可达几百MB。而目前多块GPU之间使用的PC1-E2.0总线,单向传输带宽在4 5GB/S,如果是4张GPU分别要同步200MB的权重数据,采用分组同步的方式(GPU 1-2同步、3-4同步,1-3同步、2_4同步),则需要2轮传输,通信开销会达到上百毫秒。反观目前大规模的DNN训练在单块GPU上一次计算的耗时仅为几十毫秒,这意味着使用多卡反而比单卡训练更慢。
技术实现思路
本专利技术旨在至少解决现有技术中存在的技术问题之一。为此,本专利技术的目的在于提出一种具有训练速度快,数据传输开销低的反向传播神经网络DNN的训练系统。为了实现上述目的,本专利技术的实施例提供了一种反向传播神经网络DNN的训练系统,包括:第一图形处理器组,所述第一图形处理器组用于进行DNN前向计算和权重更新计算;第二图形处理器组,所述第二图形处理器组用于进行DNN前向计算和DNN反向计算;以及控制器组,所述控制器组与所述第一图形处理器组和第二图形处理器组相连,所述控制器组用于控制所述第一图形处理器组和第二图形处理器组分别根据各自的输入数据进行第N层DNN前向计算,直至前向计算完成之后,所述控制器组控制所述第一图形处理器组进行权重更新计算,并控制所述第二图形处理器组进行DNN反向计算,其中,N为正整数。本专利技术实施例的反向传播神经网络DNN的训练系统采用非对称结构,即一部分图形处理器(即GPU)用于计算DNN反向计算(即反向误差计算),另一部分在一部分GPU用于计算DNN反向误差计算的同时,进行权重更新计算,使权重更新计算和DNN反向计算并行化,从而实现训练速度的提升,加快训练效率。在DNN前向计算中,DNN前向计算和计算结果传输的流水化,使计算时间掩盖了传输开销,从而节省总的训练时间。将GPU分组,一组用于DNN反向计算,另一组用于权重更新计算,两组可以流水操作,提高了并发度,从而加快训练速度。可根据GPU位置进行分组,从而降低了数据在每个GPU之间传输开销,降低成本且提闻传输速率,从而进一步提闻总的训练效率。另外,根据本专利技术上述实施例的反向传播神经网络DNN的训练系统还可以具有如下附加的技术特征:在一些不例中,还包括:第一输入输出路由器,所述第一输入输出路由器与所述控制器组相连,且所述第一输入输出路由器与所述第一图形处理器组和第二图形处理器组中的一部分图形处理器相连;第二输入输出路由器,所述第二输入输出路由器与所述控制器组相连,且所述第二输入输出路由器与所述第一图形处理器组和第二图形处理器组中的另一部分图形处理器相连。在一些示例中,所述控制器组,还用于在所述第一图形处理器组和第二图形处理器组的第N层DNN前向计算结束之后,控制所述第一图形处理器组和第二图形处理器组根据第N层DNN前向计算的结果进行第N+1层DNN前向计算,同时向所述第一图形处理器组和第二图形处理器组的其他图形处理器广播所述第N层DNN前向计算的结果。在一些示例中,所述控制器组包括一个或多个控制器。在一些示例中,当所述控制器组包括多个控制器时,所述多个控制器之间通过QPI或HT总线相互通信。在一些示例中,所述控制器组还用于在所述第二图形处理器组进行第N层DNN反向计算之后,将第N层DNN反向计算的计算结果广播至所述第一图形处理器组,以供所述第一图形处理器组进行权重更新计算。在一些示例中,所述第一图形处理器组对所述第二图形处理器组广播的第N层DNN反向计算的计本文档来自技高网
...

【技术保护点】
一种反向传播神经网络DNN的训练系统,其特征在于,包括:第一图形处理器组,所述第一图形处理器组用于进行DNN前向计算和权重更新计算;第二图形处理器组,所述第二图形处理器组用于进行DNN前向计算和DNN反向计算;以及控制器组,所述控制器组与所述第一图形处理器组和第二图形处理器组相连,所述控制器组用于控制所述第一图形处理器组和第二图形处理器组分别根据各自的输入数据进行第N层DNN前向计算,直至前向计算完成之后,所述控制器组控制所述第一图形处理器组进行权重更新计算,并控制所述第二图形处理器组进行DNN反向计算,其中,N为正整数。

【技术特征摘要】
1.一种反向传播神经网络DNN的训练系统,其特征在于,包括: 第一图形处理器组,所述第一图形处理器组用于进行DNN前向计算和权重更新计算; 第二图形处理器组,所述第二图形处理器组用于进行DNN前向计算和DNN反向计算;以及 控制器组,所述控制器组与所述第一图形处理器组和第二图形处理器组相连,所述控制器组用于控制所述第一图形处理器组和第二图形处理器组分别根据各自的输入数据进行第N层DNN前向计算,直至前向计算完成之后,所述控制器组控制所述第一图形处理器组进行权重更新计算,并控制所述第二图形处理器组进行DNN反向计算,其中,N为正整数。2.如权利要求1所述的反向传播神经网络DNN的训练系统,其特征在于,还包括: 第一输入输出路由器,所述第一输入输出路由器与所述控制器组相连,且所述第一输入输出路由器与所述第一图形处理器组和第二图形处理器组中的一部分图形处理器相连; 第二输入输出路由器,所述第二输入输出路由器与所述控制器组相连,且所述第二输入输出路由器与所述第一图形处理器组和第二图形处理器组中的另一部分图形处理器相连。3.如权利要求1或2所述的反向传播神经网络DN...

【专利技术属性】
技术研发人员:欧阳剑
申请(专利权)人:百度在线网络技术北京有限公司
类型:发明
国别省市:

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

1