System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 用于大规模语言模型的推理加速方法、系统、终端及介质技术方案_技高网

用于大规模语言模型的推理加速方法、系统、终端及介质技术方案

技术编号:40463002 阅读:6 留言:0更新日期:2024-02-22 23:17
本发明专利技术公开了一种用于大规模语言模型的推理加速方法,包括:获取用户输入的待处理数据;将待处理数据转换为向量;采用FlashAttention技术对向量进行分块处理得到处理结果,将处理结果送SRAM中;将大规模语言模型的浮点数模型参数转化为定点数或低位宽度的整数表示。该方法提高了大规模语言模型的推理速度,即使面对庞大的模型结构和参数量,也能迅速地完成推理过程,为用户提供实时响应。提高了大规模语言模型推理的适应性,能够处理各种复杂场景下的推理请求。提高了大规模语言模型推理的效率,不仅仅是在单次推理上,在高并发、大数据量的场景下,模型推理的整体效率得到显著提升。

【技术实现步骤摘要】

本专利技术涉及计算机软件,具体涉及一种用于大规模语言模型的推理加速方法、系统、终端及介质


技术介绍

1、大规模语言模型(如gpt系列)在各种自然语言处理任务中表现出色,广泛应用于问答系统、聊天机器人、文本生成等领域。然而,随着模型规模的增加,模型的推理时间和计算资源成本也随之增加,给实际应用带来挑战。例如,当用户希望在实时场景中快速得到模型的回复或分析结果时,过长的推理时间可能导致用户体验下降。

2、当前主要的解决方法可归结为以下三类:模型剪枝、模型蒸馏和算法优化。

3、模型剪枝:模型剪枝方法通过去除模型中的一些不重要的参数或神经元,从而减小模型规模和推理时间。这类方法主要关注于找到那些对模型输出影响较小的参数,并将其删除。优点:能够有效减小模型规模,提高推理速度。缺点:过度剪枝可能导致模型性能下降,需要仔细权衡剪枝的程度。

4、模型蒸馏:模型蒸馏是一种训练小模型的方法,通过大模型的知识来指导小模型的学习。在此过程中,大模型充当“教师”,小模型充当“学生”。优点:得到的小模型具有较快的推理速度,同时尽量保留了大模型的性能。缺点:需要额外的训练过程,蒸馏的效果可能受到许多因素的影响。

5、算法优化:算法优化主要关注于改进模型的计算过程,提高计算效率。例如,利用更快的矩阵乘法算法或并行计算技术来加速模型的推理。优点:直接针对模型的计算过程,可以在不改变模型结构的前提下提高推理速度。缺点:对于某些模型或应用场景,优化的空间可能有限。

6、尽管现有技术在一定程度上加速了大规模语言模型的推理,但由于实际应用中的多样性和挑战性,研究和开发一种新的推理加速方法和系统仍然十分必要。


技术实现思路

1、针对现有技术中的缺陷,本专利技术提供的一种用于大规模语言模型的推理加速方法和系统,能提高大规模语言模型的推理速度、适应性和效率。

2、第一方面,本专利技术实施例提供的一种用于大规模语言模型的推理加速方法,包括:

3、获取用户输入的待处理数据;

4、将待处理数据转换为向量;

5、采用flashattention技术对所述向量进行分块处理得到处理结果,将所述处理结果送sram中;

6、将大规模语言模型的浮点数模型参数转化为定点数或低位宽度的整数表示。

7、可选地,所述采用flashattention技术对所述向量进行分块处理得到处理结果的具体方法包括:

8、将向量进行分块;

9、分别计算出每块向量的最大值;

10、将指数项与所述最大值逐元素相减得到第一函数;

11、把相减后得到的向量进行求和得到第二函数;

12、将第一函数除以第二函数得到子向量的归一化指数函数;

13、进行迭代计算,用子向量的归一化指数函数更新全局归一化指数函数,得到完整的向量计算结果。

14、可选地,将大规模语言模型的浮点数模型参数转化为定点数或低位宽度的整数表示的具体方法包括:

15、采用lazy batch-updates的方法对计算和内存访问进行平衡,将大规模语言模型权重的更新操作进行分块,每次处理一组权重。

16、第二方面,本专利技术实施例提供的一种用于大规模语言模型的推理加速系统,包括:数据获取模块、数据转换模块、注意力机制优化模块和模型量化模块,所述数据获取模块用于获取用户输入的待处理数据;

17、所述数据转换模块用于将待处理数据转换为向量;

