一种对大模型进行结构化剪枝的端侧部署方法及装置与流程

摘要: 本申请涉及人工智能领域,尤其涉及一种对大模型进行结构化剪枝的端侧部署方法及装置。背景技术:1、随着大语言模型(llm)参数规模从百亿向千亿演进,其庞大的存储与计...
一种对大模型进行结构化剪枝的端侧部署方法及装置与流程

本申请涉及人工智能领域,尤其涉及一种对大模型进行结构化剪枝的端侧部署方法及装置。

背景技术:

1、随着大语言模型(llm)参数规模从百亿向千亿演进,其庞大的存储与计算开销已成为实际部署的核心瓶颈。在智能手机、边缘服务器、车载终端、iot设备等端侧场景中,内存容量通常仅4–12 gb,算力受限且无高端gpu支持,同时功耗敏感需保障续航。现有压缩技术往往将剪枝、量化、蒸馏孤立使用,剪枝后模型性能崩塌严重,需回炉重训;且未充分考虑模型内部参数的耦合依赖关系,导致实际部署时“压缩比高但精度不可接受”或“精度可接受但压缩比不足”的两难局面。

技术实现思路

1、本申请提供了一种对大模型进行结构化剪枝的端侧部署方法及装置,以解决现有大模型的压缩技术在实际部署时导致压缩比和精度不能兼顾的问题。

2、第一方面,本申请提供了一种对大模型进行结构化剪枝的端侧部署方法,包括:

3、遍历大语言模型的权重矩阵,识别神经元的单向依赖关系;基于所述单向依赖关系构建有向耦合关系图,将存在连通路径的神经元及对应的连接权重构建为不可拆分的耦合结构组;利用损失函数对所述连接权重的一阶梯度的波动程度,计算每个连接权重的二阶重要性得分,对同一耦合结构组内的全部连接权重的二阶重要性得分进行累加,得到结构组重要性评分;根据端侧设备的目标内存预算设定剪枝比例,按照所述结构组重要性评分裁剪所述耦合结构组,生成结构化稀疏模型。

4、在一可能的实施方式中,将所述结构化稀疏模型与剪枝前的原始模型在同一校准数据集上进行前向推理,并根据量模型输出分布之间的差异,确定所述结构化稀疏模型中的知识受损层;在所述知识受损层的全连接层注入可训练的新记忆单元,以重构前馈神经网络层的计算逻辑,完成对所述结构化稀疏模型的修复。

5、在一可能的实施方式中,所述新记忆单元包括:键向量kp、值向量vp和偏置项bp;

6、所述计算逻辑包括:

7、ffnp(q)=ffn(q)+ap×vp,

8、其中ap为新记忆单元基于输入查询q生成的激活值,ffn(q)为原始前馈神经网络层的输出。

9、在一可能的实施方式中,将修复后的所述结构化稀疏模型的权重转换为csr或csc稀疏矩阵格式,并将稀疏块大小与端侧设备npu支持的指令粒度进行对齐;根据端侧设备实时可用内存和当前电池电量的状态,将模型层划分为高频层和低频层,对低频层按照二次剪枝比例进行剪枝;当需要更新模型时,基于更新所述新记忆单元中的增量参数生成补丁包,并通过ota下发至端侧设备,以使所述端侧设备利用所述补丁包完成动态加载至对应前馈神经网络层完成更新。

10、在一可能的实施方式中,所述遍历大语言模型的权重矩阵,识别神经元的单向依赖关系,包括:

11、遍历大语言模型的权重矩阵,对于权重矩阵中的第i行和第j列元素wij:若第i行中除wij外其余元素均为0,则判定第i个神经元单向依赖第j个神经元;若第j列中除wij外其余元素均为0,则判定第j个神经元单向依赖第i个神经元。

12、在一可能的实施方式中,所述确定所述结构化稀疏模型中的知识受损层,包括:

13、计算剪枝后模型输出分布q与原始模型输出分布p之间的kl散度损失;对所述kl散度损失进行反向传播,计算剪枝后模型各前馈神经网络层的权重参数的梯度向量;将所述梯度向量的范数大于设定阈值的前馈神经网络层作为知识受损层。

14、在一可能的实施方式中,所述根据端侧设备实时可用内存和当前电池电量的状态,将模型层划分为高频层和低频层,对低频层按照二次剪枝比例进行剪枝,包括:

