一种模型推理方法、装置及电子设备与流程

专利2025-12-28  19


本技术涉及深度学习、神经网络和大语言模型的,具体而言,涉及一种模型推理方法、装置及电子设备。


背景技术:

1、目前,大语言模型接收的输入通常是多样化的,这意味着每个新的请求或对话可能包含不同长度的文本序列,在具体的实践过程中发现,不同请求的上下文长度可能会不同,较长的上下文可能会覆盖掉较短上下文的缓存,导致缓存的命中率下降。


技术实现思路

1、本技术实施例的目的在于提供一种模型推理方法、装置及电子设备,用于改善缓存的命中率下降的问题。

2、本技术实施例提供了一种模型推理方法,包括:将待处理文本划分为多个文本块;对多个文本块中的每个文本块进行向量化处理,获得多个语义向量;针对多个语义向量中的每个语义向量,根据该语义向量与预填充的kv缓存块中的key值之间的相似度值确定待处理文本的多个目标kv缓存块;通过预训练语言模型对待处理文本的多个目标kv缓存块进行推理,获得推理结果。在上述方案的实现过程中,通过将待处理文本划分为多个文本块,从而减小每个块的大小,由于较小的文本块更有可能在之前的请求中出现过,因此更有可能找到匹配的缓存,以此来增加缓存命中率的可能性,进一步地,对每个文本块进行向量化处理,可以获得表征文本块意图上的语义向量,即使文本块的内容略有不同,但传达的信息相近,也可以根据语义向量与预填充的kv缓存块中的key值之间的相似度值,找到与待处理文本块意义相近的目标kv缓存块,有效地放宽了语义向量与key值严格精确匹配的要求,从而有更大的概率实现kv缓存块的复用,有效地提高了缓存的命中率。

3、可选地,在本技术实施例中,根据该语义向量与预填充的kv缓存块中的key值之间的相似度值确定待处理文本的多个目标kv缓存块,包括:判断该语义向量与kv缓存块中的key值之间的相似度值是否大于相似度阈值;若是,则将该kv缓存块加入待处理文本的多个目标kv缓存块中,否则,生成该语义向量的kv缓冲块,并将该语义向量的kv缓冲块加入待处理文本的多个目标kv缓存块中。在上述方案的实现过程中,通过比较新生成的语义向量与已有kv缓存块中的key值之间的相似度,决定是否复用已有的kv缓存块还是生成新的kv缓存块,从而可以通过语义向量与预填充的kv缓存块中的key值之间的相似度值,找到与待处理文本块意义相近的目标kv缓存块,有效地放宽了语义向量与key值严格精确匹配的要求,从而减少了重复计算,模型能够更快地生成输出,提高了整个系统的响应速度。

4、可选地,在本技术实施例中,根据该语义向量与预填充的kv缓存块中的key值之间的相似度值确定待处理文本的多个目标kv缓存块,包括:对该语义向量和该语义向量在多个语义向量的相对位置进行融合,获得特征向量;判断特征向量与kv缓存块中的key值之间的相似度值是否大于相似度阈值;若是,则将该kv缓存块加入待处理文本的多个目标kv缓存块中,否则,生成该语义向量的kv缓冲块,并将该语义向量的kv缓冲块加入待处理文本的多个目标kv缓存块中。在上述方案的实现过程中,通过语义向量和其相对位置融合的特征向量来匹配,能够更精细化地匹配出特征向量与缓存块中的key值,可以更准确地识别出可以复用的缓存,提高了缓存复用的准确性,从而减少了不必要的计算,提升了模型的响应速度。

5、可选地,在本技术实施例中,在根据该语义向量与预填充的kv缓存块中的key值之间的相似度值确定待处理文本的多个目标kv缓存块之前,还包括:获取样本文本,并将样本文本划分为多个样本块;对多个样本块中的每个样本块进行向量化处理,获得多个样本向量;针对多个样本向量中的每个样本向量,根据该样本向量和该样本向量在多个样本向量的相对位置生成kv缓存块。在上述方案的实现过程中,通过将输入文本分割成块并分别向量化,系统可以更高效地处理长文本输入,尤其是在处理包含大量重复内容的情况下,如多轮对话或数据分析任务,这种方法可以显著减少计算需求,因为系统可以复用之前已经计算过的kv缓存,而不是每次都重新计算整个输入,从而提高本地kv缓存的检索命中率。

6、可选地,在本技术实施例中,在根据该样本向量和该样本向量在多个样本向量的相对位置生成kv缓存块之后,还包括:判断该样本向量的使用频率是否大于预设频率阈值;若是,则将kv缓存块预填充至图形处理器gpu的显存中,否则,将kv缓存块预填充至中央处理器cpu的内存中。在上述方案的实现过程中,通过样本向量使用频率来决定kv缓存块存储位置技术,使得高频使用的kv缓存块被放置在gpu显存中,可以显著减少访问延时,因为gpu显存通常比cpu内存提供更快的访问速度。进一步地,通过区分不同使用频率的kv缓存块并根据其访问频率选择合适的存储位置,高频使用的缓存放在靠近计算单元的位置,低频使用的缓存则可以放在相对便宜的cpu内存中,在不牺牲性能的前提下节省成本,从而优化了硬件资源的利用效率。进一步地,将高频使用的kv缓存块存储在gpu中减少了这些缓存块在cpu和gpu之间频繁传输的需求,有助于减轻网络带宽的压力。这对于大规模分布式系统尤为重要,可以减少跨节点通信带来的开销。

7、可选地,在本技术实施例中,预训练语言模型,包括:多个神经网络节点;在通过预训练语言模型对待处理文本的多个目标kv缓存块进行推理之前,还包括:针对多个神经网络节点中的每个神经网络节点,判断神经网络节点的激活频次是否大于预设频次阈值;若是,则将该神经网络节点预填充至gpu的显存中,否则,将该神经网络节点预填充至cpu的内存中。在上述方案的实现过程中,通过利用神经网络节点的冷热幂律分布的特点,将频繁激活调用的热节点预填充至gpu的显存中,调用不频繁的冷节点预填充至cpu的内存中,使得推理解码过程中的cpu来实现冷节点推理,且推理解码过程中的gpu来实现热节点推理,有效地完成了异构计算功能,这种异构计算功能能够极大地降低大模型推理服务的算力成本和存储成本,从而从整体上降低了大模型推理服务成本。

8、可选地,在本技术实施例中,通过预训练语言模型对待处理文本的多个目标kv缓存块进行推理,包括:从gpu的显存或者cpu的内存中获取神经网络节点和目标kv缓存块;判断神经网络节点的激活频次是否大于预设频次阈值;若是,则通过gpu对目标kv缓存块进行推理,否则,通过cpu对目标kv缓存块进行推理。在上述方案的实现过程中,通过判断神经网络节点的激活频次来决定是在gpu还是cpu上进行推理,高频激活的节点意味着这些节点在推理过程中被频繁调用,因此将这些节点及其相关的kv缓存块放置在gpu上进行推理可以显著提高性能。进一步地,通过将不同频次激活的节点分配给最适合的硬件资源(gpu或cpu),可以更高效地利用计算资源。低频激活的节点在cpu上执行,既可以减少gpu的负担,又能避免gpu资源的浪费,从而有效地优化了资源的利用效率。

9、可选地,在本技术实施例中,通过预训练语言模型对待处理文本的多个目标kv缓存块进行推理,包括:对待处理文本的多个目标kv缓存块进行重新组装,获得组装后的上下文kv缓存块;通过预训练语言模型对组装后的上下文kv缓存块进行推理。在上述方案的实现过程中,通过重新组装多个目标kv缓存块,系统能够更高效地利用缓存中的信息,这意味着即使输入文本中的某些部分文本是新的或变化的,只要大部分内容是重复的,系统就能复用已有缓存,减少重复计算,从而有效地提高了缓存的命中率和利用率。

10、本技术实施例还提供了一种模型推理装置,包括:文本块划分模块,用于将待处理文本划分为多个文本块;文本向量化模块,用于对多个文本块中的每个文本块进行向量化处理,获得多个语义向量;缓存块确定模块,用于针对多个语义向量中的每个语义向量,根据该语义向量与预填充的kv缓存块中的key值之间的相似度值确定待处理文本的多个目标kv缓存块;推理结果获得模块,用于通过预训练语言模型对待处理文本的多个目标kv缓存块进行推理,获得推理结果。

11、可选地,在本技术实施例中,缓存块确定模块,包括:相似度值判断子模块,用于判断该语义向量与kv缓存块中的key值之间的相似度值是否大于相似度阈值;目标缓存块确定子模块,用于若该语义向量与kv缓存块中的key值之间的相似度值大于相似度阈值,则将该kv缓存块加入待处理文本的多个目标kv缓存块中,若该语义向量与kv缓存块中的key值之间的相似度值小于或等于相似度阈值,则生成该语义向量的kv缓冲块,并将该语义向量的kv缓冲块加入待处理文本的多个目标kv缓存块中。

12、可选地,在本技术实施例中,缓存块确定模块,包括:特征向量获得子模块,用于对该语义向量和该语义向量在多个语义向量的相对位置进行融合,获得特征向量;相似度值判断子模块,用于判断特征向量与kv缓存块中的key值之间的相似度值是否大于相似度阈值;目标缓存确定子模块,用于若特征向量与kv缓存块中的key值之间的相似度值大于相似度阈值,则将该kv缓存块加入待处理文本的多个目标kv缓存块中,若特征向量与kv缓存块中的key值之间的相似度值小于或等于相似度阈值,则生成该语义向量的kv缓冲块,并将该语义向量的kv缓冲块加入待处理文本的多个目标kv缓存块中。

13、可选地,在本技术实施例中,模型推理装置,还包括:文本获取划分模块,用于获取样本文本,并将样本文本划分为多个样本块;样本向量获得模块,用于对多个样本块中的每个样本块进行向量化处理,获得多个样本向量;kv缓存块生成模块,用于针对多个样本向量中的每个样本向量,根据该样本向量和该样本向量在多个样本向量的相对位置生成kv缓存块。

