System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 一种分布式训练方法、装置和存储介质制造方法及图纸_技高网

一种分布式训练方法、装置和存储介质制造方法及图纸

技术编号:41070711 阅读:6 留言:0更新日期:2024-04-24 11:26
一种分布式训练方法、装置和存储介质。该分布式训练方法包括:获取N个输入数据中的第n‑1个输入数据和第n个输入数据;通过第n‑1个处理器获取第n‑1个输入数据和第n个输入数据对应的第一损失函数;通过第n个处理器获取第n‑1个输入数据和第n个输入数据对应的第二损失函数;基于N个输入数据的第一损失函数和第二损失函数获取梯度标量;基于梯度标量更新神经网络的权重参数;N为大于0的偶数,n为大于1小于等于N的整数。该分布式训练方法大大的提高了数据处理的效率。

【技术实现步骤摘要】

本公开的实施例涉及数据处理,具体地,涉及一种用于神经网络前向传播的分布式训练方法、装置和存储介质


技术介绍

1、在人工智能领域,神经网络的训练过程至关重要。一般地实现方式中,通常按照反向传播算法(back propagation)来进行梯度回传,从而对神经网络的模型参数进行训练,以使得神经网络的输出趋近于训练目标。经过训练的神经网络能有效应用于诸如图像处理、机器翻译等应用领域。反向传播算法中需要使用自动微分(auto-differentiation)对目标损失函数进行反向传播来获得每一层网络模型的权重参数的梯度,从而更新其权重参数。使用自动微分的反向传播算法对内存量具有较高要求,以用于存储中间变量和优化器状态,此外,还对硬件的计算能力具有较高要求,以实现大量的自动微分计算,这限制了神经网络的训练过程,尤其不利于大型网络模型的训练。

2、相对于反向传播训练方法,前向插分训练方法能够突破以上关于内存和硬件的限制。具体的,前向插分训练方法使用了插分法(finite-difference)来近似梯度,只需要进行网络模型的前向操作,而不需要存储额外的反向中间变量,也不需要进行自动微分计算,节省了计算量,为大型神经网络的训练方案提供了更优解。

3、当数据的规模越来越大,训练一个完整模型所需的时间越来越长,为了加速训练,可以通过分布式训练的方式,通过拓展设备数量来压缩训练时间,达到近乎线性的加速比。


技术实现思路

1、本公开至少一个实施例提供一种用于神经网络前向传播的分布式训练方法,通过n个处理器执行,其中,所述分布式训练方法包括:获取n个输入数据中的第n-1个输入数据和第n个输入数据;通过第n-1个处理器获取所述第n-1个输入数据和第n个输入数据对应的第一损失函数;通过第n个处理器获取所述第n-1个输入数据和所述第n个输入数据对应的第二损失函数;基于所述n个输入数据的第一损失函数和第二损失函数获取梯度标量;基于所述梯度标量更新所述神经网络的权重参数;n为大于0的偶数,n为大于1小于等于n的整数。

2、例如,在本公开至少一实施例提供的分布式训练方法中,通过第n-1个处理器获取所述第n-1个输入数据和第n个输入数据对应的第一损失函数,包括:获取第一随机种子,基于所述第一随机种子逐层生成第一随机扰乱张量;基于所述第一随机扰乱张量和所述神经网络的原始权重生成第一扰乱权重;基于所述第一扰乱权重生成所述第n-1个输入数据和所述第n个输入数据对应的第一损失函数。

3、例如,在本公开至少一实施例提供的分布式训练方法中,所述第n-1个输入数据和所述第n个输入数据对应的第一损失函数包括:通过一次前向计算获得的所述第n-1个输入数据对应的第一损失函数和所述第n个输入数据对应的第一损失函数。

4、例如,在本公开至少一实施例提供的分布式训练方法中,通过第n个处理器获取所述第n-1个输入数据和第n个输入数据对应的第二损失函数,包括:获取所述第一随机种子,基于所述第一随机种子逐层生成所述第一随机扰乱张量;基于所述第一随机扰乱张量和所述神经网络的原始权重生成第二扰乱权重;基于所述第二扰乱权重生成所述第n-1个输入数据和所述第n个输入数据对应的第二损失函数。

