System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 基于键值矩阵缓存的模型推理方法及装置、介质制造方法及图纸_技高网
当前位置: 首页 > 专利查询>清华大学专利>正文

基于键值矩阵缓存的模型推理方法及装置、介质制造方法及图纸

技术编号:41364812 阅读:12 留言:0更新日期:2024-05-20 10:13
本公开涉及人工智能技术领域,尤其涉及一种基于键值矩阵缓存的模型推理方法及装置、介质,模型推理方法包括根据输入文本确定出输入特征矩阵,并将根据输入特征矩阵、第一权重矩阵、第二权重矩阵和编码矩阵计算得到的第一价值矩阵、键值矩阵中的键值矩阵缓存;根据键值矩阵、编码矩阵、第一权重矩阵、第二权重矩阵计算得到第二价值矩阵和注意力权重矩阵,并根据第二价值矩阵和注意力权重矩阵确定出与输入文本匹配的输出文本。根据本公开实施例的基于键值矩阵缓存的模型推理方法及装置、介质能够显著降低KV缓存的显存占用,有助于提升生成式大语言模型的计算效率和性能。

【技术实现步骤摘要】

本公开涉及人工智能,尤其涉及一种基于键值矩阵缓存的模型推理方法及装置、介质


技术介绍

1、随着人工智能技术的不断发展,生成式大语言模型(简称大模型)作为其中的重要分支,已经引起了广泛的关注和应用。生成式大语言模型在对话问答、文本生成、语言翻译等各类语言任务上展现出优越的性能。然而,在生成式大语言模型的推理过程中,显存占用一直是部署的瓶颈之一。

2、生成式大语言模型的推理过程包含两个阶段,分别为预填充(prefill)阶段和解码(decode)阶段。在预填充阶段,输入的文本经过生成式大语言模型处理后,会生成一个令牌token作为解码阶段的输入,并且保存输入的文本的键值(keys,也称为“键”)和价值(values,也称为“值”)在kv缓存(kv cache)中。在之后的解码阶段,也会不断把新生成的token的键值(keys)和价值(values)拼接在已有的kv缓存之后。由此,kv缓存需要一定的存储空间。并且,相关数据表明,对于1个7b的生成式大语言模型而言,在输入文本和生成token数总和为32k时,kv缓存所占据的图形处理器(graphics processing unit,gpu)显存为16gb,已经超过了生成式大语言模型参数所占据的12.5gb显存。

3、相关技术中,降低kv缓存显存占用的方法主要有以下几类:

4、第一类,采用分布式方案。该类方法是将kv缓存的存储按照不同注意力头分配到多个gpu上,可以避免单个gpu上存储不够的问题,但是该类方法在本质上并没有减少kv缓存的显存占用总量,反而增加了gpu的数量。

5、第二类,采用对kv缓存进行量化的方案。该类方法实现了在算法层面上对低比特kv缓存存储的支持,但是,目前针对长文本或者长输出的场景,尚未被证明有效,同时,由于量化算法是有损的,该类方法一定会使最终输出的文本精度有所损失。

6、第三类,采用近似算法的方案。例如流式大语言模型(streamingllm),该类方法为了支持无限长输出,streamingllm在窗口注意力算法的基础上进行改进,只保留部分kv缓存用于解码阶段,然而,这并不能拓展至预填充阶段,另外,还有很多近似注意力机制采用直接去除kv缓存的方式,但是这些近似算法同样会遭遇精度问题,也不能直接应用到预训练好的生成式大语言模型上。

7、因此,如何降低kv缓存的显存占用成为部署生成式大语言模型的关键之一。


技术实现思路

1、有鉴于此,本公开提出了一种基于键值矩阵缓存的模型推理方法及装置、介质,能够显著降低kv缓存的显存占用,有助于提升生成式大语言模型的计算效率和性能。

2、根据本公开的一方面,提供了一种基于键值矩阵缓存的模型推理方法,所述方法利用生成式大语言模型执行语言任务,执行语言任务的步骤包括:根据输入文本确定出输入特征矩阵,并将根据所述输入特征矩阵、第一权重矩阵、第二权重矩阵和编码矩阵计算得到的第一价值矩阵、键值矩阵中的键值矩阵缓存,其中,所述第一价值矩阵包括针对所述输入文本的多个第一价值,所述键值矩阵包括针对所述输入文本的多个键值,所述编码矩阵用于进行位置编码;根据所述键值矩阵、所述编码矩阵、所述第一权重矩阵、所述第二权重矩阵计算得到第二价值矩阵和注意力权重矩阵,并根据所述第二价值矩阵和所述注意力权重矩阵确定出与所述输入文本匹配的输出文本,其中,所述第二价值矩阵包括针对所述输入文本的多个第二价值;其中,所述第一权重矩阵包括针对所述键值矩阵的多个权重值,所述第二权重矩阵包括针对所述第一价值矩阵和所述第二价值矩阵的多个权重值。