15、统计剪枝后模型各前馈神经网络层在验证集上的激活频率,将激活频率排名前20%的底层嵌入层和顶层归一化层划分为高频层,其余中间层划分为低频层;对低频层按照二次剪枝比例进行剪枝,使得低频层的稀疏度比高频层高出预设比例,其中,所述预设比例为20%-40%;推理引擎初始化时仅将高频层权重加载至ram,当推理流程执行至低频层时,通过内存映射mmap机制从闪存实时读取权重数据,并在计算完成后立即释放内存;监控端侧设备电池的当前电量,当所述当前电量小于第一阈值时,将低频层的二次剪枝比例临时提升至第二阈值,并跳过前馈神经网络层中所有激活值小于第三阈值的神经元。

16、在一可能的实施方式中,建立端侧设备的设备规格与剪枝配置的映射关系;在端侧设备部署所述模型时,根据所述端侧设备的,当前设备规格从所述映射关系中查询目标剪枝配置,并基于所述目标剪枝配置对所述模型进行剪枝处理,并将剪枝操作后的模型部署于所述端侧设备。

17、第二方面,本申请提供了一种对大模型进行结构化剪枝的端侧部署装置,包括:

18、识别模块,用于遍历大语言模型的权重矩阵,识别神经元的单向依赖关系;

19、构建模块,用于基于所述单向依赖关系构建有向耦合关系图,将存在连通路径的神经元及对应的连接权重构建为不可拆分的耦合结构组;

20、评分模块,用于利用损失函数对所述连接权重的一阶梯度的波动程度,计算每个连接权重的二阶重要性得分,对同一耦合结构组内的全部连接权重的二阶重要性得分进行累加,得到结构组重要性评分;

21、生成模块,用于根据端侧设备的目标内存预算设定剪枝比例,按照所述结构组重要性评分裁剪所述耦合结构组,生成结构化稀疏模型。

22、第三方面,本申请提供了一种计算机设备,包括:处理器和存储器,所述处理器用于执行所述存储器中存储的对大模型进行结构化剪枝的端侧部署程序,以实现上述第一方面中任一项所述的对大模型进行结构化剪枝的端侧部署方法。

23、第四方面,本申请提供了一种存储介质,所述存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现上述第四方面中任一项所述的对大模型进行结构化剪枝的端侧部署方法。

24、本申请提供的对大模型进行结构化剪枝的端侧部署方法,通过遍历大语言模型的权重矩阵,识别神经元的单向依赖关系;基于所述单向依赖关系构建有向耦合关系图,将存在连通路径的神经元及对应的连接权重构建为不可拆分的耦合结构组;利用损失函数对所述连接权重的一阶梯度的波动程度,计算每个连接权重的二阶重要性得分,对同一耦合结构组内的全部连接权重的二阶重要性得分进行累加,得到结构组重要性评分;根据端侧设备的目标内存预算设定剪枝比例,按照所述结构组重要性评分裁剪所述耦合结构组,生成结构化稀疏模型;通过识别神经元单向依赖关系构建不可拆分的耦合结构组,并基于结构组重要性评分进行剪枝,有效维持了模型内部计算逻辑的完整性,避免了传统剪枝方法因破坏神经元连通路径导致的输出质量劣化问题,具有能够保持模型计算逻辑完整性,避免因随意剪枝导致的功能失效,实现高稀疏度下维持模型精度的优点。

1.一种对大模型进行结构化剪枝的端侧部署方法,其特征在于,所述方法包括:

2.根据权利要求1所述的方法,所述方法还包括:

3.根据权利要求2所述的方法,

4.根据权利要求3所述的方法,所述方法还包括:

5.根据权利要求1所述的方法,所述遍历大语言模型的权重矩阵,识别神经元的单向依赖关系,包括:

6.根据权利要求2所述的方法,所述确定所述结构化稀疏模型中的知识受损层,包括:

7.根据权利要求4所述的方法,所述根据端侧设备实时可用内存和当前电池电量的状态,将模型层划分为高频层和低频层,对低频层按照二次剪枝比例进行剪枝,包括:

8.根据权利要求4所述的方法,在所述将修复后的所述结构化稀疏模型的权重转换为csr或csc稀疏矩阵格式,并将稀疏块大小与端侧设备npu支持的指令粒度进行对齐之后,所述方法还包括:

9.一种对大模型进行结构化剪枝的端侧部署装置,其特征在于,所述装置包括:

10.一种计算机设备,其特征在于,包括:处理器和存储器,所述处理器用于执行所述存储器中存储的对大模型进行结构化剪枝的端侧部署程序,以实现权利要求1—8中任一项所述的对大模型进行结构化剪枝的端侧部署方法。

11.一种存储介质,其特征在于,所述存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现权利要求1—8中任一项所述的对大模型进行结构化剪枝的端侧部署方法。