技术新讯 > 计算推算,计数设备的制造及其应用技术 > 基于中间层解码的大语言模型加速处理方法、装置与流程  >  正文

基于中间层解码的大语言模型加速处理方法、装置与流程

  • 国知局
  • 2024-07-31 22:45:26

本申请涉及大语言模型,例如涉及一种基于中间层解码的大语言模型加速处理方法、装置。

背景技术:

1、大语言模型在各种自然语言任务中取得了卓越的性能,然而,由于模型的巨大规模,它们的推理速度缓慢且计算成本昂贵。

2、为了解决这个问题,已经有一些方法被提出。例如,现有的文本解码的方法通过搭建文本向量知识库,在自回归解码过程中检索相似文本片段,使用并行解码再验证的策略,加速大语言模型的推理过程,然而,该方法只适用于检索增强的生成场景;另如基于推测解码的方法,通过构建一个高效的推测模型,先使用推测模型自回归解码生成推测tokens,然后输入原模型进行一次并行推理处理,再进行验证,以保证生成结果和原模型的一致性。虽然该方法适用于更多的生成场景,但由于引入了推测模型,会带来额外的内存占用,使得在硬件资源受限场景中部署困难。

3、需要说明的是,在上述背景技术部分公开的信息仅用于加强对本申请的背景的理解,因此可以包括不构成对本领域普通技术人员已知的现有技术的信息。

技术实现思路

1、为了对披露的实施例的一些方面有基本的理解,下面给出了简单的概括。所述概括不是泛泛评述,也不是要确定关键/重要组成元素或描绘这些实施例的保护范围,而是作为后面的详细说明的序言。

2、本公开实施例提供的基于中间层解码的大语言模型加速处理方法,该方法包括:

3、选取llama2-7b模型作为预训练的大语言模型,选择与最后一层满足预设选取条件的中间层作为目标中间层,在目标中间层中增加一个loss分支,与最后一层的loss相加作为整体loss;

4、输入tokens首先经过prefill阶段产生第一个token输出;

5、在decoding阶段,每个token由中间层产生,产生的token输入所述预训练的大语言模型用于生成下一个token,中间层之后的层继续进行计算,直到最后一层产生token输出,这个token代表大语言模型原本的高质量输出;

6、将中间层产生的token与最后一层产生的token进行比较,如果两个token相同,则将该token加入生成的文本序列中;如果不同,则中断下一个token的生成过程,重新将最后一层产生的token输入到模型中预测下一个token。

7、在一些实施例中,在目标中间层中增加一个loss分支,与最后一层的loss相加作为整体loss,包括:

8、在目标中间层中增加的loss分支输出经过最后的rmsnorm层和head层,与最后一层的loss相加作为整体loss,其中,rmsnorm层和head层的参数共享,模型不会引入新的参数。

9、在一些实施例中,满足预设选取条件的中间层为满足token生成质量和生成速度的平衡条件,以达到大语言模型推理的整体最优加速比的中间层。

10、在一些实施例中,该方法还包括:

11、使用llama-factory框架对所述预训练的大语言模型进行调整,调整参数和训练过程采用full-sft全参数监督微调的默认设置。

12、本公开实施例提供的基于中间层解码的大语言模型加速处理装置,该装置包括:

13、配置模块,用于选取llama2-7b模型作为预训练的大语言模型,选择与最后一层满足预设选取条件的中间层作为目标中间层,在目标中间层中增加一个loss分支,与最后一层的loss相加作为整体loss;

14、配置模块,还用于输入tokens首先经过prefill阶段产生第一个token输出;

15、配置模块,还用于在decoding阶段,每个token由中间层产生,产生的token输入所述预训练的大语言模型用于生成下一个token,中间层之后的层继续进行计算,直到最后一层产生token输出,这个token代表大语言模型原本的高质量输出;

16、比较模块,用于将中间层产生的token与最后一层产生的token进行比较,如果两个token相同,则将该token加入生成的文本序列中;如果不同,则中断下一个token的生成过程,重新将最后一层产生的token输入到模型中预测下一个token。

17、在一些实施例中,在目标中间层中增加一个loss分支,与最后一层的loss相加作为整体loss,包括:

18、在目标中间层中增加的loss分支输出经过最后的rmsnorm层和head层,与最后一层的loss相加作为整体loss,其中,rmsnorm层和head层的参数共享,整个模型不会引入新的参数。

19、在一些实施例中,满足预设选取条件的中间层为满足token生成质量和生成速度的平衡条件,以达到大语言模型推理的整体最优加速比的中间层。

20、在一些实施例中,配置模块,还用于使用llama-factory框架对所述预训练的大语言模型进行调整。

21、本公开实施例提供的基于中间层解码的大语言模型加速处理方法、装置,可以实现以下技术效果:

22、通过在中间层生成token并提前进入下一步的计算,可以大大减少每个token生成的延迟,从而加速推理处理计算过程。

23、通过比较中间层与最后一层的token输出,确保生成的文本质量与传统方法一致。如果中间层输出质量不高,系统会自动使用最后一层的高质量输出,避免生成低质量文本。

24、而且相比基于推测解码的方法,本发明不需要引入额外的推测模型,减少了内存和计算资源的占用,适合在硬件资源受限的环境中部署。

25、以上的总体描述和下文中的描述仅是示例性和解释性的,不用于限制本申请。

技术特征:

1.一种基于中间层解码的大语言模型加速处理方法,其特征在于,所述方法包括:

2.根据权利要求1所述的方法,其特征在于,在目标中间层中增加一个loss分支,与最后一层的loss相加作为整体loss,包括:

3.根据权利要求1所述的方法,其特征在于,满足预设选取条件的中间层为满足token生成质量和生成速度的平衡条件,以达到大语言模型推理的整体最优加速比的中间层。

4.根据权利要求1所述的方法,其特征在于,所述方法还包括:

5.一种基于中间层解码的大语言模型加速处理装置,其特征在于,所述装置包括:

6.根据权利要求5所述的装置,其特征在于,在目标中间层中增加一个loss分支,与最后一层的loss相加作为整体loss,包括:

7.根据权利要求5所述的装置,其特征在于,满足预设选取条件的中间层为满足token生成质量和生成速度的平衡条件,以达到大语言模型推理的整体最优加速比的中间层。

8.根据权利要求5所述的装置,其特征在于,所述配置模块,还用于使用llama-factory框架对所述预训练的大语言模型进行调整。

技术总结本申请涉及大语言模型技术领域,公开了一种基于中间层解码的大语言模型加速处理方法、装置,通过选取LLaMA2‑7B模型作为预训练的大语言模型,增加一个与最后一层Loss相加的中间层Loss分支,中间层能够获得接近最后一层的生成能力。在处理过程中,每个Token由中间层生成,并与最后一层的高质量输出Token进行比较验证,确保生成文本的质量。如果中间层生成的Token与最后一层相同,则加入生成文本序列;如果不同,则重新生成Token。该方法能够提前进入解码计算,减少生成延迟,加速处理过程,同时能够避免引入额外的推测模型,降低内存和计算资源占用,适用于硬件资源受限的环境。技术研发人员:仝其胜,陈其宾,姜凯,李锐受保护的技术使用者:山东浪潮科学研究院有限公司技术研发日:技术公布日:2024/7/29

本文地址:https://www.jishuxx.com/zhuanli/20240730/194437.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 YYfuon@163.com 举报,一经查实,本站将立刻删除。