3、这样,通过根据输入文本确定出输入特征矩阵,并将根据输入特征矩阵、第一权重矩阵、第二权重矩阵和编码矩阵计算得到的第一价值矩阵、键值矩阵中的键值矩阵缓存,其中,第一价值矩阵包括针对输入文本的多个第一价值,键值矩阵包括针对输入文本的多个键值,通过根据键值矩阵、编码矩阵、第一权重矩阵、第二权重矩阵计算得到第二价值矩阵和注意力权重矩阵,并根据第二价值矩阵和注意力权重矩阵确定出与输入文本匹配的输出文本,其中,编码矩阵用于进行位置编码,第二价值矩阵包括针对输入文本的多个第二价值。这样,通过在大模型的推理过程的预填充阶段仅保存键值矩阵即k cache(键值矩阵缓存)而不保存v cache(价值缓存),并在大模型的推理过程的解码过程中通过重计算的方式重建v cache,能够保证数学等价性的基础上,显著降低kv缓存的显存占用,有助于提升生成式大语言模型的计算效率和性能。

4、在一种可能实现方式中,所述根据所述键值矩阵、所述编码矩阵、所述第一权重矩阵、所述第二权重矩阵计算得到第二价值矩阵和注意力权重矩阵,并根据所述第二价值矩阵和所述注意力权重矩阵确定出与所述输入文本匹配的输出文本,包括:根据所述键值矩阵、所述编码矩阵、所述第一权重矩阵、所述第二权重矩阵进行计算,得到所述第二价值矩阵;根据查询信息矩阵和所述键值矩阵进行计算,得到注意力权重矩阵;根据所述第二价值矩阵和所述注意力权重矩阵进行计算,确定出所述输出文本。

5、这样,通过使用键值矩阵、编码矩阵、第一权重矩阵和第二权重矩阵进行计算,能够快速而准确地生成第二价值矩阵,这种方式对于处理大量文本数据特别有效,因为它可以在不牺牲精度的前提下,显著提高处理速度,并且通过根据查询信息矩阵和键值矩阵计算注意力权重矩阵,能够实现一种精确的注意力机制,使得生成式大语言模型能够在生成输出文本时,更加关注与查询信息最相关的部分,从而提高输出文本的准确性和相关性,使得模型能够适应多种不同的文本生成任务,如机器翻译、文本摘要、对话生成等,该实现方式通过结合多个矩阵和权重进行计算,实现了高效的文本处理、精确的注意力机制、灵活的输出文本生成以及增强的可解释性。

6、在一种可能实现方式中,所述根据所述键值矩阵、所述编码矩阵、所述第一权重矩阵、所述第二权重矩阵进行计算,得到所述第二价值矩阵,包括:根据所述键值矩阵、所述编码矩阵的逆矩阵、所述第一权重矩阵的转置矩阵的逆矩阵、所述第二权重矩阵的转置矩阵进行乘法运算,得到所述第二价值矩阵;以及所述根据查询信息矩阵和所述键值矩阵进行计算,得到注意力权重矩阵,包括:根据所述查询信息矩阵、所述键值矩阵的转置矩阵进行乘法运算,得到所述注意力权重矩阵;以及所述根据所述第二价值矩阵和所述注意力权重矩阵进行计算,确定出所述输出文本,包括:根据所述注意力权重矩阵、所述第二价值矩阵进行乘法运算,得到输出矩阵;根据所述输出矩阵确定出所述输出文本。

7、这样,通过使用矩阵的逆、转置以及乘法运算,能够精确地计算出第二价值矩阵、注意力权重矩阵以及输出文本,这种计算方式不仅精确,而且非常高效,能够快速处理大量数据,满足实时性要求较高的应用场景;通过查询信息矩阵与键值矩阵的转置矩阵进行乘法运算,得到注意力权重矩阵,这一过程实现了注意力机制的优化,这种优化使得模型在生成输出文本时,能够更准确地捕捉到输入文本中与查询信息最相关的部分,从而提高生成文本的准确性和本文档来自技高网...

