本发明涉及的是一种领域的技术,具体是一种基于自适应并行共优化的大模型异构集群调度系统及方法。
背景技术:
1、随着深度学习的快速发展,大模型在自然语言处理、计算机视觉、推荐系统等领域展现出了卓越的性能。大模型是指参数量较大、计算复杂度较高的机器学习模型。这些模型通常具有数以亿计的参数,需要大量的数据和计算资源进行训练。由于其强大的表示学习能力,近年来,大模型如bert、gpt等在各种任务中取得了突出的成绩,成为人工智能领域的研究热点。然而,大模型的训练需要耗费大量的时间和计算资源,因此如何高效地训练和部署大型模型成为了当前研究和应用中的重要问题。由于训练大型模型需要大量并行资源,现有的大规模集群通过不断整合新一代gpu以满足其计算需求。然而,这也导致了gpu类型、gpu互连拓扑等方面的异构性。为了处理这种异构性,自适应并行通过结合数据、张量和流水线并行,自动探索分配资源上训练任务的最佳并行策略。通过穷尽搜索,自适应并行始终能够最大程度地利用分配的资源。
技术实现思路
1、本发明针对现有技术存在的上述不足,提出一种基于自适应并行共优化的大模型异构集群调度系统及方法,保证了多个大模型训练任务的高效性能分析,集群级别的吞吐性能和资源利用率提高以及任务级别的任务完成时间减少。
2、本发明是通过以下技术方案实现的:
3、本发明涉及一种基于自适应并行共优化的大模型异构集群调度系统,包括:基于执行流建模的性能分析器、集群弹性抢占式任务调度器以及任务并行执行引擎,其中:集群弹性抢占式任务调度器根据任务队列动态改变任务的计算资源,得到不同集群任务负载下近似最优的任务资源分配;性能分析器根据来自集群弹性抢占式任务调度器的模型并行块和来自异构gpu集群的硬件信息,进行单设备上的并行块算子延迟测量,估计得到每一个并行块所定义的子空间内最优并行策略的迭代时间;任务并行执行引擎接收调度后的并行块进行基于剪枝后搜索空间下的并行搜索、生成任务及其最优并行策略后输出至异构gpu集群。
4、所述的并行块是指:与深度学习任务绑定的调度空间的子空间,每个并行块对应不同的流水线并行阶段的数目和资源分配。
5、所述的资源包括:gpu类型、数目和连接的拓扑。
6、所述的算子包括但不限于矩阵乘法计算。
7、本发明涉及一种基于上述系统的大模型异构集群调度方法,通过对待处理模型进行等价编译以分析其算子构成,在样本设备上测量每个算子的性能并估计端到端迭代时间,在多个并行块内进行采样,生成并行块的性能评估,基于性能评估进行任务弹性抢占调度并分配资源,基于硬件资源和最优并行块进行基于剪枝的最优并行策略搜索,根据得到的近似最优的并行策略训练待处理模型。
8、技术效果
9、本发明通过在单设备上的并行块算子进行延迟测量并采用考虑自适应并行的集群弹性抢占式任务调度操作,与现有技术相比,本发明在单设备上进行大模型多设备大规模分布式训练的性能建模和分析;在gpu集群调度中基于模型在自适应并行下得到的性能数据进行调度决策。
1.一种基于自适应并行共优化的大模型异构集群调度系统,其特征在于,包括:基于执行流建模的性能分析器、集群弹性抢占式任务调度器以及任务并行执行引擎,其中:集群弹性抢占式任务调度器根据任务队列动态改变任务的计算资源,得到不同集群任务负载下近似最优的任务资源分配;性能分析器根据来自集群弹性抢占式任务调度器的模型并行块和来自异构gpu集群的硬件信息,进行单设备上的并行块算子延迟测量,估计得到每一个并行块所定义的子空间内最优并行策略的迭代时间;任务并行执行引擎接收调度后的并行块进行基于剪枝后搜索空间下的并行搜索、生成任务及其最优并行策略后输出至异构gpu集群;
2.根据权利要求1所述的基于自适应并行共优化的大模型异构集群调度系统,其特征是,所述的性能分析器包括:通信算子延迟估计单元、计算算子延迟测量单元以及流水线端到端时间建模单元,其中:通信算子延迟估计单元根据待测目标模型、确定设备在并行划分和编译后的通信算子构成以及离线测量的通信延迟数据,基于通信量差值得到每个通信算子的延迟估计;计算算子延迟测量单元根据待测目标模型在并行划分和编译后的计算算子构成,在单个设备上进行延迟测量,得到每个计算算子的延迟数据;流水线端到端时间建模单元根据延迟估计和延迟测量,基于流水线的执行流进行建模,得到流水线执行下的端到端时间性能估计。
3.根据权利要求1所述的基于自适应并行共优化的大模型异构集群调度系统,其特征是,所述的集群弹性抢占式任务调度器包括:任务队列单元、启发式并行块分配优化单元以及机会保有执行单元,其中:任务队列单元针对多个任务的多个并行块,根据用户的任务提交顺序,按先来先服务方式对每个任务进行队列排队,启发式并行块分配优化单元根据任务队列中的任务信息数据以及当前集群的负载程度,进行启发式的多任务资源调度,得到集群吞吐更优的资源分配决策,机会保有执行单元根据任务队列中的任务排队情况以及集群资源的状态,进行机会主义式地任务暂时抢占式执行,得到集群吞吐更优的任务执行决策。
4.根据权利要求3所述的基于自适应并行共优化的大模型异构集群调度系统,其特征是,所述的启发式的多任务资源调度是指:在负载较低时启发式地选择任务进行向上扩展,增大分配的gpu数目或切换gpu类型,在负载较高时执行相反的向下扩展。
5.根据权利要求3所述的基于自适应并行共优化的大模型异构集群调度系统,其特征是,所述的机会主义式地任务暂时抢占式执行是指:队列中靠前的大任务执行资源不够的情况下,较后的小任务临时使用预留给大任务的部分资源进行训练。
6.根据权利要求1所述的基于自适应并行共优化的大模型异构集群调度系统,其特征是,所述的任务并行执行引擎包括:并行空间剪枝搜索单元和训练任务执行单元,其中:并行搜索空间剪枝单元针对集群弹性抢占式任务调度器分配的并行块,根据性能分析器模块得到的任务性能数据,进行并行块定义的子空间内的并行搜索剪枝,得到剪枝后并行子空间下搜索后的最优并行策略,训练任务执行单元根据并行空间剪枝搜索单元得到的最优并行策略,将目标模型基于该最优并行策略部署到并行块对应的硬件上,得到模型、硬件以及并行方式构成的可执行的训练任务。
7.根据权利要求1或2所述的基于自适应并行共优化的大模型异构集群调度系统,其特征是,所述的并行块是指:与深度学习任务绑定的调度空间的子空间,每个并行块对应不同的流水线并行阶段的数目和资源分配;当用户提交一个任务时,性能分析器会首先在不同并行块上,对任务对应的模型在异构gpu集群中所有可用的gpu类型下各自的单块gpu上进行等价编译和延迟测量,基于执行流进行端到端的迭代时间建模进行性能分析并根据分析结果对该任务以及之前提交的任务进行启发式的弹性抢占式重调度,以在保证任务不会饿死的情况下优化集群整体的性能,当提交的任务被真实地分配到硬件资源上时,执行引擎会基于这些资源对应的并行块,在划分后的并行子空间内进行基于剪枝的并行策略搜索,并以搜索到的最优并行策略开始执行任务;
8.根据权利要求1或6所述的基于自适应并行共优化的大模型异构集群调度系统,其特征是,所述的最优并行策略,基于硬件与并行阶段的映射关系,决定并行后的每个模型流水线阶段应该被放置在哪个硬件子集合,具体为:给定硬件资源和流水线阶段数目,分析器将模型算子基于最小化阶段间通信量聚合为流水线阶段,并基于算子计算量均衡的原则映射到资源量上。
9.一种基于权利要求1-8中任一所述系统的大模型异构集群调度方法,其特征在于,通过对待处理模型进行等价编译以分析其算子构成,在样本设备上测量每个算子的性能并估计端到端迭代时间,在多个并行块内进行采样,生成并行块的性能评估,基于性能评估进行任务弹性抢占调度并分配资源,基于硬件资源和最优并行块进行基于剪枝的最优并行策略搜索,根据得到的近似最优的并行策略训练待处理模型。