大语言模型的结构化层剪枝方法及系统与流程
本发明属于人工智能,具体涉及一种由电子设备执行的大语言模型的结构化层剪枝方法及系统。
背景技术:
1、大语言模型通常由数十至上百个transformer层堆叠而成,其参数量和推理计算量较大。在部署阶段,完整模型对存储空间、显存容量和计算吞吐提出较高要求。模型压缩技术通过减少冗余参数或结构来降低部署成本,其中层剪枝通过移除部分transformer层实现结构化压缩。
2、已有结构化层剪枝方法可以根据层输出、梯度、损失扰动、路由记录或层间相似度评价transformer层,并按照评价结果删除部分层。不同方法对边界层、代表层及目标删除数量采用的限制不同。
3、在仅对全部层进行统一排序的实现中,排序结果可能集中删除同一连续区域中的多个层。若没有对连续区域的边界层和代表层设置明确保护规则,则最终模型结构取决于排序结果,难以在剪枝前验证每一连续区域至少保留哪些层。
4、因此,需要一种能够从模型权重取得连续层簇群、形成确定的保护层集合和可删除层集合,并按照可行目标删除层数实际更新模型层序及参数张量的结构化剪枝方法。
技术实现思路
1、本发明要解决的技术问题是:在电子设备执行大语言模型结构化层剪枝时,如何把层间权重相似度转换为确定的层保护规则和删除顺序,并使目标删除层数、删除后的模型结构以及减少的参数张量均可在剪枝执行前后直接核验。本发明根据层间相似度矩阵确定连续层簇群,利用簇内平均相似度和层到簇群边界的归一化距离计算冗余度评分,并将边界层和中心代表层排除在可删除层集合之外。
2、为了达到上述目的,本申请采用的技术方案为:一种在包括处理器、存储器以及至少一个gpu计算单元的电子设备上执行的大语言模型结构化层剪枝方法,包括以下步骤。
3、从所述存储器读取预训练大语言模型各transformer层中同一类型的权重矩阵,采用相同的矩阵相似度计算规则对各层进行两两比较,并按照层号排列所得相似度值,构建层间相似度矩阵;
4、沿所述层间相似度矩阵的主对角线逐层移动预设阶数的方形窗口,计算各窗口中除主对角线元素以外的元素平均值,根据相邻窗口平均值的变化确定层簇群边界,并据此将全部transformer层划分为若干连续层簇群;
5、对于每个层簇群中的各层,计算该层与同一层簇群中其他层的平均相似度,并根据该层分别到层簇群两侧边界的层号距离计算归一化边界距离;将所述平均相似度与归一化边界距离按照预设的两个非负权重加权求和,得到该层的冗余度评分,其中两个权重之和为一;选择平均相似度最大的层作为该层簇群的中心代表层;
6、将每个层簇群的起始层、终止层和中心代表层以及整个模型的首层和末层确定为保护层,将其余层确定为可删除层;将预设删除比例与模型总层数的乘积向下取整,得到目标删除层数;当目标删除层数不大于全部可删除层的数量时,按照冗余度评分由高到低排列全部可删除层,在评分相同时按照层号由小到大排列,选择排序在前的相应数量层作为目标删除层;当目标删除层数大于全部可删除层的数量时,输出目标删除层数不可行状态并停止剪枝;
7、从预训练大语言模型的层序列中删除所述目标删除层,以恒等映射将每个被删除层的输入传递至其后一保留层,更新模型配置中的层数、保留层顺序和参数键映射,在所述gpu计算单元上对更新后的模型进行恢复训练,并将恢复训练后的剪枝模型写入所述存储器。删除操作不仅产生层编号列表,还从模型参数状态中删除目标层对应的参数张量,修改模型配置中的层总数和层号映射,使剪枝结果形成可由推理程序加载的模型文件。
8、进一步的,所述层间权重相似度获取优选采用基于余弦相似度分布的度量方法:对于任意两个transformer层的同类型权重矩阵,计算列向量间余弦相似度,对两个方向分别取得的最大绝对值集合进行gumbel分布拟合,再将两个方向的位置参数取算术平均值,作为所述两个transformer层之间的相似度值。
9、进一步的,所述边界检测阈值可采用自适应确定方法:计算全部相邻窗口平均相似度差值的均值和标准差,并将二者之和作为边界检测阈值。
10、进一步的,所述s3中,冗余度评分越高表示该层更接近同簇群内其他层且相对远离边界保护层,因而可优先作为候选剪枝层;代表层用于保证每个层簇群至少保留一个功能承载层。
11、连续删除多层时,仍由前一保留层的输出直接作为后一保留层的输入,不额外插入改变剪枝参数量的投影层。
12、恢复训练使用预设校准数据和固定验证集。开始恢复训练前保存初始剪枝模型;训练过程中按照固定间隔计算验证损失并保存验证损失最低的检查点。恢复训练步数、批次大小和学习率作为配置参数写入训练记录。
13、第二方面,本发明提供一种大语言模型结构化层剪枝系统,包括处理器、至少一个gpu计算单元、与所述处理器和gpu计算单元连接的存储器,以及存储在所述存储器中并由所述处理器执行的层间相似度获取模块、层簇群识别模块、冗余度评估模块、结构化剪枝模块和恢复微调模块。
14、第三方面,本发明提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序指令,所述计算机程序指令被处理器执行时,使所述处理器执行本发明所述方法的步骤。
15、第四方面,本发明提供一种电子设备,包括存储器、处理器以及至少一个gpu计算单元,所述存储器存储有可由所述处理器执行的计算机程序指令,其中,当所述计算机程序指令被所述处理器执行时,触发所述电子设备执行本发明所述方法的步骤。
16、与仅输出层重要性排序的方案相比,本发明产生保护层集合、可删除层集合和确定数量的目标删除层。目标删除层数在执行前与可删除层数量比较,因而不会为满足删除比例而删除保护层。删除完成后,模型的transformer层数等于原模型总层数减去实际删除层数;被删除层对应的参数张量和前向计算从输出模型中移除,减少量可由各目标删除层的参数量和计算量直接求和得到。本文不在没有实测数据的情况下主张特定任务精度保持幅度。
1.一种在包括处理器、存储器和至少一个gpu计算单元的电子设备上执行的大语言模型结构化层剪枝方法,其特征在于,包括:
2.根据权利要求1所述的方法,其特征在于,所述矩阵相似度计算规则包括:对于任意两个transformer层的同类型权重矩阵,计算第一权重矩阵各列向量与第二权重矩阵各列向量之间的余弦相似度;对第一权重矩阵的每个列向量,取得其与第二权重矩阵各列向量的余弦相似度绝对值的最大值,对所得最大值集合进行gumbel分布拟合并取得第一位置参数;交换两个权重矩阵后重复计算并取得第二位置参数;将所述第一位置参数与第二位置参数的算术平均值作为两个transformer层之间的相似度值;当gumbel分布拟合不收敛时,采用相应最大值集合的算术平均值替代位置参数。
3.根据权利要求1所述的方法,其特征在于,所述s2包括:将窗口阶数设置为不小于二且不大于模型总层数的整数;使所述方形窗口沿层间相似度矩阵主对角线每次移动一层,依次计算各窗口中非主对角线元素的平均值以及相邻窗口平均值的后项减前项之差;当所述差值不小于边界检测阈值时,将对应窗口中心之后的位置标记为候选边界;当多个候选边界连续相邻时,仅保留差值最大的候选边界,差值相同时保留层号较小的候选边界;当窗口阶数等于模型总层数或不存在候选边界时,将全部transformer层确定为一个层簇群。
4.根据权利要求1所述的方法,其特征在于:当层簇群包含两层以上时,将目标层与同一层簇群内其他各层的相似度之和除以该层簇群的层数减一,得到所述平均相似度;当层簇群仅包含一层时,将所述平均相似度设为零;将目标层到两侧边界的层号距离中的较小者除以该层簇群内能够取得的最大最小边界距离,得到所述归一化边界距离;当多个层的平均相似度相同时,将距离层簇群中心位置较近的层确定为中心代表层,距离仍相同时选择层号较小的层。
5.根据权利要求1所述的方法,其特征在于,在执行删除前,电子设备计算全部保护层和可删除层的数量;当目标删除层数大于可删除层数量时,输出目标删除层数不可行状态并停止剪枝,不通过删除保护层满足所述删除比例。
6.根据权利要求1所述的方法,其特征在于,所述更新模型配置包括:删除目标删除层对应的参数张量,按照保留层在原模型中的先后顺序重新生成连续层号,修改模型配置文件中的transformer层总数,并同步更新用于模型加载的参数键与重新生成的连续层号之间的映射关系。
7.根据权利要求1所述的方法,其特征在于,所述恢复训练采用预设校准数据集对剪枝模型执行100至500个参数更新步骤;恢复训练开始前保存剪枝模型的初始检查点,恢复训练过程中根据固定验证集的损失保存验证损失最低的模型检查点,并将该模型检查点作为输出模型。
8.一种大语言模型结构化层剪枝系统,其特征在于,包括处理器、至少一个gpu计算单元以及与所述处理器和gpu计算单元连接的存储器,所述存储器中存储有:层间相似度获取模块,用于读取各transformer层的同类型权重矩阵并构建层间相似度矩阵;层簇群识别模块,用于根据层间相似度矩阵主对角线滑动窗口中非主对角线元素平均值的变化确定连续层簇群;冗余度评估模块,用于根据簇内平均相似度和归一化边界距离计算各层冗余度评分,并确定各层簇群的中心代表层;剪枝选择模块,用于保护各层簇群的起始层、终止层和中心代表层以及模型首层、末层,并按照冗余度评分从其余层中选择目标删除层;结构更新模块,用于删除目标删除层,以恒等映射连接相邻保留层,并更新模型层数、层顺序和参数键映射;恢复训练模块,用于在gpu计算单元上对更新后的模型执行恢复训练,并将恢复训练后的剪枝模型写入所述存储器。
9.一种计算机可读存储介质,其上存储有计算机程序指令,所述计算机程序指令被处理器执行时,使电子设备执行权利要求1至7中任一项所述的方法。
10.一种电子设备,包括存储器、处理器和至少一个gpu计算单元,其特征在于,所述存储器中存储有计算机程序指令,所述计算机程序指令被所述处理器执行时,使所述电子设备执行权利要求1至7中任一项所述的方法。
版权声明:本站专利文献数据主要来源于国家知识产权局等公开渠道,由 技术新讯 进行整理汇编。页面设计及数据汇编的著作权归本站所有。全部内容仅供个人学习、科研评估与技术交流参考,严禁用于任何商业用途(包括但不限于直接生产制造、技术转让、倒卖数据等)。
免责条款:专利技术具有时效性,本站不对资料的绝对准确性、完整性和可实施性提供任何明示或暗示的担保。因参考本站内容造成的直接或间接损失,本站不承担相关法律责任。若您认为本站内容有侵权问题,请及时提供权属证明与我们联系,本站将在核实后依法处理。反馈意见:yyfuon@163.com