CN116956756A - 模型部署方法、任务处理方法、装置、设备及存储介质 - Google Patents
模型部署方法、任务处理方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN116956756A CN116956756A CN202311220752.4A CN202311220752A CN116956756A CN 116956756 A CN116956756 A CN 116956756A CN 202311220752 A CN202311220752 A CN 202311220752A CN 116956756 A CN116956756 A CN 116956756A
- Authority
- CN
- China
- Prior art keywords
- model
- group
- strategy
- equipment
- parallel
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 147
- 238000003672 processing method Methods 0.000 title claims abstract description 23
- 238000012545 processing Methods 0.000 claims abstract description 107
- 238000013507 mapping Methods 0.000 claims description 58
- 238000000638 solvent extraction Methods 0.000 claims description 49
- 238000004088 simulation Methods 0.000 claims description 43
- 230000001934 delay Effects 0.000 claims description 40
- 238000004590 computer program Methods 0.000 claims description 13
- 238000012935 Averaging Methods 0.000 claims description 5
- 238000004458 analytical method Methods 0.000 claims description 4
- 238000013135 deep learning Methods 0.000 abstract description 4
- 238000004422 calculation algorithm Methods 0.000 description 17
- 238000010586 diagram Methods 0.000 description 11
- 238000005192 partition Methods 0.000 description 11
- 230000000694 effects Effects 0.000 description 7
- 230000018199 S phase Effects 0.000 description 4
- 230000005540 biological transmission Effects 0.000 description 4
- 238000004364 calculation method Methods 0.000 description 4
- 230000001133 acceleration Effects 0.000 description 3
- 238000005457 optimization Methods 0.000 description 3
- 238000009825 accumulation Methods 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 230000003111 delayed effect Effects 0.000 description 2
- 238000002474 experimental method Methods 0.000 description 2
- VYPSYNLAJGMNEJ-UHFFFAOYSA-N silicon dioxide Inorganic materials O=[Si]=O VYPSYNLAJGMNEJ-UHFFFAOYSA-N 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 230000001351 cycling effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000001052 transient effect Effects 0.000 description 1
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/20—Design optimisation, verification or simulation
- G06F30/27—Design optimisation, verification or simulation using machine learning, e.g. artificial intelligence, neural networks, support vector machines [SVM] or training a model
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/23—Clustering techniques
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Evolutionary Computation (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Artificial Intelligence (AREA)
- Computer Vision & Pattern Recognition (AREA)
- General Physics & Mathematics (AREA)
- Medical Informatics (AREA)
- Geometry (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- Life Sciences & Earth Sciences (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Evolutionary Biology (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Supply And Distribution Of Alternating Current (AREA)
Abstract
本发明涉及深度学习技术领域,并公开了模型部署方法、任务处理方法、装置、设备及存储介质,通过仿真模拟,计算出每一个分组划分策略下的每个组内并行策略的延迟,基于该延迟则可选出最优设备组划分策略和多个最优组内并行策略,并按照选出的策略进行部署,并记录下模型与设备的映射关系,则可满足延迟要求。又由于模型的部署不是一个模型对应一个设备,而是一个模型并行部署于多个设备之上,且一个设备又对应部署了多个模型。因而,在处理任务时,可以实现同一个模型的任务在多个设备上流水并行处理,不同模型的任务在多个设备上并行处理。即,可以在少量设备上满足延迟要求、提升处理效率、应对突发流量,能够极大的提升集群利用率。
Description
技术领域
本发明涉及深度学习技术领域,特别是涉及模型部署方法、任务处理方法、装置、设备及存储介质。
背景技术
随机深度学习的发展,从模型中提供预测,已经成为现代系统中必不可少的工作。随着任务量越来越大,要求越来越高,模型也越来越大。
这些大模型预测工作负载的结构,通常遵循一个简单的请求-响应模式。具体的,开发人员上传一个预先训练过的预测模型及其权重。在运行时,客户端(要么用户或其他应用程序)为该模型提交请求到一个服务系统的进行排队,调度系统将它们分配给可用的设备,并返回结果。
这些大模型的服务系统的要求非常严格。具体的,为了满足用户需求,系统通常必须达到非常小的延迟级别;同时,连续运行的服务系统需要最小化它们的负载以及尽可能减少昂贵的加速器相关的运营成本。此外,还有一些十分重要的和不可预测的用户请求突然到达,为了满足这些突然任务请求的严格的延迟要求。
目前的服务系统通常被迫过度供应计算资源。即,每次收到新的任务请求都部署到新的计算设备上,导致集群利用率低,模型使用成本高。
综上所述,如何有效地解决在保障延迟要求的情况下,提高集群利用率等问题,是目前本领域技术人员急需解决的技术问题。
发明内容
本发明的目的是提供一种模型部署方法、任务处理方法、装置、设备及可读存储介质,能够有效降低任务的延迟,提升突发任务的处理效率,能够最大限度的提示集群算力设备的效率。
为解决上述技术问题,本发明提供如下技术方案:
一种模型部署方法,包括:
仿真模拟计算多个设备组划分策略中的每个组内并行策略的延迟;其中,所述设备组划分策略为将集群中的设备进行分组的策略,所述组内并行策略为将模型分若干个阶段部署于一个设备组内的多个设备上的策略;
利用所述延迟,选出一个最优设备组划分策略及所述最优设备组划分策略中的多个最优组内并行策略;
按照所述最优设备组划分策略,将所述集群的设备划分为多个设备组,每一个所述设备组对应一个模型簇;
按照所述最优组内并行策略,分别将当前对应的模型簇中各模型划分为若干个阶段后,将所述若干个阶段部署在当前设备组内的多个设备上,并记录模型与设备间的映射关系,以实现多设备多路复用。
优选地,在所述仿真模拟计算多个设备组划分策略中的每个组内并行策略的延迟之前,还包括:
根据所述模型簇的数量,将所述集群中的设备分为若干设备分类组;
遍历所述设备分类组,为每一所述模型簇划分设备组,得到所述设备组划分策略;
枚举每一所述设备组划分策略对应的多个所述组内并行策略。
优选地,仿真模拟计算多个设备组划分策略中的每个组内并行策略的延迟,包括:
对所述模型簇内每一种模型,选择不同的所述设备组划分策略下不同的所述组内并行策略,模拟部署模型到所述集群;
模拟部署后,通过仿真模拟计算每一所述组内并行策略的所述延迟。
优选地,对所述模型簇内每一种模型,选择不同的所述设备组划分策略下不同的所述组内并行策略,模拟部署模型到所述集群,包括:
对每一所述模型簇进行遍历,并依次为当前所述模型簇选择不同的所述设备组划分策略,依次按照当前的设备组划分策略下的不同组内并行策略进行模型部署。
优选地,还包括:
对待部署的多个模型进行聚类,得到若干个所述模型簇;
相应地,利用所述延迟,选出一个最优设备组划分策略及所述最优设备组划分策略中的多个最优组内并行策略,包括:
利用所述延迟,从每一所述设备组划分策略对应的多个所述组内并行策略选出若干个所述组内并行策略;其中,选出的所述组内并行策略的个数与所述模型簇的个数相同;
利用选出的若干个所述组内并行策略,从多个所述设备组划分策略中选出所述最优设备组划分策略;
将所述最优设备组划分策略对应选出的若干个所述组内并行策略确定为所述最优组内并行策略。
优选地,利用所述延迟,从每一所述设备组划分策略对应的多个所述组内并行策略选出若干个所述组内并行策略,包括:
将每一所述设备组划分策略对应的多个所述组内并行策略的延迟进行累加或求均值,得到总延迟;
利用所述总延迟,从多个所述设备组划分策略中选出所述最优设备组划分策略。
优选地,对待部署的多个模型进行聚类,得到若干个所述模型簇,包括:
基于模型参数量,对多个模型进行聚类,得到若干个所述模型簇。
优选地,记录模型映射关系,包括:
在任务分发器中,记录所述映射关系。
优选地,按照所述最优组内并行策略,分别将当前对应的模型簇中各模型划分为若干个阶段后,将所述若干个阶段部署在当前设备组内的多个设备上,包括:
按照每一所述设备组对应的所述最优组内并行策略,将对应的所述模型簇中的目标模型拆分为若干个阶段;
将所述若干个阶段,按照对应的最优组内并行策略,将每个阶段部署在当前设备组中的不同设备上。
优选地,将对应的所述模型簇中的目标模型拆分为若干个阶段,包括:
枚举所述目标模型的拆分策略;
通过模拟计算每一种所述拆分策略的并行延迟;
利用所述并行延迟,选出最优拆分策略;
按照所述最优拆分策略,将所述目标模型拆分为若干个阶段。
优选地,枚举所述目标模型的拆分策略,包括:
以层为拆分最小单位,枚举所述目标模型的拆分策略。
优选地,通过模拟计算每一种所述拆分策略的并行延迟,包括:
通过模拟计算每一种所述拆分策略的各阶段延迟;
从所述各阶段延迟中选择最大延迟作为所述并行延迟。
优选地,利用所述并行延迟,选出最优拆分策略,包括:
选出所述并行延迟最小的拆分策略确定为所述最优拆分策略。
优选地,将所述若干个阶段,按照对应的最优组内并行策略,将每个阶段部署在当前设备组中的不同设备上,包括:
将若干个阶段,按照对应的最优组内并行策略,分别写入在设备组中的不同设备上;
将部署有所述目标模型的设备,按照阶段顺序,分别设置发送节点和接收节点,进行顺序连接。
优选地,按照所述最优设备组划分策略,将所述集群的设备划分为多个设备组,每一个所述设备组对应一个模型簇,包括:
按照所述最优设备组划分策略,将所述集群的设备划分为多个所述设备组;
将待部署模型,按照所述模型簇与所述设备组建立一一对应关系;
相应地,所述按照所述最优组内并行策略,分别将当前对应的模型簇中各模型划分为若干个阶段后,将所述若干个阶段部署在当前设备组内的多个设备上,并记录模型与设备间的映射关系,以实现多设备多路复用,包括:
在每一个所述设备组内,按照对应的最优组内并行策略,将对应模型簇内的模型划分为若干个阶段,并将所述若干个阶段分别部署在不同的设备上;
其中,一个所述模型簇内的多个模型对应部署在于所述模型簇具有映射关系的同一个所述设备组中,一个模型的不同阶段部署在同一个所述设备组中的不同设备上;一个所述设备组对应部署一个所述模型簇,一个设备上具有所属所述设备组对应的所述模型簇中的多个模型的不同或相同阶段;
将部署模型的开始阶段的设备与该模型建立映射关系,并进行记录,以实现多设备多路复用。
一种任务处理方法,应用于按照上述的模型部署方法的步骤部署了多个模型的集群,包括:
接收第一任务请求,确定执行所述第一任务请求的第一模型;
基于模型与设备间的映射关系,从所述集群中确定出部署所述第一模型中第一阶段的第一设备;
在所述第一设备未处理所述第一模型的任务请求的情况下,利用所述第一设备处理所述第一任务请求的第一阶段任务;
在所述第一设备处理完所述第一任务请求的第一阶段任务的情况下,利用所述第一设备处理下一个所述第一任务请求的第一阶段任务,并利用部署有所述第一模型的第二阶段的第二设备,处理所述任务请求的第二阶段任务。
优选地,在所述第一设备处理完所述第一阶段任务的情况下,利用部署有所述第一模型中第二阶段的第二设备,处理所述任务请求的第二阶段任务,包括:
在所述第一设备处理完所述第一阶段任务的情况下,利用所述第一设备的发送节点将数据内容传递给所述第二设备的接收节点;
利用所述第二设备,处理所述第一任务的第二阶段任务。
优选地,还包括:
接收第二任务请求,确定执行所述第二任务请求的第二模型;
基于模型与设备间的映射关系,从所述集群中确定出部署所述第二模型中第一阶段的所述第二设备;
在所述第二设备未处理所述第二模型的任务请求的情况下,利用所述第二设备处理所述第二任务请求的第一阶段任务;
在所述第二设备处理完所述第二任务请求的第一阶段任务的情况下,利用所述第二设备处理下一个所述第二任务请求中的第一阶段任务,并利用部署有第二模型中第二阶段的所述第一设备处理所述第二任务请求中的第二阶段任务。
一种模型部署装置,包括:
延迟获取模块,用于仿真模拟计算多个设备组划分策略中的每个组内并行策略的延迟;其中,所述设备组划分策略为将集群中的设备进行分组的策略,所述组内并行策略为将模型分若干个阶段部署于一个设备组内的多个设备上的策略;
策略选择模块,用于利用所述延迟,选出一个最优设备组划分策略及所述最优设备组划分策略中的多个最优组内并行策略;
模型部署模块,用于按照所述最优设备组划分策略,将所述集群的设备划分为多个设备组,每一个所述设备组对应一个模型簇;按照所述最优组内并行策略,分别将当前对应的模型簇中各模型划分为若干个阶段后,将所述若干个阶段部署在当前设备组内的多个设备上,并记录模型与设备间的映射关系,以实现多设备多路复用。
一种任务处理装置,应用于按照上述的模型部署方法的步骤部署了多个模型的集群,包括:
请求解析模块,用于接收第一任务请求,确定执行所述第一任务请求的第一模型;
处理设备确定模块,用于基于模型与设备间的映射关系,从所述集群中确定出部署所述第一模型中第一阶段的第一设备;
任务处理模块,用于在所述第一设备未处理所述第一模型的任务请求的情况下,利用所述第一设备处理所述第一任务请求的第一阶段任务;在所述第一设备处理完所述第一任务请求的第一阶段任务的情况下,利用所述第一设备处理下一个所述第一任务请求的第一阶段任务,并利用部署有所述第一模型的第二阶段的第二设备,处理所述任务请求的第二阶段任务。
一种电子设备,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如上述模型部署方法的步骤,或执行所述计算机程序时实现如上述任务处理方法的步骤。
一种可读存储介质,所述可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上述模型部署方法的步骤,或所述计算机程序被处理器执行时实现如上述任务处理方法的步骤。
应用本发明实施例所提供的方法,仿真模拟计算多个设备组划分策略中的每个组内并行策略的延迟;其中,设备组划分策略为将集群中的设备进行分组的策略,组内并行策略为将模型分若干个阶段部署于一个设备组内的多个设备上的策略;利用延迟,选出一个最优设备组划分策略及最优设备组划分策略中的多个最优组内并行策略;按照最优设备组划分策略,将集群的设备划分为多个设备组,每一个设备组对应一个模型簇;按照最优组内并行策略,分别将当前对应的模型簇中各模型划分为若干个阶段后,将若干个阶段部署在当前设备组内的多个设备上,并记录模型与设备间的映射关系,以实现多设备多路复用。
在本发明中,首先每一设备组划分策略对应的多个组内并行策略,通过仿真模拟计算出延迟。其中,设备组划分策略即确定如何将集群中的设备分组的策略;组内并行策略即针对一个模型簇中的每一个模型如何拆分出多个阶段,及如何部署于一个设备组内的多个设备上的策略。基于该延迟,则可选出最优设备组划分策略和该最优设备组划分策略下的多个最优组内并行策略。然后,按照设备组划分策略将集群中的设备划分为多个设备组,然后在每一设备组上,按照最优组内并行策略将模型簇中的每一个模型拆分为多个阶段,并分别部署到同一个设备组内的多个设备上,并记录下模型与设备间的映射关系,从而实现多设备多路复用。
本发明的技术效果:通过仿真模拟,计算出每一个分组划分策略下的每个组内并行策略的延迟,基于该延迟则可选出最优设备组划分策略和多个最优组内并行策略,并按照选出的策略进行部署,并记录下模型与设备的映射关系,则可满足延迟要求。又由于模型的部署不是一个模型对应一个设备,而是一个模型并行部署于多个设备之上,且一个设备又对应部署了多个模型。因而,在处理任务时,可以实现同一个模型的任务在多个设备上流水并行处理,不同模型的任务在多个设备上并行处理。即,可以在少量设备上满足延迟要求、提升处理效率、应对突发流量,能够极大的提升集群利用率。
相应地,本发明实施例还提供了任务处理方法,及与上述模型部署方法相对应的装置、设备和可读存储介质,具有上述技术效果,在此不再赘述。
附图说明
为了更清楚地说明本发明实施例或相关技术中的技术方案,下面将对实施例或相关技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例中一种模型部署方法的流程图;
图2为本发明实施例中一种模型部署方法的具体流程图;
图3为本发明实施例中一种任务处理方法的实施示意图;
图4为一种任务处理示意图;
图5为本发明实施例中一种模型部署示意图;
图6为本发明实施例中一种任务处理示意图;
图7为本发明实施例中一种模型部署装置的结构示意图;
图8为本发明实施例中一种任务处理装置的结构示意图;
图9为本发明实施例中一种电子设备的结构示意图;
图10为本发明实施例中一种电子设备的具体结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面结合附图和具体实施方式对本发明作进一步的详细说明。显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
在需要将多个已训练好的模型部署到需要做多任务分析的集群中时,可以采用本发明实施例所提供的模型部署方法将多个模型部署在集群中,在完成部署之后,可以采用本发明实施例所提供的任务处理方法进行多任务处理。
在本发明实施例中,对应模型具体的何种模型,所处理的任务具体是哪些任务并不做具体限定。例如,集群所处理的任务可以为图像处理任务、音频处理处理任务、文本处理任务、内容识别处理任务、分类等常见的分析任务中的一种或多种的任意组合。相应地的,对于所部署的模型本身的架构、规模大小等也不做具体限定。
请参考图1,图1为本发明实施例中一种模型部署方法的流程图,该方法包括以下步骤:
S101、仿真模拟计算多个设备组划分策略中的每个组内并行策略的延迟。
其中,设备组划分策略为将集群中的设备进行分组的策略,组内并行策略为将模型分若干个阶段部署于一个设备组内的多个设备上的策略。
也就是说,设备组划分策略就针对当前需要进行模型部署的集群,划分为若干个设备组的策略。例如,对于一个需要进行多任务推理的集群,其内有n个设备,现需要划分出4个设备组,设备组划分策略即可明确,哪些设备为一个设备组。
组内并行策略,即表明同一个模型簇内的每一个模型,如何分散部署在多个设备上的策略。
在本发明中的一种具体实施方式中,在仿真模拟计算多个设备组划分策略中的每个组内并行策略的延迟之前,还包括:
根据模型簇的数量,将集群中的设备分为若干设备分类组;
遍历设备分类组,为每一模型簇划分设备组,得到设备组划分策略;
枚举每一设备组划分策略对应的多个组内并行策略。
为便于描述,下面将上述三个步骤结合起来进行说明。
首先,根据模型簇的数量,将集群中的设备分为若干个设备分类组。然后,再通过遍历设备分类组,可以为每一模型簇划分出一个设备组,从而得到设备组划分策略。通过枚举,再明确每一个设备组划分策略下对应的多个组内并行策略。需要注意的是,这里的同一个设备组划分策略下的组内并行策略可以大于等于模型簇的数量,以便后续选最优组内并行策略的时候,选出满足部署需求的数量。
在本发明中的一种具体实施方式中,仿真模拟计算多个设备组划分策略中的每个组内并行策略的延迟,包括:
对模型簇内每一种模型,选择不同的设备组划分策略下不同的组内并行策略,模拟部署模型到集群;
模拟部署后,通过仿真模拟计算每一组内并行策略的延迟。
其中,对模型簇内每一种模型,选择不同的设备组划分策略下不同的组内并行策略,模拟部署模型到集群,包括:
对每一模型簇进行遍历,并依次为当前模型簇选择不同的设备组划分策略,依次按照当前的设备组划分策略下的不同组内并行策略进行模型部署。
也就是说,在进行仿真模型时,是按照设备组划分策略将集群进行模拟划分之后,然后基于每一个组内并行策略,模拟部署模型到集群,从而计算出每一个组内并行策略的延迟。具体的,即计算按照组内并行策略部署的各个模型分散在多个设备上执行时的延迟(包括算力延迟和通信延迟)。在计算延迟时,可以采用相关性能计算模型进行计算,需要注意的是,在本实施例中,计算每一个组内并行策略的延迟,需要计算每一个按照组内并行策略部署的模型的延迟,每一个模型的延迟则需要考虑被划分为若干个阶段,每一个阶段在对应的设备上的算力延迟和通信延迟,从而进行累加。
S102、利用延迟,选出一个最优设备组划分策略及最优设备组划分策略中的多个最优组内并行策略。
在选择最优识别组划分策略和多个最优组内并行策略,可直接基于延迟最优进行挑选。
具体的,可以将设备组划分策略中的多个组内并行策略的延迟进行累加或求均值,然后基于累加结果或均值,选出最优设备组划分策略。
然后,再从最优设备组划分策略中的各个组内并行策略中选出延迟最小的多个组内划分策略作为最优组内并行策略。
当然,也可以先对组内并行策略进行挑选,然后,再选出最优设备组划分策略。
在本发明中的一种具体实施方式中,对待部署的多个模型进行聚类,得到若干个模型簇;
相应地,利用延迟,选出一个最优设备组划分策略及最优设备组划分策略中的多个最优组内并行策略,包括:
利用延迟,从每一设备组划分策略对应的多个组内并行策略选出若干个组内并行策略;其中,选出的组内并行策略的个数与模型簇的个数相同;
利用选出的若干个组内并行策略,从多个设备组划分策略中选出最优设备组划分策略;
将最优设备组划分策略对应选出的若干个组内并行策略确定为最优组内并行策略。
为便于描述,下面将上述若干步骤结合起来进行说明。
在本发明实施例中,可先对待部署的多个模型进行聚类,从而得到若干个模型簇。具体的,可以采用常见的聚类算法对这多个待部署的模型进行聚类,从而得到多个模型簇。
其中,对待部署的多个模型进行聚类,得到若干个模型簇,包括:基于模型参数量,对多个模型进行聚类,得到若干个模型簇。即,模型参数量在一个范围内的模型即为一类模型。
在选择最优策略时,首先利用延迟,从每一设备组划分策略对应的多个组内并行策略选出若干个组内并行策略。也就相当于剔除一部分延迟过大的组内并行策略,仅保留所需数量的组内并行策略。
然后,再利用选出的若干个组内并行策略,从多个设备组划分策略中选出最优设备组划分策略。也就是说,拥有延迟更低的组内并行策略,则该设备组划分策略更优。
最终,选出一个最优设备组划分策略,然后,直接将最优设备组划分策略中对应选出的若干个组内并行策略确定为最优组内并行策略。
在本发明中的一种具体实施方式中,利用延迟,从每一设备组划分策略对应的多个组内并行策略选出若干个组内并行策略,包括:
将每一设备组划分策略对应的多个组内并行策略的延迟进行累加或求均值,得到总延迟;
利用总延迟,从多个设备组划分策略中选出最优设备组划分策略。
也就是说,一个设备组划分策略中的对个组内并行策略的延迟整体最低,则表明该设备组划分策略更优。基于此,可算出设备组划分策略的总延迟,基于总延迟选出最优设备组划分策略。
S103、按照最优设备组划分策略,将集群的设备划分为多个设备组,每一个设备组对应一个模型簇。
也就是说,最优设备组划分策略如何划分集群的设备,即如何将集群的设备划分为多个设备组。
在本发明实施例中,一个设备组对应一个模型簇。也就是说,一个模型簇中的模型都要部署在对应的设备组上。
S104、按照最优组内并行策略,分别将当前对应的模型簇中各模型划分为若干个阶段后,将若干个阶段部署在当前设备组内的多个设备上,并记录模型与设备间的映射关系,以实现多设备多路复用。
划分好设备组之后,便可按照最优组内并行策略,将模型侧中的各模型划分为若干个阶段,然后,再将这若干个阶段部署于在当前设备组的多个设备上,并记下模型与设备间的映射关系,最终实现多设备多路复用。
其中,多设备多路复用,即指对应单个模型而言,其部署于在多个设备上,在多个设备上可以流水并行处理该模型的任务请求;对于单个设备而言,其上运行了多个模型的相关阶段,因而其处理的任务可以是不同模型的不同任务请求的处理阶段。
其中,记录模型映射关系,包括:在任务分发器中,记录映射关系。如此,便可有任务需要处理时,任务分发器可以基于该映射关系,明确当前的任务请求需要发送至哪个设备进行处理。
在本发明中的一种具体实施方式中,按照最优组内并行策略,分别将当前对应的模型簇中各模型划分为若干个阶段后,将若干个阶段部署在当前设备组内的多个设备上,包括:
按照每一设备组对应的最优组内并行策略,将对应的模型簇中的目标模型拆分为若干个阶段;
将若干个阶段,按照对应的最优组内并行策略,将每个阶段部署在当前设备组中的不同设备上。
即在进行模型部署时,设备组-模型簇-最优组内并行策略,这三者之间具有一一对应关系。具体来说,对应具有对应关系的设备组、模型簇、最优组内并行策略,在进行部署时,则按照最优组内并行策略对模型簇中的目标模型拆分出若干个阶段,然后,将这若干个阶段,按照最优组内并行策略将每个阶段部署于在设备组的不同设备上。
其中,将对应的模型簇中的目标模型拆分为若干个阶段,包括:
枚举目标模型的拆分策略;
通过模拟计算每一种拆分策略的并行延迟;
利用并行延迟,选出最优拆分策略;
按照最优拆分策略,将目标模型拆分为若干个阶段。
即,在对目标模型进行拆分时,可以枚举出所有可能的拆分策略,然后,再模拟计算出每一种拆分策略的并行延迟,最终基于该并延迟,选出最终拆分处理,并进行实施。其中,并行延迟,即将模型差分后部署在多个设备上进行运输时,可并行处理任务请求时所对应的延迟。
其中,枚举目标模型的拆分策略,包括:以层为拆分最小单位,枚举目标模型的拆分策略。也就是说,当目标模型有10个层时,拆分策略可以为不超出设备数量的情况下,对这10个层进行任意组合的各种不同的拆分模式。
其中,通过模拟计算每一种拆分策略的并行延迟,包括:
通过模拟计算每一种拆分策略的各阶段延迟;
从各阶段延迟中选择最大延迟作为并行延迟。
也就是说,在算并行延迟时,可以仅关注阶段延迟中的最大延迟。
其中,利用并行延迟,选出最优拆分策略,包括:选出并行延迟最小的拆分策略确定为最优拆分策略。当然,在实际应用中,也可以关注每一个阶段的延迟,即可采用累加或求均值的方式,确定并行延迟。
其中,将若干个阶段,按照对应的最优组内并行策略,将每个阶段部署在当前设备组中的不同设备上,包括:
将若干个阶段,按照对应的最优组内并行策略,分别写入在设备组中的不同设备上;
将部署有目标模型的设备,按照阶段顺序,分别设置发送节点和接收节点,进行顺序连接。
设置好发送节点和接收节点之后,当有任务需要处理时,模型处理的中间数据则可按照该发送节点与接收节点的连接,完成数据传输与任务的传递。
在本发明中的一种具体实施方式中,按照最优设备组划分策略,将集群的设备划分为多个设备组,每一个设备组对应一个模型簇,包括:
按照最优设备组划分策略,将集群的设备划分为多个设备组;
将待部署模型,按照模型簇与设备组建立一一对应关系;
相应地,按照最优组内并行策略,分别将当前对应的模型簇中各模型划分为若干个阶段后,将若干个阶段部署在当前设备组内的多个设备上,并记录模型与设备间的映射关系,以实现多设备多路复用,包括:
在每一个设备组内,按照对应的最优组内并行策略,将对应模型簇内的模型划分为若干个阶段,并将若干个阶段分别部署在不同的设备上;
其中,一个模型簇内的多个模型对应部署在于模型簇具有映射关系的同一个设备组中,一个模型的不同阶段部署在同一个设备组中的不同设备上;一个设备组对应部署一个模型簇,一个设备上具有所属设备组对应的模型簇中的多个模型的不同或相同阶段;将部署模型的开始阶段的设备与该模型建立映射关系,并进行记录,以实现多设备多路复用。
举例说明:当需要将M个模型部署到集群中,且这M个模型划分为K个模型簇,可按照最优设备组划分策略,将集群划分为K个设备组;按照K个最优组内并行策略,为每一个设备组分配一个模型簇;在每一个设备组内,按照对应的最优组内并行策略,将对应模型簇内的模型划分为不同阶段,并将划分出的不同阶段分别部署在不同的设备上;其中,一个模型簇内的多个模型对应部署在同一个设备组中,一个模型的不同阶段部署在同一个设备组中的不同设备上;一个设备组对应部署一个模型簇,一个设备上具有当前设备组对应的模型簇中的多个模型的不同或相同阶段;将部署有模型的第一阶段的设备与该模型建立映射关系,并进行记录,以实现多设备多路复用。
也就是说,按照最优设备组划分策略,可将集群划分为K个设备组,然后,按照K个最优组内并行策略,为每一个设备组分配一个模型簇。在每一个设备组内,按照对应的最优组内并行策略,将对应模型簇内的模型划分为不同阶段,并将划分出的不同阶段分别部署在不同的设备上。
需要注意的是,按照最优设备组划分策略和最优组内并行策略进行部署,即指一个模型簇内的多个模型对应部署在同一个设备组中,一个模型的不同阶段部署在同一个设备组中的不同设备上,一个设备组对应部署一个模型簇,一个设备上具有当前设备组对应的模型簇中的多个模型的不同或相同阶段;将部署有模型的第一阶段的设备与该模型建立映射关系,并进行记录,以实现多设备多路复用。
应用本发明实施例所提供的方法,仿真模拟计算多个设备组划分策略中的每个组内并行策略的延迟;其中,设备组划分策略为将集群中的设备进行分组的策略,组内并行策略为将模型分若干个阶段部署于一个设备组内的多个设备上的策略;利用延迟,选出一个最优设备组划分策略及最优设备组划分策略中的多个最优组内并行策略;按照最优设备组划分策略,将集群的设备划分为多个设备组,每一个设备组对应一个模型簇;按照最优组内并行策略,分别将当前对应的模型簇中各模型划分为若干个阶段后,将若干个阶段部署在当前设备组内的多个设备上,并记录模型与设备间的映射关系,以实现多设备多路复用。
在本发明中,首先每一设备组划分策略对应的多个组内并行策略,通过仿真模拟计算出延迟。其中,设备组划分策略即确定如何将集群中的设备分组的策略;组内并行策略即针对一个模型簇中的每一个模型如何拆分出多个阶段,及如何部署于一个设备组内的多个设备上的策略。基于该延迟,则可选出最优设备组划分策略和该最优设备组划分策略下的多个最优组内并行策略。然后,按照设备组划分策略将集群中的设备划分为多个设备组,然后在每一设备组上,按照最优组内并行策略将模型簇中的每一个模型拆分为多个阶段,并分别部署到同一个设备组内的多个设备上,并记录下模型与设备间的映射关系,从而实现多设备多路复用。
本发明的技术效果:通过仿真模拟,计算出每一个分组划分策略下的每个组内并行策略的延迟,基于该延迟则可选出最优设备组划分策略和多个最优组内并行策略,并按照选出的策略进行部署,并记录下模型与设备的映射关系,则可满足延迟要求。又由于模型的部署不是一个模型对应一个设备,而是一个模型并行部署于多个设备之上,且一个设备又对应部署了多个模型。因而,在处理任务时,可以实现同一个模型的任务在多个设备上流水并行处理,不同模型的任务在多个设备上并行处理。即,可以在少量设备上满足延迟要求、提升处理效率、应对突发流量,能够极大的提升集群利用率。
请参考图2,图2为本发明实施例中一种模型部署方法的具体流程图,该方法包括以下步骤:
S201、对待部署的M个模型进行聚类,得到K个模型簇。
其中,M和K均为非零自然数,其中M大于等于K。对于M的数量可以根据实际所需部署在某个集群的中的模型数量而定,一般的对于大规模集群,则M的值更大,对于小规模集群,则M的值更小。
在本发明实施例中,对这M个模型的具体规模大小、任务类型等均不做限定。
可以采用聚类算法对这M个模型进行聚类处理,从而得到K各模型簇。即,得到K类模型。
在本发明中的一种具体实施方式中,对待部署的M个模型进行聚类,得到K个模型簇,包括:基于模型参数量,对M个模型进行聚类,得到K个模型簇。
由于模型参数量可以表征该模型的规模大小等特征,因而,可以基于模型参数量对M个模型进行聚类,从而得到K模型簇。也就是说,对于一个模型而言,当它的模型参数量属于某个模型簇的阈值范围,则将其归类为某个模型簇。
S202、枚举集群的设备组划分策略,及每一设备组划分策略对应的多个组内并行策略。
其中,设备组划分策略为将集群中的设备进行分组的策略,组内并行策略为一个模型簇中的每一个模型拆分部署于一个设备组内多个设备上的并行策略。
在枚举集群的设备组划分策略时,可以基于模型簇的数量进行枚举。即,枚举将集群划分为K个设备组的划分情况,进行枚举。
枚举出全部设备组划分策略之后,再针对每一个设备组划分策略,枚举出组内并行策略。
组内并行策略,即在一个设备组内如何并行部署模型簇的模型。
也就是说,对于G个设备的集群,当需要部署M个集群时,集群簇共K个,那么设备组的数量也为K个,设备组划分策略则是对于这G个设备如何划分出K个设备组的策略;组内并行策略,即针对每一个设备组划分策略下进行设备组划分之后,进一步如何将一个模型簇中的模型并行的部署于该设备组内。
其中,集群中的设备可以具体指相同或不同的加速设备/加速卡,例如,FPGA(Field-Programmable Gate Array,即现场可编程门阵列)、GPU(英伟达加速卡)等。
在本发明中的一种具体实施方式中,枚举集群的设备组划分策略,及每一设备组划分策略对应的多个组内并行策略,包括:
根据模型簇的数量,将集群中的设备分为若干类;
遍历设备分类组,为每一模型簇划分设备组,得到设备组划分策略;
枚举每一设备组划分策略对应的多个组内并行策略。
为便于描述,下面将上述三个步骤结合起来进行说明。
首先,可根据模型簇的数量,即K值,将集群中的设备划分为K个类。然后,再遍历每一个设备分类组,为每一模型簇划分设备组,从而得到设备组划分策略。然后,再枚举出每一设备组划分策略对应的多个组内并行策略。
S203、仿真模拟计算每一组内并行策略的延迟。
在本发明实施例中,可以通过仿真模拟,计算出每一个组内并行策略的延迟。
具体的,即模拟设备组划分策略后,进一步模拟按照组内并行策略进行模型部署,再模拟出当前组内并行策略的延迟情况。
对于具体如何进行模拟,可参照相关模拟技术方案,在此不再一一赘述。
在本发明中的一种具体实施方式中,仿真模拟计算每一组内并行策略的延迟,包括:
对模型簇内每一种模型,选择不同的设备组划分策略下不同的组内并行策略,模拟部署模型到集群;
通过仿真模拟计算每一组内并行策略的延迟。
为便于描述,下面将上述两个步骤结合起来进行说明。
对于模型簇内的每一种模型,选择不同的设备组划分策略下不同的组内并行策略,进行模拟部署模型到集群中,然后,在放置模拟计算每一组内并行策略的延迟。
在本发明中的一种具体实施方式中,对模型簇内每一种模型,选择不同的设备组划分策略下不同的组内并行策略,模拟部署模型到集群,包括:
对每一模型簇进行遍历,并依次为当前模型簇选择不同的设备组划分策略,依次按照当前的设备组划分策略下的不同组内并行策略进行模型部署。也就是说,需要确保每一个模型簇都需要选择不同的设备组划分策略,并按照不同的组内并行策略进行模型部署,从而完成全部组内并行策略的仿真模拟,以得到相应的延迟。
S204、利用延迟,选出最优设备组划分策略和K个最优组内并行策略。
在选择最优设备组划分策略和K个最优组内并行策略时,可以基于延迟越小越好的宗旨进行选择。
在本发明中的一种具体实施方式中,利用延迟,选出最优设备组划分策略和K个最优组内并行策略,包括:
利用延迟,从每一设备组划分策略对应的多个组内并行策略选出K个组内并行策略;
利用多组K个组内并行策略,从多个设备组划分策略中选出最优设备组划分策略;
将最优设备组划分策略对应的K个组内并行策略确定为最优组内并行策略。
为便于描述,下面将上述多个步骤结合起来进行说明。
在选择最佳策略时,可以基于延迟,从每一个设备组划分策略对应的多个组内并行策略中先选出K个组内并行策略。例如,若共有6个设备组划分策略,且每一个设备组划分策略有12种组内并行策略,则针对每一个设备组划分策略选出K个组内并行策略,即一共会选出6K个组内并行策略。然后,基于这6K个组内并行策略的延迟情况,从这6个设备组划分策略中选出一个最优设备组划分策略,相应地,这最优设备组划分策略对应的K个组内并行策略,即为K个最优组内并行策略。
需要注意的是,这K个最优组内并行策略不一定都是延迟最低的,但需要保障其结合起来是整体延迟最低的。
其中,利用多组K个组内并行策略,从多个设备组划分策略中选出最优设备组划分策略,包括:
将每一设备组划分策略对应的K个组内并行策略的延迟进行累加或求均值,得到总延迟;
利用总延迟,从多个设备组划分策略中选出最优设备组划分策略。
即,在选择最优设备组划分策略时,仍然以延迟为主要选择依据,具体的,可以将经过选择的K个组内并行策略的延迟进行累加和求取均值等方式,得到总延迟。该总延迟即表征设备组划分策略的整体延迟情况,因而从多个设备组划分策略中选出总延迟最小的最优设备组划分策略。
当然,在实际应用中,可以通过最小化最大延迟的方式,确定最优设备组划分策略。具体的,可以将每一个设备组划分策略的K个组内并行策略中的最大延迟进行比较,选择最大延迟最小的那个组内并行策略对应的设备组划分策略作为最优设备组划分策略。
S205、按照最优设备组划分策略和K个最优组内并行策略,将M个模型部署到集群中,并记录模型与设备间的映射关系,以实现多设备多路复用。
具体的,即按照最优设备组划分策略,将集群划分为K个设备组。然后,在每一个设备组上按照对应最优组内并行策略,将对应的模型簇中的模型不属于到集群中,并记录下模型与设备间的映射关系,从而实现多设备多路复用。
其中,多设备多路复用,具体是指,同一个设备上可以运行多个模型,多个模型可以分散分别于同一个设备组的不同设备上,因而可实现不同模型的任务可以并行处理,同一个模型的任务可以实现流水并行。
在本发明中的一种具体实施方式中,记录模型映射关系,包括:在任务分发器中,记录映射关系。也就是说,通过任务分发器中的映射关系,即可明确模型被部署在哪个设备之上。
在本发明中的一种具体实施方式中,按照最优设备组划分策略和K个最优组内并行策略,将M个模型部署到集群中,包括:
按照最优设备组划分策略,将集群划分为K个设备组;
对每一设备组,依次按照K个最优组内并行策略,将M个模型部署到集群中。
为便于描述,下面将上述两个步骤结合起来进行说明。
首先,按照最优设备组划分策略,将集群划分成K个设备组。然后,在每一设备组,依次案子K个最优组内并行策略,将这M个模型部署到集群中。
其中,对每一设备组,依次按照K个最优组内并行策略,将M个模型部署到集群中,包括:
按照每一设备组对应的最优组内并行策略,将对应的模型簇中的目标模型拆分为S个阶段;
将S个阶段,按照对应的最优组内并行策略,分别部署在设备组中的不同设备上。
即,在本发明实施例中,并行分布模型,即指将模型继续拆分为S个阶段,然后,将这S个阶段分别分布在一个设备组中的不同设备上。
其中,将对应的模型簇中的目标模型拆分为S个阶段,包括:
枚举目标模型的拆分策略;
通过模拟计算每一种拆分策略的并行延迟;
利用并行延迟,选出最优拆分策略;
按照最优拆分策略,将目标模型拆分为S个阶段。
其中,枚举目标模型的拆分策略,包括:以层为拆分最小单位,枚举目标模型的拆分策略。
也就是说,当确定目标模型的拆分策略时,可以以层为最小拆分单位,然后,枚举出目标模型的拆分策略。模拟计算出每一种拆分策略的并行延迟。基于并行延迟,可以选出最小延迟的拆分策略作为最优拆分策略。然后,再按照该最优拆分策略,将目标模型拆分为S个阶段。
其中,通过模拟计算每一种拆分策略的并行延迟,包括:
通过模拟计算每一种拆分策略的各阶段延迟;
从各阶段延迟中选择最大延迟作为并行延迟。
相应地,利用并行延迟,选出最优拆分策略,包括:选出并行延迟最小的拆分策略确定为最优拆分策略。
即,并行延迟是指拆分策略中的各阶段延迟中最大的延迟。如此,便可使得最终拆分后的目标模型的阶段性延迟最小。
在本发明中的一种具体实施方式中,将S个阶段,按照对应的最优组内并行策略,分别部署在设备组中的不同设备上,包括:
将S个阶段,按照对应的最优组内并行策略,分别写入在设备组中的不同设备上;
将部署了S个阶段的设备,按照阶段顺序,分别设置发送节点和接收节点,进行顺序连接。
也就是说,当目标模型被拆分出S个阶段之后,便可对应按照最优组内并行策略,分别将S个阶段写入到对应设备组的不同设备上。例如,若共有3个阶段,最优组内并行策略为目标模型需依次分布在当前设备组中的设备2、设备4和设备5中,则将第一阶段写入设备2,将第二阶段写入设备4,将第三阶段写入设备5中。
应用本发明实施例所提供的方法,应用本发明实施例所提供的方法,对待部署的M个模型进行聚类,得到K个模型簇;枚举集群的设备组划分策略,及每一设备组划分策略对应的多个组内并行策略;其中,设备组划分策略为将集群中的设备进行分组的策略,组内并行策略为一个模型簇中的每一个模型拆分部署于一个设备组内多个设备上的并行策略;仿真模拟计算每一组内并行策略的延迟;利用延迟,选出最优设备组划分策略和K个最优组内并行策略;按照最优设备组划分策略和K个最优组内并行策略,将M个模型部署到集群中,并记录模型与设备间的映射关系,以实现多设备多路复用。
在本发明中,首先对待部署的M个模型进行聚类,然后可得到K各模型簇。通过枚举集群的设备组划分策略和每一设备组划分策略对应的多个组内并行策略。需要注意的是,设备组划分策略即确定如何将集群中的设备机芯分组的策略;组内并行策略即为一个模型簇中的每一个模型如何拆分不属于于一个设备组内的多个设备上的并行策略。然后,通过仿真模拟计算,可以计算出每一个组内并行策略的延迟。基于该延迟,则可选出最优设备组划分策略和K个最优组内并行策略。然后,再按照设备组划分策略和K个最优组内并行策略将M个模型部署到该集群内,并记录下模型与设备间的映射关系,则可实现多设备多路复用。
本发明的技术效果:在部署多个模型到集群中,首先枚举全部分组的可能性情况,以及一种分组情况对应的可能的模型并行情况,然后,针对一种模型并行情况计算出延迟。基于延迟,则可选出最优设备组划分策略和K个最优组内并行策略,并按照选出的策略进行部署,并记录下模型与设备的映射关系,则可满足延迟要求。又由于模型的部署不是一个模型对应一个设备,而是一个模型并行部署于多个设备之上,且一个设备又对应多个模型,因而,在处理任务时,可以实现同一个模型的任务流水并行处理,不同模型的任务并行处理,可以在少量设备上满足延迟要求、提升处理效率、应对突发流量,能够极大的提升集群利用率。
请参考图3,图3为本发明实施例中一种任务处理方法的实施示意图,该任务处理方法,可应用于按照上述的模型部署方法的步骤部署了M个模型的集群,包括:
S301、接收第一任务请求,确定执行第一任务请求的第一模型;
S302、基于模型与设备间的映射关系,从集群中确定出部署第一模型中第一阶段的第一设备;
S303、在第一设备未处理第一模型的任务请求的情况下,利用第一设备处理第一任务请求的第一阶段任务;
S304、在第一设备处理完第一任务请求的第一阶段任务的情况下,利用第一设备处理下一个第一任务请求的第一阶段任务,并利用部署有第一模型的第二阶段的第二设备,处理任务请求的第二阶段任务。
为便于描述,下面将上四个步骤结合起来进行说明。
需要注意的是,这里的第一模型、第二模型,第一任务请求和第二任务请求仅为了说明存在不同的模型,不同的任务类型,而并无先后主次的限定,而对于第一阶段任务、第二阶段任务则是对任务处理阶段的先后顺序的说明。
在本发明实施例中,当接收到第一任务请求时,可基于第一任务请求中携带的信息,明确确定待执行第一任务请求的第一模型。然后,基于模型部署阶段记录下的模型与设备间的映射关系,便可从集群中确定出部署第一模型中第一阶段的第一设备。在第一设备未处理第一模型的任务请求的情况下,利用第一设备处理第一任务请求的第一阶段任务。也就是说,仅需要保障第一设备没有处理第一模型的任务请求的情况下,即可利用第一设备处理第一任务请求的第一阶段任务。也就是说,第一设备在处理第一任务请求的第一阶段任务的同时,还可处理其他任务的阶段任务。当然,对于算力有限的设备而言,则可仅在其空闲的情况下,令其处理第一任务的第一阶段任务。
在第一设备处理完第一任务请求的第一阶段任务的情况下,则可利用第一设备处理下一个第一任务请求的第一阶段任务,与此同时,该第一任务的第二节点任务则可由部署了第一模型的第二阶段的第二设备进行处理。
其中,在第一设备处理完第一阶段任务的情况下,利用部署有第一模型中第二阶段的第二设备,处理任务请求的第二阶段任务,包括:
在第一设备处理完第一阶段任务的情况下,利用第一设备的发送节点将数据内容传递给第二设备的接收节点;
利用第二设备,处理第一任务的第二阶段任务。
即,同一个模型被分为不同阶段部署于不同的设备上,为了使得模型功能能够不受影响,需要部署了同一个模型的不同设备分别基于发送节点和接收节点实现数据内容的传递以及任务的传递。
需要注意的是,在本发明实施例中,当集群处理第一模型的第一任务的同时,还可以处理第二模型的第二任务,具体实施过程包括:
接收第二任务请求,确定执行第二任务请求的第二模型;
基于模型与设备间的映射关系,从集群中确定出部署第二模型中第一阶段的第二设备;
在第二设备未处理第二模型的任务请求的情况下,利用第二设备处理第二任务请求的第一阶段任务;
在第二设备处理完第二任务请求的第一阶段任务的情况下,利用第二设备处理下一个第二任务请求中的第一阶段任务,并利用部署有第二模型中第二阶段的第一设备处理第二任务请求中的第二阶段任务。
也就是说,集群在流水并行处理第一模型的第一任务的同时,还可以并行处理第二模型的第二任务,且处理第二模型的第二任务,也为流水并行处理。
应用于按照上述的模型部署方法的步骤部署了M个模型的集群,包括:接收第一任务请求,确定执行第一任务请求的第一模型;基于模型与设备间的映射关系,从集群中确定出部署第一模型中第一阶段的第一设备;在第一设备未处理第一模型的任务请求的情况下,利用第一设备处理第一任务请求的第一阶段任务;在第一设备处理完第一任务请求的第一阶段任务的情况下,利用第一设备处理下一个第一任务请求的第一阶段任务,并利用部署有第一模型的第二阶段的第二设备,处理任务请求的第二阶段任务。
由于该集群是按照本发明实施例所提供的模型部署方法的步骤部署了M个模型的集群,因而,在该集群之上,可以实现多任务多路复用。即具备技术效果:在处理任务时,可以实现同一个模型的任务流水并行处理,不同模型的任务并行处理,可以在少量设备上满足延迟要求、提升处理效率、应对突发流量,能够极大的提升集群利用率。
为便于本领域技术人员更好地理解和实施例本发明实施例所提供的模型部署方法和任务处理方法,下面将结合具体场景为例,对本发明实施例所提供的技术方案进行详细说明。
给定一组模型和一个固定的集群,首先将模型归类为K个模型簇,并将集群划分为K组设备。每组的设备选择一个子集的模型使用共享的模型并行配置。不同的设备组可以包含相同的模型。对模型的请求被分配到具有所请求模型的设备组。把集群分组、模型选择以及模型并行策略作为一个配置。目标是找延迟最低的配置。然而,寻找最优配置是一个困难的组合优化问题。整个配置空间随着设备数量呈指数级增长。
为此,基于本发明实施例所提供的模型部署方法,可设计一个两级布局算法来分配模型和设备组:
计算所有模型的参数大小,根据参数大小将模型划分成不同的簇。例如,当模型的参数量差值大于阈值ø时,则模型归属不同的簇。
根据模型簇的分类数量对集群中的设备进行分类,采用算法2,即通过遍历所有模型簇类和设备类分别进行最优放置策略搜索。对于每一类的模型和设备,算法2枚举出所有可能的设备组划分和组内并行策略,然后通过算法1比较每一种可能划分和并行策略组合延迟的结果确定最优的配置。
其中,算法1通过利用仿真模拟的方法来计算求解每一类模型到每一类设备上的最优放置。通过循环遍历设备类中设备组的可能划分和组内可能并行策略来计算各种组合情况的延迟,然后通过对比选择延迟最小的最优的模型放置和并行配置。
算法1、利用模拟仿真的模型选择设备组算法。
变量定义:beam_sels候选集(大小为k),best_sel最佳模型选择设备组,new_sels某个设备选择策略,ø空集。
输入:模型列表M,设备组列表G,组内模型并行策略P,任务请求W,候选集beam_sels大小为k。
输出:最优的模型选择设备组策略best_sel。
算法1的具体流程如下:
1、初始化,最优选择和候选集赋值为空;
best_sel ← ø;
beam_sels ← ø;
2、采用如下逻辑,遍历循环处理各种模型选择不同设备组的情况:
while true do;
new_sels ← ø;
for sel ∈ beam_sels do;
for (m,(g, p)) ∈ M ×(G,P) do;
采用如下逻辑,针对簇内每一种模型选择不同的设备组和组内并行策略的情况,把模型部署到设备组上:
mparallelized ← parallelize(m,g, p);
sel' ← sel.add_model_to_group(mparallelized,g);
if sel' is in memory constraint then;
采用如下逻辑,通过仿真模拟计算每种情况的延迟:
sel'.latency ← simulate(sel',W);
new_sels.append(sel');
if new_sels = ø then;
break;
采用如下逻辑,从所有的选择策略中选择延迟最低的的k个选择赋给候选集:
beam_sels ← top-k_latency(new_sels);
采用如下逻辑,从候选集中选择延迟最快的选择:
sel* ← pick_highest_latency(beam_sels);
if sel*.latency<best_sel.latency then;
best_sel ← sel*;
return best_sel;
算法2,即模型到设备集群的最优放置选择。
变量定义:plm为模型放置策略,best_plm为最优的模型放置策略,B为聚类后的模型集合,H为设备分组集合。
Input:Model list M, cluster C, workload W;
输入:模型列表M,集群C,任务请求W。
输出:最优的模型放置策略 best_plm。
具体实施过程包括:
初始化逻辑:
best_plm ← ø;
采用以下逻辑,对模型进行分类,根据模型大小将模型分成k类,每个类中的模型大小均等。
B ← get_model_cluster (M);
采用以下逻辑,遍历聚类后的每一类模型进行处理。
for (B1,B2,...,Bk) ∈ B do;
具体的,采用以下逻辑,根据模型的分类和数量将集群C分成k类。
H ← get_device_cluster(C,B,k);
采用以下逻辑,遍历设备分类组,针对每一类模型划分和设备划分寻找最优放置。
for (H1,H2,...,Hk) ∈ H do;
for i from 1 to k do;
plm*i ← ø;
进一步的,采用以下逻辑,遍历第i类设备可能的组划分G。
G ← get_potential_group_partitions(Hi);
for G ∈ G do;
进一步的,采用以下逻辑,对于每一种组划分枚举所有可能的并行策略P。
P ← get_potential_parallel_configs(G);
for P ∈ P do;
进一步的,采用以下逻辑,对于每一种并行策略调用算法1计算其延迟,并确定最优的策略。
plm ← greedy_selection(Bi,G,P,W);
if plm.latency<plm*i.latency then;
plm*i ← plm;
采用以下逻辑,将所有类的最优放置策略组合在一起形成整体的放置策略。
plm* ← concat(plm*1,...,plm*k);
if plm*.latency>best_plm.latency then;
best_plm ← plm*;
return best_plm;
对于组内模型并行划分策略,可在组内进行模型并行部署时选择按层部署策略,所有不同层划分到不同设备上的可能情况组成一个集合空间,可通过整数线性规划的方法,在空间里求解到使得整体延迟最小的解。针对层化分动态规划方法,只需要最小化最大阶段延迟。动态规划方程有以下的形式:
;
其中,F(s, k)为将层1到k分成s个阶段时的最大延迟时间,latency(i, k)表示一个阶段包含第i到第k层时的延迟。
通过枚举模型中所有的层在不同的备上的划分可能,对于每一种可能计算其整体延时F(s,k),最后选择延迟最小的划分策略。
可见,本发明实施例所提供的模型部署方法,可满足各个任务的延迟要求,同时权衡服务系统内的任务负载,提升集群利用率。
在人工智能服务器中部署深度大模型预测任务时,采用本发明实施例所提供的模型部署方法,能够充分的利用集群中的设备,有效的提升大模型服务的执行效率,通过在人工智能服务器上提供高效的大模型服务来支撑深度学习巨大计算力的需求。
能够自动有效地探索不同类型模型服务的并行化和放置策略,均衡整个系统的负载。整个系统包含统一集群资源、一组大模型和任务负载配置文件等,然后大模型分区放置并进行任务延时的优化以满足各任务对延时的最低要求。经试验,该方法能够将请求处理效率提高10倍,或者降低2.5倍的延迟以及容忍6倍的突发流量。
为了满足突然任务请求的严格的延迟要求,相关的服务系统通常被迫过度供应计算资源,如图4所示,每次收到新的任务请求都部署到新的计算设备上,导致集群利用率低。具体的,在图4中,横向箭头为时间轴,纵向箭头表述同一时期所接收到的任务类型。在GPU1上部署模型A,在GPU2上部署模型B,在GPU3上部署模型C,即在一个GPU上仅部署一个模型。对于每一个模型的任务仅由一个GPU来串行执行,例如,对于模型A的任务请求TA,需要先处理完TA1之后,再处理TA2,再处理TA3;对于模型B的任务请求TB,需要先处理完TB1之后,再处理TB2;对于模型C的任务请求TC,需要先处理完TC1之后,再处理TC2。从图4中的竖向虚线可看出,当GPU1在忙碌处理TA1时,GPU2和GPU3是完全处理空闲状态的,相应地,在GPU1和GPU3忙碌时,GPU2也有处理空闲状态的情况,在GPU2忙碌时,GPU1和GPU3也有处理空闲状态。可见,此模式的设备利用率的极低的。
而当需要增加新的任务类型,则需增加部署的模型,由于一个模型仅部署一个模型,因而需要额外增加一个GPU。
本发明实施例提出一种针对多个大模型推理任务的多设备多路复用方法。该方法能够极大的满足各个任务的延迟要求,同时权衡服务系统内的任务负载,提升集群利用率。
请参考图5,图5为本发明实施例中一种模型部署示意图,首先,参照模型部署方法,将模型在层级别上把模型部署到多设备上。具体的,一个两层的模型放置算法,来优化模型的放置以及分组算法来搜索集群的划分和模型划分的最佳组合,该算法能够在服务系统中实现高效的模型并行。
请参考图6,图6为本发明实施例中一种任务处理示意图,横向箭头为时间轴,纵向箭头表述同一时期所接收到的任务类型。模型A、B和C均进行了拆分,具体分为3个阶段(0,1,2),分别部署在GPU1、GPU2和GPU3上。
对于模型A的任务请求,其第一阶段任务TA-n0(其中n表示当前接收到的TA任务次数)在GPU1上串行执行,第二阶段任务TA-n1在GPU2上串行执行,第三阶段任务TA-n2在GPU3上串行执行。
对于模型B的任务请求,其第一阶段任务TB-n0(其中n表示当前接收到的TB任务次数)在GPU1上串行执行,第二阶段任务TB-n1在GPU2上串行执行,第三阶段任务TB-n2在GPU3上串行执行。
对于模型C的任务请求,其第一阶段任务TC-n0(其中n表示当前接收到的TC任务次数)在GPU1上串行执行,第二阶段任务TC-n1在GPU2上串行执行,第三阶段任务TC-n2在GPU3上串行执行。
模型A的各个任务之间,可以同时进行并行处理(例如图6中的TA-20和TA-11则由GPU1和GPU2分别同时执行),即对于单个模型而言,可以实现任务请求的流程并行;对于不同模型而言,则可并行处理(如图6中TB-10、TA-31和TC-12则同时被执行)。通过比对图4可知,本发明实施例所提供的任务处理模式,可大大加速任务处理,提高设备利用率。
此外,经过实验证明,该方法多路复用系统能够有效降低任务的延迟,提升突发任务的处理效率,最大限度的提升集群算力设备的效率。
相应于上面的方法实施例,本发明实施例还提供了一种模型部署装置,下文描述的模型部署装置与上文描述的模型部署方法可相互对应参照。
参见图7所示,该装置包括以下模块:
延迟获取模块101,用于仿真模拟计算多个设备组划分策略中的每个组内并行策略的延迟;其中,设备组划分策略为将集群中的设备进行分组的策略,组内并行策略为将模型分若干个阶段部署于一个设备组内的多个设备上的策略;
策略选择模块102,用于利用延迟,选出一个最优设备组划分策略及最优设备组划分策略中的多个最优组内并行策略;
模型部署模块103,用于按照最优设备组划分策略,将集群的设备划分为多个设备组,每一个设备组对应一个模型簇;按照最优组内并行策略,分别将当前对应的模型簇中各模型划分为若干个阶段后,将若干个阶段部署在当前设备组内的多个设备上,并记录模型与设备间的映射关系,以实现多设备多路复用。
应用本发明实施例所提供的装置,仿真模拟计算多个设备组划分策略中的每个组内并行策略的延迟;其中,设备组划分策略为将集群中的设备进行分组的策略,组内并行策略为将模型分若干个阶段部署于一个设备组内的多个设备上的策略;利用延迟,选出一个最优设备组划分策略及最优设备组划分策略中的多个最优组内并行策略;按照最优设备组划分策略,将集群的设备划分为多个设备组,每一个设备组对应一个模型簇;按照最优组内并行策略,分别将当前对应的模型簇中各模型划分为若干个阶段后,将若干个阶段部署在当前设备组内的多个设备上,并记录模型与设备间的映射关系,以实现多设备多路复用。
在本发明中,首先每一设备组划分策略对应的多个组内并行策略,通过仿真模拟计算出延迟。其中,设备组划分策略即确定如何将集群中的设备分组的策略;组内并行策略即针对一个模型簇中的每一个模型如何拆分出多个阶段,及如何部署于一个设备组内的多个设备上的策略。基于该延迟,则可选出最优设备组划分策略和该最优设备组划分策略下的多个最优组内并行策略。然后,按照设备组划分策略将集群中的设备划分为多个设备组,然后在每一设备组上,按照最优组内并行策略将模型簇中的每一个模型拆分为多个阶段,并分别部署到同一个设备组内的多个设备上,并记录下模型与设备间的映射关系,从而实现多设备多路复用。
本发明的技术效果:通过仿真模拟,计算出每一个分组划分策略下的每个组内并行策略的延迟,基于该延迟则可选出最优设备组划分策略和多个最优组内并行策略,并按照选出的策略进行部署,并记录下模型与设备的映射关系,则可满足延迟要求。又由于模型的部署不是一个模型对应一个设备,而是一个模型并行部署于多个设备之上,且一个设备又对应部署了多个模型。因而,在处理任务时,可以实现同一个模型的任务在多个设备上流水并行处理,不同模型的任务在多个设备上并行处理。即,可以在少量设备上满足延迟要求、提升处理效率、应对突发流量,能够极大的提升集群利用率。
在本发明的一种具体实施方式中,还包括策略获取模块,用于在仿真模拟计算多个设备组划分策略中的每个组内并行策略的延迟之前,根据模型簇的数量,将集群中的设备分为若干设备分类组;
遍历设备分类组,为每一模型簇划分设备组,得到设备组划分策略;
枚举每一设备组划分策略对应的多个组内并行策略。
在本发明的一种具体实施方式中,延迟获取模块,具体用于对模型簇内每一种模型,选择不同的设备组划分策略下不同的组内并行策略,模拟部署模型到集群;
模拟部署后,通过仿真模拟计算每一组内并行策略的延迟。
在本发明的一种具体实施方式中,延迟获取模块,具体用于对每一模型簇进行遍历,并依次为当前模型簇选择不同的设备组划分策略,依次按照当前的设备组划分策略下的不同组内并行策略进行模型部署。
在本发明的一种具体实施方式中,还包括:
聚类模块,用于对待部署的多个模型进行聚类,得到若干个模型簇;
相应地,策略选择模块,具体用于利用延迟,从每一设备组划分策略对应的多个组内并行策略选出若干个组内并行策略;其中,选出的组内并行策略的个数与模型簇的个数相同;
利用选出的若干个组内并行策略,从多个设备组划分策略中选出最优设备组划分策略;
将最优设备组划分策略对应选出的若干个组内并行策略确定为最优组内并行策略。
在本发明的一种具体实施方式中,策略选择模块,具体用于将每一设备组划分策略对应的多个组内并行策略的延迟进行累加或求均值,得到总延迟;
利用总延迟,从多个设备组划分策略中选出最优设备组划分策略。
在本发明的一种具体实施方式中,聚类模块,具体用于基于模型参数量,对多个模型进行聚类,得到若干个模型簇。
在本发明的一种具体实施方式中,模型部署模块,具体用于在任务分发器中,记录映射关系。
在本发明的一种具体实施方式中,模型部署模块,具体用于按照每一设备组对应的最优组内并行策略,将对应的模型簇中的目标模型拆分为若干个阶段;
将若干个阶段,按照对应的最优组内并行策略,将每个阶段部署在当前设备组中的不同设备上。
在本发明的一种具体实施方式中,模型部署模块,具体用于枚举目标模型的拆分策略;
通过模拟计算每一种拆分策略的并行延迟;
利用并行延迟,选出最优拆分策略;
按照最优拆分策略,将目标模型拆分为若干个阶段。
在本发明的一种具体实施方式中,模型部署模块,具体用于以层为拆分最小单位,枚举目标模型的拆分策略。
在本发明的一种具体实施方式中,模型部署模块,具体用于
通过模拟计算每一种拆分策略的各阶段延迟;
从各阶段延迟中选择最大延迟作为并行延迟。
在本发明的一种具体实施方式中,模型部署模块,具体用于选出并行延迟最小的拆分策略确定为最优拆分策略。
在本发明的一种具体实施方式中,模型部署模块,具体用于将若干个阶段,按照对应的最优组内并行策略,分别写入在设备组中的不同设备上;
将部署有目标模型的设备,按照阶段顺序,分别设置发送节点和接收节点,进行顺序连接。
在本发明的一种具体实施方式中,模型部署模块,具体用于按照最优设备组划分策略,将集群的设备划分为多个设备组;
将待部署模型,按照模型簇与设备组建立一一对应关系;
在每一个设备组内,按照对应的最优组内并行策略,将对应模型簇内的模型划分为若干个阶段,并将若干个阶段分别部署在不同的设备上;
其中,一个模型簇内的多个模型对应部署在于模型簇具有映射关系的同一个设备组中,一个模型的不同阶段部署在同一个设备组中的不同设备上;一个设备组对应部署一个模型簇,一个设备上具有所属设备组对应的模型簇中的多个模型的不同或相同阶段;将部署模型的开始阶段的设备与该模型建立映射关系,并进行记录,以实现多设备多路复用。
相应于上面的方法实施例,本发明实施例还提供了一种任务处理装置,下文描述的任务处理装置与上文描述的任务处理方法可相互对应参照。
参见图8所示,应用于按照上述的模型部署方法的步骤部署了多个模型的集群,该装置包括以下模块:
请求解析模块201,用于接收第一任务请求,确定执行第一任务请求的第一模型;
处理设备确定模块202,用于基于模型与设备间的映射关系,从集群中确定出部署第一模型中第一阶段的第一设备;
任务处理模块203,用于在第一设备未处理第一模型的任务请求的情况下,利用第一设备处理第一任务请求的第一阶段任务;在第一设备处理完第一任务请求的第一阶段任务的情况下,利用第一设备处理下一个第一任务请求的第一阶段任务,并利用部署有第一模型的第二阶段的第二设备,处理任务请求的第二阶段任务。
将任务处理装置应用于按照上述的模型部署方法的步骤部署了M个模型的集群,包括:接收第一任务请求,确定执行第一任务请求的第一模型;基于模型与设备间的映射关系,从集群中确定出部署第一模型中第一阶段的第一设备;在第一设备未处理第一模型的任务请求的情况下,利用第一设备处理第一任务请求的第一阶段任务;在第一设备处理完第一任务请求的第一阶段任务的情况下,利用第一设备处理下一个第一任务请求的第一阶段任务,并利用部署有第一模型的第二阶段的第二设备,处理任务请求的第二阶段任务。
由于该集群是按照本发明实施例所提供的模型部署方法的步骤部署了M个模型的集群,因而,在该集群之上,可以实现多任务多路复用。即具备技术效果:在处理任务时,可以实现同一个模型的任务流水并行处理,不同模型的任务并行处理,可以在少量设备上满足延迟要求、提升处理效率、应对突发流量,能够极大的提升集群利用率。
在本发明的一种具体实施方式中,任务处理模块,具体用于在第一设备处理完第一阶段任务的情况下,利用第一设备的发送节点将数据内容传递给第二设备的接收节点;
利用第二设备,处理第一任务的第二阶段任务。
在本发明的一种具体实施方式中,任务处理模块,还用于接收第二任务请求,确定执行第二任务请求的第二模型;
基于模型与设备间的映射关系,从集群中确定出部署第二模型中第一阶段的第二设备;
在第二设备未处理第二模型的任务请求的情况下,利用第二设备处理第二任务请求的第一阶段任务;
在第二设备处理完第二任务请求的第一阶段任务的情况下,利用第二设备处理下一个第二任务请求中的第一阶段任务,并利用部署有第二模型中第二阶段的第一设备处理第二任务请求中的第二阶段任务。
相应于上面的方法实施例,本发明实施例还提供了一种电子设备,下文描述的一种电子设备与上文描述的一种模型部署方法和任务处理方法可相互对应参照。
参见图9所示,该电子设备包括:
存储器332,用于存储计算机程序;
处理器322,用于执行计算机程序时实现如上述模型部署方法的步骤,或执行计算机程序时实现如上述任务处理方法的步骤。
具体的,请参考图10,图10为本实施例提供的一种电子设备的具体结构示意图,该电子设备可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上处理器(central processing units,CPU)322(例如,一个或一个以上处理器)和存储器332,存储器332存储有一个或一个以上的计算机程序342或数据344。其中,存储器332可以是短暂存储或持久存储。存储在存储器332的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对数据处理设备中的一系列指令操作。更进一步地,处理器322可以设置为与存储器332通信,在电子设备301上执行存储器332中的一系列指令操作。
电子设备301还可以包括一个或一个以上电源326,一个或一个以上有线或无线网络接口350,一个或一个以上输入输出接口358,和/或,一个或一个以上操作系统341。
上文所描述的模型部署方法和任务处理方法的步骤可以由电子设备的结构实现。
相应于上面的方法实施例,本发明实施例还提供了一种可读存储介质,下文描述的一种可读存储介质与上文描述的一种模型部署方法可相互对应参照。
一种可读存储介质,可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现如上述模型部署方法的步骤,或计算机程序被处理器执行时实现如上述任务处理方法的步骤。
该可读存储介质具体可以为U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可存储程序代码的可读存储介质。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
本领域技术人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件的方式来执行,取决于技术方案的特定应用和设计约束条件。本领域技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应该认为超出本发明的范围。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系属于仅仅用来将一个实体或者操作与另一个实体或者操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语包括、包含或者其他任何变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。
本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上,本说明书内容不应理解为对本发明的限制。
Claims (22)
1.一种模型部署方法,其特征在于,包括:
仿真模拟计算多个设备组划分策略中的每个组内并行策略的延迟;其中,所述设备组划分策略为将集群中的设备进行分组的策略,所述组内并行策略为将模型分若干个阶段部署于一个设备组内的多个设备上的策略;
利用所述延迟,选出一个最优设备组划分策略及所述最优设备组划分策略中的多个最优组内并行策略;
按照所述最优设备组划分策略,将所述集群的设备划分为多个设备组,每一个所述设备组对应一个模型簇;
按照所述最优组内并行策略,分别将当前对应的模型簇中各模型划分为若干个阶段后,将所述若干个阶段部署在当前设备组内的多个设备上,并记录模型与设备间的映射关系,以实现多设备多路复用。
2.根据权利要求1所述的模型部署方法,其特征在于,在所述仿真模拟计算多个设备组划分策略中的每个组内并行策略的延迟之前,还包括:
根据所述模型簇的数量,将所述集群中的设备分为若干设备分类组;
遍历所述设备分类组,为每一所述模型簇划分设备组,得到所述设备组划分策略;
枚举每一所述设备组划分策略对应的多个所述组内并行策略。
3.根据权利要求2所述的模型部署方法,其特征在于,仿真模拟计算多个设备组划分策略中的每个组内并行策略的延迟,包括:
对所述模型簇内每一种模型,选择不同的所述设备组划分策略下不同的所述组内并行策略,模拟部署模型到所述集群;
模拟部署后,通过仿真模拟计算每一所述组内并行策略的所述延迟。
4.根据权利要求3所述的模型部署方法,其特征在于,对所述模型簇内每一种模型,选择不同的所述设备组划分策略下不同的所述组内并行策略,模拟部署模型到所述集群,包括:
对每一所述模型簇进行遍历,并依次为当前所述模型簇选择不同的所述设备组划分策略,依次按照当前的设备组划分策略下的不同组内并行策略进行模型部署。
5.根据权利要求1所述的模型部署方法,其特征在于,还包括:
对待部署的多个模型进行聚类,得到若干个所述模型簇;
相应地,利用所述延迟,选出一个最优设备组划分策略及所述最优设备组划分策略中的多个最优组内并行策略,包括:
利用所述延迟,从每一所述设备组划分策略对应的多个所述组内并行策略选出若干个所述组内并行策略;其中,选出的所述组内并行策略的个数与所述模型簇的个数相同;
利用选出的若干个所述组内并行策略,从多个所述设备组划分策略中选出所述最优设备组划分策略;
将所述最优设备组划分策略对应选出的若干个所述组内并行策略确定为所述最优组内并行策略。
6.根据权利要求5所述的模型部署方法,其特征在于,利用所述延迟,从每一所述设备组划分策略对应的多个所述组内并行策略选出若干个所述组内并行策略,包括:
将每一所述设备组划分策略对应的多个所述组内并行策略的延迟进行累加或求均值,得到总延迟;
利用所述总延迟,从多个所述设备组划分策略中选出所述最优设备组划分策略。
7.根据权利要求5所述的模型部署方法,其特征在于,对待部署的多个模型进行聚类,得到若干个所述模型簇,包括:
基于模型参数量,对多个模型进行聚类,得到若干个所述模型簇。
8.根据权利要求1所述的模型部署方法,其特征在于,记录模型映射关系,包括:
在任务分发器中,记录所述映射关系。
9.根据权利要求1所述的模型部署方法,其特征在于,按照所述最优组内并行策略,分别将当前对应的模型簇中各模型划分为若干个阶段后,将所述若干个阶段部署在当前设备组内的多个设备上,包括:
按照每一所述设备组对应的所述最优组内并行策略,将对应的所述模型簇中的目标模型拆分为若干个阶段;
将所述若干个阶段,按照对应的最优组内并行策略,将每个阶段部署在当前设备组中的不同设备上。
10.根据权利要求9所述的模型部署方法,其特征在于,将对应的所述模型簇中的目标模型拆分为若干个阶段,包括:
枚举所述目标模型的拆分策略;
通过模拟计算每一种所述拆分策略的并行延迟;
利用所述并行延迟,选出最优拆分策略;
按照所述最优拆分策略,将所述目标模型拆分为若干个阶段。
11.根据权利要求10所述的模型部署方法,其特征在于,枚举所述目标模型的拆分策略,包括:
以层为拆分最小单位,枚举所述目标模型的拆分策略。
12.根据权利要求10所述的模型部署方法,其特征在于,通过模拟计算每一种所述拆分策略的并行延迟,包括:
通过模拟计算每一种所述拆分策略的各阶段延迟;
从所述各阶段延迟中选择最大延迟作为所述并行延迟。
13.根据权利要求10所述的模型部署方法,其特征在于,利用所述并行延迟,选出最优拆分策略,包括:
选出所述并行延迟最小的拆分策略确定为所述最优拆分策略。
14.根据权利要求9所述的模型部署方法,其特征在于,将所述若干个阶段,按照对应的最优组内并行策略,将每个阶段部署在当前设备组中的不同设备上,包括:
将若干个阶段,按照对应的最优组内并行策略,分别写入在设备组中的不同设备上;
将部署有所述目标模型的设备,按照阶段顺序,分别设置发送节点和接收节点,进行顺序连接。
15.根据权利要求1所述的模型部署方法,其特征在于,按照所述最优设备组划分策略,将所述集群的设备划分为多个设备组,每一个所述设备组对应一个模型簇,包括:
按照所述最优设备组划分策略,将所述集群的设备划分为多个所述设备组;
将待部署模型,按照所述模型簇与所述设备组建立一一对应关系;
相应地,所述按照所述最优组内并行策略,分别将当前对应的模型簇中各模型划分为若干个阶段后,将所述若干个阶段部署在当前设备组内的多个设备上,并记录模型与设备间的映射关系,以实现多设备多路复用,包括:
在每一个所述设备组内,按照对应的最优组内并行策略,将对应模型簇内的模型划分为若干个阶段,并将所述若干个阶段分别部署在不同的设备上;
其中,一个所述模型簇内的多个模型对应部署在于所述模型簇具有映射关系的同一个所述设备组中,一个模型的不同阶段部署在同一个所述设备组中的不同设备上;一个所述设备组对应部署一个所述模型簇,一个设备上具有所属所述设备组对应的所述模型簇中的多个模型的不同或相同阶段;
将部署模型的开始阶段的设备与该模型建立映射关系,并进行记录,以实现多设备多路复用。
16.一种任务处理方法,其特征在于,应用于按照权利要求1至15任一项所述的模型部署方法的步骤部署了多个模型的集群,包括:
接收第一任务请求,确定执行所述第一任务请求的第一模型;
基于模型与设备间的映射关系,从所述集群中确定出部署所述第一模型中第一阶段的第一设备;
在所述第一设备未处理所述第一模型的任务请求的情况下,利用所述第一设备处理所述第一任务请求的第一阶段任务;
在所述第一设备处理完所述第一任务请求的第一阶段任务的情况下,利用所述第一设备处理下一个所述第一任务请求的第一阶段任务,并利用部署有所述第一模型的第二阶段的第二设备,处理所述任务请求的第二阶段任务。
17.根据权利要求16所述的任务处理方法,其特征在于,在所述第一设备处理完所述第一阶段任务的情况下,利用部署有所述第一模型中第二阶段的第二设备,处理所述任务请求的第二阶段任务,包括:
在所述第一设备处理完所述第一阶段任务的情况下,利用所述第一设备的发送节点将数据内容传递给所述第二设备的接收节点;
利用所述第二设备,处理所述第一任务的第二阶段任务。
18.根据权利要求16所述的任务处理方法,其特征在于,还包括:
接收第二任务请求,确定执行所述第二任务请求的第二模型;
基于模型与设备间的映射关系,从所述集群中确定出部署所述第二模型中第一阶段的所述第二设备;
在所述第二设备未处理所述第二模型的任务请求的情况下,利用所述第二设备处理所述第二任务请求的第一阶段任务;
在所述第二设备处理完所述第二任务请求的第一阶段任务的情况下,利用所述第二设备处理下一个所述第二任务请求中的第一阶段任务,并利用部署有第二模型中第二阶段的所述第一设备处理所述第二任务请求中的第二阶段任务。
19.一种模型部署装置,其特征在于,包括:
延迟获取模块,用于仿真模拟计算多个设备组划分策略中的每个组内并行策略的延迟;其中,所述设备组划分策略为将集群中的设备进行分组的策略,所述组内并行策略为将模型分若干个阶段部署于一个设备组内的多个设备上的策略;
策略选择模块,用于利用所述延迟,选出一个最优设备组划分策略及所述最优设备组划分策略中的多个最优组内并行策略;
模型部署模块,用于按照所述最优设备组划分策略,将所述集群的设备划分为多个设备组,每一个所述设备组对应一个模型簇;按照所述最优组内并行策略,分别将当前对应的模型簇中各模型划分为若干个阶段后,将所述若干个阶段部署在当前设备组内的多个设备上,并记录模型与设备间的映射关系,以实现多设备多路复用。
20.一种任务处理装置,其特征在于,应用于按照权利要求1至15任一项所述的模型部署方法的步骤部署了多个模型的集群,包括:
请求解析模块,用于接收第一任务请求,确定执行所述第一任务请求的第一模型;
处理设备确定模块,用于基于模型与设备间的映射关系,从所述集群中确定出部署所述第一模型中第一阶段的第一设备;
任务处理模块,用于在所述第一设备未处理所述第一模型的任务请求的情况下,利用所述第一设备处理所述第一任务请求的第一阶段任务;在所述第一设备处理完所述第一任务请求的第一阶段任务的情况下,利用所述第一设备处理下一个所述第一任务请求的第一阶段任务,并利用部署有所述第一模型的第二阶段的第二设备,处理所述任务请求的第二阶段任务。
21.一种电子设备,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如权利要求1至15任一项所述模型部署方法的步骤,或执行所述计算机程序时实现如权利要求16至18任一项所述任务处理方法的步骤。
22.一种可读存储介质,其特征在于,所述可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至15任一项所述模型部署方法的步骤,或所述计算机程序被处理器执行时实现如权利要求16至18任一项所述任务处理方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311220752.4A CN116956756B (zh) | 2023-09-21 | 2023-09-21 | 模型部署方法、任务处理方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311220752.4A CN116956756B (zh) | 2023-09-21 | 2023-09-21 | 模型部署方法、任务处理方法、装置、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116956756A true CN116956756A (zh) | 2023-10-27 |
CN116956756B CN116956756B (zh) | 2024-02-09 |
Family
ID=88455020
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311220752.4A Active CN116956756B (zh) | 2023-09-21 | 2023-09-21 | 模型部署方法、任务处理方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116956756B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117155928A (zh) * | 2023-10-31 | 2023-12-01 | 浪潮电子信息产业股份有限公司 | 通信任务处理方法、系统、设备、集群及可读存储介质 |
Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1493133A (zh) * | 2000-10-25 | 2004-04-28 | �����ɷ� | 确定高速分组数据无线通信系统中的数据速率的方法和装置 |
US20060268713A1 (en) * | 2005-05-27 | 2006-11-30 | Telefonaktiebolaget L M Ericsson (Publ) | Method and apparatus for improving scheduling in packet data networks |
US20090279438A1 (en) * | 2008-05-06 | 2009-11-12 | Harris Corporation, Corporation Of The State Of Delaware | Scalable packet analyzer and related method |
US20130187935A1 (en) * | 2012-01-24 | 2013-07-25 | Daniel Elliot Wexler | Low latency concurrent computation |
CN104360605A (zh) * | 2014-09-23 | 2015-02-18 | 宁波大学 | 一种基于延迟链复用的PUFs电路 |
CN107357649A (zh) * | 2017-05-27 | 2017-11-17 | 北京奇艺世纪科技有限公司 | 系统资源部署策略的确定方法、装置及电子设备 |
CN108243066A (zh) * | 2018-01-23 | 2018-07-03 | 电子科技大学 | 低延迟的网络服务请求部署方法 |
CN115421735A (zh) * | 2022-09-06 | 2022-12-02 | 上海励驰半导体有限公司 | 一种深度学习任务的异构部署方法、装置及电子设备 |
CN115437760A (zh) * | 2022-07-26 | 2022-12-06 | 北京旷视科技有限公司 | 计算资源分配方法、电子设备、存储介质及程序产品 |
WO2022257348A1 (zh) * | 2021-06-08 | 2022-12-15 | 重庆邮电大学 | 一种不确定网络环境中的任务卸载和资源分配方法 |
CN115913952A (zh) * | 2022-11-01 | 2023-04-04 | 南京航空航天大学 | 基于cpu+dpu平台的多目标服务功能链的高效并行化和部署方法 |
CN116468159A (zh) * | 2023-04-03 | 2023-07-21 | 云南电网有限责任公司昆明供电局 | 一种基于双延迟深度确定性策略梯度的无功优化方法 |
CN116599904A (zh) * | 2023-06-15 | 2023-08-15 | 北京交通大学 | 并行传输负载均衡装置及方法 |
-
2023
- 2023-09-21 CN CN202311220752.4A patent/CN116956756B/zh active Active
Patent Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1493133A (zh) * | 2000-10-25 | 2004-04-28 | �����ɷ� | 确定高速分组数据无线通信系统中的数据速率的方法和装置 |
US20060268713A1 (en) * | 2005-05-27 | 2006-11-30 | Telefonaktiebolaget L M Ericsson (Publ) | Method and apparatus for improving scheduling in packet data networks |
US20090279438A1 (en) * | 2008-05-06 | 2009-11-12 | Harris Corporation, Corporation Of The State Of Delaware | Scalable packet analyzer and related method |
US20130187935A1 (en) * | 2012-01-24 | 2013-07-25 | Daniel Elliot Wexler | Low latency concurrent computation |
CN104360605A (zh) * | 2014-09-23 | 2015-02-18 | 宁波大学 | 一种基于延迟链复用的PUFs电路 |
CN107357649A (zh) * | 2017-05-27 | 2017-11-17 | 北京奇艺世纪科技有限公司 | 系统资源部署策略的确定方法、装置及电子设备 |
CN108243066A (zh) * | 2018-01-23 | 2018-07-03 | 电子科技大学 | 低延迟的网络服务请求部署方法 |
WO2022257348A1 (zh) * | 2021-06-08 | 2022-12-15 | 重庆邮电大学 | 一种不确定网络环境中的任务卸载和资源分配方法 |
CN115437760A (zh) * | 2022-07-26 | 2022-12-06 | 北京旷视科技有限公司 | 计算资源分配方法、电子设备、存储介质及程序产品 |
CN115421735A (zh) * | 2022-09-06 | 2022-12-02 | 上海励驰半导体有限公司 | 一种深度学习任务的异构部署方法、装置及电子设备 |
CN115913952A (zh) * | 2022-11-01 | 2023-04-04 | 南京航空航天大学 | 基于cpu+dpu平台的多目标服务功能链的高效并行化和部署方法 |
CN116468159A (zh) * | 2023-04-03 | 2023-07-21 | 云南电网有限责任公司昆明供电局 | 一种基于双延迟深度确定性策略梯度的无功优化方法 |
CN116599904A (zh) * | 2023-06-15 | 2023-08-15 | 北京交通大学 | 并行传输负载均衡装置及方法 |
Non-Patent Citations (2)
Title |
---|
向建军, 左继章, 白欣: "基于多任务并行处理的实时集群计算机系统", 系统工程与电子技术, no. 09 * |
陈鹏;袁雅婧;桑红石;张天序;: "一种可扩展的并行处理器模型设计及性能评估", 航空兵器, no. 05 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117155928A (zh) * | 2023-10-31 | 2023-12-01 | 浪潮电子信息产业股份有限公司 | 通信任务处理方法、系统、设备、集群及可读存储介质 |
CN117155928B (zh) * | 2023-10-31 | 2024-02-09 | 浪潮电子信息产业股份有限公司 | 通信任务处理方法、系统、设备、集群及可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN116956756B (zh) | 2024-02-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110619595B (zh) | 一种基于多fpga加速器互联的图计算优化方法 | |
Wang et al. | Load balancing task scheduling based on genetic algorithm in cloud computing | |
CN116956756B (zh) | 模型部署方法、任务处理方法、装置、设备及存储介质 | |
CN103176849B (zh) | 一种基于资源分类的虚拟机集群的部署方法 | |
CN110689121A (zh) | 一种用多核处理器实现神经网络模型拆分方法及相关产品 | |
CN110058924A (zh) | 一种多目标优化的容器调度方法 | |
CN102611723A (zh) | 一种基于虚拟化技术构建高性能计算应用服务的方法 | |
CN111158790B (zh) | 面向云端深度学习推理的fpga虚拟化方法 | |
CN114443263A (zh) | 显存管理方法、装置、设备及系统 | |
KR20210148586A (ko) | 스케줄러, 스케줄러의 동작 방법 및 이를 포함한 가속기 시스템 | |
CN116700920A (zh) | 云原生混合部署集群资源调度方法及装置 | |
KR20220052546A (ko) | 데이터 처리 방법 및 장치 및 이를 포함한 전자 장치 및 가속기 시스템 | |
CN105426228A (zh) | 一种面向流媒体直播与视频转码的OpenStack虚拟机放置方法 | |
Jiang et al. | Hierarchical deployment of deep neural networks based on fog computing inferred acceleration model | |
CN116896591A (zh) | 网络数据分析模型调度方法、装置和计算机设备 | |
CN116436923A (zh) | 一种按需组网服务实例自主生成及匹配方法与系统 | |
CN115840649A (zh) | 划分容量块式虚拟资源分配方法及装置、存储介质和终端 | |
CN116700934B (zh) | 一种多元异构算力设备调度方法、装置、设备及存储介质 | |
CN117651044B (zh) | 一种边缘计算任务调度方法及装置 | |
Attiya et al. | Task allocation for minimizing programs completion time in multicomputer systems | |
CN116980423B (zh) | 模型调度方法、装置、计算系统、设备及可读存储介质 | |
RU2729228C1 (ru) | Способ управления распределением ресурсов в распределенных информационно-вычислительных средах | |
CN116991590B (zh) | 面向深度学习应用的资源解耦合系统、执行方法和设备 | |
CN115118748A (zh) | 一种智能制造场景微服务部署方案和资源再分配方法 | |
CN116974714A (zh) | 一种数据处理方法、装置、计算机设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |