CN114816801A - 基于多种通信模式的深度学习大模型推理部署方法 - Google Patents
基于多种通信模式的深度学习大模型推理部署方法 Download PDFInfo
- Publication number
- CN114816801A CN114816801A CN202210502345.1A CN202210502345A CN114816801A CN 114816801 A CN114816801 A CN 114816801A CN 202210502345 A CN202210502345 A CN 202210502345A CN 114816801 A CN114816801 A CN 114816801A
- Authority
- CN
- China
- Prior art keywords
- model
- communication
- reasoning
- parallel
- processes
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/547—Remote procedure calls [RPC]; Web services
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/546—Message passing systems or structures, e.g. queues
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Artificial Intelligence (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Multi Processors (AREA)
Abstract
本发明公开了基于多种通信模式的深度学习大模型推理部署方法,具体涉及程序模型领域,包括以下步骤:S1、对大模型进行模型并行与流水线并行分割;S2、进程运行,其中一个为主进程,除了主进程外的其他进程中,仅有通信初始化逻辑;S3、初始化所有通信;S4、主进程通过远程过程调用在所有进程上对相应模型分块进行实例化;S5、当一个推断请求到来时,主进程通过远程过程调用通知所有进程相应的信息,被调用的进程将执行信息压入自己的消息队列,后启动推理过程,本发明能够统一程序入口,实现非阻塞的流水线推理,在行为上,可将分布式推理封装成单设备推理具有相同行为,易于对分布式推理进行管理。
Description
技术领域
本发明涉及程序模型领域,尤其涉及基于多种通信模式的深度学习大模型推理部署方法。
背景技术
深度学习模型逐渐变得越来越大以达到更佳的精度要求,深度学习模型的参数量已经达到百亿级别,甚至千亿级别,智源悟道2.0模型甚至有1.75万亿的参数规模;
百亿级别大模型以FP16精度进行存储需要20GB的内存,已经逼近甚至超过了大多数加速器片上存储的极限,同时由于庞大的计算量,单设备推理大模型也难以满足推理任务的延迟要求。因此,如何协调节点内及节点间多设备对大模型进行分布式推理是重要的研究内容;
当前具有大模型分布式推理能力的框架有Deepspeed-Inference和FasterTransformer针对GPT的分布式实现,但在实现上均采用分布式深度学习训练的去中心化模式,无法对分布式推理中的多个进程进行管理,无法实现统一的输入/输出接口,无法对分布式推理任务的扩展和多模型参数进行管理,进而无法包装成服务对外提供推理业务。同时,由于当前已有的推理服务部署系统均针对单进程推理实例进行管理,现有分布式推理方案无法封装成单个实例直接复用现有的管理逻辑,例如:例:现有任务的启动方式是如MPI的启动方式(mpirun-n 4evaluate.py),每一个任务进程之间相互独立,不易管理,对于训练任务是合适的,但是对于推理任务则不合适。如流水线推理时,任务的入口在进程0,而任务的出口则在最后一个进程,因此本发明提出基于多种通信模式的深度学习大模型推理部署方法。
发明内容
本发明的目的是为了解决现有技术中存在的缺点,而提出的基于多种通信模式的深度学习大模型推理部署方法。
为了实现上述目的,本发明采用了如下技术方案:
基于多种通信模式的深度学习大模型推理部署方法,包括以下步骤:
S1、对大模型进行模型并行与流水线并行分割;
S2、进程运行,其中一个为主进程,除了主进程外的其他进程中,仅有通信初始化逻辑;
S3、初始化所有通信;
S4、主进程通过远程过程调用在所有进程上对相应模型分块进行实例化;
S5、当一个推断请求到来时,主进程通过远程过程调用通知所有进程相应的信息,被调用的进程将执行信息压入自己的消息队列,后启动推理过程。
优选的,所述步骤S1具体为:将待推理模型按模型并行与流水线并行进行层间与层内的切割,需要满足模型并行维度与流水线并行维度的乘积等于总的进程数量。
优选的,所述步骤S3具体为:远程过程调用通信,所有的进程都在一个通信组中,模型并行通信,由于模型并行维度为2,因此该通信模式中每两个进程作为一组,流水线并行通信,由于流水线并行维度为3。
优选的,所述流水线预热阶段描述:由于流水线后序进程依赖于前序进程,前序进程启动推理后,后序进程则进入通信等待时间,前须进程中同一个模型并行组内的进程通过集合通信完成推理,输出结果通过点对点通信传递到流水线后序进程,流水线后序进程启动推理,往复该过程直至流水线末尾将结果返回主进程。
优选的,所述流水线稳定运行阶段描述:有足够多的推理请求时,请求都将被压入各自进程的消息队列中,当后序进程开始推理时,前序进程将启动下一个请求的推理,当该后序节点完成推理后即可得到前序进程关于下一个请求的输出,无需等待。
优选的,所述远程过程调用的具体步骤为:负责调用远程进程上的实例化方法,当有新的推理请求进来时,发起具体控制逻辑,管理运行过程中多个远程进程之间协同工作,控制逻辑包括,模型计算与进程间通信,点对点通信,在流水线并行中,前序进程完成推理后需要将结果传输给下一个设备,下一个进程接收上一个进程的结果作为输出,得到输出,该数据传输过程由点对点通信完成。
优选的,所述集合通信具体为:在模型并行中,每一个进程的输出是同一模型并行组中所有进程的输入,该数据传输在系统中由集合通信负责。
本发明的有益效果为:
本发明能够统一程序入口,使用中心化主进程远程过程调用的方式,多个进程的输入与输出都需要通过主进程,可以实现了程序入口的统一,同时由于执行逻辑都通过主进程进行统一的管理调度,使得对分布式推理实例的封装在形式上与单进程实例相同,非阻塞的流水线推理的优化点来自于分布式消息队列对异步执行的支持,在主进程给每一个工作进程发布任务后,任务进入分布式消息队列中,因此主进程不需要等待当前任务的返回,工作进程可以异步的执行每一个请求,即可实现非阻塞的流水线推理,提高吞吐量。
附图说明
图1为本发明中的流程示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。
实施例1
如图1所示,基于多种通信模式的深度学习大模型推理部署方法,包括以下步骤:
S1、对大模型按照模型并行维度与流水线并行维度的需求进行分割,以便相应进程加载模型参数;
S2、进程运行,其中一个为主进程,除了主进程外的其他进程中,仅有通信初始化逻辑;
S3、初始化所有通信;
S4、主进程通过远程过程调用在所有进程上对相应模型分块进行实例化,模型实例化是初始化准备阶段,初始化完成后,当有推断请求到来时,可快速响应;
S5、当一个推断请求到来时,主进程通过远程过程调用通知所有进程相应的信息,被调用的进程将执行信息压入自己的消息队列,后启动推理过程,通过中心化的主进程实现,可实现中心化的统一管理,协调多个进程的工作;通过分布式消息队列,可实现进程间的异步处理,提高系统的吞吐量。
其中,所述步骤S1具体为:将待推理模型按模型并行与流水线并行进行层间与层内的切割,需要满足模型并行维度与流水线并行维度的乘积等于总的进程数量。
其中,所述步骤S3具体为:远程过程调用通信,所有的进程都在一个通信组中,模型并行通信,由于模型并行维度为2,因此该通信模式中每两个进程作为一组,流水线并行通信,由于流水线并行维度为3,六个进程划分成2*3,也可以划分成3*2。
其中,所述流水线预热阶段描述:由于流水线后序进程依赖于前序进程,前序进程启动推理后,后序进程则进入通信等待时间,前须进程中同一个模型并行组内的进程通过集合通信完成推理,输出结果通过点对点通信传递到流水线后序进程,流水线后序进程启动推理,往复该过程直至流水线末尾将结果返回主进程。
其中,所述流水线稳定运行阶段描述:有足够多的推理请求时,请求都将被压入各自进程的消息队列中,当后序进程开始推理时,前序进程将启动下一个请求的推理,当该后序节点完成推理后即可得到前序进程关于下一个请求的输出,无需等待。
其中,所述远程过程调用的具体步骤为:负责调用远程进程上的实例化方法,当有新的推理请求进来时,发起具体控制逻辑,管理运行过程中多个远程进程之间协同工作,控制逻辑包括,模型计算与进程间通信,点对点通信,在流水线并行中,前序进程完成推理后需要将结果传输给下一个设备,下一个进程接收上一个进程的结果作为输出,得到输出,该数据传输过程由点对点通信完成。
其中,所述集合通信具体为:在模型并行中,每一个进程的输出是同一模型并行组中所有进程的输入,该数据传输在系统中由集合通信负责。
实施例2
在与实施例1中的步骤完全相同的前提下,基于分布式消息队列的部署方法,其中,远程过程调用步骤更换为:远程过程调用的控制逻辑发送到本地进程,由于大模型计算量很大,被本地进程处理需要较长的时间,为了保证流水线并行的异步特性以获得更大的系统吞吐量,本发明设计了分布式的消息队列,即在每一个本地进程中维护一个消息队列,在本地进程接收到管理进程的控制逻辑后,会将事务加入到消息队列中等待处理,具有消息队列后,流水线并行中的每一个进程不必等待最后一个进程处理完毕返回当前推断的结果,即可继续处理下一个推断。
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,根据本发明的技术方案及其发明构思加以等同替换或改变,都应涵盖在本发明的保护范围之内。
Claims (7)
1.基于多种通信模式的深度学习大模型推理部署方法,其特征在于,包括以下步骤:
S1、对大模型进行模型并行与流水线并行分割;
S2、进程运行,其中一个为主进程,除了主进程外的其他进程中,仅有通信初始化逻辑;
S3、初始化所有通信;
S4、主进程通过远程过程调用在所有进程上对相应模型分块进行实例化;
S5、当一个推断请求到来时,主进程通过远程过程调用通知所有进程相应的信息,被调用的进程将执行信息压入自己的消息队列,后启动推理过程。
2.根据权利要求1所述的基于多种通信模式的深度学习大模型推理部署方法,其特征在于,所述步骤S1具体为:将待推理模型按模型并行与流水线并行进行层间与层内的切割,需要满足模型并行维度与流水线并行维度的乘积等于总的进程数量。
3.根据权利要求1所述的基于多种通信模式的深度学习大模型推理部署方法,其特征在于,所述步骤S3具体为:远程过程调用通信,所有的进程都在一个通信组中,模型并行通信。
4.根据权利要求1所述的基于多种通信模式的深度学习大模型推理部署方法,其特征在于,所述流水线预热阶段描述:由于流水线后序进程依赖于前序进程,前序进程启动推理后,后序进程则进入通信等待时间,前须进程中同一个模型并行组内的进程通过集合通信完成推理,输出结果通过点对点通信传递到流水线后序进程,流水线后序进程启动推理,往复该过程直至流水线末尾将结果返回主进程。
5.根据权利要求1所述的基于多种通信模式的深度学习大模型推理部署方法,其特征在于,所述流水线稳定运行阶段描述:有足够多的推理请求时,请求都将被压入各自进程的消息队列中,当后序进程开始推理时,前序进程将启动下一个请求的推理,当该后序节点完成推理后即可得到前序进程关于下一个请求的输出,无需等待。
6.根据权利要求3所述的基于多种通信模式的深度学习大模型推理部署方法,其特征在于,所述远程过程调用的具体步骤为:负责调用远程进程上的实例化方法,当有新的推理请求进来时,发起具体控制逻辑,管理运行过程中多个远程进程之间协同工作,控制逻辑包括,模型计算与进程间通信,点对点通信,在流水线并行中,前序进程完成推理后需要将结果传输给下一个设备,下一个进程接收上一个进程的结果作为输出,得到输出,该数据传输过程由点对点通信完成。
7.根据权利要求4所述的基于多种通信模式的深度学习大模型推理部署方法,其特征在于,所述集合通信具体为:在模型并行中,每一个进程的输出是同一模型并行组中所有进程的输入,该数据传输在系统中由集合通信负责。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210502345.1A CN114816801A (zh) | 2022-05-09 | 2022-05-09 | 基于多种通信模式的深度学习大模型推理部署方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210502345.1A CN114816801A (zh) | 2022-05-09 | 2022-05-09 | 基于多种通信模式的深度学习大模型推理部署方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114816801A true CN114816801A (zh) | 2022-07-29 |
Family
ID=82514367
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210502345.1A Pending CN114816801A (zh) | 2022-05-09 | 2022-05-09 | 基于多种通信模式的深度学习大模型推理部署方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114816801A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117494816A (zh) * | 2023-12-31 | 2024-02-02 | 摩尔线程智能科技(北京)有限责任公司 | 基于计算单元部署的模型推理方法、装置、设备及介质 |
-
2022
- 2022-05-09 CN CN202210502345.1A patent/CN114816801A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117494816A (zh) * | 2023-12-31 | 2024-02-02 | 摩尔线程智能科技(北京)有限责任公司 | 基于计算单元部署的模型推理方法、装置、设备及介质 |
CN117494816B (zh) * | 2023-12-31 | 2024-03-26 | 摩尔线程智能科技(北京)有限责任公司 | 基于计算单元部署的模型推理方法、装置、设备及介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20210073169A1 (en) | On-chip heterogeneous ai processor | |
US20210073170A1 (en) | Configurable heterogeneous ai processor | |
CN104636204B (zh) | 一种任务调度方法与装置 | |
CN114816801A (zh) | 基于多种通信模式的深度学习大模型推理部署方法 | |
CN112214301A (zh) | 面向智慧城市基于用户偏好的动态计算迁移方法及装置 | |
CN114864456A (zh) | 半导体清洗设备调度方法、系统、装置及存储介质 | |
CN103677959B (zh) | 一种基于组播的虚拟机集群迁移方法及系统 | |
CN112395056B (zh) | 一种嵌入式非对称实时系统及电力二次设备 | |
CN111612155A (zh) | 一种分布式机器学习系统及适用于其的通信调度方法 | |
CN116197919A (zh) | 机器人控制系统及控制方法 | |
CN101976206A (zh) | 一种中断处理方法和装置 | |
CN116089079A (zh) | 一种基于大数据的计算机资源分配管理系统及方法 | |
CN115502975A (zh) | 一种机器人调度方法、装置、电子设备及存储介质 | |
CN111506407B (zh) | Pull模式与Push模式相结合的资源管理与作业调度方法、系统 | |
CN112527823A (zh) | 一种智慧建筑管理平台中的数据处理方法 | |
CN116910157B (zh) | 一种基于双层拓扑调度的异构系统数据同步方法及系统 | |
CN114866612B (zh) | 一种电力微服务卸载方法及装置 | |
CN116149794B (zh) | 一种基于容器架构的云仿真方法 | |
Santhoshkumar et al. | A pre-run-time scheduling algorithm for object-based distributed real-time systems | |
CN113254145B (zh) | 一种基于微服务架构的人机物融合应用运行支撑方法 | |
CN112631693B (zh) | 运行时计算资源动态扩展方法 | |
CN114237866A (zh) | 一种面向继电保护整定的云平台计算资源调度方法及系统 | |
CN114721831A (zh) | 一种用于优化CitcomS系统实时性能的方法和系统 | |
Yau et al. | A partitioning approach for object-oriented software development for parallel processing systems | |
Zhu et al. | Communication scheduling design of multi-agent system based on improved Greedy algorithm |
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 |