基于网络级模拟的自动并行策略搜索方法、介质及设备技术

技术编号:37123259 阅读:21 留言:0更新日期:2023-04-01 05:19
本发明专利技术提供一种基于网络级模拟的自动并行策略搜索方法、介质及设备,所述方法包括:获取神经网络计算图,并基于所述神经网络计算图对初始网络模型进行拆分,获取多个节点子网络模型,形成小集群网络模型;获取各所述节点子网络模型的时间开销;基于各所述节点子网络模型的时间开销模拟大集群网络模型的时间开销;基于模拟的大集群网络模型的时间开销进行并行策略搜索,输出最优并行策略。本发明专利技术不仅支持模型并行与流水线并行场景下的模拟,可以覆盖到现有的全部并行训练场景,同时整网拆分的性能评测方案,提升了模拟的准确率与速度。提升了模拟的准确率与速度。提升了模拟的准确率与速度。

【技术实现步骤摘要】
基于网络级模拟的自动并行策略搜索方法、介质及设备


[0001]本专利技术涉及人工智能
,特别是涉及神经网络模型


技术介绍

[0002]随着深度学习的不断发展,神经网络模型正朝着更大参数量的方向优化。大规模预训练语言模型已经成为自然语言处理的新范式。诸如GPT

3等拥有数千亿参数的语言模型在自然语言的理解和生成上表现出了强大的性能,它们已被证明在各种自然语言任务中取得了极佳的性能。但是大模型的训练难以在单卡内实现,因此分布式训练是大模型训练系统的核心,随着模型规模的扩大,各深度学习框架Pytorch、TensorFlow开始加入分布式训练的功能。
[0003]分布式训练面临训练效率低的问题。现有的分布式训练策略主要有数据并行训练、模型并行训练、流水线并行训练、优化器并行训练等模式。数据并行的方式在样本数据上实现训练规模的扩展,能够提升训练效率。除数据并行外,其他并行训练模式的目的将与模型训练的相关参数(模型参数、优化器参数)分割,使得单卡上能够完成一部分训练,从而实现分布式训练大模型的功能,但不能提升训练效率。因此将多种并行策略相结合,在保障集群训练能力的基础上,最大化训练效率是分布式训练的一个重要问题。
[0004]由于并行策略组合多,人工搜索耗时耗力,近年来有一些自动并行策略搜索方法的提出。但现有的自动并行策略搜索方案是基于经验模型的基础进行搜索和验证的,存在精度较低的问题。在真实大模型上进行性能实测在实践层面难度较大。需要一种精准的、轻量级的并行策略验证方案。<br/>[0005]现有的自动并行策略搜索技术缺乏一种精准的、高效的并行策略性能验证方案。现有技术中有一种对并行分布策略进行模拟的方案,它以算子为层级进行模拟,采用了算子性能评测、建立计算图、模拟计算图的方式。并根据多种已有的优化方案,对计算图进行相应的修改和替换。另一种在算子层级上进行并行策略模拟的方案。它创建了数据并行场景下的计算与数据传输的依。这种方法存在若干问题。首先,这种模拟方案只支持数据并行场景下的模拟;它支持的优化方案只支持层内的算子优化;最后,由于算子层级太低,性能评测的过程太过繁琐,耗费了大量的时间。最后,性能评测可能需要对完整的网络进行,时间开销大。
[0006]现有技术中还有一种方案是将自动并行策略搜索问题转换为整数线性规划问题。通过构建代价模型和解空间,来评估验证并行策略的优劣,通过遗传算法来对并行策略进行搜索和优化。该技术的主要方案是代价模型的精确度问题。基于代价模型等经验模型的并行策略验证方案虽然有着轻量级的优势,但是准确率较低。并且当计算硬件和网络拓扑发生变化时,通过代价模型搜索得到的并行训练策略并不能保证原有的训练效率。

技术实现思路