【技术保护点】

1.一种基于键值矩阵缓存的模型推理方法,其特征在于,所述方法利用生成式大语言模型执行语言任务,执行语言任务的步骤包括:

2.根据权利要求1所述的方法,其特征在于,所述根据所述键值矩阵、所述编码矩阵、所述第一权重矩阵、所述第二权重矩阵计算得到第二价值矩阵和注意力权重矩阵,并根据所述第二价值矩阵和所述注意力权重矩阵确定出与所述输入文本匹配的输出文本,包括:

3.根据权利要求2所述的方法,其特征在于,所述根据所述键值矩阵、所述编码矩阵、所述第一权重矩阵、所述第二权重矩阵进行计算,得到所述第二价值矩阵,包括:根据所述键值矩阵、所述编码矩阵的逆矩阵、所述第一权重矩阵的转置矩阵的逆矩阵、所述第二权重矩阵的转置矩阵进行乘法运算,得到所述第二价值矩阵;以及

4.根据权利要求1所述的方法,其特征在于,所述根据所述键值矩阵、所述编码矩阵、所述第一权重矩阵、所述第二权重矩阵计算得到第二价值矩阵和注意力权重矩阵,并根据所述第二价值矩阵和所述注意力权重矩阵确定出与所述输入文本匹配的输出文本,包括:

5.根据权利要求4所述的方法,其特征在于,所述根据所述键值矩阵、所述编码矩阵、所述第一权重矩阵、所述第二权重矩阵进行隐式计算,得到输出矩阵,包括:在所述生成式大语言模型的各注意力模块中执行以下步骤:

6.一种基于键值矩阵缓存的模型推理装置,其特征在于,所述装置利用生成式大语言模型执行语言任务,所述装置通过第一计算模块和第二计算模块执行语言任务:

7.根据权利要求6所述的装置,其特征在于,所述根据所述键值矩阵、所述编码矩阵、所述第一权重矩阵、所述第二权重矩阵计算得到第二价值矩阵和注意力权重矩阵,并根据所述第二价值矩阵和所述注意力权重矩阵确定出与所述输入文本匹配的输出文本,包括:

8.根据权利要求6所述的装置,其特征在于,所述根据所述键值矩阵、所述编码矩阵、所述第一权重矩阵、所述第二权重矩阵计算得到第二价值矩阵和注意力权重矩阵,并根据所述第二价值矩阵和所述注意力权重矩阵确定出与所述输入文本匹配的输出文本,包括:

9.一种基于键值矩阵缓存的模型推理装置,其特征在于,包括:

10.一种非易失性计算机可读存储介质,其上存储有计算机程序指令,其特征在于,所述计算机程序指令被处理器执行时实现权利要求1至5中任意一项所述的方法。

...

【技术特征摘要】

1.一种基于键值矩阵缓存的模型推理方法,其特征在于,所述方法利用生成式大语言模型执行语言任务,执行语言任务的步骤包括:

2.根据权利要求1所述的方法,其特征在于,所述根据所述键值矩阵、所述编码矩阵、所述第一权重矩阵、所述第二权重矩阵计算得到第二价值矩阵和注意力权重矩阵,并根据所述第二价值矩阵和所述注意力权重矩阵确定出与所述输入文本匹配的输出文本,包括:

3.根据权利要求2所述的方法,其特征在于,所述根据所述键值矩阵、所述编码矩阵、所述第一权重矩阵、所述第二权重矩阵进行计算,得到所述第二价值矩阵,包括:根据所述键值矩阵、所述编码矩阵的逆矩阵、所述第一权重矩阵的转置矩阵的逆矩阵、所述第二权重矩阵的转置矩阵进行乘法运算,得到所述第二价值矩阵;以及

4.根据权利要求1所述的方法,其特征在于,所述根据所述键值矩阵、所述编码矩阵、所述第一权重矩阵、所述第二权重矩阵计算得到第二价值矩阵和注意力权重矩阵,并根据所述第二价值矩阵和所述注意力权重矩阵确定出与所述输入文本匹配的输出文本,包括:

5.根据权利要求4所述的方法,其特征在于,所述根据所述键值矩阵、所述编码矩阵、...

【专利技术属性】
技术研发人员:汪玉洪可毛秋力
申请(专利权)人:清华大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1