18、所述注意力机制优化模块采用flashattention技术对所述向量进行分块处理得到处理结果,将所述处理结果送sram中;

19、所述模型量化模块用于将大规模语言模型的浮点数模型参数转化为定点数或低位宽度的整数表示。

20、可选地,注意力机制优化模块包括分块单元和计算单元,所述分块单元用于将向量进行分块;

21、所述计算单元用于分别计算出每块向量的最大值,将指数项与所述最大值逐元素相减得到第一函数,把相减后得到的向量进行求和得到第二函数,将第一函数除以第二函数得到子向量的归一化指数函数,进行迭代计算,用子向量的归一化指数函数更新全局归一化指数函数,得到完整的向量计算结果。

22、可选地,模型量化模块包括平衡单元和分组处理单元,所述平衡单元采用lazybatch-updates的方法对计算和内存访问进行平衡;

23、所述分组处理单元用于将大规模语言模型权重的更新操作进行分块,每次处理一组权重。

24、第三方面,本专利技术实施例提供的一种智能终端,包括处理器、输入设备、输出设备和存储器,所述处理器分别与输入设备、输出设备和存储器连接,所述存储器用于存储计算机程序,所述计算机程序包括程序指令,所述处理器被配置用于调用所述程序指令,执行上述实施例描述的方法。

25、第四方面,本专利技术实施例还提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令当被处理器执行时使所述处理器执行上述实施例描述的方法。

26、本专利技术的有益效果:

27、本专利技术实施例提供的一种用于大规模语言模型的推理加速方法,提高了大规模语言模型的推理速度,即使面对庞大的模型结构和参数量,也能迅速地完成推理过程,为用户提供实时响应。提高了大规模语言模型推理的适应性,能够处理各种复杂场景下的推理请求,包括在特定的硬件环境或资源限制下进行的推理。提高了大规模语言模型推理的效率,不仅仅是在单次推理上,在高并发、大数据量的场景下,模型推理的整体效率得到显著提升。

28、本专利技术实施例提供一种用于大规模语言模型的推理加速系统、终端和介质,与上述一种用于大规模语言模型的推理加速方法出于相同的专利技术构思,具有相同的有益效果。

本文档来自技高网...

【技术保护点】

1.一种用于大规模语言模型的推理加速方法,其特征在于,包括:

2.如权利要求1所述的方法,其特征在于,所述采用FlashAttention技术对所述向量进行分块处理得到处理结果的具体方法包括:

3.如权利要求1所述的方法,其特征在于,所述将大规模语言模型的浮点数模型参数转化为定点数或低位宽度的整数表示的具体方法包括:

4.一种用于大规模语言模型的推理加速系统,其特征在于,包括:数据获取模块、数据转换模块、注意力机制优化模块和模型量化模块,所述数据获取模块用于获取用户输入的待处理数据;

5.如权利要求4所述的系统,其特征在于,所述注意力机制优化模块包括分块单元和计算单元,所述分块单元用于将向量进行分块;

6.如权利要求4所述的系统,其特征在于,所述模型量化模块包括平衡单元和分组处理单元,所述平衡单元采用Lazy Batch-Updates的方法对计算和内存访问进行平衡;

7.一种智能终端,包括处理器、输入设备、输出设备和存储器,所述处理器分别与输入设备、输出设备和存储器连接,所述存储器用于存储计算机程序,所述计算机程序包括程序指令,其特征在于,所述处理器被配置用于调用所述程序指令,执行如权利要求1-3任一项所述的方法。

8.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令当被处理器执行时使所述处理器执行如权利要求1-3任一项所述的方法。

...

【技术特征摘要】

1.一种用于大规模语言模型的推理加速方法,其特征在于,包括:

2.如权利要求1所述的方法,其特征在于,所述采用flashattention技术对所述向量进行分块处理得到处理结果的具体方法包括:

3.如权利要求1所述的方法,其特征在于,所述将大规模语言模型的浮点数模型参数转化为定点数或低位宽度的整数表示的具体方法包括:

4.一种用于大规模语言模型的推理加速系统,其特征在于,包括:数据获取模块、数据转换模块、注意力机制优化模块和模型量化模块,所述数据获取模块用于获取用户输入的待处理数据;

5.如权利要求4所述的系统,其特征在于,所述注意力机制优化模块包括分块单元和计算单元,所述分块单元用于将向量进行分...

【专利技术属性】
技术研发人员:刘琛陈旭阳杨旭川
申请(专利权)人:重庆觉晓科技有限公司
类型:发明
国别省市:

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

1