一种用于混合专家模型的并行训练方法及装置
未命名
08-03
阅读:68
评论:0

1.本技术属于深度学习技术领域,具体地讲,涉及一种用于混合专家模型的并行训练方法及装置。
背景技术:
2.混合专家(moe,mixure-of-experts)模型是一种神经网络,但不同于一般的神经网络是它可以根据数据分离训练多个模型,每个模型可分别称为一个专家网络,即混合专家模型的思想是训练多个专家网络,每个专家网络分别应用于数据集的不同部分。混合专家模型作为一种新兴的稀疏激活深度学习模型架构,可实现超大规模的模型训练。
3.现有的自动化并行训练主要针对具有稠密架构的传统模型,一方面没有考虑到专家并行策略,另一方面未考虑到专家并行策略可能带来的负载均衡问题。
技术实现要素:
4.针对现有技术中存在的问题,本技术提供一种用于混合专家模型的并行训练方法及装置,能够在引入专家策略的基础上有效解决负载均衡问题,提高对混合专家模型的训练效率。
5.根据本技术的第一个方面,提供了一种用于混合专家模型的并行训练方法,该方法包括:根据混合专家模型的配置信息和硬件信息,生成多组候选并行策略;在当前训练周期中,根据所述混合专家模型的当前负载情况,从所述多组候选并行策略中确定目标并行策略;确定在当前训练周期的上一个训练周期中所使用的历史并行策略;基于所述历史并行策略和所述目标并行策略中较优的一个,训练所述混合专家模型。
6.在本实施例的一些可选方式中,所述配置信息包括专家网络数量,所述硬件信息包括运算设备数量,所述根据混合专家模型的配置信息和硬件信息,生成多组候选并行策略,包括:根据所述专家网络数量和所述运算设备数量,对张量并行、数据并行、流水线并行以及专家并行进行排列组合,生成多组初始并行策略;对所述多组初始并行策略进行性能预测,并基于性能预测结果,从所述多组初始并行策略中筛选出多组候选并行策略。
7.在本实施例的一些可选方式中,在所述多组候选并行策略中,所述混合专家模型在每个运算设备的专家网络的摆放数量预先固定;专家网络的摆放位置不固定,与所述候选并行策略具有映射关系。
8.在本实施例的一些可选方式中,所述根据所述混合专家模型的当前负载情况,从所述多组候选并行策略中确定目标并行策略,包括:
确定所述混合专家模型中的每个专家网络的当前负载情况;根据所述每个专家网络的当前负载情况,对所述混合专家模型中的专家网络进行降序排序,得到所述每个专家网络的放置顺序;根据所述放置顺序,依次为每个专家网络选择待放置运算设备,直至最后一个专家网络的待放置运算设备被选择完成,从所述多组候选并行策略中确定与当前放置方式相匹配的一组候选并行策略,并将该组候选并行策略作为目标并行策略。
9.在本实施例的一些可选方式中,所述根据所述放置顺序,依次为每个专家网络选择待放置运算设备,包括:对每一个专家网络执行如下操作:确定已放置专家网络的数量小于预设数量阈值的运算设备集合;从所述运算设备集合中,确定所述已放置专家网络的负载为最小的一个运算设备,并将该运算设备作为所述待放置运算设备。
10.在本实施例的一些可选方式中,所述训练周期包括k轮训练,所述基于所述历史并行策略和所述目标并行策略中较优的一个,训练所述混合专家模型,包括:根据所述当前负载情况,确定基于所述历史并行策略对所述混合专家模型进行一轮训练所需的第一预计执行时间t1以及基于所述目标并行策略对所述混合专家模型进行一轮训练所需的第二预计执行时间t2;确定将所述历史并行策略切换为所述目标并行策略所需的切换时间tc;响应于存在t1
×
k》t2
×
k + tc,确定所述目标并行策略为较优的一个,将所述历史并行策略切换为所述目标并行策略,并基于所述目标并行策略训练所述混合专家模型;响应于存在t1
×
k ≤ t2
×
k + tc,确定所述历史并行策略为较优的一个,不将所述历史并行策略切换为所述目标并行策略,并继续基于所述历史并行策略训练所述混合专家模型。
11.根据本技术的第二个方面,还提供了一种用于混合专家模型的并行训练装置,该装置包括:候选并行策略生成模块,被配置为根据混合专家模型的配置信息和硬件信息,生成多组候选并行策略;目标并行策略生成模块,被配置为在当前训练周期中,根据所述混合专家模型的当前负载情况,从所述多组候选并行策略中确定目标并行策略;历史并行策略确定模块,被配置为在当前训练周期的上一个训练周期中所使用的历史并行策略;并行策略切换模块,被配置为基于所述历史并行策略和所述目标并行策略中较优的一个,训练所述混合专家模型。
12.根据本技术的第三个方面,还提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现所述一种用于混合专家模型的并行训练方法的步骤。
13.根据本技术的第四个方面,还提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现所述一种用于混合专家模型的并行训练方法的步骤。
14.根据本技术的第五个方面,还提供了一种计算机程序产品,包括计算机程序/指令,该计算机程序/指令被处理器执行时实现所述一种用于混合专家模型的并行训练方法的步骤。
15.本技术提供的一种用于混合专家模型的并行训练方法及装置,通过混合专家模型的配置信息和硬件信息,生成多组候选并行策略;并在当前训练周期中,根据混合专家模型的当前负载情况,从多组候选并行策略中确定目标并行策略;进一步确定在当前训练周期的上一个训练周期中所使用的历史并行策略;基于历史并行策略和目标并行策略中较优的一个,训练所述混合专家模型,能够根据负载情况对并行策略进行切换,在引入专家策略的基础上有效解决负载均衡问题,提高对混合专家模型的并行训练效率。
附图说明
16.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
17.图1为根据本技术实施例的一种用于混合专家模型的并行训练方法的流程图;图2为现有技术中的稠密大模型和moe模型的示意图;图3为根据本技术实施例的确定多组候选并行策略的方法流程图;图4为根据本技术实施例的确定目标并行策略的方法流程图;图5为根据本技术实施例的混合专家模型的负载情况的示意图;图6为根据本技术实施例的并行策略切换的方法流程图;图7为根据本技术实施例的一种用于混合专家模型的并行训练装置的示意图;图8为用来实现本技术实施例的一种用于混合专家模型的并行训练方法的电子设备的框图。
具体实施方式
18.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
19.本技术提出了一种用于混合专家模型的并行训练方法,如图1所示,该方法包括:步骤101、根据混合专家模型的配置信息和硬件信息,生成多组候选并行策略;步骤102、在当前训练周期中,根据混合专家模型的当前负载情况,从多组候选并行策略中确定目标并行策略;步骤103、确定在当前训练周期的上一个训练周期中所使用的历史并行策略;步骤104、基于历史并行策略和目标并行策略中较优的一个,训练混合专家模型。
20.本技术提供的一种用于混合专家模型的并行训练方法,通过混合专家模型的配置信息和硬件信息,生成多组候选并行策略;并在当前训练周期中,根据混合专家模型的当前负载情况,从多组候选并行策略中确定目标并行策略;进一步确定在当前训练周期的上一
个训练周期中所使用的历史并行策略;基于历史并行策略和目标并行策略中较优的一个,训练混合专家模型,能够根据负载情况对并行策略进行切换,在引入专家策略的基础上有效解决负载均衡问题,提高对混合专家模型的并行训练效率。
21.下面对图1的每个步骤进行详细阐述:步骤101、根据混合专家模型的配置信息和硬件信息,生成多组候选并行策略。
22.应当理解,近年来深度神经网络设计的一个有前途的方向是增加模型大小。从模型设计方面,已经提出了稀疏架构来打破具有密集架构的神经网络模型中模型大小和计算成本之间的正比关系。例如,不同于图2中直接将小模型尺寸扩大为稠密大模型,混合专家(moe,mixure-of-experts)模型moe 模型包含若干小模型, 其中每个小模型被称作一个专家网络,对于一个训练样本, 通过门网络模块选择性地激活少数几个专家对该样本进行计算。
23.在本实施例中,可以根据混合专家模型的配置信息和硬件信息,生成多组候选并行策略。其中,混合专家模型的配置信息可以为专家网络数量和专家网络尺寸;混合专家模型一般配置在分布式的计算平台的运算设备上,硬件信息可以为计算平台上运算设备数量,还可以为运算设备的带宽等;候选并行策略集合内部互相转换的开销较低,可以在运行时进行快速转换。
24.在本实施例的一些可选方式中,如图3所示,根据混合专家模型的配置信息和硬件信息,生成多组候选并行策略,包括:步骤1011、根据专家网络数量和运算设备数量,对张量并行、数据并行、流水线并行以及专家并行进行排列组合,生成多组初始并行策略。
25.在本实施例中,张量并行、数据并行、流水线并行以及专家并行均为并行训练神经网络的方式。其中,张量并行在不同的计算单元之间切分模型,训练时各个计算单元独立计算子任务;数据并行在不同的计算单元之间复制存储模型,并使用不同的训练数据进行训练;流水线并行在不同的计算单元之间以多阶段流水线的形式进行训练;专家并行是混合专家模型特有的训练方式。
26.在本实施例中,根据专家网络数量和运算设备数量,基于搜索算法,对张量并行、数据并行、流水线并行以及专家并行进行任意的排列组合,能够生成多组初始并行策略。例如,50%张量并行+50%的专家并行、50%数据并行+50%的专家并行等。
27.步骤1012、对多组初始并行策略进行性能预测,并基于性能预测结果,从多组初始并行策略中筛选出多组候选并行策略。
28.在本实施例中,在得到多组初始并行策略后,为进一步缩小搜索空间,提高对混合专家模型的并行训练效率,还需要对前述的多组初始并行策略进行性能预测。例如,对于给定的moe模型的路由算法, 其可以给出对于每个专家子模型的运算负载的上限, 并使用该上限和性能预测公式对每个初始并行策略的训练性能进行估计, 最终选择性能靠前的并行策略作为候选并行策略,来对混合专家模型进行训练。
29.在本实施例的一些可选方式中,在多组候选并行策略中,混合专家模型在每个运算设备的专家网络的摆放数量预先固定,即其切分和重复放置的方案是固定的;专家网络的摆放位置不固定,与候选并行策略具有映射关系,即不同的候选并行策略分别对应不同的专家网络的摆放位置。
30.步骤102、在当前训练周期中,根据混合专家模型的当前负载情况,从多组候选并行策略中确定目标并行策略。
31.在本实施例中,在当前训练周期内,能够基于该轮训练中专家网络的负载情况,从多组候选并行策略中确定最适合当前负载情况的目标并行策略。
32.在本实施例的一些可选方式中,如图4所示,根据混合专家模型的当前负载情况,从多组候选并行策略中确定目标并行策略,包括:步骤1021、确定混合专家模型中的每个专家网络的当前负载情况。
33.在本实施例中,可根据专家网络接收的输入数量来确定每个专家网络的负载情况,如图5所示,专家网络0处于过载状态,专家网络2处于空闲状态。
34.步骤1022、根据每个专家网络的当前负载情况,对混合专家模型中的专家网络进行降序排序,得到每个专家网络的放置顺序。
35.在本实施例中,进一步根据每个专家网络的当前负载情况,对混合专家模型中的专家网络进行降序排序,得到每个专家网络的放置顺序,即按照负载从大到小的顺序为每个专家网络选择所放置的运算设备。
36.步骤1023、根据放置顺序,依次为每个专家网络选择待放置运算设备,直至最后一个专家网络的待放置运算设备被选择完成,从多组候选并行策略中确定与当前放置方式相匹配的一组候选并行策略,并将该组候选并行策略作为目标并行策略。
37.在本实施例的一些可选方式中,依次对每一个专家网络均执行如下操作:首先,确定已放置专家网络的数量小于预设数量阈值的运算设备集合,例如,设共有n个专家网络,m个不同的运算设备,则可以规定在每个运算设备上可放置的专家网络的预设数量阈值为n/m;由此,将已放置专家网络的数量小于预设数量阈值的运算设备作为运算设备集合,该运算设备集合上的专家网络数量未处于饱和状态;进一步,从该运算设备集合中,确定已放置专家网络的负载为最小的一个运算设备,并将该运算设备作为待放置运算设备。通过该放置方式,能够克服专家并行带来的负载均衡问题,能够避免出现过载和空闲情况,使得各运算设备上放置的专家网络数量和专家网络负载实现均衡配置。
38.以图5为示例进行说明,设定每个运算设备上可以放置2个专家网络,混合专家模型部署在3个运算设备上,混合专家模型包括4个专家网络,且根据负载情况可确定放置顺序为专家网络0、专家网络1、专家网络2以及专家网络3(图5中未示出),依次为专家网络0、专家网络1、专家网络2以及专家网络3选择所放置的运算设备。
39.其中,对于专家网络0,其可以从运算设备0-运算设备2中任意选择一运算设备,例如将专家网络0放置在运算设备0;对于专家网络1,已放置专家网络的数量小于2的运算设备作为运算设备集合包括运算设备0、运算设备1和运算设备2,其中,运算设备1和运算设备2的负载最小,其可以从运算设备1和运算设备2中任意选择一运算设备,例如将专家网络1放置在运算设备1;对于专家网络2,已放置专家网络的数量小于2的运算设备作为运算设备集合包括运算设备0、运算设备1和运算设备2,其中,运算设备2的负载最小,将专家网络2放置在运算设备2上;对于专家网络3,已放置专家网络的数量小于2的运算设备作为运算设备集合包括运算设备0、运算设备1和运算设备2,显然,专家网络2的负载最小,可将专家网络3放置在运算设备2上。
40.在本实施例中,依次为每个专家网路选择了所放置的设备后,进一步从多组候选
并行策略中确定与当前放置方式相匹配的一组候选并行策略,并将该组候选并行策略作为目标并行策略,应当理解,该目标并行策略为针对当前负载情况的优选并行策略。
41.步骤103、确定在当前训练周期的上一个训练周期中所使用的历史并行策略。
42.在本实施例中,确定在当前训练周期的上一个训练周期中所使用的历史并行策略。其中,在首个训练周期内,可以从多组候选并行策略中任意选择一个并行策略进行训练,在首个训练周期的下一个训练周期内,该任意选择的并行策略即为历史并行策略,依次类推,可任意确定在当前训练周期的上一个训练周期中所使用的历史并行策略。需要说明的是,历史并行策略为多组候选并行策略的一个。
43.步骤104、基于历史并行策略和目标并行策略中较优的一个,训练混合专家模型。
44.需要说明的是,虽然目标并行策略为针对当前负载情况的优选并行策略,但还需要考虑策略切换所需的时间,为此,在本实施例的一些可选方式中,如图6所示,设训练周期包括k轮训练,应当理解,k为大于0的整数,基于历史并行策略和目标并行策略中较优的一个,训练混合专家模型,包括:步骤1041、根据当前负载情况,确定基于历史并行策略对混合专家模型进行一轮训练所需的第一预计执行时间t1以及基于目标并行策略对混合专家模型进行一轮训练所需的第二预计执行时间t2。
45.步骤1042、确定将历史并行策略切换为目标并行策略所需的切换时间tc。
46.步骤1043a、响应于存在t1
×
k》t2
×
k+tc,确定目标并行策略为较优的一个,将历史并行策略切换为目标并行策略,并基于目标并行策略训练混合专家模型。
47.在本实施中,即历史并行策略执行k轮训练的时间大于使用目标并行策略时间执行k轮训练的时间与切换时间的和,则可以进行策略切换,将历史并行策略切换为目标并行策略,并基于目标并行策略训练混合专家模型。
48.步骤1043b、响应于存在t1
×
k≤t2
×
k+tc,确定历史并行策略为较优的一个,不将历史并行策略切换为目标并行策略,并继续基于历史并行策略训练混合专家模型。
49.在本实施例中,即历史并行策略执行k轮训练的时间不大于使用目标并行策略时间执行k轮训练的时间与切换时间的和,则不可以进行策略切换,并继续基于历史并行策略训练混合专家模型。
50.在本实施例中,考虑切换时间,将历史并行策略与目标并行策略进一步对比,从而将基于历史并行策略和目标并行策略中较优的一个,训练混合专家模型,进一步提高并行训练的准确性和训练效率。
51.本技术提供的一种用于混合专家模型的并行训练方法,通过混合专家模型的配置信息和硬件信息,生成多组候选并行策略;并在当前训练周期中,根据混合专家模型的当前负载情况,从多组候选并行策略中确定目标并行策略;进一步确定在当前训练周期的上一个训练周期中所使用的历史并行策略;基于历史并行策略和目标并行策略中较优的一个,训练混合专家模型,能够根据负载情况对并行策略进行切换,在引入专家策略的基础上有效解决负载均衡问题,提高对混合专家模型的并行训练效率。
52.基于同一发明构思,本技术实施例还提供了一种用于混合专家模型的并行训练装置,可以用于实现上述实施例中所描述的方法,如下面实施例所述。由于该用于混合专家模型的并行训练装置所解决问题的原理与用于混合专家模型的并行训练方法相似,因此用于
混合专家模型的并行训练装置的实施可以参见用于混合专家模型的并行训练方法的实施,重复之处不再赘述。以下所使用的,术语“单元”或者“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的系统较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
53.如图7所示,该用于混合专家模型的并行训练装置包括:候选并行策略生成模块701,被配置为根据混合专家模型的配置信息和硬件信息,生成多组候选并行策略;目标并行策略生成模块702,被配置为在当前训练周期中,根据所述混合专家模型的当前负载情况,从所述多组候选并行策略中确定目标并行策略;历史并行策略确定模块703,被配置为在当前训练周期的上一个训练周期中所使用的历史并行策略;并行策略切换模块704,被配置为基于所述历史并行策略和所述目标并行策略中较优的一个,训练所述混合专家模型。
54.在本实施例的一些可选方式中,所述配置信息包括专家网络数量,所述硬件信息包括运算设备数量,候选并行策略生成模块进一步被配置为:根据所述专家网络数量和所述运算设备数量,对张量并行、数据并行、流水线并行以及专家并行进行排列组合,生成多组初始并行策略;对所述多组初始并行策略进行性能预测,并基于性能预测结果,从所述多组初始并行策略中筛选出多组候选并行策略。
55.在本实施例的一些可选方式中,在所述多组候选并行策略中,所述混合专家模型在每个运算设备的专家网络的摆放数量预先固定;专家网络的摆放位置不固定,与所述候选并行策略具有映射关系。
56.在本实施例的一些可选方式中,目标并行策略生成模块包括:专家网络负载确定单元,被配置为确定所述混合专家模型中的每个专家网络的当前负载情况;放置顺序确定单元,被配置为根据所述每个专家网络的当前负载情况,对所述混合专家模型中的专家网络进行降序排序,得到所述每个专家网络的放置顺序;目标并行策略生成单元,被配置为根据所述放置顺序,依次为每个专家网络选择待放置运算设备,直至最后一个专家网络的待放置运算设备被选择完成,从所述多组候选并行策略中确定与当前放置方式相匹配的一组候选并行策略,并将该组候选并行策略作为目标并行策略。
57.在本实施例的一些可选方式中,目标并行策略生成单元进一步被配置为:对每一个专家网络执行如下操作:确定已放置专家网络的数量小于预设数量阈值的运算设备集合;从所述运算设备集合中,确定所述已放置专家网络的负载为最小的一个运算设备,并将该运算设备作为所述待放置运算设备。
58.在本实施例的一些可选方式中,所述训练周期包括k轮训练,并行策略切换模块进一步被配置为:根据所述当前负载情况,确定基于所述历史并行策略对所述混合专家模型进行一
轮训练所需的第一预计执行时间t1以及基于所述目标并行策略对所述混合专家模型进行一轮训练所需的第二预计执行时间t2;确定将所述历史并行策略切换为所述目标并行策略所需的切换时间tc;响应于存在t1
×
k》t2
×
k + tc,确定所述目标并行策略为较优的一个,将所述历史并行策略切换为所述目标并行策略,并基于所述目标并行策略训练所述混合专家模型;响应于存在t1
×
k ≤ t2
×
k + tc,确定所述历史并行策略为较优的一个,不将所述历史并行策略切换为所述目标并行策略,并继续基于所述历史并行策略训练所述混合专家模型。
59.根据本公开的实施例,本公开还提供了一种电子设备、一种可读存储介质以及一种计算机程序产品。
60.一种电子设备,包括:至少一个处理器;以及与至少一个处理器通信连接的存储器;其中,存储器存储有可被至少一个处理器执行的指令,指令被至少一个处理器执行,以使至少一个处理器能够执行前述实施例的用于混合专家模型的并行训练方法的步骤。
61.一种存储有计算机指令的非瞬时计算机可读存储介质,其中,计算机指令用于使计算机执行前述实施例的用于混合专家模型的并行训练方法的步骤。
62.一种计算机程序产品,包括计算机程序/指令,该计算机程序/指令被处理器执行时实现前述实施例的用于混合专家模型的并行训练方法的步骤。
63.图8示出了可以用来实施本公开的实施例的示例电子设备800的示意性框图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本公开的实现。
64.如图8所示,设备800包括计算单元801,其可以根据存储在只读存储器(rom)802中的计算机程序或者从存储单元808加载到随机访问存储器(ram)803中的计算机程序,来执行各种适当的动作和处理。在ram 803中,还可存储设备800操作所需的各种程序和数据。计算单元801、rom 802以及ram 803通过总线804彼此相连。输入/输出(i/o)接口805也连接至总线804。
65.设备800中的多个部件连接至i/o接口805,包括:输入单元806,例如键盘、鼠标等;输出单元807,例如各种类型的显示器、扬声器等;存储单元808,例如磁盘、光盘等;以及通信单元809,例如网卡、调制解调器、无线通信收发机等。通信单元809允许设备800通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
66.计算单元801可以是各种具有处理和计算能力的通用和/或专用处理组件。计算单元801的一些示例包括但不限于中央处理单元(cpu)、图形处理单元(gpu)、各种专用的人工智能(ai)计算芯片、各种运行机器学习模型算法的计算单元、数字信号处理器(dsp)、以及任何适当的处理器、控制器、微控制器等。计算单元801执行上文所描述的各个方法和处理,例如一种用于混合专家模型的并行训练方法。
67.例如,在一些实施例中,一种用于混合专家模型的并行训练方法可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元808。在一些实施例中,计算机
程序的部分或者全部可以经由rom 802和/或通信单元809而被载入和/或安装到设备800上。当计算机程序加载到ram 803并由计算单元801执行时,可以执行上文描述的一种用于混合专家模型的并行训练方法的一个或多个步骤。备选地,在其他实施例中,计算单元801可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行一种用于混合专家模型的并行训练方法。
68.本文中以上描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、场可编程门阵列(fpga)、专用集成电路(asic)、专用标准产品(assp)、芯片上系统的系统(soc)、负载可编程逻辑设备(cpld)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
69.用于实施本公开的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
70.在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦除可编程只读存储器(eprom或快闪存储器)、光纤、便捷式紧凑盘只读存储器(cd-rom)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
71.为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,crt(阴极射线管)或者lcd(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
72.可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(lan)、广域网(wan)和互联网。
73.计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。服务器可以是云服务器,也可以为分布式系统的服务器,或者是结合了区块链的服务器。
74.应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发公开中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本公开的技术方案所期望的结果,本文在此不进行限制。
75.上述具体实施方式,并不构成对本公开保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本公开的精神和原则之内所作的修改、等同替换和改进等,均应包含在本公开保护范围之内。
技术特征:
1.一种用于混合专家模型的并行训练方法,其特征在于,包括:根据混合专家模型的配置信息和硬件信息,生成多组候选并行策略;在当前训练周期中,根据所述混合专家模型的当前负载情况,从所述多组候选并行策略中确定目标并行策略;确定在当前训练周期的上一个训练周期中所使用的历史并行策略;基于所述历史并行策略和所述目标并行策略中较优的一个,训练所述混合专家模型。2.根据权利要求1所述的方法,其特征在于,所述配置信息包括专家网络数量,所述硬件信息包括运算设备数量,所述根据混合专家模型的配置信息和硬件信息,生成多组候选并行策略,包括:根据所述专家网络数量和所述运算设备数量,对张量并行、数据并行、流水线并行以及专家并行进行排列组合,生成多组初始并行策略;对所述多组初始并行策略进行性能预测,并基于性能预测结果,从所述多组初始并行策略中筛选出多组候选并行策略。3.根据权利要求2所述的方法,其特征在于,在所述多组候选并行策略中,所述混合专家模型在每个运算设备的专家网络的摆放数量预先固定;专家网络的摆放位置不固定,与所述候选并行策略具有映射关系。4.根据权利要求3所述的方法,其特征在于,所述根据所述混合专家模型的当前负载情况,从所述多组候选并行策略中确定目标并行策略,包括:确定所述混合专家模型中的每个专家网络的当前负载情况;根据所述每个专家网络的当前负载情况,对所述混合专家模型中的专家网络进行降序排序,得到所述每个专家网络的放置顺序;根据所述放置顺序,依次为每个专家网络选择待放置运算设备,直至最后一个专家网络的待放置运算设备被选择完成,从所述多组候选并行策略中确定与当前放置方式相匹配的一组候选并行策略,并将该组候选并行策略作为目标并行策略。5.根据权利要求4所述的方法,其特征在于,所述根据所述放置顺序,依次为每个专家网络选择待放置运算设备,包括:对每一个专家网络执行如下操作:确定已放置专家网络的数量小于预设数量阈值的运算设备集合;从所述运算设备集合中,确定所述已放置专家网络的负载为最小的一个运算设备,并将该运算设备作为所述待放置运算设备。6.根据权利要求1所述的方法,其特征在于,所述训练周期包括k轮训练,所述基于所述历史并行策略和所述目标并行策略中较优的一个,训练所述混合专家模型,包括:根据所述当前负载情况,确定基于所述历史并行策略对所述混合专家模型进行一轮训练所需的第一预计执行时间t1以及基于所述目标并行策略对所述混合专家模型进行一轮训练所需的第二预计执行时间t2;确定将所述历史并行策略切换为所述目标并行策略所需的切换时间tc;响应于存在t1
×
k > t2
×
k + tc,确定所述目标并行策略为较优的一个,将所述历史并行策略切换为所述目标并行策略,并基于所述目标并行策略训练所述混合专家模型;响应于存在t1
×
k ≤ t2
×
k + tc,确定所述历史并行策略为较优的一个,不将所述历
史并行策略切换为所述目标并行策略,并继续基于所述历史并行策略训练所述混合专家模型。7.一种用于混合专家模型的并行训练装置,其特征在于,包括:候选并行策略生成模块,被配置为根据混合专家模型的配置信息和硬件信息,生成多组候选并行策略;目标并行策略生成模块,被配置为在当前训练周期中,根据所述混合专家模型的当前负载情况,从所述多组候选并行策略中确定目标并行策略;历史并行策略确定模块,被配置为在当前训练周期的上一个训练周期中所使用的历史并行策略;并行策略切换模块,被配置为基于所述历史并行策略和所述目标并行策略中较优的一个,训练所述混合专家模型。8.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现权利要求1至6任一项所述的用于混合专家模型的并行训练方法的步骤。9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现权利要求1至6任一项所述的用于混合专家模型的并行训练方法的步骤。10.一种计算机程序产品,包括计算机程序/指令,其特征在于,该计算机程序/指令被处理器执行时实现权利要求1至6任一项所述的用于混合专家模型的并行训练方法的步骤。
技术总结
本申请提供了一种用于混合专家模型的并行训练方法及装置,属于深度学习技术领域,其中一实施例的并行训练方法包括:根据混合专家模型的配置信息和硬件信息,生成多组候选并行策略;在当前训练周期中,根据混合专家模型的当前负载情况,从多组候选并行策略中确定目标并行策略;确定在当前训练周期的上一个训练周期中所使用的历史并行策略;基于历史并行策略和目标并行策略中较优的一个,训练混合专家模型。本申请技术方案提供一种用于混合专家模型的自动并行训练方法,通过首先确定并行策略集合,并根据负载情况对并行策略进行切换,能够在引入专家策略的基础上有效解决负载均衡问题,提高对混合专家模型的并行训练效率。提高对混合专家模型的并行训练效率。提高对混合专家模型的并行训练效率。
技术研发人员:翟季冬 翟明书 何家傲
受保护的技术使用者:清华大学
技术研发日:2023.06.30
技术公布日:2023/8/1
版权声明
本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
航空之家 https://www.aerohome.com.cn/
飞机超市 https://mall.aerohome.com.cn/
航空资讯 https://news.aerohome.com.cn/