5、例如,在本公开至少一实施例提供的分布式训练方法中,所述第n-1个输入数据和所述第n个输入数据对应的第二损失函数包括:通过一次前向计算获得的所述第n-1个输入数据对应的第二损失函数和所述第n个输入数据对应的第二损失函数。

6、例如,本公开至少一实施例提供的分布式训练方法还包括:获取第二随机种子,基于所述第二随机种子逐层生成第二随机扰乱张量;基于所述第二随机扰乱张量将所述第一扰乱权重和所述第二扰乱权重恢复至所述原始权重。

7、例如,在本公开至少一实施例提供的分布式训练方法中,基于所述n个输入数据的第一损失函数和所述第二损失函数获取梯度标量,包括:所述第n-1个处理器从所述第n个处理器读取所述第二损失函数,从其余n-2个处理器中读取其余的输入数据对应的第一损失函数和第二损失函数;基于所述n个输入数据的第一损失函数和所述第二损失函数获取所述n个输入数据的梯度标量。

8、例如,在本公开至少一实施例提供的分布式训练方法中,基于所述梯度标量更新所述神经网络的权重参数包括:获取第三随机种子,基于所述第三随机种子逐层生成第三随机扰乱张量;基于所述第三随机扰乱张量和所述n个输入数据的梯度标量的平均梯度标量获取平均梯度张量;基于所述平均梯度张量更新所述神经网络的权重参数。

9、本公开至少一实施例还提供一种用于神经网络前向传播的分布式训练装置,包括并行连接的n个处理器,其中,所述n个处理器中的第n-1个处理器和第n个处理器包括:获取单元,配置为获取n个输入数据中的第n-1个输入数据和第n个输入数据;损失函数获取单元,配置为:对于所述第n-1个处理器,获取所述n个输入数据中第n-1个输入数据和第n个输入数据对应的第一损失函数;对于所述第n个处理器,获取所述第n-1个输入数据和所述第n个输入数据对应的第二损失函数;梯度标量获取单元,配置为调用其余处理器中获得的第一损失函数和第二损失函数,并基于所述n个输入数据的第一损失函数和第二损失函数获取梯度标量;更新单元,配置为基于所述梯度标量更新所述神经网络的权重参数;其中,n为大于0的偶数,n为大于1小于等于n的整数。

10、例如,在本公开至少一实施例提供的训练装置中,所述第n-1个处理器的损失函数获取单元还配置为:获取第一随机种子,基于所述第一随机种子逐层生成第一随机扰乱张量;基于所述第一随机扰乱张量和所述神经网络的原始权重生成第一扰乱权重;基于所述第一扰乱权重生成所述第n-1个输入数据和所述第n个输入数据对应的第一损失函数。

11、例如,在本公开至少一实施例提供的训练装置中,所述第n-1个输入数据和所述第n个输入数据对应的第一损失函数包括:通过一次前向计算获得的所述第n-1个输入数据对应的第一损失函数和所述第n个输入数据对应的第一损失函数。

12、例如,在本公开至少一实施例提供的训练装置中,所述第n个处理器的损失函数获取单元还配置为:获取所述第一随机种子,基于所述第一随机种子逐层生成所述第一随机扰乱张量;基于所述第一随机扰乱张量和所述神经网络的原始权重生成第二扰乱权重;基于所述第二扰乱权重生成所述第n-1个输入数据和所述第n个输入数据对应的第二损失函数。

13、例如,在本公开至少一实施例提供的训练装置中,所述第n-1个输入数据和所述第n个输入数据对应的第二损失函数包括:通过一次前向计算获得的所述第n-1个输入数据对应的第二损失函数和所述第n个输入数据对应的第二损失函数。

14、例如,在本公开至少一实施例提供的训练装置中,所述第n-1个处理器和第n个处理器还包括:第二随机扰乱张量获取单元,配置为获取第二随机种子,基于所述第二随机种子逐层生成第二随机扰乱张量;恢复单元,配置为:对于所述第n-1个处理器,本文档来自技高网...

【技术保护点】

1.一种用于神经网络前向传播的分布式训练方法,通过N个处理器执行,其中,所述分布式训练方法包括:

2.根据权利要求1所述的分布式训练方法,其中,通过第n-1个处理器获取所述第n-1个输入数据和所述第n个输入数据对应的第一损失函数,包括:

3.根据权利要求1或2所述的分布式训练方法,其中,所述第n-1个输入数据和所述第n个输入数据对应的第一损失函数包括:

4.根据权利要求2所述的分布式训练方法,其中,通过第n个处理器获取所述第n-1个输入数据和所述第n个输入数据对应的第二损失函数,包括:

5.根据权利要求4所述的分布式训练方法,其中,所述第n-1个输入数据和所述第n个输入数据对应的第二损失函数包括:

6.根据权利要求4所述的分布式训练方法,还包括:

7.根据权利要求6所述的分布式训练方法,其中,基于所述N个输入数据的第一损失函数和第二损失函数获取梯度标量,包括:

8.根据权利要求7所述的分布式训练方法,其中,基于所述梯度标量更新所述神经网络的权重参数包括:

9.一种用于神经网络前向传播的分布式训练装置,包括并行连接的N个处理器,其中,所述N个处理器中的第n-1个处理器和第n个处理器包括:

10.根据权利要求9所述的分布式训练装置,其中,所述第n-1个处理器的损失函数获取单元还配置为:

11.根据权利要求9所述的分布式训练装置,其中,所述第n-1个输入数据和所述第n个输入数据对应的第一损失函数包括:

12.根据权利要求10所述的分布式训练装置,其中,所述第n个处理器的损失函数获取单元还配置为:

13.根据权利要求12所述的分布式训练装置,其中,所述第n-1个输入数据和所述第n个输入数据对应的第二损失函数包括:

14.根据权利要求12所述的分布式训练装置,其中,所述第n-1个处理器和第n个处理器还包括:

15.根据权利要求14所述的分布式训练装置,其中,所述第n-1个处理器的梯度标量获取单元配置为:

16.根据权利要求15所述的分布式训练装置,其中,所述更新单元还配置为:

17.一种分布式训练装置,包括:

18.一种存储介质,非暂时性地存储计算机可读指令,当所述计算机可读指令由计算机执行时执行根据权利要求1-8任一所述的分布式训练方法。

...

【技术特征摘要】

1.一种用于神经网络前向传播的分布式训练方法,通过n个处理器执行,其中,所述分布式训练方法包括:

2.根据权利要求1所述的分布式训练方法,其中,通过第n-1个处理器获取所述第n-1个输入数据和所述第n个输入数据对应的第一损失函数,包括:

3.根据权利要求1或2所述的分布式训练方法,其中,所述第n-1个输入数据和所述第n个输入数据对应的第一损失函数包括:

4.根据权利要求2所述的分布式训练方法,其中,通过第n个处理器获取所述第n-1个输入数据和所述第n个输入数据对应的第二损失函数,包括:

5.根据权利要求4所述的分布式训练方法,其中,所述第n-1个输入数据和所述第n个输入数据对应的第二损失函数包括:

6.根据权利要求4所述的分布式训练方法,还包括:

7.根据权利要求6所述的分布式训练方法,其中,基于所述n个输入数据的第一损失函数和第二损失函数获取梯度标量,包括:

8.根据权利要求7所述的分布式训练方法,其中,基于所述梯度标量更新所述神经网络的权重参数包括:

9.一种用于神经网络前向传播的分布式训练装置,包括并行连接的n个处理器...

【专利技术属性】
技术研发人员:请求不公布姓名请求不公布姓名
申请(专利权)人:上海壁仞科技股份有限公司
类型:发明
国别省市:

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

1