适用于消费级显卡的快速大模型推理服务方法和系统

文档序号:37311594发布日期:2024-03-13 21:01阅读:27来源:国知局
适用于消费级显卡的快速大模型推理服务方法和系统

本发明涉及深度学习,具体地,涉及一种适用于消费级显卡的快速大模型推理服务方法和系统。


背景技术:

1、近年来,生成式大型语言模型(也称大模型)在写作、代码生成、自然语言处理等领域的技术突破,其为人们的生产生活造成了积极且深远的影响。由于大模型对内存空间和运算算力的较高要求,其通常部署在具有专业级显卡的服务器乃至数据中心,并为消费者提供模型的训练和推理服务。

2、大模型通常需要大量的内存来存储参数和计算中间结果。相对于服务器上专业级显卡而言,消费级显卡最显著的区别是其片上内存容量较小,单张显卡通常无法容纳完整的大模型参数,如4比特精度的opt-66b模型的大小达到40gb,已经远远现有高端显卡nvidia rtx 4090的内存容量。这使得大模型难以部署并运行在个人计算机平台上。

3、随着大模型的广泛应用,出于对数据隐私、模型自定义和成本的考量,越来越多的端侧平台尝试部署和使用大模型,特别是在配置有消费级显卡的个人计算机平台上。如何充分利用个人计算机平台的硬件体系特性,为用户提供较低延迟的大模型推理服务,成为了业内关注的重要技术问题。

4、现有的模型压缩方法如量化、蒸馏、剪枝等虽然能够有效缩减模型大小,但其输出仍难以完整置入消费级显卡的内存中。而模型卸载方法如flexgen和llama.cpp虽然能够将模型部署在cpu和gpu存储空间上,降低对gpu的资源要求,但是伴随着模型迁移,在gpu内存和cpu内存之间频繁的数据移动受限于较低的pcie带宽和cpu算力,严重阻碍了推理速度的进一步提升。原因之一是这些推理系统将模型视为密集模型,获取其中所有参数并进行完整计算流程,未能够充分利用模型稀疏性的特点。

5、专利文献cn112817730a公开了一种深度神经网络服务批处理调度方法、系统及gpu,所述深度神经网络服务批处理调度方法包括:构建包含多个批处理调度策略的批处理调度策略池;基于用户输入的服务质量要求信息和神经网络模型的类型确定对应的批处理调度策略,并配置所述确定的批处理调度策略;基于批处理调度策略的配置情况对所述神经网络模型执行服务调度。然而该专利无法完全解决目前存在的技术问题,也无法满足本发明的需求。


技术实现思路

1、针对现有技术中的缺陷,本发明的目的是提供一种适用于消费级显卡的快速大模型推理服务方法和系统。

2、根据本发明提供的适用于消费级显卡的快速大模型推理服务方法,包括:

3、神经元激活分析步骤:在启动大模型推理服务之前,使用通用数据集对预测器基线模型进行训练,获得神经元激活预测模型,以在推理阶段依据用户的输入预测神经元是否激活;

4、神经元分发策略求解步骤:依据神经元对模型运算的贡献大小,将模型中的神经元分类为静态神经元和动态神经元,在离线时期分别分发给gpu和cpu;结合每个神经元的激活频率、通信开销和处理单元的计算能力,为每个神经元定义一个影响因子,并建立一个整数线性规划模型,通过近似求解获得执行效率最大化的神经元分发策略,并依据该策略将神经元预载到对应存储器中;

5、cpu-gpu混合推理步骤:在大模型推理运算的过程中,cpu和gpu按照依赖关系异步执行各自神经元上已激活神经元的运算,最后同步合并运算结果;

6、神经元感知运算步骤:在cpu和gpu计算的过程中,根据神经元激活预测的结果,识别并跳过未激活神经元的计算。

7、优选地,所述神经元激活分析步骤包括:在保证预设预测正确率的情况下,为内部激活偏度较低者增加隐藏层数量,为内部激活偏度较高者减少隐藏层数量,从而降低预测模型空间占用。

8、优选地,所述神经元分发策略求解步骤包括:为cpu和gpu分别创建两个神经元查找表,在表中记录神经元的索引信息,从而跟踪由分发策略调度的神经元,并在后续运算中指导cpu和gpu按照预设正确的顺序协同稀疏计算和合并结果。

9、优选地,所述cpu-gpu混合推理步骤包括:通过构建有向无环图追踪推理过程中的计算操作及其依赖关系,并设置线程屏障协调cpu和gpu之间的数据流,在正确指导cpu和gpu之间协同计算的同时,利用选择性同步机制避免无依赖cpu空转。

10、优选地,所述神经元感知运算步骤包括:执行向量操作而非完整的矩阵操作,在执行运算之前先辨识该神经元的激活状态,跳过未激活神经元。

11、根据本发明提供的适用于消费级显卡的快速大模型推理服务系统,包括:

12、神经元激活分析模块:在启动大模型推理服务之前,使用通用数据集对预测器基线模型进行训练,获得神经元激活预测模型,以在推理阶段依据用户的输入预测神经元是否激活;

13、神经元分发策略求解模块:依据神经元对模型运算的贡献大小,将模型中的神经元分类为静态神经元和动态神经元,在离线时期分别分发给gpu和cpu;结合每个神经元的激活频率、通信开销和处理单元的计算能力,为每个神经元定义一个影响因子,并建立一个整数线性规划模型,通过近似求解获得执行效率最大化的神经元分发策略,并依据该策略将神经元预载到对应存储器中;

14、cpu-gpu混合推理模块:在大模型推理运算的过程中,cpu和gpu按照依赖关系异步执行各自神经元上已激活神经元的运算,最后同步合并运算结果;

15、神经元感知运算模块:在cpu和gpu计算的过程中,根据神经元激活预测的结果,识别并跳过未激活神经元的计算。

16、优选地,所述神经元激活分析模块包括:在保证预设预测正确率的情况下,为内部激活偏度较低者增加隐藏层数量,为内部激活偏度较高者减少隐藏层数量,从而降低预测模型空间占用。

17、优选地,所述神经元分发策略求解模块包括:为cpu和gpu分别创建两个神经元查找表,在表中记录神经元的索引信息,从而跟踪由分发策略调度的神经元,并在后续运算中指导cpu和gpu按照预设正确的顺序协同稀疏计算和合并结果。

18、优选地,所述cpu-gpu混合推理模块包括:通过构建有向无环图追踪推理过程中的计算操作及其依赖关系,并设置线程屏障协调cpu和gpu之间的数据流,在正确指导cpu和gpu之间协同计算的同时,利用选择性同步机制避免无依赖cpu空转。

19、优选地,所述神经元感知运算模块包括:执行向量操作而非完整的矩阵操作,在执行运算之前先辨识该神经元的激活状态,跳过未激活神经元。

20、与现有技术相比,本发明具有如下的有益效果:

21、(1)本发明通过选择性地向gpu卸载大模型运算负载,有效减少模型推理中对gpu内存资源的需求,使得大模型能够部署于消费级显卡上;

22、(2)本发明充分利用大神经元激活的特征,显著减少其推理过程的运算数量,极大降低了模型推理的响应延迟;

23、(3)本发明兼顾模型推理的运算速率和准确率,在提升推理服务性能的同时维持模型本身的准确率;

24、(4)本发明架构设计、技术点适用于类似的架构,有较好的普适性。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1