CN119902900B - 基于高速互通连接的语言模型检索推理系统、方法 - Google Patents
基于高速互通连接的语言模型检索推理系统、方法Info
- Publication number
- CN119902900B CN119902900B CN202510389049.9A CN202510389049A CN119902900B CN 119902900 B CN119902900 B CN 119902900B CN 202510389049 A CN202510389049 A CN 202510389049A CN 119902900 B CN119902900 B CN 119902900B
- Authority
- CN
- China
- Prior art keywords
- memory
- word
- speed
- storage address
- reasoning
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5011—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
- G06F9/5016—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals the resource being the memory
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N5/00—Computing arrangements using knowledge-based models
- G06N5/04—Inference or reasoning models
- G06N5/041—Abduction
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Evolutionary Computation (AREA)
- Data Mining & Analysis (AREA)
- Mathematical Physics (AREA)
- Computational Linguistics (AREA)
- Artificial Intelligence (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请公开基于高速互通连接的语言模型检索推理系统、方法,包括:主机、高速互通连接交换机、高速互通连接内存池、图像处理器,高速互通连接内存池内包括近存计算内存、双倍数据传输率内存,高速互通连接交换机内包含自适应分区模块;其中,主机通过高速互通连接交换机分别与高速互通连接内存池、图像处理器相连;主机,用于接收第一提示词,生成第二提示词,并将第二提示词通过高速互通连接交换机存储至双倍数据传输率内存;主机,还用于通过高速互通连接交换机,从双倍数据传输率内存中提取第二提示词进行推理,并利用连接到的高速互通连接交换机内自适应分区模块,确定推理阶段的任务分配对象,其中,分配对象为近存计算内存或图像处理器。
Description
技术领域
本申请涉及计算机技术领域,具体涉及基于高速互通连接的语言模型检索推理系统、方法。
背景技术
当前,针对语言模型的推理应用,通常采用多主机分布式系统架构,将应用的工作同时分到多个主机上同时处理。每个主机内配置多个GPU(Graphic Processing Unit,图像处理器),通过PCIe(Peripheral Component Interconnect Express,高速串行计算机扩展总线标准)交换机连接到各自GPU,用于加速计算任务。其中,GPU显存通常用于存储模型参数和计算中间结果,但由于GPU显存的容量有限,当GPU处理的数据超出显存时,部分计算负载需要分配到主机的DDR(Double Data Rate,双倍数据传输率)内存或NVMe(Non-VolatileMemory Express,非易失性快速存储器)存储设备中,此时数据需要先传回主机,再被迁移到主机的存储单元中(如DDR或NVMe)中,由主机CPU处理在存储单元中的数据以保证计算任务的继续进行。
尽管现有技术在实现分布式语言模型的推理系统上取得了一定的进展,但仍存在一些显著的缺点:内存容量和带宽无法满足需求;大规模模型和计算任务常需要频繁地跨主机实现内存迁移,这带来了较大的性能开销;同时相关技术内存资源调度通常依赖于静态配置或简单的负载均衡算法,缺乏智能化和灵活性,无法根据任务的动态需求实时调整内存分配对象。
发明内容
本申请提供了一种基于高速互通连接的语言模型检索推理系统、方法,以至少解决相关技术在实现分布式语言模型的推理中,内存容量和带宽无法满足需求,在计算任务时不停跨主机实现数据迁移引起的性能开销,以及无法根据任务的动态需求实时调整内存分配对象的问题。
本申请提供了一种基于高速互通连接的语言模型检索推理系统,该系统包括:主机、高速互通连接交换机、高速互通连接内存池、图像处理器,高速互通连接内存池内包括近存计算内存、双倍数据传输率内存,高速互通连接交换机内包含自适应分区模块;其中,主机通过高速互通连接交换机分别与高速互通连接内存池、图像处理器相连;
主机,用于接收第一提示词,并基于第一提示词开启检索阶段,对第一提示词进行向量化处理和数据库检索,生成第二提示词,并将第二提示词通过高速互通连接交换机存储至双倍数据传输率内存;
主机,还用于通过高速互通连接交换机,从双倍数据传输率内存中提取第二提示词,并对第二提示词进行推理,并利用连接到的高速互通连接交换机内自适应分区模块,确定推理阶段的任务分配对象;
自适应分区模块,用于获取第二提示词在推理阶段执行的所有步骤任务的算力,并基于算力确定步骤任务的分配对象,将步骤任务分配至对应的分配对象中进行任务计算,其中,分配对象为近存计算内存或图像处理器。
本申请提供了一种基于高速互通技术的语言模型检索推理方法,该方法应用于基于高速互通连接的语言模型检索推理系统,该方法包括:
接收第一提示词,并基于第一提示词开启检索阶段,对第一提示词进行向量化处理和数据库检索,生成第二提示词;
提取第二提示词,并对第二提示词进行推理;
获取第二提示词在推理阶段执行的所有步骤任务的算力,并基于算力确定步骤任务的分配对象,其中,分配对象用于对步骤任务进行任务计算。
本申请提供了一种基于高速互通技术的语言模型检索推理装置,该装置包括:
接收模块,用于接收第一提示词,并基于第一提示词开启检索阶段,对第一提示词进行向量化处理和数据库检索,生成第二提示词;
提取模块,用于提取第二提示词,并对第二提示词进行推理;
获取模块,用于获取第二提示词在推理阶段执行的所有步骤任务的算力,并基于算力确定步骤任务的分配对象,其中,分配对象用于对步骤任务进行任务计算。
本申请还提供了一种电子设备,包括:存储器,用于存储计算机程序;处理器,用于执行计算机程序时实现上述任一种基于高速互通技术的语言模型检索推理方法。
本申请还提供了一种计算机可读存储介质,计算机可读存储介质中存储有计算机程序,其中,计算机程序被处理器执行时实现上述任一种基于高速互通技术的语言模型检索推理方法。
本申请提供了一种计算机程序产品,包括计算机指令,计算机指令用于使计算机执行上述任一种基于高速互通技术的语言模型检索推理方法。
通过本申请,由于设计的基于高速互通连接的语言模型检索推理系统,包括:主机、高速互通连接交换机、高速互通连接内存池、图像处理器,高速互通连接内存池内包括近存计算内存、双倍数据传输率内存,高速互通连接交换机内包含自适应分区模块;其中,主机通过高速互通连接交换机分别与高速互通连接内存池、图像处理器相连;通过这个系统架构使得通过高速互通连接内存池,多个计算节点(即主机、图像处理器)可以共享一个高带宽、低延迟的内存池,从而提供更高的内存带宽,提升语言模型检索和推理任务的处理效率,支持大规模模型和数据的高效运行;同时,由于本申请实施例提供的基于高速互通连接的语言模型检索推理系统,利用主机接收第一提示词,并基于第一提示词开启检索阶段,对第一提示词进行向量化处理和数据库检索,生成第二提示词,并将第二提示词通过高速互通连接交换机存储至双倍数据传输率内存;主机还可以通过高速互通连接交换机,从双倍数据传输率内存中提取第二提示词,并对第二提示词进行推理,并利用连接到的高速互通连接交换机内自适应分区模块,确定推理阶段的任务分配对象;利用高速互通连接交换机内的自适应分区模块,获取第二提示词在推理阶段执行的所有步骤任务的算力,并基于算力确定步骤任务的分配对象,将步骤任务分配至对应的分配对象中进行任务计算,其中,分配对象为近存计算内存或图像处理器。这样由于将生成的第二提示词通过高速互通连接交换机存储至双倍数据传输率内存,使得后续再进行数据交互时,无需通过主机,只需从双倍数据传输率内存中提取数据即可,减少内存迁移的需求,优化内存共享,尤其是通过高速互通连接内存池减少跨主机的内存迁移,从而降低内存迁移带来的性能损失,另外,通过对推理阶段每个步骤任务产生的算力进行任务计算,基于算力确定步骤任务的分配对象,实现了资源的动态分配,优化了计算资源的使用效率,避免了因资源过度或不足而影响推理任务执行效率的问题。
附图说明
为了更清楚地说明本申请实施例,下面将对实施例中所需要使用的附图做简单的介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的基于高速互通连接的语言模型检索推理系统示意图;
图2为本申请实施例提供的内存访问路径示意图;
图3为本申请实施例提供的基于高速互通连接的语言模型检索推理方法的流程示意图;
图4为本申请实施例提供的基于高速互通技术的语言模型检索推理装置的结构框图;
图5为本申请实施例提供的电子设备的硬件结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下,所获得的所有其他实施例,都属于本申请保护范围。
需要说明的是,在本申请的描述中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。本申请中的术语“第一”、“第二”等是用于区别类似的对象,而不用于描述特定的顺序或先后次序。
为了使本技术领域的技术人员更好地理解本申请方案,下面结合附图和具体实施方式对本申请作进一步的详细说明。
随着人工智能和深度学习技术的快速发展,大规模语言模型和检索增强生成系统在自然语言处理领域中取得了显著成果。这些应用需要高效的计算资源和大规模的内存支持,以实现高效的推理过程。然而,传统的内存体系结构和计算资源配置无法满足这些需求,限制了模型推理的效率和规模。尤其是对于复杂的大规模语言模型和检索增强生成,传统的内存管理技术已经无法满足其对高带宽、低延迟以及大规模内存访问的需求,内存容量、带宽以及访问延迟等因素往往成为性能瓶颈。因此,高速互通连接(CXL,ComputeExpress Link)协议和分布式计算架构被提出,用于突破这些瓶颈,实现更高效的推理计算。
但是尽管CXL技术、分布式架构为语言模型推理提供了新的手段,但现有技术在以下关键方面存在局限性:
a.内存容量与带宽的瓶颈
大规模语言模型和检索增强生成应用通常需要处理数百GB甚至更大规模的模型和数据,传统的内存架构无法提供足够的内存容量和带宽以支撑这些应用的高效运行。即使使用了图像处理器(Graphics Processing Unit,GPU)加速,GPU显存的容量和带宽也常常成为限制性能的瓶颈。现有技术主要依赖于GPU显存和主机内存之间的频繁数据传输,导致内存带宽的压力增加,从而影响推理效率。
b.内存迁移的开销
大规模模型和复杂计算任务需要频繁地在不同内存区域(如CPU内存、GPU显存和PNM(Proximity Computing,近存计算内存)之间迁移数据。然而,这种内存迁移带来了显著的开销,特别是在跨主机的内存共享和数据交换中。现有技术中的内存迁移通常是同步的,导致计算任务的等待时间增加,整体系统的吞吐量降低。内存管理不够灵活,也使得系统在高并发任务下无法充分发挥资源的最大效能。
c.计算卸载与资源调度不足
现有的计算架构往往依赖于固定的资源配置,如将计算任务强制卸载到GPU或CPU上,而没有根据任务的需求动态调整计算资源。这种固定的资源调度方式不能根据任务的算术强度、内存访问模式等特征灵活地选择最佳计算资源,导致计算负载的处理效率低下,尤其是在面对动态变化的工作负载时,无法实现最优的计算资源分配。
d.内存池的管理与调度复杂性
CXL协议的提出为内存池管理提供了一个新的方向,但现有的CXL内存池技术在动态管理和调度方面仍存在一定的不足。当前的内存池管理缺乏足够的智能化和自动化,内存资源的分配和调整主要依赖手动配置或者简单的静态规则,未能充分发挥CXL技术在内存共享和动态管理中的优势。尤其是在多主机系统中,如何合理地配置和调度内存资源,以避免内存浪费和过度竞争,依然是一个亟待解决的问题。
为了解决上述问题,根据本申请实施例,提供了一种基于高速互通连接的语言模型检索推理系统实施例,如图1所示,图1中包括:主机,高速互通连接交换机、高速互通连接内存池、图像处理器,高速互通连接内存池内包括近存计算内存、双倍数据传输率内存,高速互通连接交换机内包含自适应分区模块;其中,主机通过高速互通连接交换机分别与高速互通连接内存池、图像处理器相连;
主机,用于接收第一提示词,并基于第一提示词开启检索阶段,对第一提示词进行向量化处理和数据库检索,生成第二提示词,并将第二提示词通过高速互通连接交换机存储至双倍数据传输率内存;
主机,还用于通过高速互通连接交换机,从双倍数据传输率内存中提取第二提示词,并对第二提示词进行推理,并利用连接到的高速互通连接交换机内自适应分区模块,确定推理阶段的任务分配对象;
自适应分区模块,用于获取第二提示词在推理阶段执行的所有步骤任务的算力,并基于算力确定步骤任务的分配对象,将步骤任务分配至对应的分配对象中进行任务计算,其中,分配对象为近存计算内存或图像处理器。
可选地,本申请实施例提出的基于高速互通连接的语言模型检索推理系统,图1中,该系统由以下组件构成:4个主机服务器(主机1、主机2、主机3、主机4)组成,4个高速互通连接交换机(即图中的CXL交换机),6个图像处理器(即图中的GPU)以及一个高速互通连接内存池(即图中的CXL内存池),高速互通连接内存池内靠近高速互通连接交换机端(物理链路短)装有近存计算内存(即图中的PNM内存),远离高速互通连接交换机端(物理链路长)装有双倍数据传输率内存(即图中的DDR内存)。另外,在高速互通连接交换机内包含自适应分区模块,通过这个自适应分区模块实现资源分配。
需要说明的是,本申请实施例的基于高速互通连接的语言模型检索推理系统不限于图1中所示出的4个主机、4个高速互通连接交换机、6个图像处理器,主机、高速互通连接交换机、图像处理器的数量都是可以灵活变动的。
进一步地,从图1可以得出,主机通过高速互通连接交换机分别与高速互通连接内存池、图像处理器相连,同时在高速互通连接内存池内设有双倍数据传输率内存,用于数据存储。
在进行语言模型检索推理任务中,其是由四台主机共同完成的,语言模型检索推理任务总共分RAG(Retrieval-augmented Generation,检索增强生成)阶段、Prefill(预填充)阶段、Decode(解码)阶段。
RAG阶段:用户可以从任意主机输入第一提示词,并且支持多主机同时输入第一提示词,主机基于输出的第一提示词开启检索阶段,对第一提示词进行向量化处理和数据库检索,生成第二提示词,并将第二提示词通过高速互通连接交换机存储至双倍数据传输率内存。
推理的Prefill阶段由两个主机(例如主机1和主机2)负责,通过高速互通连接交换机,从双倍数据传输率内存中提取第二提示词,并对第二提示词进行推理:嵌入与编码,层归一化,QKV映射,QK矩阵计算,Softmax,SV矩阵计算,输出投影,残差连接,层归一化,全连接层计算,激活函数计算,全连接层计算,残差连接,线性层,Softmax函数,记录KV地址、首个token(即字母词元)值。主机每间隔单位时间(以一秒为例)收集一次第二提示词,采用连续批处理的方法进行模型推理。
推理的Decode阶段由另外两个主机(例如主机3和主机4)负责,Decode任务流程与Prefill类似,主机3和主机4会通过RDMA(remote direct memory access,远程直接内存访问)向主机1和主机2获取KV值、首个token值的地址并进行解码,之后经过与Prefill阶段相同的推理过程,最终得到推理结果。
在Prefill阶段以及Decode阶段,均会经过以下步骤任务:嵌入与编码,层归一化,QKV映射,QK矩阵计算,Softmax,SV矩阵计算,输出投影,残差连接,层归一化,全连接层计算,激活函数计算,全连接层计算,残差连接,线性层,Softmax函数。利用连接到的高速互通连接交换机内自适应分区模块获取这些步骤任务的算力,并基于算力将当前计算任务分配至图像处理器或近存计算内存中。算术强度较低的操作会产生较高的数据传输开销,因此将算术强度较低的任务步骤分配至近存计算内存中进行,算术强度较高的任务步骤由图像处理器进行。
优选地,当步骤任务需要在近存计算内存中进行计算时,优先将计算放至距离主机服务器近的近存计算内存中,以减少延迟。
在本申请实施例中,通过设计基于高速互通连接的语下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下,所获得的所有其他实施例,都属于本申请保护范围。
需要说明的是,在本申请的描述中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。本申请中的术语“第一”、“第二”等是用于区别类似的对象,而不用于描述特定的顺序或先后次序。
为了使本技术领域的技术人员更好地理解本申请方案,下面结合附图和具体实施方式对本申请作进一步的详细说明。
随着人工智能和深度学习技术的快速发展,大规模语言模型和检索增强生成系统在自然语言处理领域中取得了显著成果。这些应用需要高效的计算资源和大规模的内存支持,以实现高效的推理过程。然而,传统的内存体系结构和计算资源配置无法满足这些需求,限制了模型推理的效率和规模。尤其是对于复杂的大规模语言模型和检索增强生成,传统的内存管理技术已经无法满足其对高带宽、低延迟以及大规模内存访问的需求,内存容量、带宽以及访问延迟等因素往往成为性能瓶颈。因此,高速互通连接(CXL,ComputeExpress Link)协议和分布式计算架构被提出,用于突破这些瓶颈,实现更高效的推理计算。
但是尽管CXL技术、分布式架构为语言模型推理提供了新的手段,但现有技术在以下关键方面存在局限性:
a.内存容量与带宽的瓶颈
大规模语言模型和检索增强生成应用通常需要处理数百GB甚至更大规模的模型和数据,传统的内存架构无法提供足够的内存容量和带宽以支撑这些应用的高效运行。即使使用了图像处理器(Graphics Processing Unit,GPU)加速,GPU显存的容量和带宽也常常成为限制性能的瓶颈。现有技术主要依赖于GPU显存和主机内存之间的频繁数据传输,导致内存带宽的压力增加,从而影响推理效率。
b.内存迁移的开销
大规模模型和复杂计算任务需要频繁地在不同内存区域(如CPU内存、GPU显存和PNM(Proximity Computing,近存计算内存)之间迁移数据。然而,这种内存迁移带来了显著的开销,特别是在跨主机的内存共享和数据交换中。现有技术中的内存迁移通常是同步的,导致计算任务的等待时间增加,整体系统的吞吐量降低。内存管理不够灵活,也使得系统在高并发任务下无法充分发挥资源的最大效能。
c.计算卸载与资源调度不足
现有的计算架构往往依赖于固定的资源配置,如将计算任务强制卸载到GPU或CPU上,而没有根据任务的需求动态调整计算资源。这种固定的资源调度方式不能根据任务的算术强度、内存访问模式等特征灵活地选择最佳计算资源,导致计算负载的处理效率低下,尤其是在面对动态变化的工作负载时,无法实现最优的计算资源分配。
d.内存池的管理与调度复杂性
CXL协议的提出为内存池管理提供了一个新的方向,但现有的CXL内存池技术在动态管理和调度方面仍存在一定的不足。当前的内存池管理缺乏足够的智能化和自动化,内存资源的分配和调整主要依赖手动配置或者简单的静态规则,未能充分发挥CXL技术在内存共享和动态管理中的优势。尤其是在多主机系统中,如何合理地配置和调度内存资源,以避免内存浪费和过度竞争,依然是一个亟待解决的问题。
为了解决上述问题,根据本申请实施例,提供了一种基于高速互通连接的语言模型检索推理系统实施例,如图1所示,图1中包括:主机、高速互通连接交换机、高速互通连接内存池、图像处理器,高速互通连接内存池内包括近存计算内存、双倍数据传输率内存,高速互通连接交换机内包含自适应分区模块;其中,主机通过高速互通连接交换机分别与高速互通连接内存池、图像处理器相连;
主机,用于接收第一提示词,并基于第一提示词开启检索阶段,对第一提示词进行向量化处理和数据库检索,生成第二提示词,并将第二提示词通过高速互通连接交换机存储至双倍数据传输率内存;
主机,还用于通过高速互通连接交换机,从双倍数据传输率内存中提取第二提示词,并对第二提示词进行推理,并利用连接到的高速互通连接交换机内自适应分区模块,确定推理阶段的任务分配对象;
自适应分区模块,用于获取第二提示词在推理阶段执行的所有步骤任务的算力,并基于算力确定步骤任务的分配对象,将步骤任务分配至对应的分配对象中进行任务计算,其中,分配对象为近存计算内存或图像处理器。
可选地,本申请实施例提出的基于高速互通连接的语言模型检索推理系统,图1中,该系统由以下组件构成:4个主机服务器(主机1、主机2、主机3、主机4)组成,4个高速互通连接交换机(即图中的CXL交换机),6个图像处理器(即图中的GPU)以及一个高速互通连接内存池(即图中的CXL内存池),高速互通连接内存池内靠近高速互通连接交换机端(物理链路短)装有近存计算内存(即图中的PNM内存),远离高速互通连接交换机端(物理链路长)装有双倍数据传输率内存(即图中的DDR内存)。另外,在高速互通连接交换机内包含自适应分区模块,通过这个自适应分区模块实现资源分配。
需要说明的是,本申请实施例的基于高速互通连接的语言模型检索推理系统不限于图1中所示出的4个主机、4个高速互通连接交换机、6个图像处理器,主机、高速互通连接交换机、图像处理器的数量都是可以灵活变动的。
进一步地,从图1可以得出,主机通过高速互通连接交换机分别与高速互通连接内存池、图像处理器相连,同时在高速互通连接内存池内设有双倍数据传输率内存,用于数据存储。
在进行语言模型检索推理任务中,其是由四台主机共同完成的,语言模型检索推理任务总共分RAG(Retrieval-augmented Generation,检索增强生成)阶段、Prefill(预填充)阶段、Decode(解码)阶段。
RAG阶段:用户可以从任意主机输入第一提示词,并且支持多主机同时输入第一提示词,主机基于输出的第一提示词开启检索阶段,对第一提示词进行向量化处理和数据库检索,生成第二提示词,并将第二提示词通过高速互通连接交换机存储至双倍数据传输率内存。
推理的Prefill阶段由两个主机(例如主机1和主机2)负责,通过高速互通连接交换机,从双倍数据传输率内存中提取第二提示词,并对第二提示词进行推理:嵌入与编码,层归一化,QKV映射,QK矩阵计算,Softmax,SV矩阵计算,输出投影,残差连接,层归一化,全连接层计算,激活函数计算,全连接层计算,残差连接,线性层,Softmax函数,记录KV地址、首个token(即字母词元)值。主机每间隔单位时间(以一秒为例)收集一次第二提示词,采用连续批处理的方法进行模型推理。
推理的Decode阶段由另外两个主机(例如主机3和主机4)负责,Decode任务流程与Prefill类似,主机3和主机4会通过RDMA(remote direct memory access,远程直接内存访问)向主机1和主机2获取KV值、首个token值的地址并进行解码,之后经过与Prefill阶段相同的推理过程,最终得到推理结果。
在Prefill阶段以及Decode阶段,均会经过以下步骤任务:嵌入与编码,层归一化,QKV映射,QK矩阵计算,Softmax,SV矩阵计算,输出投影,残差连接,层归一化,全连接层计算,激活函数计算,全连接层计算,残差连接,线性层,Softmax函数。利用连接到的高速互通连接交换机内自适应分区模块获取这些步骤任务的算力,并基于算力将当前计算任务分配至图像处理器或近存计算内存中。算术强度较低的操作会产生较高的数据传输开销,因此将算术强度较低的任务步骤分配至近存计算内存中进行,算术强度较高的任务步骤由图像处理器进行。
优选地,当步骤任务需要在近存计算内存中进行计算时,优先将计算放至距离主机服务器近的近存计算内存中,以减少延迟。
在本申请实施例中,通过设计基于高速互通连接的语言模型检索推理系统,在该系统中包括:主机、高速互通连接交换机、高速互通连接内存池、图像处理器,高速互通连接内存池内包括近存计算内存、双倍数据传输率内存,高速互通连接交换机内包含自适应分区模块;其中,主机通过高速互通连接交换机分别与高速互通连接内存池、图像处理器相连;通过这个系统架构使得通过高速互通连接内存池,多个计算节点(即主机、图像处理器)可以共享一个高带宽、低延迟的内存池,从而提供更高的内存带宽,提升语言模型检索和推理任务的处理效率,支持大规模模型和数据的高效运行;同时,由于本申请实施例提供的基于高速互通连接的语言模型检索推理系统,利用主机接收第一提示词,并基于第一提示词开启检索阶段,对第一提示词进行向量化处理和数据库检索,生成第二提示词,并将第二提示词通过高速互通连接交换机存储至双倍数据传输率内存;主机还可以通过高速互通连接交换机,从双倍数据传输率内存中提取第二提示词,并对第二提示词进行推理,并利用连接到的高速互通连接交换机内自适应分区模块,确定推理阶段的任务分配对象;利用高速互通连接交换机内的自适应分区模块,获取第二提示词在推理阶段执行的所有步骤任务的算力,并基于算力确定步骤任务的分配对象,将步骤任务分配至对应的分配对象中进行任务计算,其中,分配对象为近存计算内存或图像处理器。这样由于将生成的第二提示词通过高速互通连接交换机存储至双倍数据传输率内存,使得后续再进行数据交互时,无需通过主机,只需从双倍数据传输率内存中提取数据即可,减少内存迁移的需求,优化内存共享,尤其是通过高速互通连接内存池减少跨主机的内存迁移,从而降低内存迁移带来的性能损失,另外,通过对推理阶段每个步骤任务产生的算力进行任务计算,基于算力确定步骤任务的分配对象,实现了资源的动态分配,优化了计算资源的使用效率,避免了因资源过度或不足而影响推理任务执行效率的问题。
在一些可选的实施方式中,双倍数据传输率内存包括非固定内存池和固定内存池,其中,非固定内存池用于存储推理阶段生成的中间参数,固定内存池用于存储检索阶段和推理阶段的固定参数以及中间参数和固定参数的存储地址;
高速互通连接内存池还包括内存迁移模块;
内存迁移模块,用于将第一提示词和第二提示词通过高速互通连接交换机存储至非固定内存池、将分配对象对步骤任务进行计算后得到的向量值,通过高速互通连接交换机从本地内存迁移至非固定内存池、将中间参数通过高速互通连接交换机存储至非固定内存池、将固定参数以及存储地址通过高速互通连接交换机存储至固定内存池。
可选地,在图1中,双倍数据传输率内存包括非固定内存池和固定内存池,需要说明的是,这里的非固定内存池和固定内存池并没有一个固定的位置,其只是将语言模型的权重、检索阶段和推理阶段的固定参数等固定参数加载至固定内存池,推理阶段生成的中间参数,比如Prefill阶段的KV值、首个token值、Decode阶段推理结束得到的推理结果等加载至非固定内存池,将参数的存储做一个分区。
当然非固定内存池内还包括语言模型程序、RAG程序、第一提示词、第二提示词等可变参数。另外,固定内存池中还会留有非固定内存池和固定内存池内所有参数的存储地址。
在双倍数据传输率内存设有非固定内存池和固定内存池之后,基于图1的高速互通连接内存池内的内存迁移模块,将第一提示词和第二提示词通过高速互通连接交换机存储至非固定内存池、将分配对象对步骤任务进行计算后得到的向量值,通过高速互通连接交换机从PNM内存或GPU的本地内存迁移至非固定内存池、将中间参数通过高速互通连接交换机存储至非固定内存池、将固定参数以及存储地址通过高速互通连接交换机存储至固定内存池。
在本申请实施例中,利用内存迁移模块直接通过高速互通连接交换机将数据存储至双倍数据传输率内存,无需通过主机,减少了跨主机间的数据迁移和复制,大大降低了内存迁移带来的性能损失,提升了系统整体的推理效率。
在一些可选的实施方式中,高速互通连接内存池还包括高速互通连接协议模块,高速互通连接内存池还包括内存配置模块;
内存配置模块,用于将主机或图像处理器通过高速互通连接协议模块,向双倍数据传输率内存内的非固定内存池和/或固定内存池发起访问请求;
内存配置模块,还用于将近存计算内存通过高速互通连接协议模块,向双倍数据传输率内存内的非固定内存池和/或固定内存池发起访问请求。
可选地,如图1,高速互通连接内存池还包括高速互通连接协议模块(即图1中的CXL协议模块),高速互通连接内存池还包括内存配置模块。其中,内存配置模块,用于将主机或图像处理器通过高速互通连接协议模块,向双倍数据传输率内存内的非固定内存池和固定内存池均发起访问请求,也可以向非固定内存池或固定内存池中的任一发起访问请求。如图2中的数据传输通道1,主机或图像处理器通过数据传输通道1与高速互通连接协议模块通信,之后通过高速互通连接协议模块向双倍数据传输率内存内的非固定内存池和/或固定内存池发起访问请求。
内存配置模块,还用于将近存计算内存通过高速互通连接协议模块,向双倍数据传输率内存内的非固定内存池和固定内存池均发起访问请求,也可以向非固定内存池或固定内存池中的任一发起访问请求。如图2中的数据传输通道2和数据传输通道3。近存计算内存通过数据传输通道2先与高速互通连接协议模块通信,之后内存配置模块会将内存访问请求通过数据传输通道3连接双倍数据传输率内存内的非固定内存池和/或固定内存池。
进一步地,高速互通连接协议模块连接高速互通连接内存池的数据传输通道1、数据传输通道2、数据传输通道3的数量有限,比如数据传输通道1就有1条,但是基于内存池的内存配置模块可以使主机、图像处理器访问任意物理地址的双倍数据传输率内存;同理,数据传输通道2和数据传输通道3也就有1条,但是基于内存池的内存配置模块可以使近存计算内存访问任意物理地址的双倍数据传输率内存。
在本申请实施例中,内存配置模块进一步支持主机、图像处理器和近存计算内存与高速互通连接内存池中任意物理地址的双倍数据传输率内存的动态连接,提升了内存资源的利用效率,避免了资源的浪费和瓶颈,优化了系统性能。
在本实施例中提供了一种基于高速互通技术的语言模型检索推理方法,可用于上述的基于高速互通连接的语言模型检索推理系统,如图3所示,该流程包括如下步骤:
步骤S301,接收第一提示词,并基于第一提示词开启检索阶段,对第一提示词进行向量化处理和数据库检索,生成第二提示词。
可选地,基于高速互通连接的语言模型检索推理系统内包含的主机(可以是多个主机,比如主机1、主机2、主机3、主机4),将通过输入接口,接收用户输入的第一提示词,然后将第一提示词存储至上述系统的高速互通连接内存池之后,向主机发送消息,指示启动检索增强生成(即RAG)阶段。
主机收到“启动RAG阶段”消息就会开启RAG任务,对第一提示词进行向量化处理和数据库检索,然后生成第二提示词。
之后可以把第二提示词放入基于高速互通连接的语言模型检索推理系统内的双倍数据传输率内存的非固定内存池。
步骤S302,提取第二提示词,并对第二提示词进行推理。
可选地,之后主机可以收集第二提示词,对第二提示词进行推理。其中,推理阶段包含两部分,Prefill阶段和Decode阶段。进一步地,本申请实施例可以由主机1和主机2负责Prefill阶段,主机1和主机2每间隔单位时间(如一秒)从非固定内存池中收集一次第二提示词。采用连续批处理的方法,即将多个第二提示词集中起来一起处理,提高推理效率。
之后开始推理:嵌入与编码:对收集到的第二提示词进行嵌入处理,将文本转换为适合模型处理的编码形式,进一步提取文本的语义特征。
层归一化:对数据进行归一化操作,使数据分布更加稳定,有助于模型的训练和推理,提高模型的收敛速度和性能。
QKV 映射:将处理后的数据映射为Query(查询向量)、Key(键向量)和Value(值向量),这是许多基于注意力机制模型(如 Transformer)中的重要步骤。
QK矩阵计算:计算Query和Key的矩阵乘积,用于衡量不同元素之间的相似度,从而确定每个元素在当前上下文中的重要性。
Softmax函数:对QK矩阵计算的结果应用Softmax函数,将其转换为概率分布,以便确定每个元素的权重。
SV矩阵计算:计算Softmax结果与Value的矩阵乘积,得到最终的加权结果。
输出投影:对SV矩阵计算的结果进行投影变换,将其转换为合适的维度和形式。
残差连接:引入残差连接,将原始输入与经过上述处理后的输出相加,有助于解决深度神经网络中的梯度消失和梯度爆炸问题,提高模型的训练效果和泛化能力。
层归一化(再次):再次进行层归一化操作,进一步稳定数据分布。
全连接层计算:通过全连接层对数据进行线性变换,提取更高级的特征表示。
激活函数计算:应用激活函数对全连接层的输出进行非线性变换,增加模型的表达能力。
全连接层计算(再次):进行另一次全连接层计算,进一步处理数据。
残差连接(再次):再次使用残差连接,增强模型的性能。
线性层:通过线性层对数据进行最后的线性变换。
Softmax(再次):应用Softmax函数得到最终的概率分布,用于生成预测结果。
记录KV地址、首个token值:推理完成后,将计算过程中产生的KV值(即Key值和Value 值)以及首个token值存至非固定内存池,以便后续Decode 阶段使用。
由主机3和主机4负责Decode阶段,主机3和主机4会通过RDMA向主机1和主机2获取KV值、首个token值的地址并进行解码操作,生成最终的推理结果,在推理结束后,将生成的推理结果存至非固定内存池,完成整个推理过程。
步骤S303,获取第二提示词在推理阶段执行的所有步骤任务的算力,并基于算力确定步骤任务的分配对象,其中,分配对象用于对步骤任务进行任务计算。
可选地,基于高速互通连接的语言模型检索推理系统通过对上述Prefill阶段和Decode阶段涉及到的步骤任务(如嵌入与编码、层归一化等)进行算力计算,并基于得到的算力确定步骤任务的分配对象,使得分配对象对相对应的步骤任务进行任务计算。其中,算术强度较高的步骤任务由图像处理器进行计算,算术强度较高的步骤任务由近存计算内存进行计算。
另外,在将算术强度较高的步骤任务在近存计算内存进行计算时,优先将计算放至距离主机服务器近的近存计算内存中,以减少延迟。
本申请实施例通过对推理阶段每个步骤任务产生的算力进行任务计算,基于算力确定步骤任务的分配对象,优化了计算资源的使用效率,避免了因资源过度或不足而影响推理任务执行效率的问题。
在一些可选的实施方式中,接收第一提示词,并基于第一提示词开启检索阶段,包括:
在接收到第一提示词的情况下,获取第一提示词对应的第一存储地址;
基于第一存储地址确定第一提示词的采集状态;
在采集状态满足预设条件的情况下,开启检索阶段。
可选地,主机在接收到第一提示词的情况下,启动RAG阶段,同时得到第一提示词对应的第一存储地址。
多个主机可共同进行RAG任务,每个主机会根据第一存储地址确定第一提示词的采集状态,进而基于采集状态的具体情况决定是否开启检索阶段,比如通过标志位设置来确定采集状态,在存储第一提示词的相关数据结构或内存区域中设置特定的标志位来表示采集状态。例如,使用一个二进制位来表示第一提示词是否已被采集,0表示未采集,1表示已采集。主机通过读取该标志位的值来确定第一提示词的采集状态。
还可以通过时间戳对比的方式来确定采集状态,为每个第一提示词的存储地址记录时间戳信息,包括第一提示词写入时间和预期的采集完成时间等。主机通过对比当前时间与时间戳来判断第一提示词的采集状态。例如,如果当前时间超过了预期的采集完成时间,而第一提示词仍未被标记为已采集,则可能表示采集出现异常;或者通过比较写入时间和当前时间,判断是否达到了设定的采集间隔时间,以决定是否可以进行采集操作,得到第一提示词的采集状态。
还可以通过消息队列或事件机制的方式来确定采集状态,利用消息队列或事件机制来传递第一提示词采集状态的信息。当第一提示词被存储到第一存储地址后,会发送一个相应的消息或触发一个事件,告知主机第一提示词的状态已更新。主机通过监听消息队列或事件来获取第一提示词的采集状态。
在一些可选的实施方式中,基于第一存储地址确定第一提示词的采集状态,包括:
获取第一存储地址的状态寄存器的第一读取状态以及第一存储地址的下一存储地址的状态寄存器的第二读取状态;
基于第一读取状态和第二读取状态,确定第一提示词的采集状态。
可选地,主机在进行RAG任务时,会先检查第一存储地址的状态寄存器是否为待读取,若是待读取就读取第一提示词并将该状态寄存器改为已读取,若状态寄存器为已读取,则主机会先检查下一存储地址的状态寄存器是否为待读取,若状态寄存器为结束,说明此时已收集完所有推理的第一提示词,开启检索阶段。具体可参见表1。
如表1
本申请实施例主机通过检查状态寄存器的状态去确定第一提示词采集结果,无需像访问文件系统或数据库那样进行复杂的寻址和数据检索操作,能以极快的速度获取第一提示词的采集状态,提高系统的运行效率。
在一些可选的实施方式中,对第一提示词进行向量化处理和数据库检索,生成第二提示词,包括:
将第一提示词转换为第一向量;
将第一向量输入数据库进行检索,得到与第一向量关联的第二向量;
将第一向量和第二向量进行整合,得到第二提示词。
可选地,主机可以从双倍数据传输率内存的非固定内存池中读取之前存储的第一提示词。这是RAG任务的起始步骤,获取用于后续处理的输入数据。
将读取到的第一提示词转换为向量形式。在自然语言处理中,通常会使用特定的算法或模型(如词嵌入模型)将文本转换为数值向量,以便计算机能够处理和分析这些文本信息,为后续在向量数据库中进行检索做准备。
利用向量化后的第一提示词在向量数据库中进行检索,查找与之相关的信息。向量数据库能够快速找到与输入向量相似的其他向量,这些向量可能对应着相关的文本或知识,从而获取到与第一提示词相关的补充信息。
将检索到的相关信息与第一提示词进行整合,并重构上下文,生成第二提示信息。
在一些可选的实施方式中,获取第二提示词在推理阶段执行的所有步骤任务的算力,包括:
获取步骤任务对应的计算量和内存访问量;
基于计算量和内存访问量的比值,得到步骤任务的算力。
可选地,一些非矩阵操作(如嵌入与编码、层归一化、激活函数计算和残差连接)呈现出较低的算术强度,本申请实施例会直接将嵌入与编码、层归一化、激活函数计算和残差连接的算力认定为较低,将其分配给PNM内存中进行计算。至于推理阶段中的其他步骤任务,在计算算力时,需要获取其对应的计算量和内存访问量,然后基于计算量和内存访问量的比值,得到步骤任务的算力。
需要说明的是,步骤任务中的计算量和内存访问量是通过步骤任务中的批处理大小、序列长度以及隐藏层大小相融合得到的。
比如:Prefill中QKV映射的计算量=3×2×B×L×S2;Prefill中QKV映射的内存访问量=B×L×S+3×S2。其中,B为批处理大小,L为输入的序列长度,S为隐藏层大小。
因此,步骤任务的算力的计算如下:
Prefill中QKV映射:I=3×2×B×L×S2/(B×L×S+3×S2)
Prefill中QK矩阵计算或SV矩阵计算:I=2×B×L2×S/(2×B×L×S)
Prefill中输出投影:I=2×B×L×S2/(B×L×S+S2)
Prefill中全连接层计算:I=4×B×L×S2/(B×L×S+4×S2)
Decode中QKV映射:I=3×2×B×L×S2/(B×S+3×S2)
Decode中QK矩阵计算或SV矩阵计算:I=2×B×L2×S/(2×B×S)
Decode中输出投影:I=2×B×L×S2/(1+B×S+S2)
Decode中全连接层计算:I=4×B×L×S2/(B×S+4×S2)
在一些可选的实施方式中,基于算力确定步骤任务的分配对象,包括:
在算力小于或者等于预设值的情况下,将步骤任务分配至第一分配对象,其中,第一分配对象用于处理算术强度为第一强度的任务;
在算力大于预设值的情况下,将步骤任务分配至第二分配对象,其中,第二分配对象用于处理算术强度为第二强度的任务。
可选地,当步骤任务的算术强度满足下式时,该任务会被分配至距离主机较近的PNM内存中进行计算,也即是PNM内存用于处理算术强度为第一强度(强度较小)的任务;若不满足公式,则该任务会被分配至GPU中进行计算,也即是GPU用于处理算术强度为第二强度(强度较大)的任务。
公式:I≤d×(1/BWcxl−1/BWpnm)/(1/THpnm−1/THgpu)
其中,d×(1/BWcxl−1/BWpnm)/(1/THpnm−1/THgpu)为预设值,d为操作数数据类型的大小(以字节为单位),BWcxl与BWpnm分别表示CXL的带宽和PNM内存带宽(以GB/s为单位),THpnm与THgpu分别表示PNM内存和GPU对于给定数据类型的计算吞吐量。
本申请实施例能够根据步骤任务的算术强度实时决定分配目标(GPU或PNM内存)。这一动态资源分配机制确保了低算术强度的任务被卸载至更靠近主机的PNM内存中,减少内存读写延迟,而算术强度较高的任务则交由GPU处理。通过优化任务卸载策略,充分发挥了不同计算资源的优势,从而提高了计算效率并减少了资源的闲置。
在一些可选的实施方式中,该方法还包括:
获取数据日志,其中,数据日志内包含第一提示词的第一存储地址、第二提示词的第二存储地址、推理阶段所得中间参数的第三存储地址、检索阶段和推理阶段的固定参数的第四存储地址;
获取对第一存储地址、第二存储地址、第三存储地址、第四存储地址中存储的数据所执行的调整操作,得到调整后的数据和调整后的第一存储地址、调整后的第二存储地址、调整后的第三存储地址、调整后的第四存储地址;
基于调整后的数据和调整后的第一存储地址、调整后的第二存储地址、调整后的第三存储地址、调整后的第四存储地址,更新数据日志,利用更新后的数据日志共享数据。
可选地,启用推理应用后固定内存池中会留有非固定内存池内存入的第一提示词的第一存储地址、第二提示词的第二存储地址、推理阶段所得中间参数的第三存储地址,以及固定内存池内存入的检索阶段和推理阶段的固定参数的第四存储地址,将这些数据称为数据日志,由四台主机与高速互通连接内存池共同维护。
当主机与高速互通连接内存池对非固定内存池和固定内存池中存入的数据进行增、删、改等调整操作时,操作完成后会将改动方式、数据类型及调整后的数据和调整后的第一存储地址、调整后的第二存储地址、调整后的第三存储地址、调整后的第四存储地址存至数据日志以进行数据日志的更新。其他主机可以通过获取数据日志来访问其他主机的任务输出,以此实现数据共享。
另外,由于负责Prefill阶段的主机的GPU或PNM内存生成的KV值占内存过大,可以直接通过高速互通连接交换机传输至高速互通连接内存池的非固定内存池,并更新数据日志。当数据日志的KV值新增时,负责Decode阶段的主机可以通过数据日志获取KV值、token位置,以此启动Decode阶段任务。
本申请实施例通过实时将推理过程中生成的中间参数(如KV值)迁移到非固定内存池,并根据推理任务的进展更新数据日志,确保了数据的实时共享和访问,实现多主机之间的高效协作,避免了多主机间的频繁数据传输,从而有效降低了分布式计算中的数据传输延迟,从而加速了整体推理过程。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。
本实施例中还提供了一种语言模型检索推理装置,该装置用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
本实施例提供一种基于高速互通技术的语言模型检索推理装置,如图4,该装置包括:
接收模块401,用于接收第一提示词,并基于第一提示词开启检索阶段,对第一提示词进行向量化处理和数据库检索,生成第二提示词;
提取模块402,用于提取第二提示词,并对第二提示词进行推理;
获取模块403,用于获取第二提示词在推理阶段执行的所有步骤任务的算力,并基于算力确定步骤任务的分配对象,其中,分配对象用于对步骤任务进行任务计算。
在一些可选的实施方式中,接收模块401,用于在接收到第一提示词的情况下,获取第一提示词对应的第一存储地址;基于第一存储地址确定第一提示词的采集状态;在采集状态满足预设条件的情况下,开启检索阶段。
在一些可选的实施方式中,接收模块401,还用于获取第一存储地址的状态寄存器的第一读取状态以及第一存储地址的下一存储地址的状态寄存器的第二读取状态;基于第一读取状态和第二读取状态,确定第一提示词的采集状态。
在一些可选的实施方式中,接收模块401,还用于在第一读取状态为已读且第二读取状态为已读时,确定采集状态为第一提示词采集完毕,开启检索阶段。
在一些可选的实施方式中,接收模块401,还用于将第一提示词转换为第一向量;将第一向量输入数据库进行检索,得到与第一向量关联的第二向量;将第一向量和第二向量进行整合,得到第二提示词。
在一些可选的实施方式中,获取模块403,用于获取步骤任务对应的计算量和内存访问量;基于计算量和内存访问量的比值,得到步骤任务的算力。
在一些可选的实施方式中,获取模块403,还用于获取步骤任务中的批处理大小、序列长度以及隐藏层大小;基于批处理大小、序列长度以及隐藏层大小,得到计算量和内存访问量。
在一些可选的实施方式中,获取模块403,还用于在算力小于或者等于预设值的情况下,将步骤任务分配至第一分配对象,其中,第一分配对象用于处理算术强度为第一强度的任务;在算力大于预设值的情况下,将步骤任务分配至第二分配对象,其中,第二分配对象用于处理算术强度为第二强度的任务。
在一些可选的实施方式中,该装置还包括:获取数据日志,其中,数据日志内包含第一提示词的第一存储地址、第二提示词的第二存储地址、推理阶段所得中间参数的第三存储地址、检索阶段和推理阶段的固定参数的第四存储地址;获取对第一存储地址、第二存储地址、第三存储地址、第四存储地址中存储的数据所执行的调整操作,得到调整后的数据和调整后的第一存储地址、调整后的第二存储地址、调整后的第三存储地址、调整后的第四存储地址;调整后的数据和调整后的第一存储地址、调整后的第二存储地址、调整后的第三存储地址、调整后的第四存储地址,更新数据日志,利用更新后的数据日志共享数据。
基于高速互通技术的语言模型检索推理装置所对应实施例中特征的说明可以参见基于高速互通技术的语言模型检索推理方法所对应实施例的相关说明,这里不再一一赘述。
本申请的实施例还提供了一种电子设备,如图5所示,包括存储器10和处理器20,该存储器10中存储有计算机程序,该处理器20被设置为运行计算机程序以执行上述任一种基于高速互通技术的语言模型检索推理方法实施例中的步骤。
本申请的实施例还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有计算机程序,其中,该计算机程序被设置为运行时执行上述任一种基于高速互通技术的语言模型检索推理方法实施例中的步骤。
在一个示例性实施例中,上述计算机可读存储介质可以包括但不限于:U盘、只读存储器(Read-Only Memory,简称为ROM)、随机存取存储器(Random Access Memory,简称为RAM)、移动硬盘、磁碟或者光盘等各种可以存储计算机程序的介质。
本申请的实施例还提供了一种计算机程序产品,上述计算机程序产品包括计算机程序,计算机程序被处理器执行时实现上述任一种基于高速互通技术的语言模型检索推理方法实施例中的步骤。
本申请的实施例还提供了另一种计算机程序产品,包括非易失性计算机可读存储介质,非易失性计算机可读存储介质存储计算机程序,计算机程序被处理器执行时实现上述任一种基于高速互通技术的语言模型检索推理方法实施例中的步骤。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
以上对本申请所提供的一种基于高速互通技术的语言模型检索推理系统、方法进行了详细介绍。本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以对本申请进行若干改进和修饰,这些改进和修饰也落入本申请权利要求的保护范围内。
Claims (15)
1.一种基于高速互通连接的语言模型检索推理系统,其特征在于,所述系统包括:主机、高速互通连接交换机、高速互通连接内存池、图像处理器、内存迁移模块,所述高速互通连接内存池内包括近存计算内存、双倍数据传输率内存以及所述内存迁移模块,所述高速互通连接交换机内包含自适应分区模块;其中,所述主机通过所述高速互通连接交换机分别与所述高速互通连接内存池、图像处理器相连;
所述主机,用于接收第一提示词,并基于所述第一提示词开启检索阶段,对所述第一提示词进行向量化处理和数据库检索,生成第二提示词,并将所述第二提示词通过所述高速互通连接交换机存储至所述双倍数据传输率内存,其中,所述双倍数据传输率内存包括非固定内存池和固定内存池;
所述主机,还用于通过所述高速互通连接交换机,从所述双倍数据传输率内存中提取所述第二提示词,并对所述第二提示词进行推理,并利用连接到的所述高速互通连接交换机内所述自适应分区模块,确定推理阶段的任务分配对象;
所述内存迁移模块,用于将所述第一提示词和所述第二提示词通过所述高速互通连接交换机存储至所述非固定内存池、将分配对象对步骤任务进行计算后得到的向量值,通过所述高速互通连接交换机从PNM内存或GPU的本地内存迁移至所述非固定内存池,将推理阶段生成的中间参数、可变参数通过所述高速互通连接交换机存储至所述非固定内存池;将语言模型的权重、检索阶段和推理阶段的固定参数,以及非固定内存池和固定内存池内所有参数的存储地址的存储地址,通过所述高速互通连接交换机存储至所述固定内存池;
所述自适应分区模块,用于获取所述第二提示词在推理阶段执行的所有步骤任务的算力,并基于所述算力确定所述步骤任务的分配对象,将所述步骤任务分配至对应的所述分配对象中进行任务计算,其中,所述分配对象为所述近存计算内存或所述图像处理器。
2.根据权利要求1所述的系统,其特征在于,所述双倍数据传输率内存包括非固定内存池和固定内存池,其中,所述非固定内存池用于存储推理阶段生成的中间参数,所述固定内存池用于存储检索阶段和推理阶段的固定参数以及所述中间参数和所述固定参数的存储地址;
所述高速互通连接内存池还包括内存迁移模块;
所述内存迁移模块,用于将所述第一提示词和所述第二提示词通过所述高速互通连接交换机存储至所述非固定内存池、将所述分配对象对所述步骤任务进行计算后得到的向量值,通过所述高速互通连接交换机从本地内存迁移至所述非固定内存池、将所述中间参数通过所述高速互通连接交换机存储至所述非固定内存池、将所述固定参数以及所述存储地址通过所述高速互通连接交换机存储至所述固定内存池。
3.根据权利要求1所述的系统,其特征在于,所述高速互通连接内存池还包括高速互通连接协议模块,所述高速互通连接内存池还包括内存配置模块;
所述内存配置模块,用于将所述主机或所述图像处理器通过所述高速互通连接协议模块,向所述双倍数据传输率内存内的非固定内存池和/或固定内存池发起访问请求;
所述内存配置模块,还用于将所述近存计算内存通过所述高速互通连接协议模块,向所述双倍数据传输率内存内的非固定内存池和/或固定内存池发起访问请求。
4.一种基于高速互通技术的语言模型检索推理方法,其特征在于,所述方法应用于基于高速互通连接的语言模型检索推理系统,所述方法包括:
接收第一提示词,并基于所述第一提示词开启检索阶段,对所述第一提示词进行向量化处理和数据库检索,生成第二提示词,把所述第二提示词放入基于高速互通连接的语言模型检索推理系统内的双倍数据传输率内存的非固定内存池;
采用连续批处理的方法,每间隔单位时间从所述非固定内存池中收集一次所述第二提示词,提取所述第二提示词,并对所述第二提示词进行推理,将生成的推理结果存至所述非固定内存池;
获取所述第二提示词在推理阶段执行的所有步骤任务的算力,并基于所述算力确定所述步骤任务的分配对象,其中,所述分配对象用于对所述步骤任务进行任务计算。
5.根据权利要求4所述的方法,其特征在于,所述接收第一提示词,并基于所述第一提示词开启检索阶段,包括:
在接收到所述第一提示词的情况下,获取所述第一提示词对应的第一存储地址;
基于所述第一存储地址确定所述第一提示词的采集状态;
在所述采集状态满足预设条件的情况下,开启所述检索阶段。
6.根据权利要求5所述的方法,其特征在于,所述基于所述第一存储地址确定所述第一提示词的采集状态,包括:
获取所述第一存储地址的状态寄存器的第一读取状态以及所述第一存储地址的下一存储地址的状态寄存器的第二读取状态;
基于所述第一读取状态和所述第二读取状态,确定所述第一提示词的采集状态。
7.根据权利要求6所述的方法,其特征在于,所述在所述采集状态满足预设条件的情况下,开启所述检索阶段,包括:
在所述第一读取状态为已读且所述第二读取状态为已读时,确定所述采集状态为所述第一提示词采集完毕,开启所述检索阶段。
8.根据权利要求4所述的方法,其特征在于,所述对所述第一提示词进行向量化处理和数据库检索,生成第二提示词,包括:
将所述第一提示词转换为第一向量;
将所述第一向量输入所述数据库进行检索,得到与所述第一向量关联的第二向量;
将所述第一向量和所述第二向量进行整合,得到所述第二提示词。
9.根据权利要求4所述的方法,其特征在于,所述获取所述第二提示词在推理阶段执行的所有步骤任务的算力,包括:
获取所述步骤任务对应的计算量和内存访问量;
基于所述计算量和所述内存访问量的比值,得到所述步骤任务的所述算力。
10.根据权利要求9所述的方法,其特征在于,所述获取所述步骤任务对应的计算量和内存访问量,包括:
获取所述步骤任务中的批处理大小、序列长度以及隐藏层大小;
基于所述批处理大小、所述序列长度以及所述隐藏层大小,得到所述计算量和所述内存访问量。
11.根据权利要求4所述的方法,其特征在于,所述基于所述算力确定所述步骤任务的分配对象,包括:
在所述算力小于或者等于预设值的情况下,将所述步骤任务分配至第一分配对象,其中,所述第一分配对象用于处理算术强度为第一强度的任务;
在所述算力大于所述预设值的情况下,将所述步骤任务分配至第二分配对象,其中,所述第二分配对象用于处理算术强度为第二强度的任务。
12.根据权利要求4所述的方法,其特征在于,所述方法还包括:
获取数据日志,其中,所述数据日志内包含第一提示词的第一存储地址、第二提示词的第二存储地址、推理阶段所得中间参数的第三存储地址、检索阶段和推理阶段的固定参数的第四存储地址;
获取对所述第一存储地址、第二存储地址、第三存储地址、第四存储地址中存储的数据所执行的调整操作,得到调整后的数据和调整后的第一存储地址、调整后的第二存储地址、调整后的第三存储地址、调整后的第四存储地址;
基于调整后的数据和调整后的第一存储地址、调整后的第二存储地址、调整后的第三存储地址、调整后的第四存储地址,更新所述数据日志,利用更新后的数据日志共享数据。
13.一种电子设备,其特征在于,包括:
存储器和处理器,所述存储器和所述处理器之间互相通信连接,所述存储器中存储有计算机指令,所述处理器通过执行所述计算机指令,从而执行权利要求4至12中任一项所述的基于高速互通技术的语言模型检索推理方法。
14.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机指令,所述计算机指令用于使计算机执行权利要求4至12中任一项所述的基于高速互通技术的语言模型检索推理方法。
15.一种计算机程序产品,其特征在于,包括计算机指令,所述计算机指令用于使计算机执行权利要求4至12中任一项所述的基于高速互通技术的语言模型检索推理方法。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN202510389049.9A CN119902900B (zh) | 2025-03-31 | 2025-03-31 | 基于高速互通连接的语言模型检索推理系统、方法 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN202510389049.9A CN119902900B (zh) | 2025-03-31 | 2025-03-31 | 基于高速互通连接的语言模型检索推理系统、方法 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| CN119902900A CN119902900A (zh) | 2025-04-29 |
| CN119902900B true CN119902900B (zh) | 2025-07-15 |
Family
ID=95468927
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| CN202510389049.9A Active CN119902900B (zh) | 2025-03-31 | 2025-03-31 | 基于高速互通连接的语言模型检索推理系统、方法 |
Country Status (1)
| Country | Link |
|---|---|
| CN (1) | CN119902900B (zh) |
Families Citing this family (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN120144326B (zh) * | 2025-05-16 | 2025-09-12 | 浪潮电子信息产业股份有限公司 | 一种数据处理系统、方法、设备、介质及程序产品 |
Citations (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN118446321A (zh) * | 2024-05-30 | 2024-08-06 | 上海交通大学 | 智能手机的大语言模型快速推理方法、装置及系统 |
| CN119027300A (zh) * | 2024-10-31 | 2024-11-26 | 苏州元脑智能科技有限公司 | 一种数据缓存方法、系统、产品、设备及存储介质 |
Family Cites Families (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN117875425A (zh) * | 2022-09-30 | 2024-04-12 | 华为技术有限公司 | 一种神经网络模型的推理方法、装置及相关设备 |
| CN118798353A (zh) * | 2024-04-17 | 2024-10-18 | 中国移动通信有限公司研究院 | 面向大模型的混合推理方法、装置、设备、介质及产品 |
-
2025
- 2025-03-31 CN CN202510389049.9A patent/CN119902900B/zh active Active
Patent Citations (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN118446321A (zh) * | 2024-05-30 | 2024-08-06 | 上海交通大学 | 智能手机的大语言模型快速推理方法、装置及系统 |
| CN119027300A (zh) * | 2024-10-31 | 2024-11-26 | 苏州元脑智能科技有限公司 | 一种数据缓存方法、系统、产品、设备及存储介质 |
Also Published As
| Publication number | Publication date |
|---|---|
| CN119902900A (zh) | 2025-04-29 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US12541713B2 (en) | Method, apparatus, and computer device and storage medium for distributed training of machine learning model | |
| CN119378681B (zh) | 推理方法、系统、计算机设备及存储介质 | |
| CN113037800B (zh) | 作业调度方法以及作业调度装置 | |
| WO2021115082A1 (zh) | 作业调度方法以及作业调度装置 | |
| CN119902900B (zh) | 基于高速互通连接的语言模型检索推理系统、方法 | |
| CN120499269A (zh) | 一种数据管理方法、装置、设备及可读存储介质 | |
| CN119512748B (zh) | 推理系统的负载感知调度方法和推理系统 | |
| CN120144300B (zh) | 用于大模型的推理系统及方法 | |
| CN120123082A (zh) | 基于numa架构的进程调度方法、装置、电子设备及存储介质 | |
| CN118153693B (zh) | 一种提高大语言模型推理并发量的方法、装置和计算设备 | |
| CN108776833A (zh) | 一种数据处理方法、系统及计算机可读存储介质 | |
| WO2025179929A1 (zh) | 一种图神经网络模型的训练架构、方法、系统及服务器 | |
| CN120196421A (zh) | 一种gpu资源虚拟化算力调度的方法及装置 | |
| CN119829898A (zh) | 计算任务调度方法、电子设备、存储介质与产品 | |
| CN120066803A (zh) | 针对低算力设备的大模型端到端蒸馏部署方法、装置、设备及介质 | |
| CN115729704B (zh) | 算力资源分配方法、装置及计算机可读存储介质 | |
| CN120429020B (zh) | 算子优化方法、电子设备、存储介质和程序产品 | |
| CN120450057A (zh) | 模型推理方法、电子设备及存储介质 | |
| CN119396413B (zh) | 模型部署方案生成、模型处理方法、装置及电子设备 | |
| WO2025234867A1 (ko) | 다중 딥러닝 모델의 사전훈련 계층과 미세조정 계층의 gpu 분리 할당을 통한 다중노드 클러스터 기반 추론 방법 및 시스템 | |
| CN119829300A (zh) | Gpgpu计算任务处理方法、装置、设备及介质 | |
| CN119106704A (zh) | 图神经网络的预处理方法、装置、设备、介质及产品 | |
| CN117492934A (zh) | 一种基于云服务智能部署的数据处理方法及系统 | |
| CN118260019A (zh) | 一种业务处理方法、装置、模型架构和模型训练方法 | |
| JP2023024960A (ja) | 効率的なニューラルネットワーク実行のためのメモリ使用の最適化 |
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 |