【技术实现步骤摘要】
神经网络模型的训练方法、装置、系统及存储介质
[0001]本申请实施例涉及人工智能(artificial intelligence,AI)
,特别涉及一种神经网络模型的训练方法、装置、系统及存储介质。
技术介绍
[0002]随着AI技术的发展,神经网络模型的结构越来越复杂,在这种情况下,通过单台设备对神经网络模型进行训练时,可能会由于设备的图像处理单元(graphics processing unit,GPU)性能有限而导致无法完成训练。基于此,当前可以采用分布式训练系统对神经网络模型进行训练。
[0003]分布式训练系统通常包括多个训练节点,每个训练节点可以用于对神经网络模型中的一个或多个模型分段进行训练。以分布式训练系统包括4个训练节点,每个训练节点用于训练一个模型分段为例,这样,在前向传播的过程中,第一个训练节点通过第一个模型分段对输入的数据批进行处理,存储该第一个模型分段得到的该数据批的层间数据以供后续反向传播时使用,与此同时,输出第一个模型分段得到的该数据批的层间数据至第二个训练节点。第二个训练节点将第一个模型分段的层间数据作为第二个模型分段的输入数据,通过第二个模型分段对该层间数据进行处理,得到第二个模型分段对应的该数据批的层间数据,存储第二个模型分段对应的该数据批的层间据以供后续反向传播时使用,并将其输出至第三个训练节点,以此类推。最后一个训练节点在通过最后一个模型分段对自身的上一个训练节点输出的层间数据进行处理,输出最终的前向传播数据,将该最终的前向传播数据与数据批的标签进行对比,并使用 ...
【技术保护点】
【技术特征摘要】
1.一种神经网络模型的训练方法,其特征在于,应用于第一训练节点,所述第一训练节点为分布式训练系统中的多个训练节点中的一个训练节点,所述多个训练节点中的每个训练节点上部署有神经网络模型的一个或多个模型分段,所述方法包括:获取模型分段更新信息,所述模型分段更新信息是在所述多个训练节点上的当前模型分段不平衡的情况下确定的用于重新对所述神经网络模型进行分段的信息;如果根据所述模型分段更新信息确定第一模型分段为待更新的模型分段,则根据所述模型分段更新信息对所述第一模型分段进行调整,所述第一模型分段为所述第一训练节点上的当前模型分段;确定调整后的第一模型分段内的各个层的层间数据的存储管理策略;根据所述调整后的第一模型分段和确定的各个层的层间数据的存储管理策略进行训练。2.根据权利要求1所述的方法,其特征在于,当所述第一训练节点为所述神经网络模型的最后一个模型分段所在的训练节点时,所述获取模型分段更新信息之前,还包括:获取所述神经网络模型的各个当前模型分段的分段执行时间;如果任意两个当前模型分段的分段执行时间的差值大于时间差阈值,则确定所述多个训练节点上的当前模型分段不平衡。3.根据权利要求2所述的方法,其特征在于,所述获取模型分段更新信息,包括:根据所述神经网络模型中多个层的执行顺序,将所述神经网络模型中的多个层划分为多个簇,所述多个簇中的每个簇包括簇起始层、簇中间层和簇终止层,所述簇起始层的输出数据为多个簇中间层的输入数据,所述簇终止层的输入数据为多个簇中间层的输出数据;根据预设的模型分段数量,对划分得到的多个簇进行划分,得到多个更新模型分段,其中,每个更新模型分段包括一个或多个簇;根据所述多个更新模型分段,生成模型分段更新信息。4.根据权利要求1
‑
3任一所述的方法,其特征在于,所述模型分段更新信息用于指示每个训练节点上的更新模型分段,所述获取模型分段更新信息之后,还包括:如果所述第一训练节点上的当前模型分段与所述模型分段更新信息所指示的所述第一训练节点上的更新模型分段不一致,则根据所述模型分段更新信息,从所述第一训练节点上的各个当前模型分段中确定待更新的模型分段。5.根据权利要求1或4所述的方法,其特征在于,所述根据所述模型分段更新信息对所述第一模型分段进行调整,包括:如果根据所述模型分段更新信息确定所述第一模型分段中存在待迁移层,则向目标训练节点发送迁移准备通知,以使所述目标训练节点根据所述迁移准备通知生成所述待迁移层的初始化层,所述目标训练节点是指所述待迁移层所要迁移至的训练节点;在接收到所述目标训练节点的准备完成通知,且当前正在进行的前向传播完成后,将所述待迁移层对应的多个数据批的层间数据中的指定数据批的层间数据发送至所述目标训练节点,并在当前正在进行的反向传播完成后,将所述待迁移层的更新参数发送至所述目标训练节点,所述指定数据批是指所述目标训练节点中还未完成反向传播的数据批;删除所述待迁移层。6.根据权利要求1
‑
5任一所述的方法,其特征在于,所述存储管理策略包括交换策略和
重算策略,所述交换策略是指在前向传播时将产生的层间数据暂存至中央处理单元CPU的内存中以供反向传播时读取,所述重算策略是指不对层间数据进行存储,在反向传播时重新计算层间数据,所述确定调整后的第一模型分段内的各个层的层间数据的存储管理策略,包括:根据调整后的第一模型分段判断是否对所述第一训练节点进行存储优化;如果确定对所述第一训练节点进行存储优化,则根据调整后的第一模型分段内的各个层的交换开销和重算开销,对调整后的第一模型分段内的多个层的层间数据的存储管理策略进行重置,所述交换开销是指采用所述交换策略对相应层的层间数据进行管理时所对应的时间开销,所述重算开销是指采用所述重算策略对相应层的层间数据进行管理时所对应的时间开销。7.根据权利要求6所述的方法,其特征在于,所述根据调整后的第一模型分段判断是否对所述第一训练节点进行存储优化,包括:如果调整后的第一模型分段所需的运行内存大小不小于第一图形处理单元GPU的内存的上限值,则确定对所述第一训练节点进行存储优化,所述第一GPU是指运行调整后的第一模型分段的GPU。8.根据权利要求6或7所述的方法,其特征在于,所述方法还包括:如果调整后的第一模型分段所需的运行内存大小小于所述第一GPU的内存的上限值,且调整后的第一模型分段的多个层中存在层间数据的存储管理策略为所述重算策略的层,则确定对所述第一训练节点进行存储优化,所述第一GPU是指运行调整后的第一模型分段的GPU。9.根据权利要求6
‑
8任一所述的方法,其特征在于,所述根据调整后的第一模型分段内的各个层的交换开销和重算开销,对调整后的第一模型分段内的多个层的层间数据的存储管理策略进行重置,包括:按照调整后的第一模型分段内的各个层的交换开销和重算开销之间的开销比值从大到小的顺序,对调整后的第一模型分段内的各个层进行排序;将排序后的多个层中的第一个待重置层的层间数据的存储管理策略重置为所述交换策略;如果已重置为所述交换策略的层的交换开销总和小于时长阈值,则将排序后的多个层中下一个待重置层的层间数据的存储管理策略重置为所述交换策略,直至已重置为所述交换策略的层的交换开销总和不小于所述时长阈值为止,判断调整后的第一模型分段所需的运行内存大小是否小于第一GPU的内存的上限值;如果调整后的第一模型分段所需的运行内存大小不小于所述第一GPU的内存的上限值,则将排序后的多个层中下一个待重置层的层间数据的存储管理策略重置为所述重算策略,直至调整后的第一模型分段所需的运行内存大小小于所述第一GPU的内存的上限值为止。10....
【专利技术属性】
技术研发人员:赵世雄,李凡鑫,崔鹤鸣,王森,王鹏,张弓,
申请(专利权)人:华为技术有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。