用于大语言模型的层压缩键值缓存方法、系统、设备及介质

专利2026-02-18  10


本申请涉及人工智能和软件,特别是涉及一种用于大语言模型的层压缩键值缓存方法、系统、设备及介质。


背景技术:

1、大语言模型(large language model,简称llm),也称大型语言模型,是一种基于机器学习和自然语言处理技术的深度学习模型。它通过对海量的文本数据进行训练,来学习理解并生成人类语言的能力。其核心思想是通过大规模的无监督训练来学习自然语言的模式和语言结构,这在一定程度上能够模拟人类的语言认知和生成过程。

2、高吞吐量和低延迟对于在实际应用中部署大语言模型至关重要。然而,由于大语言模型具有远大于一般模型的规模,其巨大内存消耗一直是一个主要瓶颈。在消耗内存的组件中,键值缓存(key-value cache)是最重要的部分之一,在部署过程中可占据gpu(图形处理器,graphics processing unit,简称gpu)内存的30%以上。键值缓存是一种存储机制,其中数据以键值对的形式进行存储和检索,每个键值对都由一个唯一的键(key)和一个与之相关联的值(value)组成。

3、大语言模型中,键值缓存用于在生成过程中存储模型中每层中的键和值,以避免重复计算,其gpu内存消耗与序列长度和模型层数成正比。因此,对于具有大量层数的大语言模型,在生成长序列、长文本的场景下,gpu内存消耗会非常大,导致其部署不得不使用较小的批大小,从而影响了大语言模型的推理吞吐量。在减少大语言模型中键值缓存的gpu内存消耗方面,大多数方法都侧重于通过减少缓存键值序列的长度来压缩键值缓存。这样的方法虽然可以减少gpu内存消耗,但往往会引入额外的计算开销,使得推理吞吐量的提升较为有限。


技术实现思路

1、鉴于以上所述现有技术的缺点,本申请的目的在于提供一种用于大语言模型的层压缩键值缓存方法、系统、设备及介质,用于解决现有技术中存在的技术问题。

2、为实现上述目的及其他相关目的,本申请提供一种用于大语言模型的层压缩键值缓存方法,包括以下步骤:

3、对大语言模型中每个神经网络层的注意力矩阵的对角线元素进行置零;

4、将所述大语言模型中的神经网络层分为模型底层、模型中间层和模型顶层,并对所述模型底层的网络结构、所述模型顶层的网络结构进行调整,以使所述模型底层的网络结构、所述模型顶层的网络结构均与预设网络结构相同;

5、对所述模型中间层进行调整,以使所述模型中间层在计算注意力矩阵时只使用模型中间层顶层的键值。

6、于本申请的一实施例中,对所述模型中间层进行调整后,所述方法还包括:

7、将完成模型中间层调整后的大语言模型记为大语言模型变体;

8、将训练样本中所有的词输入至所述大语言模型变体中进行并行迭代计算,并使用任意固定键值作为首次迭代的键值,当迭代次数达到预设迭代次数时结束,得到一个计算图;

9、对所述计算图进行梯度反向传播,并将梯度计算结果用于更新大语言模型变体的参数,以完成一个训练样本的训练;

10、在对所有训练样本完成训练后,输出训练后的大语言模型变体。

11、于本申请的一实施例中,在输出训练后的大语言模型变体后,所述方法还包括:

12、获取预先或实时输入的提示信息;

13、按照所述大语言模型变体对应的并行迭代训练方式进行迭代推理,得到所述提示信息中所有词的表示和键值缓存。

14、于本申请的一实施例中,对所述模型中间层进行调整的过程包括:

15、将所述模型中间层分为中间层顶层和中间层其他层;

16、不计算和缓存所述中间层其它层的键值,只计算和缓存中间层顶层的键值;以及,

17、不保留所述中间层其它层用于计算键值的参数,只保留中间层顶层用于计算键值的参数。

18、于本申请的一实施例中,使用任意固定键值作为首次迭代的键值时,所述方法还包括:

19、将全零张量作为固定键值;以及,

20、在反向传播过程中,梯度仅传播至最后预设次迭代的位置。

21、于本申请的一实施例中,所述预设迭代次数基于所述训练样本的序列长度进行确定,或者所述预设迭代次数为固定常数。

22、于本申请的一实施例中,所述预设网络结构包括基于transformer网络结构进行确定。