[0007]鉴于以上所述现有技术的缺点,本专利技术的目的在于提供一种基于网络级模拟的自
动并行策略搜索方法、介质及设备,用于解决现有技术不能支持模型并行、流水线并行的训练场景,且模拟开销大的技术问题。
[0008]为实现上述目的及其他相关目的,本专利技术提供一种基于网络级模拟的自动并行策略搜索方法,所述方法包括:获取神经网络计算图,并基于所述神经网络计算图对初始网络模型进行拆分,获取多个节点子网络模型,形成小集群网络模型;获取各所述节点子网络模型的时间开销;基于各所述节点子网络模型的时间开销模拟大集群网络模型的时间开销;基于模拟的大集群网络模型的时间开销进行并行策略搜索,输出最优并行策略。
[0009]于本专利技术的一实施例中,所述基于所述神经网络计算图对初始网络模型进行拆分包括模型并行模式的模型拆分方式,包括:将所述初始网络模型的每个神经网络层的权重拆分成多个部分,每个部分分配给一个设备对同一个输入进行计算,计算完成后通过通信将输出汇总成完整的输出。
[0010]于本专利技术的一实施例中,所述基于所述神经网络计算图对初始网络模型进行拆分包括流水线并行模式的模型拆分方式,包括:将所述初始网络模型拆分为若干级联节点子网络模型,每台设备计算一个节点子网络模型,其中包含一或多个计算层,设备间通过接力的方式完成整网计算。
[0011]于本专利技术的一实施例中,所述基于所述神经网络计算图对初始网络模型进行拆分包括:确定并行策略,并确定所述并行策略下的模型并行模式和流水线并行模式的的并行度;基于所述模型并行模式将所述初始网络模型中的算子进行层内切分得到适应模型并行的算子;基于所述流水线并行模式和各所述算子将所述初始网络模型分为若干级联节点子网络模型。
[0012]于本专利技术的一实施例中,所述时间开销包括:计算时间开销和通信时间开销;所述计算时间开销包括前向计算时间,反向计算时间,参数更新时间中的一种或多种;所述通信时间开销至少包括计算数值传输时间,计算数值汇总时间,模型梯度汇总时间。
[0013]于本专利技术的一实施例中,还包括:在前向阶段和反向阶段模拟模型并行和流水线并行,在参数更新阶段模拟数据并行。
[0014]于本专利技术的一实施例中,所述并行策略的搜索的方式采用网格搜索的方法,搜索的内容为由集群规模确定的流水线并行度、模型并行度与数据并行度。
[0015]于本专利技术的一实施例中,所述基于模拟的大集群网络模型的时间开销进行并行策略搜索,输出最优并行策略包括:输入大集群网络模型的集群规模、模型切分与时间开销数据;依次模拟并行策略的时间开销,并将时间开销最低的并行策略确定为最优并行策略。
[0016]为实现上述目的及其他相关目的,本专利技术还提供一种计算机存储介质,存储有程序指令,所述程序指令被执行时实现如上所述的基于网络级模拟的自动并行策略搜索方法的步骤。
[0017]为实现上述目的及其他相关目的,本专利技术还提供一种电子设备,包括存储器,用于存储计算机程序;处理器,用于运行所述计算机程序以实现如上所述的基于网络级模拟的自动并行策略搜索方法的步骤。
[0018]如上所述,本专利技术的基于网络级模拟的自动并行策略搜索方法、介质及设备具有以下有益效果:
[0019]本专利技术不仅支持模型并行与流水线并行场景下的模拟,可以覆盖到现有的全部并
行训练场景,同时整网拆分的性能评测方案,提升了模拟的准确率与速度。
附图说明
[0020]为了更清楚地说明本专利技术实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0021]图1显示为本申请一实施例中的基于网络级模拟的自动并行策略搜索方法的整体流程示意图;
[0022]图2显示为本申请一实施例中的基于网络级模拟的自动并行策略搜索方法的原理流程示意图;
[0023]图3显示为本申请一实施例中的基于网络级模拟的自动并行策略搜索方法中网络级并行策略模拟验证方案的总体流程图;
[0024]图4显示为本申请一实施例中的基于网络级模拟的自动并行策略搜索方法中模型拆分的示本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于网络级模拟的自动并行策略搜索方法,其特征在于:所述方法包括:获取神经网络计算图,并基于所述神经网络计算图对初始网络模型进行拆分,获取多个节点子网络模型,形成小集群网络模型;获取各所述节点子网络模型的时间开销;基于各所述节点子网络模型的时间开销模拟大集群网络模型的时间开销;基于模拟的大集群网络模型的时间开销进行并行策略搜索,输出最优并行策略。2.根据权利要求1所述的基于网络级模拟的自动并行策略搜索方法,其特征在于:所述基于所述神经网络计算图对初始网络模型进行拆分包括模型并行模式的模型拆分方式,包括:将所述初始网络模型的每个神经网络层的权重拆分成多个部分,每个部分分配给一个设备对同一个输入进行计算,计算完成后通过通信将输出汇总成完整的输出。3.根据权利要求1或2所述的基于网络级模拟的自动并行策略搜索方法,其特征在于:所述基于所述神经网络计算图对初始网络模型进行拆分包括流水线并行模式的模型拆分方式,包括:将所述初始网络模型拆分为若干级联节点子网络模型,每台设备计算一个节点子网络模型,其中包含一或多个计算层,设备间通过接力的方式完成整网计算。4.根据权利要求1所述的基于网络级模拟的自动并行策略搜索方法,其特征在于:所述基于所述神经网络计算图对初始网络模型进行拆分包括:确定并行策略,并确定所述并行策略下的模型并行模式和流水线并行模式的的并行度;基于所述模型并行模式将所述初始网络模型中的算子进行层内切分得到适应模型并行的算子;基于所述流水线并行模式和各所述算子将所述初始网络...

【专利技术属性】
技术研发人员:冷静文王雅凯过敏意陆冠东陈润哲
申请(专利权)人:上海期智研究院
类型:发明
国别省市:

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

1