CN118193226A - 一种大语言模型推理***、方法、装置、设备及介质 - Google Patents

一种大语言模型推理***、方法、装置、设备及介质 Download PDF

Info

Publication number
CN118193226A
CN118193226A CN202410526524.8A CN202410526524A CN118193226A CN 118193226 A CN118193226 A CN 118193226A CN 202410526524 A CN202410526524 A CN 202410526524A CN 118193226 A CN118193226 A CN 118193226A
Authority
CN
China
Prior art keywords
language model
reasoning
parallel
model
large language
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
Application number
CN202410526524.8A
Other languages
English (en)
Inventor
姚建国
谢佳航
张亚林
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shanghai Suiyuan Technology Co ltd
Original Assignee
Shanghai Suiyuan Technology Co ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Shanghai Suiyuan Technology Co ltd filed Critical Shanghai Suiyuan Technology Co ltd
Priority to CN202410526524.8A priority Critical patent/CN118193226A/zh
Publication of CN118193226A publication Critical patent/CN118193226A/zh
Pending legal-status Critical Current

Links

Landscapes

  • Devices For Executing Special Programs (AREA)

Abstract

本发明公开了一种大语言模型推理***、方法、装置、设备及介质。其中,***包括:模型预处理模块、推理运行时模块以及加速器集群;模型预处理模块,用于在接收到与目标大语言模型对应的预处理请求之后,确定各个子模型块,生成至少两个候选并行部署策略,确定最佳并行部署策略,将执行文件、最佳并行部署策略发送给目标用户,以使目标用户将各个子模型块部署到加速器集群中的加速器上;推理运行时模块,用于将推理请求缓存至预设环形队列中,使得目标大语言模型根据推理周期和批处理大小对推理请求进行推理处理,将推理结果分发至相应的请求用户。本发明实施例可以确定适合大语言模型的部署策略,对与大语言模型对应的推理请求进行调度。

Description