23、本申请还提供一种用于大语言模型的层压缩键值缓存系统,所述系统包括有:

24、注意力置零模块,用于对大语言模型中每个神经网络层的注意力矩阵的对角线元素进行置零;

25、第一调整模块,用于将所述大语言模型中的神经网络层分为模型底层、模型中间层和模型顶层,并对所述模型底层的网络结构、所述模型顶层的网络结构进行调整,以使所述模型底层的网络结构、所述模型顶层的网络结构均与预设网络结构相同;

26、第二调整模块,用于对所述模型中间层进行调整,以使所述模型中间层在计算注意力矩阵时只使用模型中间层顶层的键值。

27、本申请还提供一种计算机设备,包括:

28、处理器;

29、以及,存储有指令的计算机可读介质,当所述处理器执行所述指令时,使得所述设备执行如上述中任一所述的用于大语言模型的层压缩键值缓存方法。

30、本申请还提供一种计算机可读介质,其上存储有指令,所述指令由处理器加载并执行如上述中任一所述的用于大语言模型的层压缩键值缓存方法。

31、如上所述,本申请提供一种用于大语言模型的层压缩键值缓存方法、系统、设备及介质,具有以下有益效果:本申请首先对大语言模型中每个神经网络层的注意力矩阵的对角线元素进行置零;然后将大语言模型中的神经网络层分为模型底层、模型中间层和模型顶层,并对模型底层的网络结构、模型顶层的网络结构进行调整,以使模型底层的网络结构、模型顶层的网络结构均与预设网络结构相同;再对模型中间层进行调整,以使模型中间层在计算注意力矩阵时只使用模型中间层顶层的键值。由此可知,在大语言模型中,本申请通过对键值缓存进行层压缩,只需要计算和缓存少量层的键值,在不引入额外计算开销的情况下,能够大大地节省gpu内存消耗,有效提高了大语言模型的推理吞吐量。



技术特征:

1.一种用于大语言模型的层压缩键值缓存方法,其特征在于,所述方法包括以下步骤:

2.根据权利要求1所述的用于大语言模型的层压缩键值缓存方法,其特征在于,对所述模型中间层进行调整后,所述方法还包括:

3.根据权利要求2所述的用于大语言模型的层压缩键值缓存方法,其特征在于,在输出训练后的大语言模型变体后,所述方法还包括:

4.根据权利要求2所述的用于大语言模型的层压缩键值缓存方法,其特征在于,对所述模型中间层进行调整的过程包括:

5.根据权利要求2所述的用于大语言模型的层压缩键值缓存方法,其特征在于,使用任意固定键值作为首次迭代的键值时,所述方法还包括:

6.根据权利要求2所述的用于大语言模型的层压缩键值缓存方法,其特征在于,所述预设迭代次数基于所述训练样本的序列长度进行确定,或者所述预设迭代次数为固定常数。

7.根据权利要求1至6中任一所述的用于大语言模型的层压缩键值缓存方法,其特征在于,所述预设网络结构包括基于transformer网络结构进行确定。

8.一种用于大语言模型的层压缩键值缓存系统,其特征在于,所述系统包括有:

9.一种计算机设备,其特征在于,包括:

10.一种计算机可读介质,其特征在于,其上存储有指令,所述指令由处理器加载并执行如权利要求1至7中任意一项所述的用于大语言模型的层压缩键值缓存方法。


技术总结
本申请提供一种用于大语言模型的层压缩键值缓存方法、系统、设备及介质,该方法包括:对大语言模型中每个神经网络层的注意力矩阵的对角线元素进行置零;然后将大语言模型中的神经网络层分为模型底层、模型中间层和模型顶层,并对模型底层的网络结构、模型顶层的网络结构进行调整,以使模型底层的网络结构、模型顶层的网络结构均与预设网络结构相同;再对模型中间层进行调整,以使模型中间层在计算注意力矩阵时只使用模型中间层顶层的键值。由此可知,在大语言模型中,本申请通过对键值缓存进行层压缩,只需要计算和缓存少量层的键值,在不引入额外计算开销的情况下,能够大大地节省GPU内存消耗,有效提高了大语言模型的推理吞吐量。

技术研发人员:屠可伟,吴昊一
受保护的技术使用者:上海科技大学
技术研发日:
技术公布日:2024/6/26
转载请注明原文地址:https://doc.8miu.com/read-1827783.html

最新回复(0)