分布式系统中的多模型训练管道技术方案

技术编号:30281608 阅读:25 留言:0更新日期:2021-10-09 21:50
分布式系统的第一工作者节点使用第一神经网络模型以及与该第一神经网络模型相关联的第一组权重而计算第一组梯度。该第一组梯度从该第一工作者节点传输到该分布式系统的第二工作者节点。该第二工作者节点基于该第一组梯度而计算第一组经同步的梯度。在计算该第一组经同步的梯度的同时,该第一工作者节点使用第二神经网络模型以及与该第二神经网络模型相关联的第二组权重而计算第二组梯度。该第二组梯度从该第一工作者节点传输到该第二工作者节点。该第二工作者节点基于该第二组梯度而计算第二组经同步的梯度。计算第二组经同步的梯度。计算第二组经同步的梯度。

【技术实现步骤摘要】
分布式系统中的多模型训练管道

技术介绍

[0001]常被简称为神经网络的人工神经网络是具有基于生物神经网络的体系结构的计算系统。可以使用训练数据来训练神经网络以学习如何进行某些任务,诸如,从图像或视频中辨别物理对象、活动、角色等或将其分类。神经网络可以包含处理节点的多个层。层中的每个处理节点可以对前一层中的处理节点生成的输入数据进行计算,以生成输出数据。例如,处理节点可以进行一组算术运算诸如乘法和加法,以生成中间输出,或者对中间输出进行后处理操作以生成最终输出。神经网络可以包含数千个或更多的处理节点和数百万个或更多的参数。
[0002]神经网络的体系结构可以包含输入层、输出层和许多中间层(常被称为隐藏层)。每一层对前一层的输出执行一次计算,其中最后一层(输出层)提供最终结果。通过较多层,神经网络理论上可以进行较复杂的任务,诸如语言翻译和辨别图像的内容(或将其分类)。具有三个以上隐藏层的神经网络有时被称为深度神经网络。深度神经网络可以具有许多隐藏层,诸如,五层到一千以上层。
[0003]可以使用中央处理单元(CPU)进行计算来实现神经网络。然而,CPU倾向于为依序计算而不是为并行计算而优化,并且因此可能有较差的响应时间。图形处理单元(GPU)为并行计算而优化,但未必为来自一个计算单元的、将直接提供到另一计算单元的结果而优化。通常,首先必须将结果写入到存储器,并且接着读回。虽然GPU相比CPU可以有较好的响应时间,但是仍然需要改进神经网络的执行时间。最近,已开发出专用集成电路装置,诸如神经网络处理器或加速器,可比CPU或GPU较有效地执行神经网络。与CPU和GPU使用的时间体系结构相反,这些装置包含空间体系结构,其中在空间体系结构中,算术逻辑单元(ALU)可以直接将数据从一个单元传递到另一个单元,而在时间体系结构中,ALU只可以从存储器层次结构中提取数据,而无法直接相互通信。
[0004]在训练神经网络进行特定功能时,神经网络的参数(例如,其权重,表示不同处理节点之间的连接的强度)经过多次迭代来进行调整。训练过程涉及向神经网络供应训练数据,该训练数据可以包含训练输入数据和对应的参考输出数据,该参考输出数据可以支持特定决策(例如,图像中的对象的检测或未检测)。神经网络可以进行计算以将权重与训练输入数据组合而生成训练输出数据,并且训练输出数据可以与参考输出数据进行比较以生成误差数据(表示两者之间的差异)。在训练期间,可以将不同训练输入数据提供到神经网络以生成不同训练输出数据。可以基于诸如最小化训练输出数据与参考输出数据之间的差异等目标来调整神经网络的权重。为了提高神经网络生成正确决策的可能性,通常使用覆盖大量操作场景的大量训练输入数据来训练神经网络。因此,训练操作通常需要大量的时间和计算资源。
附图说明
[0005]将参照附图来描述根据本公开的各种实施例,其中:
[0006]图1展示了神经网络的计算流模型的示例;
[0007]图2展示了用于训练神经网络的训练过程的示例;
[0008]图3展示了可以进行神经网络的训练过程的示例分布式系统;
[0009]图4A~图4C展示了由分布式系统进行的各种示例训练步骤;
[0010]图5A~图5C展示了由分布式系统进行的各种示例训练步骤;
[0011]图6A和图6B分别展示了对应于图4A~图4C和图5A~图5C的示例时序图;
[0012]图7A和图7B分别展示了对应于单模型和多模型神经网络训练的同步方案的示例时序图;
[0013]图8A和图8B展示了多模型神经网络训练的示例时序图;
[0014]图9A和图9B展示了多模型神经网络训练的另外示例时序图;
[0015]图10A和图10B展示了多模型神经网络训练的另外示例时序图;
[0016]图11展示了使用分布式系统同时训练神经网络模型的方法;
[0017]图12展示了加速器的示例;
[0018]图13展示了加速引擎的示例;
[0019]图14展示了主机系统的示例;以及
[0020]图15展示了示例网络。
具体实施方式
[0021]在神经网络的训练期间,第一神经网络层可以接收训练输入数据,将训练输入数据与权重组合(例如,通过将训练输入数据与权重相乘,并且接着将乘积相加)以生成神经网络层的第一输出数据,并且在正向传播操作中将输出数据传播到第二神经网络层。第二神经网络层对来自第一神经网络层的第一输出数据进行另一正向传播操作以生成第二输出数据,并且将第二输出数据传播到较高神经网络层。正向传播操作可以在第一神经网络层处开始,并且在最高神经网络层处结束。每个神经网络层处的正向传播操作可以表示从训练输入数据提取信息并对其进行处理的不同阶段。接着,可以基于最高神经网络层的输出数据做出决策。例如,每个神经网络层可以从图像中提取特征和/或对其进行处理,并且可以基于在神经网络层处处理所提取的特征的结果来生成对象是否在图像中的决策。
[0022]可以通过训练过程生成和/或更新神经网络的该组权重,以提高神经网络生成正确决策的可能性。训练过程的一个例子可以是使用梯度下降方案。具体来说,作为训练过程的一部分,可以在每个神经网络层处使用这些权重来对训练输入数据进行正向传播操作,以在最高级神经网络层处生成训练输出数据。训练输出数据可以与支持特定决策的参考输出数据进行比较。可以基于例如训练输出数据与参考输出数据之间的差异来生成一组梯度。
[0023]作为训练过程的一部分,每个神经网络层可以接着进行反向传播过程,以调整每个神经网络层处的该组权重。具体来说,最高神经网络层可以接收该组梯度,并且在反向传播操作中,基于在与正向传播操作类似的数学运算中将该组权重应用到输入数据梯度来计算第一组数据梯度和第一组权重梯度。最高神经网络层可以基于该组第一权重梯度来调整该层的该组权重,而该组第一数据梯度可以传播到第二最高神经网络层以影响前一神经网络层的该组权重的调整。反向传播操作可以从最高神经网络层开始,并且在第一神经网络层处结束。可以调整每个神经网络层处的该组权重,以完成训练过程的一次迭代。可以对同
一训练数据重复训练过程多次迭代,直到达到损失目标(例如,阈值输入数据梯度)为止。
[0024]由于训练过程中涉及的操作之间的依序性质和数据相依性,训练过程通常非常耗时。具体来说,在训练过程中,首先在每个神经网络层处进行正向传播操作以计算输出数据,接着基于输出数据(和参考输出数据)而计算输入数据梯度,接着在每个神经网络层处进行反向传播操作以计算权重梯度,接着在每个神经网络层处更新权重。因为反向传播操作取决于正向传播操作,因此这两组操作不能并行进行。此外,由于神经网络层之间的数据相依性,还需要对每个神经网络层依序进行正向传播操作和反向传播操作。并行性的缺乏可能极大地增加训练时间,当对同一训练输入数据进行训练过程的多次迭代以达到损失目标时,训练时间会进一步增加。此外,训练过程通常涉及向神经网络供应多组训练数据以覆盖不同操作条件,以使得可以训练神经网络能够本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种用于同时训练神经网络模型的分布式系统,该分布式系统包括:第一工作者节点,被配置成:接收第一神经网络模型、与该第一神经网络模型相关联的第一组权重、第二神经网络模型以及与该第二神经网络模型相关联的第二组权重,其中该第二神经网络模型不同于该第一神经网络模型;使用该第一神经网络模型和该第一组权重来计算第一组梯度;随着该第一组梯度中的每一个被计算并且变得可用于传输,通过网络将该第一组梯度传输到该第二工作者节点;此后,使用该第二神经网络模型和该第二组权重来计算第二组梯度;并且随着该第二组梯度中的每一个被计算并且变得可用于传输,通过该网络将该第二组梯度传输到该第二工作者节点;第二工作者节点,被配置成:通过该网络从该第一工作者节点接收该第一组梯度;随着接收该一组梯度中的每一个,基于该第一组梯度和第一组其它接收到的梯度而计算第一组经同步的梯度,其中该第一组经同步的梯度的至少一部分和该第二组梯度的至少一部分是同时计算的;通过该网络将该第一组经同步的梯度传输到该第一工作者节点;通过该网络从该第一工作者节点接收该第二组梯度;随着接收该二组梯度中的每一个,基于该第二组梯度和第二组其它接收到的梯度而计算第二组经同步的梯度;并且通过该网络将该第二组经同步的梯度传输到该第一工作者节点。2.根据权利要求1所述的分布式系统,其中该第一工作者节点被进一步配置成:接收包括训练输入数据和参考输出数据的训练数据,其中该第一组梯度是基于该训练数据而计算的。3.根据权利要求2所述的分布式系统,其中该第二组梯度是基于该训练数据而计算的。4.根据权利要求1所述的分布式系统,其中该第一组梯度包含该第一神经网络模型的第一层的梯度和该第一神经网络模型的第二层的梯度,其中该第二层的梯度是在该第一层的梯度之前计算的。5.一种方法,包括:在分布式系统的第一工作者节点处,使用第一神经网络模型以及与该第一神经网络模型相关联的第一组权重而计算第一组梯度;将该第一组梯度从该第一工作者节点传输到该分布式系统的第二工作者节点,该第二工作者节点被配置成基于该第一组梯度而计算第一组经同步的梯度;在计算该第一组经同步的梯度的同时,在该第一工作者节点处,使用第二神经网络模型以及与该第二神经网络模型相关联的第二组权重而计算第二组梯度;以及将该第二组梯度从该第一工作者节点传输到该第二工作者节点,该第二工作者节点被配置成基于该第二组梯度而计算第二组经同步的梯度。6.根据权利要求5所述的方法,进一步包括:从该第二工作者节点接收该第一组经同步的梯度;以及
使用该第一组经同步的梯度而调整该第一组权重。7.根据权利要求6所述的方法,其中该第一组权重的至少一部分是在该第二组经同步的梯度的至少一部分得...

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

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

1