一种大语言模型推理***、方法、装置、设备及介质
技术领域
本发明涉及计算机技术领域,尤其涉及一种大语言模型推理***、方法、装置、设备及介质。
背景技术
伴随着人工智能技术的发展,越来越多的企业开始通过大语言模型(LargeLanguage Models,LLM)进行文本生成、机器翻译以及问题回答等推理处理。大语言模型是基于海量文本数据训练的深度学习模型,可以根据输入的推理请求进行推理处理,输出推理结果。推理请求可以是用于指示大语言模型基于指定文本进行文本生成、机器翻译或问题回答的文本。推理结果可以是生成的文本、机器翻译译文或回答文本。
相关技术中,常用的大语言模型推理方案为:基于固定设置的部署策略将预先训练的大语言模型部署到多个加速器上,在确定大语言模型部署完成之后,将用户发送的与大语言模型对应的推理请求输入至大语言模型,使得大语言模型根据推理请求进行推理处理,输出推理结果,并将大语言模型输出的推理结果反馈给用户。不适合大语言模型的部署策略会引入大量的设备间通信,导致设备间的通信量较大,导致推理处理过程的时延性能较差。在小批次的实时推理场景下对设备间的通信量和推理处理过程的时延性能的影响显著。相关技术中的大语言模型推理方案仅基于固定设置的部署策略对将预先训练的大语言模型进行部署,无法根据大语言模型和加速器的相关信息,确定适合大语言模型的部署策略,基于适合的部署策略将大语言模型部署到多个加速器上,引入大量的设备间通信,导致设备间的通信量较大,导致推理处理过程的时延性能较差。此外,相关技术中的大语言模型推理方案在将用户发送的与大语言模型对应的推理请求输入至大语言模型的过程中,无法基于大语言模型的推理周期和批处理大小,对与大语言模型对应的推理请求进行调度,导致推理处理过程的效率较低。
发明内容
本发明提供了一种大语言模型推理***、方法、装置、设备及介质,以解决相关技术中的大语言模型推理方案无法根据大语言模型和加速器的相关信息,确定适合大语言模型的部署策略,基于适合的部署策略将大语言模型部署到多个加速器上,引入大量的设备间通信,导致设备间的通信量较大,导致推理处理过程的时延性能较差,无法基于大语言模型的推理周期和批处理大小,对与大语言模型对应的推理请求进行调度,导致推理处理过程的效率较低的问题。
根据本发明的一方面,提供了一种大语言模型推理***,包括:模型预处理模块、推理运行时模块以及加速器集群;
其中,所述模型预处理模块,用于在接收到与目标大语言模型对应的预处理请求之后,根据所述目标大语言模型的分层结构信息,确定所述目标大语言模型中的各个子模型块;其中,各个子模型块为待并行子模型块或不并行子模型块;根据所述目标大语言模型的张量并行模式、待并行子模型块数量以及所述加速器集群的硬件信息,生成与所述目标大语言模型对应的至少两个候选并行部署策略;其中,所述张量并行模式为部分张量并行、部分张量并行和数据并行结合、部分张量并行和流水线并行结合中的一个;确定各个候选并行部署策略中的最佳并行部署策略;将所述目标大语言模型中的各个子模型块的执行文件、所述最佳并行部署策略发送给目标用户,以使所述目标用户根据所述执行文件和所述最佳并行部署策略,将所述目标大语言模型中的各个子模型块部署到所述加速器集群中的加速器上;
所述推理运行时模块,用于在确定所述目标大语言模型部署完成之后,将接收到的与所述目标大语言模型对应的推理请求缓存至预设环形队列中,使得部署到所述加速器集群中的所述目标大语言模型根据推理周期和批处理大小对所述预设环形队列中的推理请求进行推理处理;将所述目标大语言模型输出的推理结果分发至相应的请求用户。
根据本发明的另一方面,提供了一种大语言模型推理方法,应用于大语言模型推理***中的模型预处理模块中,包括:
在接收到与目标大语言模型对应的预处理请求之后,根据所述目标大语言模型的分层结构信息,确定所述目标大语言模型中的各个子模型块;其中,各个子模型块为待并行子模型块或不并行子模型块;
根据所述目标大语言模型的张量并行模式、待并行子模型块数量以及加速器集群的硬件信息,生成与所述目标大语言模型对应的至少两个候选并行部署策略;其中,所述张量并行模式为部分张量并行、部分张量并行和数据并行结合、部分张量并行和流水线并行结合中的一个;
确定各个候选并行部署策略中的最佳并行部署策略;
将所述目标大语言模型中的各个子模型块的执行文件、所述最佳并行部署策略发送给目标用户,以使所述目标用户根据所述执行文件和所述最佳并行部署策略,将所述目标大语言模型中的各个子模型块部署到加速器集群中的加速器上。
根据本发明的另一方面,提供了一种大语言模型推理方法,应用于大语言模型推理***中的推理运行时模块中,包括:
在确定目标大语言模型部署完成之后,将接收到的与所述目标大语言模型对应的推理请求缓存至预设环形队列中,使得部署到加速器集群中的所述目标大语言模型根据推理周期和批处理大小对所述预设环形队列中的推理请求进行推理处理;
将所述目标大语言模型输出的推理结果分发至相应的请求用户。
根据本发明的另一方面,提供了一种大语言模型推理装置,配置于大语言模型推理***中的模型预处理模块中,包括:
子模型块确定单元,用于在接收到与目标大语言模型对应的预处理请求之后,根据所述目标大语言模型的分层结构信息,确定所述目标大语言模型中的各个子模型块;其中,各个子模型块为待并行子模型块或不并行子模型块;
候选策略生成单元,用于根据所述目标大语言模型的张量并行模式、待并行子模型块数量以及加速器集群的硬件信息,生成与所述目标大语言模型对应的至少两个候选并行部署策略;其中,所述张量并行模式为部分张量并行、部分张量并行和数据并行结合、部分张量并行和流水线并行结合中的一个;
最佳策略确定单元,用于确定各个候选并行部署策略中的最佳并行部署策略;
子模型块部署单元,用于将所述目标大语言模型中的各个子模型块的执行文件、所述最佳并行部署策略发送给目标用户,以使所述目标用户根据所述执行文件和所述最佳并行部署策略,将所述目标大语言模型中的各个子模型块部署到加速器集群中的加速器上。
根据本发明的另一方面,提供了一种大语言模型推理装置,配置于大语言模型推理***中的推理运行时模块中,包括:
请求缓存单元,用于在确定目标大语言模型部署完成之后,将接收到的与所述目标大语言模型对应的推理请求缓存至预设环形队列中,使得部署到加速器集群中的所述目标大语言模型根据推理周期和批处理大小对所述预设环形队列中的推理请求进行推理处理;
结果分发单元,用于将所述目标大语言模型输出的推理结果分发至相应的请求用户。
根据本发明的另一方面,提供了一种电子设备,所述电子设备包括:
至少一个处理器;
以及与所述至少一个处理器通信连接的存储器;
其中,所述存储器存储有被所述至少一个处理器执行的计算机程序,所述计算机程序被所述至少一个处理器执行,以使所述至少一个处理器能够执行本发明任一实施例所述的大语言模型推理方法。
根据本发明的另一方面,提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机指令,所述计算机指令用于使处理器执行时实现本发明任一实施例所述的大语言模型推理方法。
本发明实施例的技术方案中,模型预处理模块在接收到与目标大语言模型对应的预处理请求之后,根据目标大语言模型的分层结构信息,确定目标大语言模型中的各个子模型块,然后根据目标大语言模型的张量并行模式、待并行子模型块数量以及加速器集群的硬件信息,生成与目标大语言模型对应的至少两个候选并行部署策略,确定各个候选并行部署策略中的最佳并行部署策略,将目标大语言模型中的各个子模型块的执行文件、最佳并行部署策略发送给目标用户,以使目标用户根据执行文件和最佳并行部署策略,将目标大语言模型中的各个子模型块部署到加速器集群中的加速器上;推理运行时模块在确定目标大语言模型部署完成之后,将接收到的与目标大语言模型对应的推理请求缓存至预设环形队列中,使得部署到加速器集群中的目标大语言模型根据推理周期和批处理大小对预设环形队列中的推理请求进行推理处理,将目标大语言模型输出的推理结果分发至相应的请求用户,解决了相关技术中的大语言模型推理方案无法根据大语言模型和加速器的相关信息,确定适合大语言模型的部署策略,基于适合的部署策略将大语言模型部署到多个加速器上,引入大量的设备间通信,导致设备间的通信量较大,导致推理处理过程的时延性能较差,无法基于大语言模型的推理周期和批处理大小,对与大语言模型对应的推理请求进行调度,导致推理处理过程的效率较低的问题,可以通过根据大语言模型的分层结构信息、张量并行模式、待并行子模型块数量以及加速器集群的硬件信息,确定适合大语言模型的部署策略,基于适合的部署策略将大语言模型部署到多个加速器上,从而避免引入大量的设备间通信,降低设备间的通信量,提高推理处理过程的时延性能,可以将与大语言模型对应的推理请求缓存至预设环形队列中,使得部署到加速器集群中的目标大语言模型根据推理周期和批处理大小对预设环形队列中的推理请求进行推理处理,从而基于大语言模型的推理周期和批处理大小,对与大语言模型对应的推理请求进行调度,提高推理处理过程的效率。待并行子模型块以引入设备间通信开销的代价节省加速器的内存开销,不并行子模型块由于没有设备间通信而有更好的时延性能。
应当理解,本部分所描述的内容并非旨在标识本发明的实施例的关键或重要特征,也不用于限制本发明的范围。本发明的其它特征将通过以下的说明书而变得容易理解。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例一提供的一种大语言模型推理***的结构示意图。
图2为本发明实施例二提供的一种大语言模型推理方法的流程图。
图3为本发明实施例三提供的一种大语言模型推理方法的流程图。
图4为本发明实施例四提供的一种大语言模型推理装置的结构示意图。
图5为本发明实施例五提供的一种大语言模型推理装置的结构示意图。
图6为实现本发明实施例的大语言模型推理方法的电子设备的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“目标”、“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包含”、“包括”和“具有”以及它们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、***、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
实施例一
图1为本发明实施例一提供的一种大语言模型推理***的结构示意图。本实施例可适用于通过大语言模型进行推理处理的情况。如图1所示,该大语言模型推理***具体可以包括:模型预处理模块101、推理运行时模块102以及加速器集群103,下面对其结构和功能进行说明。
其中,所述模型预处理模块101,用于在接收到与目标大语言模型对应的预处理请求之后,根据所述目标大语言模型的分层结构信息,确定所述目标大语言模型中的各个子模型块;其中,各个子模型块为待并行子模型块或不并行子模型块;根据所述目标大语言模型的张量并行模式、待并行子模型块数量以及所述加速器集群103的硬件信息,生成与所述目标大语言模型对应的至少两个候选并行部署策略;其中,所述张量并行模式为部分张量并行、部分张量并行和数据并行结合、部分张量并行和流水线并行结合中的一个;确定各个候选并行部署策略中的最佳并行部署策略;将所述目标大语言模型中的各个子模型块的执行文件、所述最佳并行部署策略发送给目标用户,以使所述目标用户根据所述执行文件和所述最佳并行部署策略,将所述目标大语言模型中的各个子模型块部署到所述加速器集群103中的加速器上;推理运行时模块102,用于在确定所述目标大语言模型部署完成之后,将接收到的与所述目标大语言模型对应的推理请求缓存至预设环形队列中,使得部署到所述加速器集群103中的所述目标大语言模型根据推理周期和批处理大小对所述预设环形队列中的推理请求进行推理处理;将所述目标大语言模型输出的推理结果分发至相应的请求用户。
可选的,目标大语言模型是预先训练的用于进行推理处理的大语言模型。模型预处理模块101在接收到与目标大语言模型对应的预处理请求之后,根据目标大语言模型的分层结构信息,确定目标大语言模型中的各个子模型块。目标大语言模型中的各个子模型块为待并行子模型块或不并行子模型块。然后模型预处理模块101根据目标大语言模型的张量并行模式、待并行子模型块数量以及加速器集群103的硬件信息,生成与目标大语言模型对应的至少两个候选并行部署策略。其中,张量并行模式为部分张量并行、部分张量并行和数据并行结合、部分张量并行和流水线并行结合中的一个。模型预处理模块101确定各个候选并行部署策略中的最佳并行部署策略,然后将目标大语言模型中的各个子模型块的执行文件、最佳并行部署策略发送给目标用户,以使目标用户根据执行文件和最佳并行部署策略,将目标大语言模型中的各个子模型块部署到加速器集群103中的加速器上,从而将目标大语言模型部署到多个加速器上。推理运行时模块102在确定目标大语言模型部署完成之后,将接收到的与目标大语言模型对应的推理请求缓存至预设环形队列中,使得部署到加速器集群103中的目标大语言模型根据推理周期和批处理大小对预设环形队列中的推理请求进行推理处理,并将目标大语言模型输出的推理结果分发至相应的请求用户。
可选的,模型预处理模块101可以是用于根据大语言模型和加速器集群103的相关信息,确定适合大语言模型的部署策略,基于适合的部署策略将大语言模型部署到加速器集群103中的多个加速器上的控制器。
可选的,与目标大语言模型对应的预处理请求是用于请求模型预处理模块101根据目标大语言模型和加速器集群103的相关信息,确定适合目标大语言模型的部署策略,基于适合的部署策略将目标大语言模型部署到加速器集群103中的多个加速器上的请求。目标用户可以通过终端设备将与目标大语言模型对应的预处理请求发送至模型预处理模块101。目标用户可以是用于管理目标大语言模型的技术人员。模型预处理模块101在接收到与目标大语言模型对应的预处理请求之后,根据所述目标大语言模型的分层结构信息,确定所述目标大语言模型中的各个子模型块。
可选的,目标大语言模型是基于transformer架构的深度学习模型。目标大语言模型包含多个依次连接的transformer层。目标大语言模型中的每一个transformer层即为目标大语言模型中的一个子模型块。一个transformer层可以由自注意力层和前向反馈层两个模块构成。在目标大语言模型的部署过程中,需要将目标大语言模型中的各个子模型块部署到加速器上。
可选的,目标大语言模型的分层结构信息可以包含目标大语言模型中的各个子模型块的标识信息和并行信息。子模型块的标识信息可以是用于唯一标识子模型块的字符串或数字编号。子模型块的并行信息可以是用于表征子模型块中的两个模块是否可以并行部署到两个不同的加速器上的信息。子模型块的并行信息为并行或不并行。子模型块的并行信息为并行,表明子模型块中的两个模块可以并行部署到两个不同的加速器上。子模型块的并行信息为并行,表明子模型块中的两个模块不可以并行部署到两个不同的加速器上,需要部署到同一个加速器上。目标大语言模型的分层结构信息可以是目标用户上传至模型预处理模块101中的。
可选的,模型预处理模块101可以根据目标大语言模型的分层结构信息中的各个子模型块的标识信息确定目标大语言模型中的各个子模型块,根据目标大语言模型的分层结构信息中的各个子模型块的并行信息,确定目标大语言模型中的各个子模型块为待并行子模型块或不并行子模型块。待并行子模型块是包含的两个模块可以并行部署到两个不同的加速器上的子模型块。不并行子模型块是包含的两个模块需要部署到同一个加速器上的子模型块。若子模型块的并行信息为并行,则可以确定子模型块为待并行子模型块。若子模型块的并行信息为不并行,则可以确定子模型块为不并行子模型块。
可选的,目标大语言模型的张量并行模式是对目标大语言模型中的各个子模型块进行并行部署的模式。目标大语言模型的张量并行模式为部分张量并行、部分张量并行和数据并行结合、部分张量并行和流水线并行结合中的一个。
可选的,若目标大语言模型的张量并行模式为部分张量并行,表明需要将确定对包含的两个模块并行部署的待并行子模型块的两个模块部署到两个不同的加速器上,将确定不对包含的两个模块并行部署的待并行子模型块或不并行子模型块的两个模块部署到同一个加速器上。
可选的,若目标大语言模型的张量并行模式为部分张量并行和数据并行结合,表明需要将确定对包含的两个模块并行部署的待并行子模型块的两个模块部署到两个不同的加速器上,将确定不对包含的两个模块并行部署的待并行子模型块或不并行子模型块的两个模块部署到同一个加速器上,且为每一个不并行子模型块分配一个确定对包含的两个模块并行部署的待并行子模型块,匹配的两个子模型块需要部署到不同的加速器上。由此,可以保证每一个不并行子模型块都会和一个确定对包含的两个模块并行部署的待并行子模型块在加速器上并行,从而提高加速器的并行效率。
可选的,若目标大语言模型的张量并行模式为部分张量并行和流水线并行结合,表明将确定对包含的两个模块并行部署的待并行子模型块的两个模块部署到两个不同的加速器上,将确定不对包含的两个模块并行部署的待并行子模型块或不并行子模型块的两个模块部署到同一个加速器上,且为每一个确定不对包含的两个模块并行部署的待并行子模型块或不并行子模型块分配一个其他的确定不对包含的两个模块并行部署的待并行子模型块或不并行子模型块,匹配的两个子模型块需要部署到不同的加速器上。由此,可以规避加速器空闲的情况。
可选的,目标大语言模型的待并行子模型块数量是目标大语言模型中的待并行子模型块数量的总数量。示例性的,目标大语言模型中的各个子模型块中有4个待并行子模型块,目标大语言模型的待并行子模型块数量为4。
可选的,加速器集群103是用于部署目标大语言模型的加速器集群。加速器集群103由多个加速器构成。加速器集群103的硬件信息可以包括加速器集群103中的各个加速器的标识信息和内存容量。加速器的标识信息可以是用于唯一标识加速器的字符串或数字编号。加速器的内存容量可以是加速器中的可用的内存空间的容量。示例性的,某一个加速器的内存容量为16GB。
可选的,在根据所述目标大语言模型的分层结构信息,确定所述目标大语言模型中的各个子模型块之前,还包括:获取目标用户发送的目标大语言模型的张量并行模式和加速器集群103的硬件信息。目标用户可以通过终端设备将目标大语言模型的张量并行模式和加速器集群的硬件信息发送至模型预处理模块101。
可选的,与目标大语言模型对应的候选并行部署策略是用于对目标大语言模型中的各个子模型块进行部署的策略。每一个候选并行部署策略中包含目标大语言模型中的各个子模型块的标识信息、并行部署信息以及加速器信息。子模型块的并行部署信息为并行部署或不并行部署。子模型块的加速器信息是给子模型块分配的用于部署子模型块的加速器的标识信息。子模型块的并行部署信息为并行部署,表明子模型块包含的两个模块确定部署到不同的加速器上。子模型块的并行部署信息为不并行部署,表明子模型块包含的两个模块确定部署到同一个的加速器上。针对并行部署信息为并行部署的子模型块,子模型块的加速器信息会包含给子模型块的各个模块分别分配的用于部署各个模块的加速器的标识信息。针对并行部署信息为不并行部署的子模型块,子模型块的加速器信息会包含给子模型块分配的用于部署子模型块的加速器的标识信息。
可选的,根据所述目标大语言模型的张量并行模式、待并行子模型块数量以及所述加速器集群103的硬件信息,生成与所述目标大语言模型对应的至少两个候选并行部署策略,包括:将目标大语言模型的张量并行模式、待并行子模型块数量、目标大语言模型中的各个子模型块的标识信息和并行信息、加速器集群103中的各个加速器的标识信息输入至部署策略生成组件;获取部署策略生成组件输出的与目标大语言模型对应的至少两个候选并行部署策略。
可选的,部署策略生成组件可以是技术人员编写并设置于模型预处理模块101中的用于生成与大语言模型对应的至少两个候选并行部署策略的组件。在将大语言模型的张量并行模式、待并行子模型块数量、大语言模型中的各个子模型块的标识信息和并行信息、用于部署大语言模型的各个加速器的标识信息输入至部署策略生成组件之后,部署策略生成组件会对大语言模型的张量并行模式、待并行子模型块数量、大语言模型中的各个子模型块的标识信息和并行信息、用于部署大语言模型的各个加速器的标识信息进行分析,生成与大语言模型对应的至少两个候选并行部署策略,并输出与大语言模型对应的至少两个候选并行部署策略。生成的与大语言模型对应的各个候选并行部署策略中的各个子模型块的加速器信息会满足大语言模型的张量并行模式的要求。生成的与大语言模型对应的各个候选并行部署策略中的并行部署信息为并行部署的子模型块的数量是不相同的,都小于等于大语言模型的待并行子模型块数量。
可选的,将目标大语言模型的张量并行模式、待并行子模型块数量、目标大语言模型中的各个子模型块的标识信息和并行信息、加速器集群103中的各个加速器的标识信息输入至部署策略生成组件。部署策略生成组件会对目标大语言模型的张量并行模式、待并行子模型块数量、目标大语言模型中的各个子模型块的标识信息和并行信息、加速器集群103中的各个加速器的标识信息进行分析,生成与目标大语言模型对应的至少两个候选并行部署策略,并输出与目标大语言模型对应的至少两个候选并行部署策略。生成的与目标大语言模型对应的各个候选并行部署策略中的各个子模型块的加速器信息会满足目标大语言模型的张量并行模式的要求。生成的与目标大语言模型对应的各个候选并行部署策略中的并行部署信息为并行部署的子模型块的数量是不相同的,都小于等于目标大语言模型的待并行子模型块数量。
可选的,各个候选并行部署策略中的最佳并行部署策略是各个候选并行部署策略中的适合目标大语言模型的部署策略。通常情况下,各个候选并行部署策略中的适合目标大语言模型的部署策略是指内存占用量小于对应的加速器的内存容量且通信量最小的候选并行部署策略。
可选的,确定各个候选并行部署策略中的最佳并行部署策略,包括:根据与各个候选并行部署策略对应的内存占用量和通信量,确定各个候选并行部署策略中的最佳并行部署策略。
可选的,与候选并行部署策略对应的内存占用量可以是指目标大语言模型中的各个子模型块的内存占用量。子模型块的内存占用量可以是指子模型块运行时需要占用的加速器的内存空间的容量。与候选并行部署策略对应的加速器的内存容量可以是指候选并行部署策略中包含的目标大语言模型中的各个子模型块的加速器信息所属的加速器的内存容量。
可选的,根据与各个候选并行部署策略对应的内存占用量和通信量,确定各个候选并行部署策略中的最佳并行部署策略,包括:获取与各个候选并行部署策略对应的内存占用量;其中,与候选并行部署策略对应的内存占用量是目标大语言模型中的各个子模型块的内存占用量;获取与各个候选并行部署策略对应的加速器的内存容量;其中,与候选并行部署策略对应的加速器的内存容量是候选并行部署策略中包含的目标大语言模型中的各个子模型块的加速器信息所属的加速器的内存容量;针对每一个候选并行部署策略,检测与候选并行部署策略对应的内存占用量是否小于与候选并行部署策略对应的加速器的内存容量,将对应的内存占用量小于对应的加速器的内存容量的候选并行部署策略确定为目标候选并行部署策略;确定各个目标候选并行部署策略对应的通信量;按照通信量从小到大的顺序对各个目标候选并行部署策略进行排序,将排在第一位的目标候选并行部署策略确定为各个候选并行部署策略中的最佳并行部署策略。由此,将各个候选并行部署策略中的内存占用量小于对应的加速器的内存容量且通信量最小的候选并行部署策略确定为各个候选并行部署策略中的最佳并行部署策略,从而将各个候选并行部署策略中的适合目标大语言模型的部署策略确定为各个候选并行部署策略中的最佳并行部署策略。
可选的,目标大语言模型的分层结构信息还包含目标大语言模型中的各个子模型块的内存占用量。模型预处理模块101可以从目标大语言模型的分层结构信息中获取目标大语言模型中的各个子模型块的内存占用量,从而获取与各个候选并行部署策略对应的内存占用量。
可选的,针对每一个候选并行部署策略,模型预处理模块101可以根据候选并行部署策略中包含的目标大语言模型中的各个子模型块的加速器信息,从加速器集群103的硬件信息中获取候选并行部署策略中包含的目标大语言模型中的各个子模型块的加速器信息所属的加速器的内存容量,从而获取与候选并行部署策略对应的加速器的内存容量。
可选的,针对每一个候选并行部署策略,检测与候选并行部署策略对应的内存占用量是否小于与候选并行部署策略对应的加速器的内存容量,将对应的内存占用量小于对应的加速器的内存容量的候选并行部署策略确定为目标候选并行部署策略,包括:针对每一个候选并行部署策略执行下述操作:检测目标大语言模型中的各个子模型块的内存占用量是否都小于候选并行部署策略中包含的目标大语言模型中的各个子模型块的加速器信息所属的加速器的内存容量;若是,则将候选并行部署策略确定为各个候选并行部署策略中的目标候选并行部署策略;若否,则确定候选并行部署策略不是各个候选并行部署策略中的目标候选并行部署策略。
可选的,确定各个目标候选并行部署策略对应的通信量,包括:针对每一个目标候选并行部署策略执行下述操作:对目标候选并行部署策略中包含的所有进行并行部署的子模型块的通信量进行累加,将所有进行并行部署的子模型块的通信量的累加之和确定为目标候选并行部署策略对应的通信量。进行并行部署的子模型块的通信量是进行并行部署之后在子模型块运行的过程中需要使用的通信通道的总数量。进行并行部署的子模型块的通信量可以是通过预设计算单元计算出的,还可以是从目标大语言模型的分层结构信息中获取的。目标大语言模型的分层结构信息中存储有可以并行部署的各个子模型块进行并行部署之后在子模型块运行的过程中需要使用的通信通道的总数量。
可选的,模型预处理模块101在确定各个候选并行部署策略中的最佳并行部署策略之后,将所述目标大语言模型中的各个子模型块的执行文件、所述最佳并行部署策略发送给目标用户,以使所述目标用户根据所述执行文件和所述最佳并行部署策略,将所述目标大语言模型中的各个子模型块部署到所述加速器集群中的加速器上。在确定各个候选并行部署策略中的最佳并行部署策略之后,模型预处理模块101将最佳并行部署策略发送至目标技术人员,以使目标技术人员根据最佳并行部署策略编写所述目标大语言模型中的各个子模型块的执行文件,并将所述目标大语言模型中的各个子模型块的执行文件上传至模型预处理模块101。子模型块的执行文件可以是用于将子模型块部署到给子模型块分配的用于部署子模型块的加速器上需要使用的文件。目标用户在给子模型块分配的用于部署子模型块的加速器上运行子模型块的执行文件,即可将子模型块部署至分配的加速器上。进行并行部署的子模型块的执行文件中装载有额外的设备间通信代码块,设备间通信代码块的通信地址指向给子模型块分配的用于部署子模型块的加速器。目标技术人员可以是负责编写子模型块的执行文件的技术人员。模型预处理模块101可以将所述目标大语言模型中的各个子模型块的执行文件、所述最佳并行部署策略发送至目标用户的终端设备,从而将所述目标大语言模型中的各个子模型块的执行文件、所述最佳并行部署策略发送给目标用户。目标用户在接收到目标大语言模型中的各个子模型块的执行文件、最佳并行部署策略之后,会根据最佳并行部署策略中的目标大语言模型中的各个子模型块的标识信息、并行部署信息以及加速器信息,确定给目标大语言模型中的各个子模型块分配的用于部署子模型块或子模型块的各个模块的加速器,然后根据目标大语言模型中的各个子模型块的执行文件,在给目标大语言模型中的各个子模型块分配的用于部署子模型块或子模型块的各个模块的加速器上对目标大语言模型中的各个子模型块进行部署,从而将所述目标大语言模型中的各个子模型块部署到所述加速器集群103中的加速器上,完成目标大语言模型的部署过程。
可选的,目标用户在根据最佳并行部署策略和目标大语言模型中的各个子模型块的执行文件将目标大语言模型中的各个子模型块部署到加速器集群103中的加速器上,完成目标大语言模型的部署过程之后,会建立推理运行时模块102与目标大语言模型之间的通信通道,以使推理运行时模块102可以将信息输入至目标大语言模型,可以获取目标大语言模型输出的信息,然后通过终端设备将部署完成提示信息发送至模型预处理模块101。部署完成提示信息是预先设置的用于提示大语言模型的部署过程完成的信息。模型预处理模块101在接收到部署完成提示信息之后,确定目标大语言模型部署完成,然后将部署完成提示信息发送至推理运行时模块102。推理运行时模块102在接收到部署完成提示信息之后,确定目标大语言模型部署完成。
可选的,推理运行时模块102可以是用于根据大语言模型的推理周期和批处理大小,对与大语言模型对应的推理请求进行调度的控制器。推理运行时模块102在接收到部署完成提示信息之后,确定目标大语言模型部署完成,将接收到的与目标大语言模型对应的推理请求缓存至预设环形队列中,使得部署到加速器集群103中的目标大语言模型根据推理周期和批处理大小对所述预设环形队列中的推理请求进行推理处理。
可选的,与目标大语言模型对应的推理请求是需要输入至目标大语言模型中的推理请求。推理请求可以是用于指示目标大语言模型基于指定文本进行文本生成、机器翻译或问题回答的文本。用户可以通过终端设备将与目标大语言模型对应的推理请求发送至推理运行时模块102的预设接口。预设接口可以是推理运行时模块102中设置的用于接收与目标大语言模型对应的推理请求的接口。预设环形队列可以是推理运行时模块102中设置的用于缓存与目标大语言模型对应的推理请求的环形队列。推理运行时模块102可以将接收到的各个用户发送的与目标大语言模型对应的各个推理请求缓存至预设环形队列中,并为每一个缓存至预设环形队列中的推理请求分配一个队列标签。队列标签可以是用于唯一标识推理请求的数字编号。不同的推理请求的队列标签是不相同的。
可选的,推理周期是目标大语言模型进行推理处理的周期。推理周期可以是从目标大语言模型输出上一批次的推理请求的推理结果之后至目标大语言模型输出本批次的推理请求的推理结果。批处理大小可以是目标大语言模型可以同时处理的推理请求的数量。示例性的,批处理大小为5。
可选的,推理请求是用于指示大语言模型基于指定文本进行文本生成、机器翻译或问题回答的文本。使得部署到加速器集群103中的目标大语言模型根据推理周期和批处理大小对所述预设环形队列中的推理请求进行推理处理,包括:在目标大语言模型输出上一批次的推理请求的推理结果之后,从预设环形队列中获取目标数量的推理请求作为本批次的推理请求;其中,所述目标数量等于批处理大小,所述目标数量的推理请求为预设环形队列中的缓存时间最早的目标数量的推理请求,推理请求的缓存时间是推理请求缓存至预设环形队列中的时间;将本批次的推理请求合并为一个文本;其中,每一个推理请求为所述文本中的一个文本段;将各个推理请求的队列标签、文本段序号以及用户通信信息对应存储至预设存储位置;将所述文本输入至目标大语言模型。在将所述文本输入至目标大语言模型之后,目标大语言模型会根据所述文本中的各个推理请求进行推理处理,输出由各个推理请求的推理结果构成的本批次推理结果。各个推理请求的推理结果可以是生成的文本、机器翻译译文或回答文本。
可选的,推理请求的文本段序号是推理请求作为文本段在文本中的序号。示例性的,文本中包含5个推理请求。作为文本中的第1个文本段的推理请求的文本段序号是1,作为文本中的第2个文本段的推理请求的文本段序号是2,作为文本中的第3个文本段的推理请求的文本段序号是3,作为文本中的第4个文本段的推理请求的文本段序号是4,作为文本中的第5个文本段的推理请求的文本段序号是5。推理请求的用户通信信息可以是发送推理请求的用户的终端设备的通讯地址。推理运行时模块102可以根据推理请求的用户通信信息,与发送推理请求的用户的终端设备建立通信连接。预设存储位置可以是请求信息文件。请求信息文件可以是推理运行时模块102中设置的用于存储推理请求的相关信息的文件。
可选的,相应的请求用户是发送各个推理请求的用户。将所述目标大语言模型输出的推理结果分发至相应的请求用户,包括:获取所述目标大语言模型输出的推理结果,根据与所述推理结果对应的推理请求的队列标签,将所述推理结果分发至相应的请求用户。
可选的,获取所述目标大语言模型输出的推理结果,根据与所述推理结果对应的推理请求的队列标签,将所述推理结果分发至相应的请求用户,包括:针对目标大语言模型每一次输出的由各个推理请求的推理结果构成的本批次推理结果执行下述操作:获取目标大语言模型输出的由各个推理请求的推理结果构成的本批次推理结果;根据各个推理请求的队列标签,确定各个推理请求的推理结果在本批次推理结果中的文本段序号;根据各个推理请求的推理结果在本批次推理结果中的文本段序号,从本批次推理结果中提取各个推理请求的推理结果;根据各个推理请求的用户通信信息,将各个推理请求的推理结果发送至发送各个推理请求的用户的终端设备。
可选的,由各个推理请求的推理结果构成的本批次推理结果是包含各个推理请求的推理结果的文本。每一个推理结果为本批次推理结果中的一个文本段。推理请求的推理结果在本批次推理结果中的文本段序号与推理请求的文本段序号相同。根据各个推理请求的队列标签,确定各个推理请求的推理结果在本批次推理结果中的文本段序号,包括:根据各个推理请求的队列标签,从预设存储位置中获取各个推理请求的文本段序号;将各个推理请求的文本段序号确定为各个推理请求的推理结果在本批次推理结果中的文本段序号。
可选的,根据各个推理请求的推理结果在本批次推理结果中的文本段序号,从本批次推理结果中提取各个推理请求的推理结果。若推理请求的推理结果在本批次推理结果中的文本段序号为1,则提取本批次推理结果中的第1个文本段作为推理请求的推理结果。若推理请求的推理结果在本批次推理结果中的文本段序号为2,则提取本批次推理结果中的第2个文本段作为推理请求的推理结果。若推理请求的推理结果在本批次推理结果中的文本段序号为3,则提取本批次推理结果中的第3个文本段作为推理请求的推理结果。若推理请求的推理结果在本批次推理结果中的文本段序号为4,则提取本批次推理结果中的第4个文本段作为推理请求的推理结果。若推理请求的推理结果在本批次推理结果中的文本段序号为5,则提取本批次推理结果中的第5个文本段作为推理请求的推理结果。
可选的,根据各个推理请求的用户通信信息,将各个推理请求的推理结果发送至发送各个推理请求的用户的终端设备,包括:针对每一个推理请求执行下述操作:根据推理请求的用户通信信息,与发送推理请求的用户的终端设备建立通信连接,将推理请求的推理结果发送至发送推理请求的用户的终端设备。
本发明实施例的技术方案中,模型预处理模块在接收到与目标大语言模型对应的预处理请求之后,根据目标大语言模型的分层结构信息,确定目标大语言模型中的各个子模型块,然后根据目标大语言模型的张量并行模式、待并行子模型块数量以及加速器集群的硬件信息,生成与目标大语言模型对应的至少两个候选并行部署策略,确定各个候选并行部署策略中的最佳并行部署策略,将目标大语言模型中的各个子模型块的执行文件、最佳并行部署策略发送给目标用户,以使目标用户根据执行文件和最佳并行部署策略,将目标大语言模型中的各个子模型块部署到加速器集群中的加速器上;推理运行时模块在确定目标大语言模型部署完成之后,将接收到的与目标大语言模型对应的推理请求缓存至预设环形队列中,使得部署到加速器集群中的目标大语言模型根据推理周期和批处理大小对预设环形队列中的推理请求进行推理处理,将目标大语言模型输出的推理结果分发至相应的请求用户,解决了相关技术中的大语言模型推理方案无法根据大语言模型和加速器的相关信息,确定适合大语言模型的部署策略,基于适合的部署策略将大语言模型部署到多个加速器上,引入大量的设备间通信,导致设备间的通信量较大,导致推理处理过程的时延性能较差,无法基于大语言模型的推理周期和批处理大小,对与大语言模型对应的推理请求进行调度,导致推理处理过程的效率较低的问题,可以通过根据大语言模型的分层结构信息、张量并行模式、待并行子模型块数量以及加速器集群的硬件信息,确定适合大语言模型的部署策略,基于适合的部署策略将大语言模型部署到多个加速器上,从而避免引入大量的设备间通信,降低设备间的通信量,提高推理处理过程的时延性能,可以将与大语言模型对应的推理请求缓存至预设环形队列中,使得部署到加速器集群中的目标大语言模型根据推理周期和批处理大小对预设环形队列中的推理请求进行推理处理,从而基于大语言模型的推理周期和批处理大小,对与大语言模型对应的推理请求进行调度,提高推理处理过程的效率。
实施例二
图2为本发明实施例二提供的一种大语言模型推理方法的流程图。本实施例可适用于通过大语言模型进行推理处理的情况。该方法可以应用于本发明上述实施例提供的大语言模型推理***中的模型预处理模块中。如图2所示,本实施例的方法具体包括:
步骤201、在接收到与目标大语言模型对应的预处理请求之后,根据所述目标大语言模型的分层结构信息,确定所述目标大语言模型中的各个子模型块。
其中,各个子模型块为待并行子模型块或不并行子模型块。
可选的,模型预处理模块可以根据目标大语言模型的分层结构信息中的各个子模型块的标识信息确定目标大语言模型中的各个子模型块,根据目标大语言模型的分层结构信息中的各个子模型块的并行信息,确定目标大语言模型中的各个子模型块为待并行子模型块或不并行子模型块。待并行子模型块是包含的两个模块可以并行部署到两个不同的加速器上的子模型块。不并行子模型块是包含的两个模块需要部署到同一个加速器上的子模型块。若子模型块的并行信息为并行,则可以确定子模型块为待并行子模型块。若子模型块的并行信息为不并行,则可以确定子模型块为不并行子模型块。
可选的,在根据所述目标大语言模型的分层结构信息,确定所述目标大语言模型中的各个子模型块之前,还包括:获取目标用户发送的目标大语言模型的张量并行模式和加速器集群的硬件信息。
步骤202、根据所述目标大语言模型的张量并行模式、待并行子模型块数量以及加速器集群的硬件信息,生成与所述目标大语言模型对应的至少两个候选并行部署策略。
其中,所述张量并行模式为部分张量并行、部分张量并行和数据并行结合、部分张量并行和流水线并行结合中的一个。
可选的,根据所述目标大语言模型的张量并行模式、待并行子模型块数量以及加速器集群的硬件信息,生成与所述目标大语言模型对应的至少两个候选并行部署策略,包括:将目标大语言模型的张量并行模式、待并行子模型块数量、目标大语言模型中的各个子模型块的标识信息和并行信息、加速器集群中的各个加速器的标识信息输入至部署策略生成组件;获取部署策略生成组件输出的与目标大语言模型对应的至少两个候选并行部署策略。
步骤203、确定各个候选并行部署策略中的最佳并行部署策略。
可选的,确定各个候选并行部署策略中的最佳并行部署策略,包括:根据与各个候选并行部署策略对应的内存占用量和通信量,确定各个候选并行部署策略中的最佳并行部署策略。
步骤204、将所述目标大语言模型中的各个子模型块的执行文件、所述最佳并行部署策略发送给目标用户,以使所述目标用户根据所述执行文件和所述最佳并行部署策略,将所述目标大语言模型中的各个子模型块部署到加速器集群中的加速器上。
本发明实施例的技术方案,通过在接收到与目标大语言模型对应的预处理请求之后,根据目标大语言模型的分层结构信息,确定目标大语言模型中的各个子模型块;然后根据目标大语言模型的张量并行模式、待并行子模型块数量以及加速器集群的硬件信息,生成与目标大语言模型对应的至少两个候选并行部署策略,确定各个候选并行部署策略中的最佳并行部署策略;最后将目标大语言模型中的各个子模型块的执行文件、最佳并行部署策略发送给目标用户,以使目标用户根据执行文件和最佳并行部署策略,将目标大语言模型中的各个子模型块部署到加速器集群中的加速器上,解决了相关技术中的大语言模型推理方案无法根据大语言模型和加速器的相关信息,确定适合大语言模型的部署策略,基于适合的部署策略将大语言模型部署到多个加速器上,引入大量的设备间通信,导致设备间的通信量较大,导致推理处理过程的时延性能较差的问题,可以通过根据大语言模型的分层结构信息、张量并行模式、待并行子模型块数量以及加速器集群的硬件信息,确定适合大语言模型的部署策略,基于适合的部署策略将大语言模型部署到多个加速器上,从而避免引入大量的设备间通信,降低设备间的通信量,提高推理处理过程的时延性能。
实施例三
图3为本发明实施例三提供的一种大语言模型推理方法的流程图。本实施例可适用于通过大语言模型进行推理处理的情况。该方法可以应用于本发明上述实施例提供的大语言模型推理***中的推理运行时模块中。如图3所示,本实施例的方法具体包括:
步骤301、在确定目标大语言模型部署完成之后,将接收到的与所述目标大语言模型对应的推理请求缓存至预设环形队列中,使得部署到加速器集群中的所述目标大语言模型根据推理周期和批处理大小对所述预设环形队列中的推理请求进行推理处理。
可选的,推理运行时模块可以将接收到的各个用户发送的与目标大语言模型对应的各个推理请求缓存至预设环形队列中,并为每一个缓存至预设环形队列中的推理请求分配一个队列标签。队列标签可以是用于唯一标识推理请求的数字编号。不同的推理请求的队列标签是不相同的。
可选的,推理请求是用于指示大语言模型基于指定文本进行文本生成、机器翻译或问题回答的文本。使得部署到加速器集群中的目标大语言模型根据推理周期和批处理大小对所述预设环形队列中的推理请求进行推理处理,包括:在目标大语言模型输出上一批次的推理请求的推理结果之后,从预设环形队列中获取目标数量的推理请求作为本批次的推理请求;其中,所述目标数量等于批处理大小,所述目标数量的推理请求为预设环形队列中的缓存时间最早的目标数量的推理请求,推理请求的缓存时间是推理请求缓存至预设环形队列中的时间;将本批次的推理请求合并为一个文本;其中,每一个推理请求为所述文本中的一个文本段;将各个推理请求的队列标签、文本段序号以及用户通信信息对应存储至预设存储位置;将所述文本输入至目标大语言模型。在将所述文本输入至目标大语言模型之后,目标大语言模型会根据所述文本中的各个推理请求进行推理处理,输出由各个推理请求的推理结果构成的本批次推理结果。各个推理请求的推理结果可以是生成的文本、机器翻译译文或回答文本。
可选的,目标数量等于批处理大小。当预设环形队列中缓存的推理请求的数量大于等于批处理大小时,从预设环形队列中获取目标数量的缓存时间最早的推理请求作为本批次的推理请求。当预设环形队列中缓存的推理请求的数量小于批处理大小时,从预设环形队列中获取所有推理请求作为本批次的推理请求,并添加空白推理请求使得本批次的推理请求的数量为目标数量。空白推理请求可以是预先设置的空白文本。当预设环形队列中缓存的推理请求的数量等于0时,等待预设时间间隔后再从预设环形队列中获取本批次的推理请求。
步骤302、将所述目标大语言模型输出的推理结果分发至相应的请求用户。
可选的,将所述目标大语言模型输出的推理结果分发至相应的请求用户,包括:获取所述目标大语言模型输出的推理结果,根据与所述推理结果对应的推理请求的队列标签,将所述推理结果分发至相应的请求用户。
可选的,获取所述目标大语言模型输出的推理结果,根据与所述推理结果对应的推理请求的队列标签,将所述推理结果分发至相应的请求用户,包括:针对目标大语言模型每一次输出的由各个推理请求的推理结果构成的本批次推理结果执行下述操作:获取目标大语言模型输出的由各个推理请求的推理结果构成的本批次推理结果;根据各个推理请求的队列标签,确定各个推理请求的推理结果在本批次推理结果中的文本段序号;根据各个推理请求的推理结果在本批次推理结果中的文本段序号,从本批次推理结果中提取各个推理请求的推理结果;根据各个推理请求的用户通信信息,将各个推理请求的推理结果发送至发送各个推理请求的用户的终端设备。
本发明实施例的技术方案,通过在确定目标大语言模型部署完成之后,将接收到的与目标大语言模型对应的推理请求缓存至预设环形队列中,使得部署到加速器集群中的目标大语言模型根据推理周期和批处理大小对预设环形队列中的推理请求进行推理处理,并将目标大语言模型输出的推理结果分发至相应的请求用户,解决了相关技术中的大语言模型推理方案无法基于大语言模型的推理周期和批处理大小,对与大语言模型对应的推理请求进行调度,导致推理处理过程的效率较低的问题,可以将与大语言模型对应的推理请求缓存至预设环形队列中,使得部署到加速器集群中的目标大语言模型根据推理周期和批处理大小对预设环形队列中的推理请求进行推理处理,从而基于大语言模型的推理周期和批处理大小,对与大语言模型对应的推理请求进行调度,提高推理处理过程的效率。
实施例四
图4为本发明实施例四提供的一种大语言模型推理装置的结构示意图。所述装置可以配置于本发明上述实施例提供的大语言模型推理***中的模型预处理模块中。如图4所示,所述装置包括:子模型块确定单元401、候选策略生成单元402、最佳策略确定单元403以及子模型块部署单元404。
其中,子模型块确定单元401,用于在接收到与目标大语言模型对应的预处理请求之后,根据所述目标大语言模型的分层结构信息,确定所述目标大语言模型中的各个子模型块;其中,各个子模型块为待并行子模型块或不并行子模型块;候选策略生成单元402,用于根据所述目标大语言模型的张量并行模式、待并行子模型块数量以及加速器集群的硬件信息,生成与所述目标大语言模型对应的至少两个候选并行部署策略;其中,所述张量并行模式为部分张量并行、部分张量并行和数据并行结合、部分张量并行和流水线并行结合中的一个;最佳策略确定单元403,用于确定各个候选并行部署策略中的最佳并行部署策略;子模型块部署单元404,用于将所述目标大语言模型中的各个子模型块的执行文件、所述最佳并行部署策略发送给目标用户,以使所述目标用户根据所述执行文件和所述最佳并行部署策略,将所述目标大语言模型中的各个子模型块部署到加速器集群中的加速器上。
本发明实施例的技术方案,通过在接收到与目标大语言模型对应的预处理请求之后,根据目标大语言模型的分层结构信息,确定目标大语言模型中的各个子模型块;然后根据目标大语言模型的张量并行模式、待并行子模型块数量以及加速器集群的硬件信息,生成与目标大语言模型对应的至少两个候选并行部署策略,确定各个候选并行部署策略中的最佳并行部署策略;最后将目标大语言模型中的各个子模型块的执行文件、最佳并行部署策略发送给目标用户,以使目标用户根据执行文件和最佳并行部署策略,将目标大语言模型中的各个子模型块部署到加速器集群中的加速器上,解决了相关技术中的大语言模型推理方案无法根据大语言模型和加速器的相关信息,确定适合大语言模型的部署策略,基于适合的部署策略将大语言模型部署到多个加速器上,引入大量的设备间通信,导致设备间的通信量较大,导致推理处理过程的时延性能较差的问题,可以通过根据大语言模型的分层结构信息、张量并行模式、待并行子模型块数量以及加速器集群的硬件信息,确定适合大语言模型的部署策略,基于适合的部署策略将大语言模型部署到多个加速器上,从而避免引入大量的设备间通信,降低设备间的通信量,提高推理处理过程的时延性能。
在本发明实施例的一个可选实施方式中,可选的,大语言模型推理装置还包括:信息获取单元,用于获取目标用户发送的目标大语言模型的张量并行模式和加速器集群的硬件信息。
在本发明实施例的一个可选实施方式中,可选的,最佳策略确定单元403具体用于:根据与各个候选并行部署策略对应的内存占用量和通信量,确定各个候选并行部署策略中的最佳并行部署策略。
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
实施例五
图5为本发明实施例五提供的一种大语言模型推理装置的结构示意图。所述装置可以配置于本发明上述实施例提供的大语言模型推理***中的推理运行时模块中。如图5所示,所述装置包括:请求缓存单元501和结果分发单元502。
其中,请求缓存单元501,用于在确定目标大语言模型部署完成之后,将接收到的与所述目标大语言模型对应的推理请求缓存至预设环形队列中,使得部署到加速器集群中的所述目标大语言模型根据推理周期和批处理大小对所述预设环形队列中的推理请求进行推理处理;结果分发单元502,用于将所述目标大语言模型输出的推理结果分发至相应的请求用户。
本发明实施例的技术方案,通过在确定目标大语言模型部署完成之后,将接收到的与目标大语言模型对应的推理请求缓存至预设环形队列中,使得部署到加速器集群中的目标大语言模型根据推理周期和批处理大小对预设环形队列中的推理请求进行推理处理,并将目标大语言模型输出的推理结果分发至相应的请求用户,解决了相关技术中的大语言模型推理方案无法基于大语言模型的推理周期和批处理大小,对与大语言模型对应的推理请求进行调度,导致推理处理过程的效率较低的问题,可以将与大语言模型对应的推理请求缓存至预设环形队列中,使得部署到加速器集群中的目标大语言模型根据推理周期和批处理大小对预设环形队列中的推理请求进行推理处理,从而基于大语言模型的推理周期和批处理大小,对与大语言模型对应的推理请求进行调度,提高推理处理过程的效率。
在本发明实施例的一个可选实施方式中,可选的,结果分发单元502具体用于:获取所述目标大语言模型输出的推理结果,根据与所述推理结果对应的推理请求的队列标签,将所述推理结果分发至相应的请求用户。
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
实施例六
图6示出了可以用来实现本发明实施例的大语言模型推理方法的电子设备10的结构示意图。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本发明的实现。
如图6所示,电子设备10包括至少一个处理器11,以及与至少一个处理器11通信连接的存储器,如只读存储器(ROM)12、随机访问存储器(RAM)13等,其中,存储器存储有被至少一个处理器执行的计算机程序,处理器11可以根据存储在只读存储器(ROM)12中的计算机程序或者从存储单元18构建到随机访问存储器(RAM)13中的计算机程序,来执行各种适当的动作和处理。在随机访问存储器(RAM)13中,还可存储电子设备10操作所需的各种程序和数据。处理器11、只读存储器(ROM)12以及随机访问存储器(RAM)13通过总线14彼此相连。输入/输出(I/O)接口15也连接至总线14。
电子设备10中的多个部件连接至输入/输出(I/O)接口15,包括:输入单元16,例如键盘、鼠标等;输出单元17,例如各种类型的显示器、扬声器等;存储单元18,例如磁盘、光盘等;以及通信单元19,例如网卡、调制解调器、无线通信收发机等。通信单元19允许电子设备10通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
处理器11可以是各种具有处理和计算能力的通用和/或专用处理组件。处理器11的一些示例包括但不限于中央处理单元(CPU)、图形处理单元(GPU)、各种专用的人工智能(AI)计算芯片、各种运行机器学习模型算法的处理器、数字信号处理器(DSP)、以及任何适当的处理器、控制器、微控制器等。处理器11执行上文所描述的各个方法和处理,例如大语言模型推理方法。
在一些实施例中,大语言模型推理方法可被实现为计算机程序,其被有形地包含于计算机可读存储介质,例如存储单元18。在一些实施例中,计算机程序的部分或者全部可以经由只读存储器(ROM)12和/或通信单元19而被载入和/或安装到电子设备10上。当计算机程序构建到随机访问存储器(RAM)13并由处理器11执行时,可以执行上文描述的大语言模型推理方法的一个或多个步骤。备选地,在其他实施例中,处理器11可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行大语言模型推理方法。
本文中以上描述的***和技术的各种实施方式可以在数字电子电路***、集成电路***、场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、芯片上***的***(SOC)、负载可编程逻辑设备(CPLD)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程***上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储***、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储***、该至少一个输入装置、和该至少一个输出装置。
用于实施本发明的大语言模型推理方法的计算机程序可以采用一个或多个编程语言的任何组合来编写。这些计算机程序可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器,使得计算机程序当由处理器执行时使流程图和/或框图中所规定的功能/操作被实施。计算机程序可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
在本发明的上下文中,计算机可读存储介质可以是有形的介质,其可以包含或存储以供指令执行***、装置或设备使用或与指令执行***、装置或设备结合地使用的计算机程序。计算机可读存储介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体***、装置或设备,或者上述内容的任何合适组合。备选地,计算机可读存储介质可以是机器可读信号介质。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
为了提供与用户的交互,可以在电子设备上实施此处描述的***和技术,该电子设备具有:用于向用户显示信息的显示装置(例如,CRT(阴极射线管)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给电子设备。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入、或者触觉输入)来接收来自用户的输入。
可以将此处描述的***和技术实施在包括后台部件的计算***(例如,作为数据服务器)、或者包括中间件部件的计算***(例如,应用服务器)、或者包括前端部件的计算***(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的***和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算***中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将***的部件相互连接。通信网络的示例包括:局域网(LAN)、广域网(WAN)、区块链网络和互联网。
计算***可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。服务器可以是云服务器,又称为云计算服务器或云主机,是云计算服务体系中的一项主机产品,以解决了传统物理主机与VPS服务中,存在的管理难度大,业务扩展性弱的缺陷。
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发明中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本发明的技术方案所期望的结果,本文在此不进行限制。
上述具体实施方式,并不构成对本发明保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本发明的精神和原则之内所作的修改、等同替换和改进等,均应包含在本发明保护范围之内。

Claims (10)

1.一种大语言模型推理***,其特征在于,包括:模型预处理模块、推理运行时模块以及加速器集群;
其中,所述模型预处理模块,用于在接收到与目标大语言模型对应的预处理请求之后,根据所述目标大语言模型的分层结构信息,确定所述目标大语言模型中的各个子模型块;其中,各个子模型块为待并行子模型块或不并行子模型块;根据所述目标大语言模型的张量并行模式、待并行子模型块数量以及所述加速器集群的硬件信息,生成与所述目标大语言模型对应的至少两个候选并行部署策略;其中,所述张量并行模式为部分张量并行、部分张量并行和数据并行结合、部分张量并行和流水线并行结合中的一个;确定各个候选并行部署策略中的最佳并行部署策略;将所述目标大语言模型中的各个子模型块的执行文件、所述最佳并行部署策略发送给目标用户,以使所述目标用户根据所述执行文件和所述最佳并行部署策略,将所述目标大语言模型中的各个子模型块部署到所述加速器集群中的加速器上;
所述推理运行时模块,用于在确定所述目标大语言模型部署完成之后,将接收到的与所述目标大语言模型对应的推理请求缓存至预设环形队列中,使得部署到所述加速器集群中的所述目标大语言模型根据推理周期和批处理大小对所述预设环形队列中的推理请求进行推理处理;将所述目标大语言模型输出的推理结果分发至相应的请求用户。
2.一种大语言模型推理方法,应用于如权利要求1所述的大语言模型推理***中的模型预处理模块中,其特征在于,包括:
在接收到与目标大语言模型对应的预处理请求之后,根据所述目标大语言模型的分层结构信息,确定所述目标大语言模型中的各个子模型块;其中,各个子模型块为待并行子模型块或不并行子模型块;
根据所述目标大语言模型的张量并行模式、待并行子模型块数量以及加速器集群的硬件信息,生成与所述目标大语言模型对应的至少两个候选并行部署策略;其中,所述张量并行模式为部分张量并行、部分张量并行和数据并行结合、部分张量并行和流水线并行结合中的一个;
确定各个候选并行部署策略中的最佳并行部署策略;
将所述目标大语言模型中的各个子模型块的执行文件、所述最佳并行部署策略发送给目标用户,以使所述目标用户根据所述执行文件和所述最佳并行部署策略,将所述目标大语言模型中的各个子模型块部署到加速器集群中的加速器上。
3.根据权利要求2所述的大语言模型推理方法,其特征在于,在根据所述目标大语言模型的分层结构信息,确定所述目标大语言模型中的各个子模型块之前,还包括:
获取目标用户发送的目标大语言模型的张量并行模式和加速器集群的硬件信息。
4.根据权利要求2所述的大语言模型推理方法,其特征在于,确定各个候选并行部署策略中的最佳并行部署策略,包括:
根据与各个候选并行部署策略对应的内存占用量和通信量,确定各个候选并行部署策略中的最佳并行部署策略。
5.一种大语言模型推理方法,应用于如权利要求1所述的大语言模型推理***中的推理运行时模块中,其特征在于,包括:
在确定目标大语言模型部署完成之后,将接收到的与所述目标大语言模型对应的推理请求缓存至预设环形队列中,使得部署到加速器集群中的所述目标大语言模型根据推理周期和批处理大小对所述预设环形队列中的推理请求进行推理处理;
将所述目标大语言模型输出的推理结果分发至相应的请求用户。
6.根据权利要求5所述的大语言模型推理方法,其特征在于,将所述目标大语言模型输出的推理结果分发至相应的请求用户,包括:
获取所述目标大语言模型输出的推理结果,根据与所述推理结果对应的推理请求的队列标签,将所述推理结果分发至相应的请求用户。
7.一种大语言模型推理装置,配置于如权利要求1所述的大语言模型推理***中的模型预处理模块中,其特征在于,包括:
子模型块确定单元,用于在接收到与目标大语言模型对应的预处理请求之后,根据所述目标大语言模型的分层结构信息,确定所述目标大语言模型中的各个子模型块;其中,各个子模型块为待并行子模型块或不并行子模型块;
候选策略生成单元,用于根据所述目标大语言模型的张量并行模式、待并行子模型块数量以及加速器集群的硬件信息,生成与所述目标大语言模型对应的至少两个候选并行部署策略;其中,所述张量并行模式为部分张量并行、部分张量并行和数据并行结合、部分张量并行和流水线并行结合中的一个;
最佳策略确定单元,用于确定各个候选并行部署策略中的最佳并行部署策略;
子模型块部署单元,用于将所述目标大语言模型中的各个子模型块的执行文件、所述最佳并行部署策略发送给目标用户,以使所述目标用户根据所述执行文件和所述最佳并行部署策略,将所述目标大语言模型中的各个子模型块部署到加速器集群中的加速器上。
8.一种大语言模型推理装置,配置于如权利要求1所述的大语言模型推理***中的推理运行时模块中,其特征在于,包括:
请求缓存单元,用于在确定目标大语言模型部署完成之后,将接收到的与所述目标大语言模型对应的推理请求缓存至预设环形队列中,使得部署到加速器集群中的所述目标大语言模型根据推理周期和批处理大小对所述预设环形队列中的推理请求进行推理处理;
结果分发单元,用于将所述目标大语言模型输出的推理结果分发至相应的请求用户。
9.一种电子设备,其特征在于,所述电子设备包括:
至少一个处理器;
以及与所述至少一个处理器通信连接的存储器;
其中,所述存储器存储有被所述至少一个处理器执行的计算机程序,所述计算机程序被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求2-4中任一项所述的大语言模型推理方法,或者权利要求5-6中任一项所述的大语言模型推理方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机指令,所述计算机指令用于使处理器执行时实现权利要求2-4中任一项所述的大语言模型推理方法,或者权利要求5-6中任一项所述的大语言模型推理方法。
CN202410526524.8A 2024-04-29 2024-04-29 一种大语言模型推理***、方法、装置、设备及介质 Pending CN118193226A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202410526524.8A CN118193226A (zh) 2024-04-29 2024-04-29 一种大语言模型推理***、方法、装置、设备及介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202410526524.8A CN118193226A (zh) 2024-04-29 2024-04-29 一种大语言模型推理***、方法、装置、设备及介质

Publications (1)

Publication Number Publication Date
CN118193226A true CN118193226A (zh) 2024-06-14

Family

ID=91396879

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202410526524.8A Pending CN118193226A (zh) 2024-04-29 2024-04-29 一种大语言模型推理***、方法、装置、设备及介质

Country Status (1)

Country Link
CN (1) CN118193226A (zh)

Similar Documents

Publication Publication Date Title
CN113656179B (zh) 云计算资源的调度方法及装置、电子设备和存储介质
JP2022017588A (ja) 深層学習フレームワークのトレーニング方法、装置及び記憶媒体
CN114328132A (zh) 外部数据源的状态监控方法、装置、设备和介质
CN116662509A (zh) 大规模语言模型的开放域问答实现方法、装置及设备
CN114331446B (zh) 区块链的链外服务实现方法、装置、设备和介质
CN116303141A (zh) 一种数据传输方法、装置、设备及介质
CN116567077A (zh) 裸金属指令发送方法、装置、设备及存储介质
CN118193226A (zh) 一种大语言模型推理***、方法、装置、设备及介质
CN115658311A (zh) 一种资源的调度方法、装置、设备和介质
CN114416357A (zh) 容器组的创建方法、装置、电子设备和介质
CN116700996B (zh) 一种神经网络的内存分配方法、装置、设备及介质
CN111045823A (zh) 上下文数据的负载分发方法、装置、设备及存储介质
WO2022120993A1 (zh) 在线场景的资源分配方法、装置及电子设备
CN113313196B (zh) 标注数据处理方法、相关装置及计算机程序产品
CN115860121B (zh) 文本推理方法、装置、设备以及存储介质
CN113709314B (zh) 智能坐席外呼方法、装置、电子设备及计算机存储介质
CN116185670B (zh) 内存间的数据交换方法、装置、电子设备及存储介质
CN113313195B (zh) 标注任务处理方法、装置、设备、存储介质及程序产品
CN116756282A (zh) 任务处理方法、服务器、语言预测***和人机交互***
CN116610453A (zh) 一种任务分配方法、装置、电子设备及存储介质
CN115442432B (zh) 一种控制方法、装置、设备及存储介质
CN116069474A (zh) 一种任务调度方法、装置、设备及介质
CN117234736A (zh) 一种指令处理方法、装置、设备及介质
CN114362968A (zh) 区块链获取随机数的方法、装置、设备和介质
CN116801001A (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