使用部分梯度更新的推测性训练制造技术

技术编号:30222223 阅读:25 留言:0更新日期:2021-09-29 09:42
本申请公开了使用部分梯度更新的推测性训练。处理节点之间权重梯度的交换会给训练过程带来实质性的瓶颈。处理节点可以使用处理节点的局部权重梯度更新其自身的权重集合以用于训练过程的下一次迭代,而不是在权重梯度交换过程期间保持空闲。通过使用这些推测性权重直到权重梯度交换过程完成并且全局权重更新可用,可以开始训练的下一次迭代。如果推测性权重与来自全局权重更新的权重值足够接近,则处理节点处的训练过程可以使用从推测性权重计算出的结果继续训练,以减少整体训练时间。以减少整体训练时间。以减少整体训练时间。

【技术实现步骤摘要】
使用部分梯度更新的推测性训练
相关申请的交叉引用
[0001]本申请要求于2020年3月26日提交的第16/831060号美国专利申请的优先权的权益。

技术介绍

[0001]神经网络可用于执行诸如识别图像中的对象之类的任务。在神经网络中,输入数据与权重组合以使用激活函数导出输出数据。例如,神经网络可以将图像作为输入数据,并输出某些对象处于图像中的决策或可能性。神经网络中使用的权重的集合可以通过训练过程来确定,在训练过程中,神经网络可以学习如何为应用程序执行某些计算任务。训练过程涉及向神经网络提供训练输入数据和支持特定决策(例如,在图像中检测到或未检测到对象)的对应的参考输出。神经网络可以执行计算以将权重与训练输入数据相结合,以生成训练输出数据,训练输出数据与参考输出数据相比较,以评定神经网络模型的准确性。在训练期间,可以提供不同的训练输入数据集来生成不同的训练输出数据集。神经网络的权重可以被调整成使训练输出数据和参考输出数据之间的差异最小化。为了改善神经网络生成正确决策的可能性,可以使用覆盖大量场景的大量训练输入数据来训练神经网络。因此,训练神经网络可能花费许多时间和计算资源。
附图说明
[0002]将参考附图来描述根据本公开的各实施例,其中:
[0003]图1图示出分类器设备的示例;
[0004]图2图示出预测模型的示例的简化框图;
[0005]图3图示出使用预测模型执行的操作的示例的简化框图;
[0006]图4图示出神经网络的训练过程的示例;
[0007]图5图示出分布式系统的示例的示图;
[0008]图6图示出训练过程的示例的时序图;
[0009]图7图示出训练过程的另一示例的时序图;
[0010]图8图示出训练过程的进一步示例的时序图;
[0011]图9图示出训练过程的示例的流程图;
[0012]图10图示出训练过程的另一示例的流程图;
[0013]图11图示出计算设备的示例的框图;
[0014]图12图示出计算设备的另一示例的框图;
[0015]图13图示出集成电路设备的示例的框图;
[0016]图14包括加速引擎的示例的框图;
[0017]图15包括主机系统的示例的框图;以及
[0018]图16包括示例网络的示图。
具体实施方式
[0019]神经网络通常包括多个级联的神经网络层,每个神经网络层与权重集合相关联。在推断操作中,第一神经网络层可以接收输入数据集,将输入数据集与权重相结合(例如,通过将输入数据集与权重相乘,并且然后对乘积求和)以生成该层的第一输出数据集,并在前向传播操作中将输出数据集传播到第二神经网络层。第二神经网络层对来自第一层的第一输出数据集执行另一前向传播操作集合,以生成第二输出数据集,并将第二输出数据集传播到更高的神经网络层。前向传播操作可以在第一神经网络层处开始,并在最高神经网络层处结束。在每个神经网络层处的前向传播操作可以表示对来自输入数据集的信息进行提取和处理的不同阶段。然后,可以基于最高神经网络层的输出数据做出决策。例如,每个神经网络层可以从图像中提取和/或处理特征,并且可以基于在神经网络层处对所提取的特征进行处理的结果来生成图像中是否有对象的决策。
[0020]神经网络的权重集合可以通过训练过程来生成和/或更新,以改善神经网络输出正确决策的可能性。示例训练过程可以使用梯度下降方案。作为训练过程的一部分,可以使用每个神经网络层处的权重集合对训练输入数据集执行前向传播操作,以在最高级神经网络层处生成训练输出数据集。训练输出数据集可与参考输出数据集进行比较,以确定神经网络模型对训练输入数据进行操作的误差,并且该误差可以用来调整模型的权重,以改善神经网络的准确性。
[0021]作为训练过程的一部分,每个神经网络层可以执行后向传播操作,以调整每个神经网络层处的权重集合。在后向传播期间,训练输出数据集与参考输出数据集之间的误差或差异从最高神经网络层向后往回向后朝向第一神经网络层传播。在每一层处,基于误差计算出权重梯度集合,以确定对每个权重值做出的调整的量。当每一层的权重已被调整时,训练过程的一次迭代完成。然后可以利用经更新的权重执行训练过程的下一次迭代,并且可以针对多次迭代重复训练过程,直到实现损失目标,诸如使误差最小化或直到误差降低到某个阈值。
[0022]由于所涉及的操作之间的顺序性质和数据依赖性,训练过程可能非常耗时。如上所述,首先执行前向传播操作以计算训练输出数据集,并且然后执行后向传播操作以计算权重梯度。然后可以使用权重梯度更新每个神经网络层处的权重。由于后向传播操作与前向传播操作之间的数据依赖性,这两个操作集合不能并行地执行。此外,直到权重值被更新,才能够开始训练过程的下一次迭代。缺乏并行性会急剧地增加训练时间,当对训练过程执行多次迭代以实现损失目标时,训练时间进一步增加。此外,训练过程通常涉及向神经网络提供多个训练输入数据集合以覆盖不同的输入场景,使得可以训练神经网络以在宽泛的输入范围内提供正确的决策。实现神经网络的计算系统将需要对大量的输入数据集执行训练,这进一步增加了训练时间。训练过程还可能要求比推断操作更高的精度,导致对计算资源的附加压力。
[0023]加速训练过程的一种方式是通过使用分布式系统,在该分布式系统中,训练过程跨多个计算设备分布,这些计算设备中的每一个计算设备可以被配置为处理节点。训练输入数据集可以被分割成多个部分,其中每个部分用于由处理节点处理。每个处理节点可以基于训练输入数据的部分独立地执行前向传播和后向传播操作,以生成用于每个神经网络层的权重梯度集合。在训练过程的每次迭代时,每个处理节点可以与其他处理节点交换其
权重梯度集合,并对其权重梯度集合和从其他处理节点接收到的权重梯度集合求平均。然后,每个处理节点可以基于针对那个层计算出的平均权重梯度来更新用于每个神经网络层的权重集合。
[0024]将训练过程跨多个处理节点分布可以减少在每个处理节点处处理的训练数据量,这可以减少在每个神经网络层处的前向传播操作和后向传播操作的完成时间,从而加速训练过程。然而,处理节点之间权重梯度的交换会给训练过程引入实质性的瓶颈。例如,在其中分布式系统处于云基础设施中并且处理节点通过发送网络数据分组彼此交换权重梯度的情况下,网络等待时间相对于完成前向/后向传播操作的时间可能是相当大的。这可能会导致每个处理节点在等待下一权重集合对于训练过程的下一次迭代变得可用时处于空闲。由此,用于交换权重梯度的网络等待时间会减小由分布式系统带来的训练时间的减少,或者如果使用大量处理节点则甚至增加训练时间。
[0025]根据一些实现方式,为了改善系统的吞吐量,每个处理节点可以使用局部权重梯度更新其自身的权重集合以生成推测性权重集合,而不是在等待下一权重集合通过梯度交换过程变得可用时保持空闲。当梯度交换过程正被并行地执行以获得下一权重集合时,训练过程的下一次迭代可以使用推测性权重集合来执行。当下一权重集合变得可用时,可以将从本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种方法,包括:由神经网络训练系统中的多个处理节点中的处理节点使用第一权重集合执行训练过程的第一迭代以生成第一输出数据集;由所述处理节点基于所述第一输出数据集与参考输出数据集的比较导出局部权重梯度集合;由所述处理节点使用所述局部权重梯度集合来更新所述第一权重集合,以导出推测性权重集合;以及由所述处理节点在等待获得用于所述训练过程的第二迭代的第二权重集合时,使用所述推测性权重集合执行所述训练过程的所述第二迭代以生成第二输出数据集。2.如权利要求1所述的方法,进一步包括:获得用于所述训练过程的所述第二迭代的所述第二权重集合;以及确定所述第二权重集合与所述推测性权重集合之间的差异。3.如权利要求2所述的方法,进一步包括:确定所述第二权重集合与所述推测性权重集合之间的差异处于阈值差异或低于阈值差异;以及使用从所述推测性权重集合生成的所述第二输出数据集继续所述训练过程。4.如权利要求2所述的方法,进一步包括:确定所述第二权重集合与所述推测性权重集合之间的差异超过阈值差异;以及使用所述第二权重集合而不是所述推测性权重集合重复所述训练过程的所述第二迭代。5.如权利要求1

