CN115511086B - 一种针对超大模型的分布式推理部署系统 - Google Patents
一种针对超大模型的分布式推理部署系统 Download PDFInfo
- Publication number
- CN115511086B CN115511086B CN202211373207.4A CN202211373207A CN115511086B CN 115511086 B CN115511086 B CN 115511086B CN 202211373207 A CN202211373207 A CN 202211373207A CN 115511086 B CN115511086 B CN 115511086B
- Authority
- CN
- China
- Prior art keywords
- calculation
- model
- reasoning
- nodes
- module
- 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.)
- Active
Links
- 238000004364 calculation method Methods 0.000 claims abstract description 78
- 238000004891 communication Methods 0.000 claims description 33
- 230000014509 gene expression Effects 0.000 claims description 22
- 238000013507 mapping Methods 0.000 claims description 16
- 238000000034 method Methods 0.000 claims description 9
- 238000012856 packing Methods 0.000 claims description 8
- 230000010354 integration Effects 0.000 claims description 6
- 238000004806 packaging method and process Methods 0.000 claims description 5
- 238000004458 analytical method Methods 0.000 abstract description 6
- 238000007726 management method Methods 0.000 description 10
- 238000012549 training Methods 0.000 description 6
- 238000012545 processing Methods 0.000 description 4
- 238000010586 diagram Methods 0.000 description 3
- 238000003058 natural language processing Methods 0.000 description 3
- 238000013473 artificial intelligence Methods 0.000 description 2
- 238000013135 deep learning Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 230000018109 developmental process Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000009434 installation Methods 0.000 description 2
- 230000011218 segmentation Effects 0.000 description 2
- 238000000926 separation method Methods 0.000 description 2
- 238000004422 calculation algorithm Methods 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000013136 deep learning model Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000003062 neural network model Methods 0.000 description 1
- 230000001502 supplementing effect Effects 0.000 description 1
- 238000012559 user support system Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N5/00—Computing arrangements using knowledge-based models
- G06N5/04—Inference or reasoning models
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Data Mining & Analysis (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Computational Linguistics (AREA)
- Mathematical Physics (AREA)
- Evolutionary Computation (AREA)
- Artificial Intelligence (AREA)
- Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Multi Processors (AREA)
Abstract
本发明涉及一种针对超大模型的分布式推理部署系统,所述系统基于中间表述的通用模型构建计算图,将计算图拆分为计算子图,实现对大多数超大模型支持。通过最快推理速度策略或最大吞吐率策略,实现超大模型需满足的性能需求部署。通过将计算子图与推理引擎执行后端一起打包成Package发送到相应的计算节点,再由运行时模块负责解析运行时Package信息,实现兼容多个推理引擎执行后端。而为了进一步提升通用性,在解析模型时,采用算子等效拆分方式实现算子并行,实现算子并行与后端执行无关,从而实现任务解析与后端执行解耦。在应用分布式推理系统时,通过配置好的动态分组模块,可有效提升推理部署服务的计算资源效率。
Description
技术领域
本公开涉及高性能计算中深度学习模型的分布式部署应用,尤其涉及一种针对超大模型的分布式推理部署系统。
背景技术
随着深度学习和人工智能技术的发展,深度学习技术应用的领域也越来越广泛。近年来,各大公司和科研机构不断推出超大模型。作为探索通用人工智能领域的路径之一,大模型的出现意味着“工业化”开发模式的到来。大模型覆盖的领域很广泛,包括文本、语音、视觉等多个方向。大模型的参数规模也逐渐变大,从百万、千万、亿到千亿、万亿。超大模型的重要性越来越高,超大模型的推理部署是影响超大模型落地的关键。
发明内容
针对上述现有技术,本发明的目的在于提供一种针对超大模型的分布式推理部署系统,用于对超大模型进行分布式部署应用。本发明的分布式系统超大模型采用通用模型进行中间表述,以实现对大多数超大模型支持部署,而不局限于自然语言处理(NLP,Natural Language Processing)领域。
为实现上述目的,本发明的技术方案如下。
第一方面,本发明提出了一种针对超大模型的分布式推理部署系统,所述系统包括任务分配模块、并行管理模块、多后端执行模块、运行时模块,以实现超大模型的分布式推理系统的部署;其中:
任务分配模块,被配置用于将超大模型解析成中间表述,基于中间表述构建计算图,将计算图拆分为计算子图,建立计算子图与计算节点的映射关系,并将任务分配信息打包成Package;
并行管理模块,被配置基于计算子图和计算节点的映射关系,向所有计算节点发送对应的Package,并且构建计算节点之间的通信关系;
运行时模块,被配置用于在接收Package的计算节点上对Package进行解析并执行对应的任务。
超大模型涵盖范围很广泛,不同领域的超大模型的模型结构和算子构成存在差别,支持超大模型训练的框架也很多,不同的模型存储格式影响模型部署。在上述技术方案中,通过配置任务分配模块,将超大模型解析成中间表述,将超大模型推理任务分配到分布式系统的计算资源上,完成计算任务。由任务分配模块提供通用模型支持能力,解决模型的多样性和训练框架多样性带来的部署复杂度。任务分配信息包括计算子图的计算部分、计算子图被分配的计算节点、计算节点的通信信息以及推理引擎后端执行信息。其中,计算节点的通信信息包括向该计算节点发送数据的计算节点的通信信息,该节点发出数据的目的计算节点的通信信息。
在上述技术方案中,任务分配模块通过建立计算子图与计算节点的映射关系,实现计算资源的分配。分配的一种具体实施方式是采用最快推理速度策略,另一种实施方式是采用最大吞吐率策略。具体地:
所述最快推理速度策略如下:使用G_sub表述计算子图,使用commj表示第j个通信节点的时间,则通过使下述公式取得最小值时,确定计算子图与通信节点的对应关系:
式中:t(G_subi)表示计算子图的执行时间,n表示计算子图的数目,k表示通信节点的数目。
所述最大吞吐率策略,使得计算子图对应的推理任务在执行时,采用流水线的方式执行,以尽量保证各个计算子图的时间开销相等。
作为上述技术方案的进一步改进,所述系统包括执行模块,所述执行模块对多种推理引擎后端进行管理。所述计算子图保存原始的模型格式,所述任务分配模块将计算子图以及对应的推理引擎后端一起打包成Package。计算节点上的运行时模块负责解析运行时Package信息,执行模块解析Package信息中相应的推理引擎后端信息,通过调用计算后端执行任务,完成计算子图的计算任务,进而完成计算节点的分布式协作。这种实施方式可使分布式推理系统兼容多个推理引擎执行后端,支持更多的超大模型部署。
作为上述技术方案的进一步改进,本发明通过算子拆分实现算子并行,以适配更多的推理后端。所述算子拆分,为将模型中的算子等效拆分到不同的计算节点进行计算,并插入一个合并算子,以实现数据整合,从而提升并行方案的通用性。
在上述技术方案中,所述计算图拆分为计算子图,为将计算图根据计算节点信息进行拆分,所述计算节点信息包括:
计算节点硬件资源、计算节点设备线程、计算节点数目。
作为上述技术方案的进一步改进,所述系统还包括动态分组模块,所述动态分组模块,被配置为将多个输入进行维度统一,以实现多Batch形式。当多用户同时发起推理服务或者单用户有多个输入发起推理服务时,系统会将多个输入进行整合打包成Batch形式。通过维度补充的方式,保证多Batch内每个输入的维度是相同的,提升整体的推理效率。将多个输入进行维度统一的一种实现方式是通过Padding操作实现,通过Padding操作寻找能够覆盖所有输入维度大小的最小维度。
作为上述技术方案的进一步改进,所述系统还包括任务执行模块,以实现部署超大模型的分布式系统的应用。所述系统根据任务分配的结果,在对应的计算节点上调用任务执行模块;在计算节点完成任务执行后,所述系统整合任务执行模型的计算结果,根据动态分组信息,完成输出的对应分配。
第二方面,本发明提出了一种计算机可读存储介质,其上存储有程序,该程序被处理器执行时,实现上述中任一项所述的针对超大模型的分布式推理部署系统。
第三方面,本发明提出了一种针对超大模型的分布式推理部署系统的执行方法,所述方法包括下述步骤:
S100、将超大模型解析成中间表述,基于中间表述构建计算图,将计算图拆分为计算子图,建立计算子图与计算节点的映射关系,并将任务分配信息打包成Package;
S200、基于计算子图和计算节点的映射关系,向所有计算节点发送对应的Package;
S300、在接收Package的计算节点上,对Package进行解析并执行对应的任务。
附图说明
图1、一种实施方式下的针对超大模型的分布式推理部署系统结构示意图;
图2、一个实施例中将计算图拆分成计算子图的示意图;
图3、一个实施例中Padding操作示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。
本发明中提及的超大模型涵盖范围很广泛,包括文本、语音、视觉等多个方向。大模型的参数规模也逐渐变大,从百万、千万、亿到千亿、万亿。不同领域的超大模型的模型结构和算子构成存在差别,支持超大模型训练的框架也很多,不同的模型存储格式影响模型部署。
参见图1,在一个实施例中提供一种针对超大模型的分布式推理部署系统,具体包括任务分配模块、并行管理模块、多后端执行模块、运行时模块,以实现超大模型的分布式推理系统的部署。
(1)任务分配模块
任务分配模块是在给定硬件资源和推理模型的前提下,超大模型推理任务分配到分布式系统的计算资源上,完成计算任务。
任务分配的输入分别是:
①推理任务,在此本实施例中以神经网络模型为主;
②计算资源,计算资源以及分布式关系;
③分配方案,最快推理速度策略或者最大吞吐率策略。
任务分配模块在实现上:
首先,通过配置任务分配模块,将超大模型解析成中间表述,以数据流和计算流的形式存储计算任务,从而将超大模型推理任务分配到分布式系统的计算资源上,完成计算任务。
其次,基于中间表述构建计算图,将计算图拆分为多个计算子图,并且绑定计算资源与计算子图,建立计算子图与计算节点的映射关系,实现计算资源的分配。
最后,将包括计算子图的计算部分、计算子图被分配的计算节点、计算节点的通信信息以及推理引擎后端执行信息的任务分配信息打包成Package。
上述过程中,将计算图拆分为多个计算子图可以是将计算图根据计算节点信息进行拆分,所述计算节点信息包括:硬件资源、各节点设备线程、计算节点数目等。计算节点的通信信息包括向该计算节点发送数据的计算节点的通信信息,该节点发出数据的目的计算节点的通信信息。
在将计算图拆分成多个计算子图后,如图2所示,在这种实施方式下,任务分配模块的输出任务分配结果(Sub,Node,Device),其中Sub是计算子图,Node是与计算子图对应的节点,Device是节点Node所在的设备。
当拆分的多个计算子图和计算节点的关系不是唯一对应时,根据易用场景,实施不同的分配方案。本实施例从对分布式推理系统的性能需求的角度,提供两种分配方案:
第一种,是以推理速度为主(Latency-Aware)的策略,保证计算图的计算时间最短,计算公式如下所示,其中G_sub表述计算子图,commj表示第j个计算节点的时间。
第二种,是吞吐率为主(Throughput-Aware)的策略,吞吐率就是单位时间内提供的产量。在实施时,通过多机器节点采用流水线的方式执行推理任务,可保证各子计算任务的计算时间相对平均,并且能尽量掩盖通信时间开销。
综上,由任务分配模块提供通用模型支持能力,可解决模型的多样性和训练框架多样性带来的部署复杂度。
(2)并行管理模块
并行管理模块基于计算子图和计算节点的映射关系,向所有计算节点发送对应的Package,并构建计算节点之间的通信关系,以在并行执行任务时支持灵活的并行方案,包括模型并行、算子并行等。
模型并行,是指将模型拆成不同的子模型,由不同的计算资源分别进行计算。由于任务分配模块根据模型信息和计算资源进行模型并行切分,因此,并行管理模块支持模型并行。
算子并行,是指将模型中的一个算子拆分到不同的计算节点进行计算。本实施例中,通过将模型中的算子等效拆分到不同的计算节点进行计算,并插入一个合并算子,以实现数据整合,从而提升并行方案的通用性。因此,并行管理模块支持算子并行。在这种实施方式下的算子并行,与后端推理引擎执行无关。具体实现方式为,对于模型中需要算子并行的算子A,在对模型解析时,会先把算子A1和A2,然后模型中插入一个合并算子A3,由A3完成A1和A2的数据整合。这样相当于模型中的一个A算子,变成多个算子的集合,推理系统对新的模型进行解析和任务分配即可。
(3)执行模块
本实施例的分布式推理系统支持多推理引擎后端,并通过执行模块负责管理每一个后端推理引擎。任务分配模块会将推理引擎后端信息以及执行模块信息打包到Package中,然后分配到各个计算节点。在这种实施方式下,任务分配模块对超大模型拆分后,可以保留超大模型原始的模型格式。在计算子图被分配到计算节点上后,运行时模块将Package模块进行解析后,执行模块调用推理引擎后端以解析对应的计算子图。
超大模型拆分保留原始的模型格式,与后端推理引擎一起打包,结合算子拆分使算子并行与后端推理引擎执行无关,从而实现了任务解析与后端执行解耦。
在另一种实施方式中,可使所有的计算节点均有所有的推理引擎后端,从而在计算节点获得计算子图时,通过识别模型格式,调用相应的推理引擎后端执行解析计算。
(4)运行时模块
任务分配模块完成任务分配之后,会对任务分配信息进行打包,而打包的Package由运行时模块进行解析执行,保证单机单卡的运行时机制与分布式运行时机制的协作。
Package信息包括:一是计算部分(compute),即使用对应执行者后端完成子图计算;二是通信部分(communication),即推理系统添加的计算节点和计算节点的通信信息,完成数据通信。计算节点的通信信息包括向该计算节点发送数据的计算节点的通信信息,该节点发出数据的目的计算节点的通信信息。三是后端推理引擎执行信息,用于解析计算子图。运行时管理模块在解析Package后,可调用不同的后端推理引擎实现对计算子图的解析,完成计算子图的计算。
在本实施例中,并行管理模块部署在推理系统的主节点上,由主节点向所有计算节点发送对应的Package信息。计算节点的运行时模块完成package信息的解析,并且执行对应的任务。
(5)动态分组模块
动态分组模块用于将超大模型在分布式系统中部署完成之后。针对超大模型部署服务的多用户支持特点,通过动态分组模块可以把多个用户的输入进行统一,以打包成多Batch的形式,进行任务计算,以有效提升推理部署服务的计算资源的效率。
当多用户同时发起推理服务或者单用户有多个输入发起推理服务时,先将多个输入进行Padding操作后,再将这多个输入打包成Batch形式进行任务分组计算,提高整体的计算效率。通过Padding操作,保证每个输入的shape是相同的,提升整体的推理效率。
在一种实施方式中,Padding操作如图3所示,两个输入数据的维度信息分别是(h1,w1)和(h2,w2),寻找最小维度(h,w),使得(h,w)能完全覆盖两个输入的维度。
对于n个输入(输入的维度为K),第i个输入的维度信息为(di0,di1.......,diK),需要分成g个动态组,每个动态组平均n/G个输入,第1组需要Padding的输入维度为(gl0,gl1,........,glK),动态分组算法的数学表示如下所示:
在满足上述条件的前提下,取得额外附加区域p最少的分组和Padding方式。
(6)任务执行模块
任务执行模型在部署了超大模型的分布式系统应用时使用。当推理服务器(Server)开启推理服务,接受客户端的输入请求,并且调用动态分组模块完成任务分组,推送任务到分布式推理系统。系统根据任务分配的结果,在对应的计算节点上调用任务执行模块;在计算节点完成任务执行后,所述系统整合任务执行模型的计算结果,根据动态分组信息,完成输出的对应分配。
在另一实施例中,实施了一种计算机可读存储介质,其上存储有程序,该程序被处理器执行时,实现上述实施例中的针对超大模型的分布式推理部署系统。
所述计算机可读存储介质可以是前述任一实施例所述的任意具备数据处理能力的设备的内部存储单元,例如硬盘或内存。所述计算机可读存储介质也可以是任意具备数据处理能力的设备的外部存储设备,例如所述设备上配备的插接式硬盘、智能存储卡(Smart MediaCard,SMC)、SD卡、闪存卡(Flash Card)等。进一步的,所述计算机可读存储介质还可以既包括任意具备数据处理能力的设备的内部存储单元也包括外部存储设备。所述计算机可读存储介质用于存储所述计算机程序以及所述任意具备数据处理能力的设备所需的其他程序和数据,还可以用于暂时地存储已经输出或者将要输出的数据。
在一个实施例中,采用一种针对超大模型的分布式推理部署系统的执行方法。方法包括下述步骤:
S100、将超大模型解析成中间表述,基于中间表述构建计算图,将计算图拆分为计算子图,建立计算子图与计算节点的映射关系,并将任务分配信息打包成Package。
在步骤S100中,超大模型涵盖范围很广泛,不同领域的超大模型的模型结构和算子构成存在差别,支持超大模型训练的框架也很多,不同的模型存储格式影响模型部署。在步骤S100中,通过将超大模型解析成中间表述,使分布式推理部署系统具有通用模型支持能力,解决模型的多样性和训练框架多样性带来的部署复杂度。任务分配信息包括计算子图的计算部分、计算子图被分配的计算节点、计算节点的通信信息以及推理引擎后端执行信息。其中,计算节点的通信信息包括向该计算节点发送数据的计算节点的通信信息,该节点发出数据的目的计算节点的通信信息。
建立计算子图与计算节点的映射关系,所采用的策略包括采用最快推理速度策略或最大吞吐率策略。所述最大吞吐率使得计算子图对应的推理任务在执行时,采用流水线的方式执行。所述最快推理速度策略:使用G_sub表述计算子图,使用commj表示第j个通信节点的时间,则通过使下述公式取得最小值时,确定计算子图与通信节点的对应关系:
式中:t(G_subi)表示计算子图的执行时间,n表示计算子图的数目,k表示通信节点的数目。
系统支持多个推理引擎后端执行,在拆分成计算子图时可保留原始模型格式,在打包时将计算子图的推理引擎后端信息一起打包成Package。运行时模块解析Package后,在计算节点上调用相应的推理引擎后端执行,可实现对计算子图的解析和执行任务计算。
S200、基于计算子图和计算节点的映射关系,向所有计算节点发送对应的Package,并且构建计算节点之间的通信关系,从而实现并行完成计算任务。
并行执行任务,包括模型并行、算子并行等并行方案。模型并行,是指将模型拆成不同的子模型,由不同的计算资源分别进行计算。由于任务分配模块根据模型信息和计算资源进行模型并行切分,因此,并行管理模块支持模型并行。算子并行,是指将模型中的一个算子拆分到不同的计算节点进行计算。本实施例中的算子并行通过对算子的实现部分进行修改,具体通过将模型中的算子等效拆分到不同的计算节点进行计算,并插入一个合并算子,以实现数据整合,从而提升并行方案的通用性,使得算子并行与后端引擎执行无关。具体实现方式为,对于模型中需要算子并行的算子A,在对模型解析时,会先把算子A1和A2,然后模型中插入一个合并算子A3,由A3完成A1和A2的数据整合。这样相当于模型中的一个A算子,变成多个算子的集合,推理系统对新的模型进行解析和任务分配即可。
S300、在接收Package的计算节点上,对Package进行解析并执行对应的任务。
上述超大模型在分布式系统的部署过程,其也实现为一种安装程序,或者专用安装装置,通过运行所述安装程序或启动该专用安装装置,实现超大模型地快捷部署。
在部署好超大模型后,当推理服务器(Server)开启推理服务,接受客户端的输入请求。对于多用户同时发起推理服务或者单用户有多个输入发起推理服务时,为了提高整体的计算效率,通过先将多个输入进行Padding操作,再将这多个输入进行统一,以打包成Batch形式进行任务分组计算。通过Padding操作,保证每个输入的shape是相同的,提升整体的推理效率。然后对分好的组,推送任务到分布式推理系统。系统根据任务分配的结果,在对应的计算节点上调用任务执行模块;在计算节点完成任务执行后,所述系统整合任务执行模型的计算结果,根据动态分组信息,完成输出的对应分配。
综上,本发明通过采用中间表述的通用模型,基于中间表述的通用模型构建计算图,将计算图拆分为计算子图,实现对大多数超大模型支持,而采用通用模型的推理支持方案,可使超大模型的分布式部署具有很强的灵活性和扩展性。通过最快推理速度策略或最大吞吐率策略,实现超大模型需满足的性能需求部署。通过将计算子图与推理引擎执行后端一起打包成Package发送到相应的计算节点,再由运行时模块负责解析运行时Package信息,实现兼容多个推理引擎执行后端。而为了进一步提升通用性,适配更多推理引擎后端,在解析模型时,采用算子等效拆分方式实现算子并行,进而不仅实现支持模型并行和算子并行等多种并行方案,而且实现了任务解析与后端推理引擎执行的解耦。在应用分布式推理系统时,通过配置好的动态分组模块,可有效地提升推理部署服务的计算资源的效率。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换或改进等,均应包含在本发明的保护范围之内。
Claims (9)
1.一种针对超大模型的分布式推理部署系统,其特征在于,所述系统包括任务分配模块、并行管理模块、运行时模块,以实现超大模型的分布式推理系统的部署;其中:
任务分配模块,被配置用于将超大模型解析成中间表述,基于中间表述构建计算图,将计算图拆分为计算子图,建立计算子图与计算节点的映射关系,并将任务分配信息打包成Package;
并行管理模块,被配置基于计算子图和计算节点的映射关系,向所有计算节点发送对应的Package,并且构建计算节点之间的通信关系;
运行时模块,被配置用于在接收Package的计算节点上对Package进行解析并执行对应的任务;
其中:建立计算子图与计算节点的映射关系,所采用的策略包括采用最快推理速度策略或最大吞吐率策略;
所述最快推理速度策略:使用G_sub表述计算子图,使用commj表示第j个计算节点的时间,则通过使下述公式取得最小值时,确定计算子图与计算节点的对应关系:
式中:t(G_subi)表示计算子图的执行时间,n表示计算子图的数目,k表示通信节点的数目;
所述最大吞吐率策略,使得计算子图对应的推理任务在执行时,采用流水线的方式执行。
2.根据权利要求1所述的系统,其特征在于,所述系统还包括执行模块,用于对多种推理引擎后端进行管理;
所述计算子图保存原始的模型格式,所述任务分配模块在打包成Package时,将计算子图对应的推理引擎后端一起打包,以使Package在解析后,能够使计算节点上的执行模块使用相应的推理引擎后端对计算子图进行解析并完成计算。
3.根据权利要求1所述的系统,其特征在于,所述并行管理模块能够实现算子拆分;所述算子拆分,为将模型中的某个算子等效拆分到不同的计算节点进行计算,并通过插入一个合并算子,以实现数据整合。
4.根据权利要求1所述的系统,其特征在于,所述将计算图拆分为计算子图,为将模型解析得到的计算图根据计算节点信息进行拆分,所述计算节点信息包括:计算节点硬件资源、各节点设备线程、计算节点数目。
5.根据权利要求1所述的系统,其特征在于,所述系统还包括动态分组模块;所述动态分组模块,被配置为将多个输入进行维度统一,以实现多Batch形式。
6.根据权利要求5所述的系统,其特征在于,所述将多个输入进行维度统一通过Padding操作实现,所述Padding操作寻找能够覆盖所有输入维度大小的最小维度。
7.根据权利要求5所述的系统,其特征在于,所述系统还包括任务执行模块;所述系统根据任务分配的结果,在对应的计算节点上调用任务执行模块;在计算节点完成任务执行后,所述系统整合任务执行模型的计算结果,根据动态分组信息,完成输出的对应分配。
8.一种计算机可读存储介质,其特征在于,其上存储有程序,该程序被处理器执行时,实现权利要求1-7中任一项所述的针对超大模型的分布式推理部署系统。
9.一种针对超大模型的分布式推理部署系统的执行方法,其特征在于,所述方法包括下述步骤:
S100、将超大模型解析成中间表述,基于中间表述构建计算图,将计算图拆分为计算子图,建立计算子图与计算节点的映射关系,并将任务分配信息打包成Package;
S200、基于计算子图和计算节点的映射关系,向所有计算节点发送对应的Package,并且构建计算节点之间的通信关系;
S300、在接收Package的计算节点上,对Package进行解析并执行对应的任务;
其中:建立计算子图与计算节点的映射关系,所采用的策略包括采用最快推理速度策略或最大吞吐率策略;
所述最快推理速度策略:使用G_sub表述计算子图,使用commj表示第j个计算节点的时间,则通过使下述公式取得最小值时,确定计算子图与计算节点的对应关系:
式中:t(G_subi)表示计算子图的执行时间,n表示计算子图的数目,k表示通信节点的数目;
所述最大吞吐率策略,使得计算子图对应的推理任务在执行时,采用流水线的方式执行。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211373207.4A CN115511086B (zh) | 2022-11-03 | 2022-11-03 | 一种针对超大模型的分布式推理部署系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211373207.4A CN115511086B (zh) | 2022-11-03 | 2022-11-03 | 一种针对超大模型的分布式推理部署系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115511086A CN115511086A (zh) | 2022-12-23 |
CN115511086B true CN115511086B (zh) | 2024-05-24 |
Family
ID=84512596
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211373207.4A Active CN115511086B (zh) | 2022-11-03 | 2022-11-03 | 一种针对超大模型的分布式推理部署系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115511086B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116541018B (zh) * | 2023-06-19 | 2023-09-15 | 之江实验室 | 一种分布式模型编译系统、方法、装置、介质及设备 |
CN117494816B (zh) * | 2023-12-31 | 2024-03-26 | 摩尔线程智能科技(北京)有限责任公司 | 基于计算单元部署的模型推理方法、装置、设备及介质 |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5170393A (en) * | 1989-05-18 | 1992-12-08 | California Institute Of Technology | Adaptive routing of messages in parallel and distributed processor systems |
JP2012198873A (ja) * | 2011-03-22 | 2012-10-18 | Nec (China) Co Ltd | データセットからの情報取得方法およびシステム |
CN108683738A (zh) * | 2018-05-16 | 2018-10-19 | 腾讯科技(深圳)有限公司 | 图数据处理方法和图数据的计算任务发布方法 |
CN110018817A (zh) * | 2018-01-05 | 2019-07-16 | 中兴通讯股份有限公司 | 数据的分布式运行方法及装置、存储介质及处理器 |
CN111078415A (zh) * | 2019-12-19 | 2020-04-28 | 北京奇艺世纪科技有限公司 | 数据处理方法、装置、服务器及计算机可读存储介质 |
CN113900810A (zh) * | 2021-10-11 | 2022-01-07 | 国网电子商务有限公司 | 分布式图处理方法、系统及存储介质 |
CN113961267A (zh) * | 2021-10-15 | 2022-01-21 | 杭州海康威视数字技术股份有限公司 | 一种业务处理方法、装置及设备 |
CN114035937A (zh) * | 2021-10-15 | 2022-02-11 | 北京潞晨科技有限公司 | 一种基于人工智能的分布式训练和推理方法、系统、设备和可读存储介质 |
CN114708540A (zh) * | 2022-04-24 | 2022-07-05 | 上海人工智能创新中心 | 一种数据处理方法,终端及存储介质 |
CN114721833A (zh) * | 2022-05-17 | 2022-07-08 | 中诚华隆计算机技术有限公司 | 一种基于平台业务类型的智能云端协调方法和装置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111258744B (zh) * | 2018-11-30 | 2024-08-06 | 中兴通讯股份有限公司 | 一种基于异构计算的任务处理方法及软硬件框架系统 |
-
2022
- 2022-11-03 CN CN202211373207.4A patent/CN115511086B/zh active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5170393A (en) * | 1989-05-18 | 1992-12-08 | California Institute Of Technology | Adaptive routing of messages in parallel and distributed processor systems |
JP2012198873A (ja) * | 2011-03-22 | 2012-10-18 | Nec (China) Co Ltd | データセットからの情報取得方法およびシステム |
CN110018817A (zh) * | 2018-01-05 | 2019-07-16 | 中兴通讯股份有限公司 | 数据的分布式运行方法及装置、存储介质及处理器 |
CN108683738A (zh) * | 2018-05-16 | 2018-10-19 | 腾讯科技(深圳)有限公司 | 图数据处理方法和图数据的计算任务发布方法 |
CN111078415A (zh) * | 2019-12-19 | 2020-04-28 | 北京奇艺世纪科技有限公司 | 数据处理方法、装置、服务器及计算机可读存储介质 |
CN113900810A (zh) * | 2021-10-11 | 2022-01-07 | 国网电子商务有限公司 | 分布式图处理方法、系统及存储介质 |
CN113961267A (zh) * | 2021-10-15 | 2022-01-21 | 杭州海康威视数字技术股份有限公司 | 一种业务处理方法、装置及设备 |
CN114035937A (zh) * | 2021-10-15 | 2022-02-11 | 北京潞晨科技有限公司 | 一种基于人工智能的分布式训练和推理方法、系统、设备和可读存储介质 |
CN114708540A (zh) * | 2022-04-24 | 2022-07-05 | 上海人工智能创新中心 | 一种数据处理方法,终端及存储介质 |
CN114721833A (zh) * | 2022-05-17 | 2022-07-08 | 中诚华隆计算机技术有限公司 | 一种基于平台业务类型的智能云端协调方法和装置 |
Non-Patent Citations (2)
Title |
---|
Privacy-Aware Best-Balanced Multilingual Communication;PITUXCOOSUVARN et al.;《Special Section on Knowledge-Based Software Engineering》;20201231;第1288-1295页 * |
YARM:基于MapReduce的高效可扩展的语义推理引擎;顾荣;王芳芳;袁春风;黄宜华;;计算机学报(第01期);第76-87页 * |
Also Published As
Publication number | Publication date |
---|---|
CN115511086A (zh) | 2022-12-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN115511086B (zh) | 一种针对超大模型的分布式推理部署系统 | |
JP7433373B2 (ja) | 深層学習モデルの分散トレーニング方法、装置、電子機器、記憶媒体およびコンピュータプログラム | |
CN109993299B (zh) | 数据训练方法及装置、存储介质、电子装置 | |
CN110780914B (zh) | 服务发布方法及装置 | |
CN110308984B (zh) | 一种用于处理地理分布式数据的跨集群计算系统 | |
CN114008594A (zh) | 调度计算图上的操作 | |
KR102113662B1 (ko) | 모바일 에지 컴퓨팅 환경에서 태스크를 분할하여 대리 노드들에 할당하는 방법 | |
Kwok et al. | Link contention-constrained scheduling and mapping of tasks and messages to a network of heterogeneous processors | |
CN110569252B (zh) | 一种数据处理系统及方法 | |
CN103777950B (zh) | 一种对aos遥测数据解析的网格化方法 | |
CN115134371A (zh) | 包含边缘网络算力资源的调度方法、系统、设备及介质 | |
Huang et al. | Enabling DNN acceleration with data and model parallelization over ubiquitous end devices | |
Liang et al. | DNN surgery: Accelerating DNN inference on the edge through layer partitioning | |
CN105740085A (zh) | 容错处理方法及装置 | |
Duan et al. | Computation offloading scheduling for deep neural network inference in mobile computing | |
CN111860853A (zh) | 在线预测系统、设备、方法及电子设备 | |
Zhang et al. | Dynamic DNN decomposition for lossless synergistic inference | |
Tseng et al. | An mec-based vnf placement and scheduling scheme for ar application topology | |
CN112989251B (zh) | 一种基于协同计算的移动Web增强现实3D模型数据服务方法 | |
AlOrbani et al. | Load balancing and resource allocation in smart cities using reinforcement learning | |
Gorton et al. | Components in the Pipeline | |
CN116016255B (zh) | 一种基于动态代理和智能合约的通用区块链性能评测方法 | |
CN116932147A (zh) | 流式作业处理方法、装置、电子设备及介质 | |
CN116192849A (zh) | 一种异构加速板卡计算方法、装置、设备及介质 | |
Wu et al. | Optimizing network performance of computing pipelines in distributed environments |
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 |