一种面向人工智能大模型高效训练的并行策略搜索方法
未命名
09-07
阅读:145
评论:0
1.本发明涉及人工智能技术,特别是一种面向人工智能大模型(以下简称大模型)高效训练的并行策略搜索方法。
背景技术:
2.近年来,人工智能大模型的参数量快速上涨,并在计算机视觉、自然语言处理等各个领域的大部分任务上取得了最佳的效果。与之相对的,计算硬件发展的速度非常缓慢。因此不得不利用单机多卡或集群进行并行训练。
3.当前,并行训练大模型主要有流水线并行、数据并行、张量并行和优化器并行等并行模式。流水线并行主要对大模型的不同层之间进行切分,然后将若干相邻的层放在同一个流水线阶段上。在计算时,流水线并行把一个小批量划分为多个微批量,然后把这些微批量组织为流水线,从而提升整体的训练效率。数据并行、张量并行和优化器并行则在大模型的各个层的内部进行并行计算,提升了层内计算的效率。其中数据并行需要在不同的节点上拷贝完整的大模型和优化器状态,拥有较小的通信量和较大的显存开销;张量并行和优化器并行分别切分大模型的张量和优化器状态,虽然显存开销较小,但通信量相对数据并行而言更大。需要注意的是,这些并行计算策略在不同的模型和不同的计算环境下各有优劣。因此,针对特定的模型和给定的计算环境,如何组合这些并行策略以最大化训练效率成为了大模型的并行训练中的一个重要研究方向。
4.但是由于并行策略众多,人工组合和评测的代价较高。同时,对于不同的模型和计算环境,选用合适的并行策略组合依赖专家级别的知识,难以应用于现实场景。因此,有研究人员提出了自动搜索大模型的并行训练策略方法。但是截至目前,已有方法要么只关注上述四种并行策略中的一种或其中几种,要么把上述四种并行策略分层考虑,逐层求解。这些方法的策略空间受限,容易得到局部最优的并行训练策略,而非全局最优的并行训练策略。又因为训练一个参数规模较大的大模型往往需要花费数周乃至数月的时间,消耗大量能源,所以如何自动搜索到一个全局最优的并行训练策略来最大化地加速大模型训练成为了一个重要问题。
技术实现要素:
5.发明目的:本发明的目的是提供一种面向人工智能大模型高效训练的并行策略搜索方法,从而提供一种基于混合整数二次规划的面向大模型高效训练的并行策略搜索方法,以解决现有技术所搜索的并行策略的局部最优性问题,从而进一步提高大模型的训练效率,降低能源消耗。
6.技术方案:本发明所述的一种面向人工智能大模型高效训练的并行策略搜索方法,包括以下步骤:
7.步骤s1、输入大模型;
8.步骤s2、获取系统执行性能信息和大模型的执行性能信息;
9.设定all-reduce的通信量a
ar
,统计all-reduce的通信时间t
ar
,从而获取系统的all-reduce通信效率e
ar
;
10.设定p2p的通信量a
p2p
,统计p2p的通信时间t
p2p
,从而获取系统的p2p通信效率e
p2p
;
11.设定all-reduce的通信量a
ar
,分别统计单独执行all-reduce的all-reduce通信时间tn,以及同时执行all-reduce和矩阵乘法计算时的all-reduce通信时间to,从而获取系统的计算-通信重叠因子eo;
12.统计大模型g(v,e)每一层u(u∈v)的前向执行时间fpu;
13.统计除模型和优化器占用的显存以外,大模型g(v,e)每一层的激活显存和加载大模型g(v,e)所需要的额外显存m
other
。
14.步骤s3中所述的执行时间开销包括大模型每一层的所有候选策略的计算及通信时间之和,相邻层的所有候选策略对的同一流水线阶段的通信时间和跨流水线阶段的p2p通信时间的一种或多种。
15.步骤s3、利用代价模型估计大模型在当前系统上的执行时间开销和存储开销;
16.步骤s3中所述的执行时间开销具体包括以下步骤:
17.利用代价模型估计大模型g(v,e)的层u(u∈v)的所有候选数据并行、张量并行和优化器并行策略的计算及通信时间之和au;
18.利用代价模型估计大模型g(v,e)的边<u,v》(《u,v》∈e)所对应的层u和层v的所有候选数据并行、张量并行和优化器并行策略对之间的同一流水线阶段的通信时间r
uv
;
19.利用代价模型估计大模型g(v,e)的边《u,v》(<u,v>∈e)所对应的层u和层v的所有候选数据并行、张量并行和优化器并行策略对之间的跨流水线阶段的p2p通信时间r
′
uv
。
20.步骤s3中所述的存储开销包括大模型每一层的所有候选策略的显存开销。
21.步骤s3中所述的存储开销具体包括以下步骤:利用代价模型估计大模型g(v,e)的层u(u∈v)的所有候选数据并行、张量并行和优化器并行策略的显存开销mu。
22.步骤s4、以流水线并行训练的每次迭代所花费的时间为优化目标,建立用于自动搜索大模型的并行训练策略的混合整数二次规划数学模型并求解;
23.步骤s4.1、枚举所有合法的流水线阶段数量deg和合法的微批量数量c,选取最小的每次迭代所花费时间tpi,及其对应的流水线并行策略、数据并行策略、张量并行策略和优化器并行策略的一种或多种;
24.步骤s4.2、基于一个非流水线并行策略(deg=1),建立并求解以数据并行、张量并行和优化器并行每次迭代所花费时间tpi为优化目标的混合整数二次规划数学模型,搜索的内容为数据并行策略、张量并行策略和优化器并行策略的一种或多种;
25.步骤s4.3、基于一个给定的流水线并行策略(deg》1),建立并求解以流水线并行、数据并行、张量并行和优化器并行训练的每次迭代所花费时间tpi为优化目标的混合整数二次规划数学模型,搜索的内容为流水线并行策略、数据并行策略、张量并行策略和优化器并行策略的一种或多种。
26.步骤s5、输出最优的大模型的并行训练策略。
27.基于混合整数二次规划数学模型的各求解结果,输出大模型在当前系统下的最优流水线并行策略、数据并行策略、张量并行策略和优化器并行策略的一种或多种组合。
28.一种计算机存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实
现上述的一种面向人工智能大模型高效训练的并行策略搜索方法。
29.一种计算机设备,包括储存器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述的一种面向人工智能大模型高效训练的并行策略搜索方法。
30.有益效果:与现有技术相比,本发明具有如下优点:
31.1、本发明支持流水线并行、数据并行、张量并行和优化器并行等四类并行训练策略,其策略空间大;
32.2、本发明通过利用混合整数二次规划,其搜索时间短;
33.3、本发明可应用于大模型的单机多卡并行训练和多机集群的分布式并行训练,有助于提升大模型的训练效率,从而减少训练时间,降低能源消耗。
附图说明
34.图1为本发明所述方法的步骤流程图;
35.图2为本发明实施例的系统环境示意图;
36.图3为本发明实施例的步骤s4.1的流程图。
具体实施方式
37.下面结合附图对本发明的技术方案作进一步说明。
38.本发明提供的面向人工智能大模型高效训练的并行策略搜索方法,支持各类大模型的流水线并行、数据并行、张量并行和优化器并行训练,可应用于大模型的单机多卡并行训练和多机集群的分布式并行训练。
39.本实施例使用两台服务器server0和server1,每台服务器有四张gpu卡,依次编号为gpu0,gpu1,gpu2和gpu3。两台服务器互为同构,即包括但不限于:硬件环境完全相同,软件环境完全相同和网络环境及协议完全相同等。于本实施例中,定义gpu的全局编号globalid=serverid*gpuperserver+localid,其中serverid为服务器编号,gpuperserver为每台服务器的gpu数量,localid为当前gpu的本地编号。例如server1的gpu1的全局编号为1*4+1=5。
40.为帮助理解本实施例的两台服务器之间的关系,图2展示了本实施例的两台服务器的拓扑结构。两台服务器的gpu0和gpu1通过pcie总线与cpu0相连,gpu2和gpu3通过pcie总线与cpu1相连。两台服务器的cpu0和cpu1之间均通过qpi总线相连。两台服务器之间通过以太网相连。本实施例将应用面向人工智能大模型高效训练的并行策略搜索方法,搜索得到可以在server0和server1上用adam优化器分布式训练bert-huge模型的并行策略。于本实施例中,本发明的方法具体工作流程如下所述:
41.面向人工智能大模型高效训练的并行策略搜索方法的工作流程如图1所示。
42.步骤s1、输入大模型。
43.本实施例中,所述的大模型为bert-huge模型。
44.步骤s2、获取系统执行性能信息和大模型的执行性能信息。
45.本实施例中,所述的获取系统执行性能信息和大模型的执行性能信息,包括:
46.设定all-reduce的通信量a
ar
,统计all-reduce的通信时间t
ar
,从而获取系统的
all-reduce通信效率
47.设定p2p的通信量a
p2p
,统计p2p的通信时间t
p2p
,从而获取系统的p2p通信效率
48.设定all-reduce的通信量a
ar
,分别统计单独执行all-reduce的all-reduce通信时间tn,以及同时执行all-reduce和矩阵乘法计算时的all-reduce通信时间to,从而获取系统的计算-通信重叠因子
49.在server0上,利用gpu0,设定批量大小为1,统计bert-huge模型g(v,e)每一层u(u∈v)的前向执行时间fpu;
50.在server0上,利用gpu0,设定批量大小为1,统计除bert-huge模型和adam优化器占用的显存以外,bert-huge模型g(v,e)每一层的激活显存和加载bert-huge模型g(v,e)所需要的额外显存m
other
。
51.步骤s3、利用代价模型估计大模型在当前系统上的执行时间开销和存储开销。
52.本实施例中,所述的大模型在当前系统上的执行时间开销,包括:
53.利用代价模型估计bert-huge模型g(v,e)的层u(u∈v)的所有候选数据并行、张量并行和优化器并行策略在批量大小为bs情况下的计算及通信时间之和au。于本实施例中,对于bert-huge的层u的一个候选策略s
ui
而言,设其数据并行/优化器并行度为dp
ui
,张量并行度为tp
ui
,数据并行/优化器并行的通信量为a
dp
,张量并行的前向和反向通信量均为a
tp
。那么应用策略s
ui
时,层u的前向计算及通信时间之和为反向计算和通信时间包括反向计算和数据并行/优化器并行的通信重叠的时间,反向计算和数据并行/优化器并行的通信不重叠的时间和反向的张量并行通信时间,为器并行的通信不重叠的时间和反向的张量并行通信时间,为因此,对于本实施例的bert-huge的层u的一个候选策略s
ui
而言,在批量大小为bs情况下,层u的计算及通信时间之和为a
ui
=fp
ui
+bp
ui
;
54.利用代价模型估计bert-huge模型g(v,e)的边《u,v》(《u,v》∈e)所对应的层u和层v的所有候选数据并行、张量并行和优化器并行策略对之间在批量大小为bs情况下的同一流水线阶段的通信时间r
uv
。于本实施例中,设层u的候选策略为s
ui
,层v的候选策略为s
vj
,《u,v》∈e,此时层u和层v之间的同一流水线阶段的通信量为a
uvij
,那么层u和层v之间的同一流水线阶段的通信时间为
55.利用代价模型估计bert-huge模型g(v,e)的边《u,v》(《u,v》∈e)所对应的层u和层v的所有候选数据并行、张量并行和优化器并行策略对之间在批量大小为bs情况下的跨流水线阶段的p2p通信时间r
′
uv
。于本实施例中,设层u的候选策略为s
ui
,层v的候选策略为s
vj
,《u,v》∈e,此时层u和层v之间的跨流水线阶段的p2p通信量为a
′
uvij
,那么层u和层v之间的跨流水线阶段的p2p通信时间为
56.本实施例中,所述的大模型在当前系统上的存储开销,包括:
57.利用代价模型估计bert-huge模型g(v,e)的层u(u∈v)的所有候选数据并行、张量
并行和优化器并行策略在批量大小为bs情况下的显存开销mu。于本实施例中,设层u的参数量为cu,数据并行/优化器并行度为dp
ui
,张量并行度为tp
ui
,采用adam优化器进行训练,那么在一张gpu上,层u的显存开销为在一张gpu上,层u的显存开销为
58.步骤s4、以流水线并行训练的每次迭代所花费的时间为优化目标,建立用于自动搜索大模型的并行训练策略的混合整数二次规划数学模型并求解:
59.本实施例中,所述的以流水线并行训练的每次迭代所花费的时间为优化目标,建立用于自动搜索大模型的并行训练策略的混合整数二次规划数学模型并求解,包括:
60.步骤s4.1、枚举所有合法的流水线阶段数量deg和合法的微批量数量c,选取最小的每次迭代所花费时间tpi,及其对应的流水线并行策略、数据并行策略、张量并行策略和优化器并行策略的一种或多种;
61.步骤s4.2、基于一个非流水线并行策略(deg=1),建立并求解以数据并行、张量并行和优化器并行每次迭代所花费时间tpi为优化目标的混合整数二次规划数学模型,搜索的内容为数据并行策略、张量并行策略和优化器并行策略的一种或多种;
62.步骤s4.3、基于一个给定的流水线并行策略(deg》1),建立并求解以流水线并行、数据并行、张量并行和优化器并行训练的每次迭代所花费时间tpi为优化目标的混合整数二次规划数学模型,搜索的内容为流水线并行策略、数据并行策略、张量并行策略和优化器并行策略的一种或多种。
63.为便于理解,图3展示了本实施例中的步骤s4.1的执行流程。于本实施例中,所述的流水线为gpipe模式的同步流水线。
64.步骤s4.1.1、输入大模型的每一层的计算及通信时间之和a和显存开销m,相邻层的统一流水线阶段的通信时间r和不同流水线阶段的p2p通信时间r
′
,以及gpu数量n和小批量数量b。
65.步骤s4.1.2、令流水线阶段数deg=1,最小每次迭代执行时间mintpi=∞,及其对应的最小流水线阶段数mindeg=-1、微批量数量minc=-1、模型每一层的放置策略和并行策略
66.步骤s4.1.3、判断流水线阶段数量deg是否不大于gpu数量n。如果s4.1.3判断成立,则进入外层循环(入口为步骤s4.1.4)。
67.步骤s4.1.4、判断流水线度数deg是否为1。如果是,则进入步骤s4.2,建立并求解以数据并行、张量并行和优化器并行每次迭代所花费时间tpi为优化目标的混合整数二次规划数学模型。求解完成后,进入步骤s4.1.5、判断优化目标tpi是否小于mintpi,如果步骤s4.1.5判断成立,程序将执行步骤s4.1.6、令mintpi=tpi,mindeg=deg,minc=c,minp=p,mins=s。最后,程序将执行步骤s4.1.7,令deg=deg*2,再对步骤s4.1.3中外层循环的条件进行判断。
68.如果步骤s4.1.4的判断结果为否,执行步骤s4.1.8、令微批量数量c为2,然后执行步骤s4.1.9、判断微批量数量c是否不超过小批量数量b。如果判断不成立,那么程序执行步骤s4.1.7、deg=deg*2;如果判断成立,那么程序进入内层循环。在内层循环中,程序首先执行步骤s4.1.10、判断b是否不被c整除。如果判断成立,那么执行步骤s4.1.14、c=c+1,继续判断步骤s4.1.9中内层循环的条件;如果步骤s4.1.10的判断不成立,那么执行步骤
s4.1.11、微批量大小b=b/c,然后执行步骤s4.3、建立并求解以流水线并行、数据并行、张量并行和优化器并行训练的每次迭代所花费时间tpi为优化目标的混合整数二次规划数学模型。在得到求解结果后,执行步骤s4.1.12、判断优化目标tpi是否小于mintpi,如果判断成立,那么执行步骤s4.1.13、令mintpi=tpi,mindeg=deg,minc=c,minp=p,mins=s,然后程序将执行步骤s4.1.14、c=c+1,继续步骤s4.1.9中内层循环条件的判断。
69.如果步骤s4.1.3判断不成立,进入步骤s4.1.15、输出最小的每次迭代执行时间mintpi及其对应的最小流水线阶段数mindeg、微批量数量minc、模型每一层的放置策略minp和模型每一层的并行策略mins,结束。
70.本实施例提供的步骤s4.2中,为帮助理解所述以数据并行、张量并行和优化器并行每次迭代所花费时间tpi为优化目标的混合整数二次规划数学模型,本实施例将例举一个混合整数二次规划数学模型:
71.假设目标函数最小化每次迭代所花费时间tpi可以表示为公式(1):
72.min tpi=p
1 (1)
73.在公式(1)中,tpi是每次迭代所花费时间,因此该式等价于最大化每单位时间所迭代的次数,即等价于最大化吞吐量。在公式(1)中,pi为流水线并行第i个阶段的总计算和通信时间。因为步骤s4.2无需考虑流水线并行,所以可以将数据并行、张量并行和优化器并行的一种或多种组合视作在一个流水线阶段中执行并行计算。不失一般性,可设数据并行、张量并行和优化器并行在流水线的第1个阶段执行,将流水线地第1个阶段的总计算和通信时间记作为p1。
74.为了更好地理解,下面结合公式介绍各约束条件:
75.约束条件1:流水线的第1个阶段的计算时间包括bert-huge所有层u的计算及通信时间之和,以及bert-huge的所有边《u,v》(《u,v》∈e)所对应的层u和层v之间的同一流水线阶段的通信代价之和。约束条件1可以表达为公式(2):
[0076][0077]
其中s
uk
代表层u是否选择了第k个候选数据并行、张量并行和优化器并行策略,是一个0-1变量。
[0078]
约束条件2:流水线的第1个阶段的存储开销包括bert-huge所有层u(u∈v)的所有候选数据并行、张量并行和优化器并行策略的显存开销之和。约束条件2可以表达为公式(3):
[0079][0080]
本实施例中,m代表gpu0的显存容量减去加载bert-huge模型g(v,e)所需要的额外显存m
other
的剩余显存容量。于本实施例中,server0和server1之间同构,所以对于不同的gpu,m是一个常量。
[0081]
约束条件3:bert-huge所有层u(u∈v)能且仅能选择一个候选数据并行、张量并行和优化器并行策略。约束条件3可以表达为公式(4)(5):
[0082][0083][0084]
其中gu表示bert-huge层u的候选数据并行、张量并行和优化器并行策略集合,|gu|表示gu集合的势。
[0085]
本实施例提供的步骤s4.3中,为帮助理解所述以流水线并行、数据并行、张量并行和优化器并行训练的每次迭代所花费时间tpi为优化目标的混合整数二次规划数学模型,本实施例将例举一个混合整数二次规划数学模型:
[0086]
假设目标函数最小化每次迭代所花费时间tpi可以表示为公式(6):
[0087][0088]
在公式(6)中,pi为流水线并行第i个阶段的总计算和通信时间,ps是流水线并行的阶段总数,满足ps=d e g。oj为跨流水线阶段的第j个通信阶段的总通信时间,os是流水线并行中跨流水线阶段的通信阶段总数,满足os=ps-1。c为流水线计算时的微批量数量。其中代表了流水线所有阶段的计算和通信时间之和,代表了流水线中所有跨流水线阶段的p2p通信时间之和,max{p1,
…
,p
ps
}*(c-1)建模了流水线所有阶段中计算最慢的阶段和微批量数量对整体流水线计算时间的影响。
[0089]
为了更好地理解,下面结合公式介绍各个约束条件:
[0090]
约束条件1:流水线的第i个阶段的计算和通信时间,包括:(1)放置在第i个阶段的bert-huge层的计算及通信时间之和;(2)bert-huge的所有放置在第i个阶段的层u和层v之间的边《u,v》(《u,v》∈e)所对应的同一流水线阶段的通信代价之和。约束条件1可以表达为公式(7):
[0091][0092]
其中p
ui
代表层u是否放置在流水线的第i个阶段,是一个0-1变量。s
uk
代表层u是否选择了第k个候选数据并行、张量并行和优化器并行策略,是一个0-1变量。
[0093]
约束条件2:流水线并行的第j个跨流水线阶段的通信时间。约束条件2可以表达为公式(8):
[0094][0095]
约束条件3:流水线的第i个阶段的存储开销包括放置在第i个阶段的bert-huge层u(u∈v)的所有候选数据并行、张量并行和优化器并行策略的显存开销之和。约束条件3可以表达为公式(9):
[0096][0097]
本实施例中,m代表gpu0的显存容量减去加载bert-huge模型g(v,e)所需要的额外
显存m
other
的剩余显存容量。于本实施例中,server0和server1之间同构,所以对于不同的gpu,m是一个常量。
[0098]
约束条件4:每个流水线阶段必须包含bert-huge模型的连续部分。约束条件4可以表达为公式(10)(11)(12):
[0099][0100][0101][0102]
其中z
vi
是一个0-1变量,代表层v的后继中是否有一个层w,使得层w和层v的某个前驱层u被放置在第i个流水线阶段上。如果存在层w,那么z
vi
=1,否则等于0。于本实施例中,公式(10)(11)(12)共同约束了bert-huge模型的不同层不会被乱序放置在流水线阶段上,而是被顺序放置。
[0103]
约束条件5:bert-huge所有层u(u∈v)能且只能被放置在其中一个流水线阶段上,并且所有流水线阶段上至少有一个层。约束条件5可以表达为公式(13)(14)(15):
[0104][0105][0106][0107]
约束条件6:bert-huge所有层u(u∈v)能且仅能选择一个候选数据并行、张量并行和优化器并行策略。约束条件6可以表达为公式(4)(5)。
[0108]
最后,基于以上混合整数二次规划模型的求解结果,输出最优的大模型的并行训练策略(步骤s5):
[0109]
本实施例中,所述输出最优的大模型的并行训练策略,具体包括:
[0110]
基于步骤s4的输出步骤s4.1.15,输出bert-huge模型在当前系统下的最优流水线并行策略、数据并行策略、张量并行策略和优化器并行策略的一种或多种组合。
[0111]
更具体地,mintpi代表最小的每次迭代执行时间,mindeg代表当前mintpi对应的最小流水线阶段数,minc代表当前mintpi对应的微批量数量,minp代表当前mintpi对应的模型每一层的放置策略,mins代表当前mintpi对应的模型每一层的并行策略。所以最终的流水线并行策略为:设定流水线的阶段数为mindeg,流水线计算时拆分小批量为minc个微批量。模型的各层u应当放置在minp中对应的每一层放置的流水线阶段上。同时,模型每一层u的数据并行、张量并行和优化器并行策略为mins中对应每一层所采用的并行策略。此外,对于并行计算策略和系统的映射关系,系统中全局编号为l的gpu将负责计算流水线的第阶段。例如假设mindeg=4,那么server0的gpu3的全局编号为0*4+3=3,将负责计算流水线的第阶段;server1的gpu0的全局编号1*4+0=4,将负责计算流水线的第阶段。
[0112]
本发明的方法在多个模型和系统上进行了实验。实验过程中,在编号为0的服务器上统计面向人工智能大模型高效训练的并行策略搜索方法的搜索时间。在所述方法搜索得到的并行训练策略后,在编号为0的服务器上统计在该并行策略在当前系统下的吞吐量。在bert-huge、t5-large、vit-huge、swin-huge四个模型上的实验结果表明,相比已有的最佳方法,本发明的方法最快可以提升约16倍的策略搜索速度,最大可以提升约1.7倍的训练吞吐量。
技术特征:
1.一种面向人工智能大模型高效训练的并行策略搜索方法,其特征在于,包括以下步骤:步骤s1、输入人工智能大模型;步骤s2、获取系统执行性能信息和人工智能大模型的执行性能信息;步骤s3、利用代价模型估计人工智能大模型在当前系统上的执行时间开销和存储开销;步骤s4、以流水线并行训练的每次迭代所花费的时间为优化目标,建立用于自动搜索大模型的并行训练策略的混合整数二次规划数学模型并求解;步骤s5、输出最优的人工智能大模型的并行训练策略。2.根据权利要求1所述的一种面向人工智能大模型高效训练的并行策略搜索方法,其特征在于,所述步骤s2具体为:设定all-reduce的通信量a
ar
,统计all-reduce的通信时间t
ar
,从而获取系统的all-reduce通信效率e
ar
;设定p2p的通信量a
p2p
,统计p2p的通信时间t
p2p
,从而获取系统的p2p通信效率e
p2p
;设定all-reduce的通信量a
ar
,分别统计单独执行all-reduce的all-reduce通信时间t
n
,以及同时执行all-reduce和矩阵乘法计算时的all-reduce通信时间t
o
,从而获取系统的计算-通信重叠因子e
o
;统计大模型g(v,e)每一层u(u∈v)的前向执行时间fp
u
;统计除模型和优化器占用的显存以外,大模型g(v,e)每一层的激活显存和加载大模型g(v,e)所需要的额外显存m
other
。3.根据权利要求1所述的一种面向人工智能大模型高效训练的并行策略搜索方法,其特征在于,步骤s3中所述的执行时间开销包括大模型每一层的所有候选策略的计算及通信时间之和,相邻层的所有候选策略对的同一流水线阶段的通信时间和跨流水线阶段的p2p通信时间的一种或多种。4.根据权利要求1所述的一种面向人工智能大模型高效训练的并行策略搜索方法,其特征在于,步骤s3中所述的执行时间开销具体包括以下步骤:利用代价模型估计大模型g(v,e)的层u(u∈v)的所有候选数据并行、张量并行和优化器并行策略的计算及通信时间之和a
u
;利用代价模型估计大模型g(v,e)的边<u,v>(<u,v>∈e)所对应的层u和层v的所有候选数据并行、张量并行和优化器并行策略对之间的同一流水线阶段的通信时间r
uv
;利用代价模型估计大模型g(v,e)的边<u,v>(<u,v>∈e)所对应的层u和层v的所有候选数据并行、张量并行和优化器并行策略对之间的跨流水线阶段的p2p通信时间r
′
uv
。5.根据权利要求1所述的一种面向人工智能大模型高效训练的并行策略搜索方法,其特征在于,步骤s3中所述的存储开销包括大模型每一层的所有候选策略的显存开销。6.根据权利要求1所述的一种面向人工智能大模型高效训练的并行策略搜索方法,其特征在于,步骤s3中所述的存储开销具体包括以下步骤:利用代价模型估计大模型g(v,e)的层u(u∈v)的所有候选数据并行、张量并行和优化器并行策略的显存开销m
u
。7.根据权利要求1所述的一种面向人工智能大模型高效训练的并行策略搜索方法,其
特征在于,所述步骤s4具体为:步骤s4.1、枚举所有合法的流水线阶段数量deg和合法的微批量数量c,选取最小的每次迭代所花费时间tpi,及其对应的流水线并行策略、数据并行策略、张量并行策略和优化器并行策略的一种或多种;步骤s4.2、基于一个非流水线并行策略,建立并求解以数据并行、张量并行和优化器并行每次迭代所花费时间tpi为优化目标的混合整数二次规划数学模型,搜索的内容为数据并行策略、张量并行策略和优化器并行策略的一种或多种;步骤s4.3、基于一个给定的流水线并行策略,建立并求解以流水线并行、数据并行、张量并行和优化器并行训练的每次迭代所花费时间tpi为优化目标的混合整数二次规划数学模型,搜索的内容为流水线并行策略、数据并行策略、张量并行策略和优化器并行策略的一种或多种。8.根据权利要求1所述的一种面向人工智能大模型高效训练的并行策略搜索方法,其特征在于,所述步骤s5具体为:基于混合整数二次规划数学模型的各求解结果,输出大模型在当前系统下的最优流水线并行策略、数据并行策略、张量并行策略和优化器并行策略的一种或多种组合。9.一种计算机存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现如权利要求1-8中任一项所述的一种面向人工智能大模型高效训练的并行策略搜索方法。10.一种计算机设备,包括储存器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1-8中任一项所述的一种面向人工智能大模型高效训练的并行策略搜索方法。
技术总结
本发明公开了一种面向人工智能大模型高效训练的并行策略搜索方法,步骤如下:输入大模型;获取系统执行性能信息和大模型的执行性能信息;利用代价模型估计大模型在当前系统上的执行时间开销和存储开销;以流水线并行训练的每次迭代所花费的时间为优化目标,建立用于自动搜索大模型的并行训练策略的混合整数二次规划数学模型并求解;输出最优的大模型的并行训练策略。本发明支持流水线并行、数据并行、张量并行和优化器并行,策略空间大,搜索时间短,可应用于大模型的单机多卡并行训练和多机集群的分布式训练,提升大模型的训练效率。提升大模型的训练效率。提升大模型的训练效率。
技术研发人员:李武军 林昊 吴轲
受保护的技术使用者:南京大学
技术研发日:2023.06.29
技术公布日:2023/9/6
版权声明
本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
飞行汽车 https://www.autovtol.com/
