System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术涉及网络模型压缩,特别涉及一种基于attention头重要性的transformer模型压缩方法。
技术介绍
1、近年来,预训练语言模型如bert和gpt的兴起,使自然语言处理取得了重大进展。为获取更强大的语义表示力,这些模型的规模不断扩大,从数亿参数增长到万亿。大模型参数量巨大,导致计算和存储成本急剧增加,给实际部署与应用带来了巨大挑战。因此,对这些大规模transformer模型进行压缩与加速成为当下的重要课题。
2、在众多网络压缩技术中,剪枝(pruning)是减少模型复杂度的最佳方法之一,深度神经网络存在一定的冗余性,模型剪枝方法试图去除网络中不必要的参数,以减少网络总体的参数数量,一个典型的神经网络剪枝流程通常遵照以下三步:确定权重的重要性、删除不必要的权重和微调网络以恢复精度。
3、然而现有的基于裁剪层或单元的压缩方法存在以下不足,使得对transformer模型效果有限:
4、1.简单裁剪易造成误裁:简单的裁剪模型的层数或单元数较少,很难对模型影响较小的部分进行精确定位,容易裁剪掉对精度影响较大的组件,从而造成明显的精度损失;
5、2.知识蒸馏依赖大量标注数据:目前知识蒸馏需要大量人工标注数据来训练模型,标注数据成本高昂;
6、3.量化方法易造成训练困难:通过量化参数来压缩模型会使训练过程更加困难,收敛速度变慢,甚至训练崩溃;
7、4.模型剪枝缺乏有效指标:现有剪枝方法存在无效的重要性评估指标,导致剪枝过程“盲目”、模型压缩效果不稳定
8、5.压缩方法更多针对cnn(卷积神经网络):现有压缩方法更多考虑cnn模型,目前还没有针对transformer模型压缩的方案;
9、6.对大模型压缩效果有限:现有压缩方法往往很难对数万亿参数级别的大模型取得显著压缩效果。
技术实现思路
1、本专利技术的目的在于提供一种基于attention头重要性的transformer模型压缩方法,以至少解决现有模型压缩方法对参数级别较高的大模型压缩效果较差的问题。
2、为解决上述技术问题,本专利技术提供一种基于attention头重要性的transformer模型压缩方法,包括:
3、获取transformer模型中的多头attention组件;
4、根据多头attention组件中的每一attention头的权重矩阵,获取每一attention头的重要性评估分数;
5、对所有attention头按照重要性评估分数从高至低排序,并按照预设条件删除排序靠后的若干个attention头,以得到更新后的transformer模型;
6、采用fine-tuning对更新后的transformer模型进行微调训练,以得到压缩后的transformer模型。
7、可选的,在所述的基于attention头重要性的transformer模型压缩方法中,所述根据多头attention组件中的每一attention头的权重矩阵,获取每一attention头的重要性评估分数的方法包括:
8、对多头attention组件中的每一attention头的权重矩阵进行l2范数打分;
9、根据l2范数打分的结果,获取每一attention头的重要性评估分数。
10、可选的,在所述的基于attention头重要性的transformer模型压缩方法中,所述对多头attention组件中的每一attention头的权重矩阵进行l2范数打分的方法包括:
11、获取每一attention头的权重矩阵,所述权重矩阵包括query权重矩阵、key权重矩阵和value权重矩阵;
12、设第h个attention头的query权重矩阵表示为q_h、key权重矩阵表示为k_h、value权重矩阵表示为v_h,则第h个attention头的query权重矩阵的l2范数为||q_h||2、key权重矩阵的l2范数为||k_h||2、value权重矩阵的l2范数为||v_h||2。
13、可选的,在所述的基于attention头重要性的transformer模型压缩方法中,所述根据l2范数打分的结果,获取每一attention头的重要性评估分数的方法包括:
14、将每一attention头的query权重矩阵、key权重矩阵和value权重矩阵的l2范数进行求和,以得到每一attention头的重要性评估分数,表示为:
15、score(h)=||q_h||2+||k_h||2+||v_h||2。
16、可选的,在所述的基于attention头重要性的transformer模型压缩方法中,所述根据l2范数打分的结果,获取每一attention头的重要性评估分数的方法还包括:
17、设置query权重矩阵、key权重矩阵和value权重矩阵的重要性系数,更新每一attention头的重要性评估分数,表示为:
18、score(h)=β1||q_h||2+β2||k_h||2+β3||v_h||2
19、其中,β1为query权重矩阵的重要性系数、β2为key权重矩阵的重要性系数、β3为value权重矩阵的重要性系数。
20、可选的,在所述的基于attention头重要性的transformer模型压缩方法中,所述对所有attention头按照重要性评估分数从高至低排序,并按照预设条件删除排序靠后的若干个attention头,以得到更新后的transformer模型的方法包括:
21、建立以attention头的编号为索引、attention头的重要性评估分数为值的哈希表;
22、遍历所有的attention头,将所有的attention头的重要性评估分数插入到哈希表中;
23、调用排序函数,对哈希表进行排序,以使哈希表中的所有的attention头按照重要性评估分数从高至低排序;
24、按照预设条件删除哈希表中排序靠后的若干个attention头,以得到更新后的transformer模型。
25、可选的,在所述的基于attention头重要性的transformer模型压缩方法中,所述按照预设条件删除哈希表中排序靠后的若干个attention头,以得到更新后的transformer模型的方法包括:
26、设置删除多头attention组件中占attention头总数p%的attention头;
27、从哈希表的尾部选择占比p%数量的attention头,并删除选择的attention头,以得到更新后的transformer模型。
28、可选的,在所述的基于attention头重要性的transformer模型压缩方法中,所述采用fine-tuning对更新后的tra本文档来自技高网...
【技术保护点】
1.一种基于Attention头重要性的Transformer模型压缩方法,其特征在于,包括:
2.根据权利要求1所述的基于Attention头重要性的Transformer模型压缩方法,其特征在于,所述根据多头Attention组件中的每一Attention头的权重矩阵,获取每一Attention头的重要性评估分数的方法包括:
3.根据权利要求2所述的基于Attention头重要性的Transformer模型压缩方法,其特征在于,所述对多头Attention组件中的每一Attention头的权重矩阵进行L2范数打分的方法包括:
4.根据权利要求3所述的基于Attention头重要性的Transformer模型压缩方法,其特征在于,所述根据L2范数打分的结果,获取每一Attention头的重要性评估分数的方法包括:
5.根据权利要求4所述的基于Attention头重要性的Transformer模型压缩方法,其特征在于,所述根据L2范数打分的结果,获取每一Attention头的重要性评估分数的方法还包括:
6.根据权利要求
7.根据权利要求6所述的基于Attention头重要性的Transformer模型压缩方法,其特征在于,所述按照预设条件删除哈希表中排序靠后的若干个Attention头,以得到更新后的Transformer模型的方法包括:
8.根据权利要求1所述的基于Attention头重要性的Transformer模型压缩方法,其特征在于,所述采用fine-tuning对更新后的Transformer模型进行微调训练,以得到压缩后的Transformer模型的方法包括:
9.根据权利要求8所述的基于Attention头重要性的Transformer模型压缩方法,其特征在于,所述利用所述训练数据对更新后的Transformer模型进行训练的方法包括:
10.根据权利要求8所述的基于Attention头重要性的Transformer模型压缩方法,其特征在于,在对更新后的Transformer模型进行训练之后,所述采用fine-tuning对更新后的Transformer模型进行微调训练,以得到压缩后的Transformer模型的方法还包括:
...【技术特征摘要】
1.一种基于attention头重要性的transformer模型压缩方法,其特征在于,包括:
2.根据权利要求1所述的基于attention头重要性的transformer模型压缩方法,其特征在于,所述根据多头attention组件中的每一attention头的权重矩阵,获取每一attention头的重要性评估分数的方法包括:
3.根据权利要求2所述的基于attention头重要性的transformer模型压缩方法,其特征在于,所述对多头attention组件中的每一attention头的权重矩阵进行l2范数打分的方法包括:
4.根据权利要求3所述的基于attention头重要性的transformer模型压缩方法,其特征在于,所述根据l2范数打分的结果,获取每一attention头的重要性评估分数的方法包括:
5.根据权利要求4所述的基于attention头重要性的transformer模型压缩方法,其特征在于,所述根据l2范数打分的结果,获取每一attention头的重要性评估分数的方法还包括:
6.根据权利要求1所述的基于attention头重要性的transformer模型压缩方法,其特征在于,所述对所有attention头按照重要...
【专利技术属性】
技术研发人员:刘汉亮,林栋,邱述洪,
申请(专利权)人:联通广东产业互联网有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。