4中任一项所述的方法,其特征在于,所述第二权重集合从所述神经网络训练系统的另一处理节点获得。6.如权利要求1

4中任一项所述的方法,其特征在于,所述第二权重集合通过以下步骤获得:累积多个局部权重梯度集合,每个局部权重梯度集合由所述神经网络训练系统的所述多个处理节点中的对应处理节点导出;对所述局部权重梯度集合求平均,以导出平均权重梯度集合;以及使用所述平均权重梯度集合更新所述第一权重集合以生成所述第二权重集合。7.如权利要求1

4中任一项所述的方法,进一步包括:在所述训练过程的预定次数的迭代之后执行权重同步操作,以跨所述神经网络训练系统的所述多个处理节点同步权重值。8.如权利要求1

4中任一项所述的方法,其特征在于,所述多个处理节点经由网络彼此通信地耦合。9.一种计算设备,包括:神经网络计算电路;处理器,以及存储代码的存储器,当所述代码由所述处理器执行时,使得所述计算设备实现包括以下各项的操作:使用所述神经网络计算电路、利用第一权重集合执行训练过程的第一迭代,以生成第
一输出数据集;基于所述第一输出数据集与预期输出数据集的比较来导出局部权重梯度集合;使用所述局部权重梯度集合更新所述第一权重集合,以导出推测性权重集合;当等待用于所述训练过程的第二迭代的第二权重集合变得可用时,使用所述神经网络计算电路、利用所述推测性权重...

【专利技术属性】
技术研发人员:P
申请(专利权)人:亚马逊技术股份有限公司
类型:发明
国别省市:

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

1