14、可选地,在本技术实施例中,模型推理装置,还包括:使用频率判断模块,用于判断该样本向量的使用频率是否大于预设频率阈值;缓存库预填充模块,用于若该样本向量的使用频率大于预设频率阈值,则将kv缓存块预填充至图形处理器gpu的显存中,若该样本向量的使用频率小于或等于预设频率阈值,则将kv缓存块预填充至中央处理器cpu的内存中。

15、可选地,在本技术实施例中,预训练语言模型,包括:多个神经网络节点;模型推理装置,还包括:激活频次判断模块,用于针对多个神经网络节点中的每个神经网络节点,判断神经网络节点的激活频次是否大于预设频次阈值;网络节点填充模块,用于若神经网络节点的激活频次大于预设频次阈值,则将该神经网络节点预填充至gpu的显存中,若神经网络节点的激活频次小于或等于预设频次阈值,则将该神经网络节点预填充至cpu的内存中。

16、可选地,在本技术实施例中,推理结果获得模块,包括:节点缓存块获取子模块,用于从gpu的显存或者cpu的内存中获取神经网络节点和目标kv缓存块;激活频次判断子模块,用于判断神经网络节点的激活频次是否大于预设频次阈值;缓存块推理子模块,用于若神经网络节点的激活频次大于预设频次阈值,则通过gpu对目标kv缓存块进行推理,若神经网络节点的激活频次小于或等于预设频次阈值,通过cpu对目标kv缓存块进行推理。

17、可选地,在本技术实施例中,推理结果获得模块,包括:缓存块重新组装子模块,用于对待处理文本的多个目标kv缓存块进行重新组装,获得组装后的上下文kv缓存块;预训练模型推理子模块,用于通过预训练语言模型对组装后的上下文kv缓存块进行推理。

18、本技术实施例还提供了一种电子设备,包括:处理器和存储器,存储器存储有处理器可执行的机器可读指令,机器可读指令被处理器运行时执行上面描述的方法。

19、本技术实施例还提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,计算机程序被处理器运行时执行上面描述的方法。

20、本技术实施例还提供了一种计算机程序产品,包括:计算机程序或者计算机指令,计算机程序或者计算机指令被处理器运行时执行上面描述的方法。


技术特征:

1.一种模型推理方法,其特征在于,包括:

2.根据权利要求1所述的方法,其特征在于,所述根据该语义向量与预填充的kv缓存块中的key值之间的相似度值确定所述待处理文本的多个目标kv缓存块,包括:

3.根据权利要求1所述的方法,其特征在于,所述根据该语义向量与预填充的kv缓存块中的key值之间的相似度值确定所述待处理文本的多个目标kv缓存块,包括:

4.根据权利要求1所述的方法,其特征在于,在所述根据该语义向量与预填充的kv缓存块中的key值之间的相似度值确定所述待处理文本的多个目标kv缓存块之前,还包括:

5.根据权利要求4所述的方法,其特征在于,在所述根据该样本向量和该样本向量在所述多个样本向量的相对位置生成所述kv缓存块之后,还包括:

6.根据权利要求5所述的方法,其特征在于,所述预训练语言模型,包括:多个神经网络节点;在所述通过预训练语言模型对所述待处理文本的多个目标kv缓存块进行推理之前,还包括:

7.根据权利要求6所述的方法,其特征在于,所述通过预训练语言模型对所述待处理文本的多个目标kv缓存块进行推理,包括:

8.根据权利要求1-6任一所述的方法,其特征在于,所述通过预训练语言模型对所述待处理文本的多个目标kv缓存块进行推理,包括:

9.一种模型推理装置,其特征在于,包括:

10.一种电子设备,其特征在于,包括:处理器和存储器,所述存储器存储有所述处理器可执行的机器可读指令,所述机器可读指令被所述处理器运行时执行权利要求1至8任一所述的方法。

11.一种计算机可读存储介质,其特征在于,该计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器运行时执行权利要求1至8任一所述的方法。

12.一种计算机程序产品,其特征在于,包括:计算机程序或者计算机指令,所述计算机程序或者所述计算机指令被处理器运行时执行权利要求1至8任一所述的方法。


技术总结
本申请提供一种模型推理方法、装置及电子设备,该方法包括:将待处理文本划分为多个文本块;对多个文本块中的每个文本块进行向量化处理,获得多个语义向量;针对多个语义向量中的每个语义向量,根据该语义向量与预填充的KV缓存块中的Key值之间的相似度值确定待处理文本的多个目标KV缓存块;通过预训练语言模型对待处理文本的多个目标KV缓存块进行推理,获得推理结果。在上述方案的实现过程中,通过根据语义向量与预填充的KV缓存块中的Key值之间的相似度值,找到与待处理文本块意义相近的目标KV缓存块,有效地放宽了语义向量与Key值严格精确匹配的要求,从而有更大的概率实现KV缓存块的复用,有效地提高了缓存的命中率。

技术研发人员:朱帅
受保护的技术使用者:上海天数智芯半导体有限公司
技术研发日:
技术公布日:2024/12/17
转载请注明原文地址:https://xbbs.6miu.com/read-28656.html