System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本申请涉及机器学习,尤其涉及一种模型训练方法、装置、设备、系统和存储介质。
技术介绍
1、神经网络(neural network)模型(下文简称为“模型”)广泛应用于计算机视觉(computer vision,cv)、语音识别、自然语言处理(natural language processing,nlp)等领域。为提高模型的训练效率,常采用分布式数据并行训练方式对模型进行训练。该训练方式下,分布式训练系统包括管理设备和多个计算设备,每个计算设备维护相同的模型参数和相同的计算任务,也即每个计算设备部署相同的待训练的模型,但不同的计算设备处理不同的训练数据。每个计算设备完成各自的数据计算过程后,获取模型在反向传播过程中确定的梯度,并将该梯度发送到用于执行模型的梯度规约的设备,如管理设备或其他计算设备。以管理设备执行梯度规约为例,该管理设备对所有的梯度进行处理后得到更新信息,并根据该更新信息对模型进行更新获取目标模型。
2、在模型的训练过程中,梯度的通信占用了大量的时间。为减少梯度的传输时长,管理设备采用固定容量的梯度融合方法:计算设备将模型中的多个任务产生的梯度打包后进行传输,打包后的梯度量小于或等于该预设的固定容量。然而,固定容量过小会使管理设备和计算设备之间的通信开销增大且带宽利用率较低;固定容量过大会使计算设备中最后传输的梯度量较大,导致分布式训练系统中存在较大的通信拖尾时长。从而,导致模型的训练时间增加,模型训练的效率受到影响。
技术实现思路
1、本申请提供了一种模
2、第一方面,本申请提供了一种模型训练方法。该模型训练方法应用于分布式训练系统,该分布式训练系统包括管理设备和多个计算设备,每个计算设备部署有待训练的模型,且该模型包括多个算子。该模型训练方法包括:管理设备获取模型的执行信息以及多个计算设备的数据传输性能。该执行信息包括:多个算子的执行顺序、执行时长和多个梯度的数据量,一个梯度对应一个算子。以及,管理设备根据执行信息以及多个计算设备的数据传输性能,确定模型的梯度传输策略,并将梯度传输策略应用于模型的训练。其中的梯度传输策略用于指示在训练模型时各计算设备进行梯度融合传输的方式。
3、在本实施例中,管理设备可根据模型的执行信息获取到适配于多个计算设备的数据传输性能的梯度传输策略,在该梯度传输策略应用到模型的训练过程的情况下,每个计算设备每次传输的梯度的数据量都能与计算设备的数据传输性能相匹配。从而,计算设备的数据传输性能不会因为每次传输的梯度数据量较小导致通信开销增大的问题。以及,在计算设备的数据传输性能较优的情况下,梯度传输策略可使每次传输的梯度数据量增大,以提高分布式训练系统对数据传输性能的利用能力。而且,由于梯度传输策略有效地利用了计算设备的数据传输性能,使得每个计算设备所要传输的最后一组数据也能与该计算设备的数据传输性能相适应,有利于降低计算设备和管理设备每次通信的梯度拖尾时延,从而减少模型的训练时间,提高模型的训练效率。
4、示例性的,该梯度传输策略使任一计算设备中的梯度进行至少一次通信算子融合,且任一计算设备中产生顺序在后的k个梯度的融合数据的传输时长最短,k为正整数。
5、在一种可选的实现方式中,管理设备根据执行信息以及多个计算设备的数据传输性能,确定模型的梯度传输策略,可以包括:管理设备根据执行信息和多个计算设备的数据传输性能,预测符合第一寻优条件的一个或多个候选梯度传输策略。以及,管理设备从一个或多个候选梯度传输策略中确定符合第二寻优条件的梯度传输策略。其中的第一寻优条件用于指示计算设备中产生顺序在后的k个梯度的融合数据的传输时长最短,k为正整数;第二寻优条件用于指示分布式训练系统的梯度的传输次数最少。
6、在管理设备将梯度传输策略应用到模型训练过程中的情况下,每个计算设备中最后传输的梯度数据的数据传输时长最短,即梯度拖尾时长最小,有利于减少模型的训练时间,提升模型的训练效率。
7、在一种可选的实现方式中,管理设备根据执行信息和多个计算设备的数据传输性能,预测符合第一寻优条件的一个或多个候选梯度传输策略,包括:管理设备根据执行信息和多个计算设备的数据传输性能构建目标函数,并按照第一寻优条件求解目标函数,获取一个或多个候选梯度传输策略。
8、示例性的,该目标函数包括:第一函数、第二函数、第三函数、第四函数和第五函数。第一函数用于:最小化每个梯度的产生时间和传输时长之和。第二函数用于:选择第一梯度的传输结束时间和第二梯度的产生时间中的最大值;第一梯度的产生顺序和第二梯度的产生顺序相邻,且第一梯度的产生顺序在第二梯度的产生顺序之前。第三函数用于:根据每个梯度的数据量以及每个梯度所在的计算设备的数据传输性能确定每个梯度的传输时长。第四函数用于:确定第一梯度的产生时间和通信时间之和为第一梯度的传输结束时间。第五函数用于:确定多次通信的数据量之和为模型的所有梯度的数据量。
9、在本实施例中,前述的梯度传输策略中使得梯度的产生顺序在后(即算子的执行顺序在前)的k个算子的数据传输时长最短,因此,在管理设备将梯度传输策略应用到模型训练过程中的情况下,每个计算设备中最后传输的梯度数据的数据传输时长最短,即梯度拖尾时长最小,有利于减少模型的训练时间,提升模型的训练效率。
10、值得注意的是,不同计算设备之间的数据通信过程都不可避免的存在梯度拖尾时长,本实施例中管理设备采用的寻优条件可用于减少训练策略指示的数据传输次数。在每次通信的梯度拖尾时长不变或者差异不大的情况下,数据传输次数越少,模型训练所需的总梯度拖尾时长越小,减少了不同计算设备之间的梯度传输时长,从而减少模型的训练时间,提高模型的训练效率。
11、在一种可选的实现方式中,管理设备获取多个计算设备的数据传输性能,包括:管理设备对多个计算设备进行通信处理,获取多个计算设备的通信画像,并根据多个计算设备的通信画像,获取多个计算设备的数据传输性能。其中的通信处理包括通信建模或通信仿真中至少一种,该通信画像用于指示每个计算设备传输不同通信量的数据的通信时延。
12、在本实施例中,管理设备可将获取的数据传输性能用于对模型的梯度传输过程进行优化,以获取使数据传输性能的利用率尽可能的大且梯度拖尾时长尽可能短的梯度传输策略,使模型的训练效率提高。
13、在一种可选的实现方式中,管理设备获取模型的执行信息,包括:管理设备指示多个计算设备对模型进行至少一轮训练,获取模型的中间表示(intermediaterepresentation,ir)图和性能数据;该性能数据用于指示多个算子的执行顺序和执行时长。以及,管理设备根据ir图获取模型中每个梯度的数据量以及产生顺序,并根据性能数据和模型中每个梯度的数据量以及产生顺序,获取前述的执行信息。
14、相较于该模型在单独的计算设备上进行本文档来自技高网...
【技术保护点】
1.一种模型训练方法,其特征在于,所述方法由管理设备执行,所述管理设备位于用于训练模型的分布式训练系统,所述分布式训练系统还包括多个计算设备,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,所述根据所述执行信息以及所述多个计算设备的数据传输性能,确定所述模型的梯度传输策略,包括:
3.根据权利要求2所述的方法,其特征在于,
4.根据权利要求3所述的方法,其特征在于,
5.根据权利要求1-4中任一项所述的方法,其特征在于,
6.根据权利要求1-5中任一项所述的方法,其特征在于,
7.根据权利要求1-6中任一项所述的方法,其特征在于,
8.根据权利要求7所述的方法,其特征在于,
9.一种模型训练装置,其特征在于,位于用于训练模型的分布式训练系统,所述分布式训练系统还包括多个计算设备;
10.根据权利要求9所述的装置,其特征在于,所述梯度传输寻优模块,具体用于:根据所述执行信息和所述多个计算设备的数据传输性能,预测符合第一寻优条件的一个或多个候选梯度传输策略;以及,从所
11.根据权利要求10所述的装置,其特征在于,所述梯度传输寻优模块,具体用于:根据所述执行信息和所述多个计算设备的数据传输性能构建目标函数;并按照所述第一寻优条件求解所述目标函数,获取所述一个或多个候选梯度传输策略。
12.根据权利要求11所述的装置,其特征在于,所述目标函数包括:第一函数、第二函数、第三函数、第四函数和第五函数;
13.根据权利要求9-12中任一项所述的装置,其特征在于,所述获取模块,具体用于:对所述多个计算设备进行通信处理,获取所述多个计算设备的通信画像;以及,根据所述多个计算设备的通信画像,获取所述多个计算设备的数据传输性能;所述通信处理包括通信建模或通信仿真中至少一种,所述通信画像用于指示每个计算设备传输不同通信量的数据的通信时延。
14.根据权利要求9-13中任一项所述的装置,其特征在于,所述获取模块,具体用于:
15.根据权利要求9-14中任一项所述的装置,其特征在于,
16.根据权利要求15所述的装置,其特征在于,所述训练模块,具体用于:将所述梯度传输策略同步至所述多个计算设备;并接收所述多个计算设备运行所述模型后发送的所有梯度,所述所有梯度包括根据所述梯度传输策略进行通信算子融合后的梯度;
17.一种电子设备,其特征在于,包括:存储器和处理器;
18.一种分布式训练系统,其特征在于,包括:管理设备和多个计算设备,每个计算设备部署有待训练的模型,所述模型包括多个算子;
19.一种计算机可读存储介质,其特征在于,包括:计算机软件指令;
20.一种计算机程序产品,其特征在于,当所述计算机程序产品在计算机上运行时,所述计算机执行权利要求1至8中任一项所述的方法。
...【技术特征摘要】
1.一种模型训练方法,其特征在于,所述方法由管理设备执行,所述管理设备位于用于训练模型的分布式训练系统,所述分布式训练系统还包括多个计算设备,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,所述根据所述执行信息以及所述多个计算设备的数据传输性能,确定所述模型的梯度传输策略,包括:
3.根据权利要求2所述的方法,其特征在于,
4.根据权利要求3所述的方法,其特征在于,
5.根据权利要求1-4中任一项所述的方法,其特征在于,
6.根据权利要求1-5中任一项所述的方法,其特征在于,
7.根据权利要求1-6中任一项所述的方法,其特征在于,
8.根据权利要求7所述的方法,其特征在于,
9.一种模型训练装置,其特征在于,位于用于训练模型的分布式训练系统,所述分布式训练系统还包括多个计算设备;
10.根据权利要求9所述的装置,其特征在于,所述梯度传输寻优模块,具体用于:根据所述执行信息和所述多个计算设备的数据传输性能,预测符合第一寻优条件的一个或多个候选梯度传输策略;以及,从所述一个或多个候选梯度传输策略中确定符合第二寻优条件的梯度传输策略;
11.根据权利要求10所述的装置,其特征在于,所述梯度传输寻优模块,具体用于:根据所述执行信息和所述多个计算设备的数据传输性能构建目标函数;并按照所述第一寻优条件求解所述目标函数,获取所述一个或多个候选梯度传输策略。
【专利技术属性】
技术研发人员:魏富春,王永忠,欧阳忠清,叶佳辉,张靖义,刘艳琳,
申请(专利权)人:华为技术有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。