CN114819148A - 基于不确定性估计知识蒸馏的语言模型压缩方法 - Google Patents
基于不确定性估计知识蒸馏的语言模型压缩方法 Download PDFInfo
- Publication number
- CN114819148A CN114819148A CN202210540113.5A CN202210540113A CN114819148A CN 114819148 A CN114819148 A CN 114819148A CN 202210540113 A CN202210540113 A CN 202210540113A CN 114819148 A CN114819148 A CN 114819148A
- Authority
- CN
- China
- Prior art keywords
- layer
- neural network
- model
- network
- language model
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000007906 compression Methods 0.000 title claims abstract description 48
- 238000000034 method Methods 0.000 title claims abstract description 48
- 230000006835 compression Effects 0.000 title claims abstract description 41
- 238000013140 knowledge distillation Methods 0.000 title claims abstract description 21
- 230000006870 function Effects 0.000 claims abstract description 70
- 238000013528 artificial neural network Methods 0.000 claims abstract description 39
- 238000012549 training Methods 0.000 claims abstract description 37
- 238000003062 neural network model Methods 0.000 claims abstract description 32
- 238000004821 distillation Methods 0.000 claims abstract description 19
- 238000003058 natural language processing Methods 0.000 claims abstract description 9
- 238000010606 normalization Methods 0.000 claims description 53
- 230000004913 activation Effects 0.000 claims description 17
- 238000013527 convolutional neural network Methods 0.000 claims description 5
- 238000005259 measurement Methods 0.000 claims description 3
- 238000012545 processing Methods 0.000 claims description 2
- 238000005457 optimization Methods 0.000 claims 1
- 230000001902 propagating effect Effects 0.000 claims 1
- 238000005070 sampling Methods 0.000 claims 1
- 230000008569 process Effects 0.000 abstract description 15
- 238000005516 engineering process Methods 0.000 abstract description 3
- 238000004088 simulation Methods 0.000 description 8
- 238000004364 calculation method Methods 0.000 description 7
- 238000011160 research Methods 0.000 description 7
- 230000008451 emotion Effects 0.000 description 5
- 238000012360 testing method Methods 0.000 description 4
- 238000010586 diagram Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000000926 separation method Methods 0.000 description 2
- 238000007476 Maximum Likelihood Methods 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 230000000052 comparative effect Effects 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000009795 derivation Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 238000002474 experimental method Methods 0.000 description 1
- 230000008014 freezing Effects 0.000 description 1
- 238000007710 freezing Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000013508 migration Methods 0.000 description 1
- 230000005012 migration Effects 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 238000013138 pruning Methods 0.000 description 1
- 238000011002 quantification Methods 0.000 description 1
- 238000011158 quantitative evaluation Methods 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 230000010076 replication Effects 0.000 description 1
- 238000012552 review Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
- 239000013585 weight reducing agent Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/082—Learning methods modifying the architecture, e.g. adding, deleting or silencing nodes or connections
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/048—Activation functions
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Life Sciences & Earth Sciences (AREA)
- Molecular Biology (AREA)
- Artificial Intelligence (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Health & Medical Sciences (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Machine Translation (AREA)
Abstract
本发明公开了一种基于不确定性估计知识蒸馏的语言模型压缩方法,主要解决现有网络压缩技术存在的训练成本高、速度慢和知识蒸馏过程存在噪声干扰的问题。其实现方案是:1)对原始语言模型进行对半压缩得到压缩后的神经网络;2)利用原始语言模型合理初始化压缩后神经网络的参数;3)添加前馈网络结构的参数蒸馏损失函数,设计不确定性估计损失函数及自然语言处理任务的交叉熵损失函数;4)利用所设计的损失函数训练压缩后的神经网络模型。本发明降低了网络压缩训练过程的计算量,提高了网络压缩率,加速了网络推理速度,可广泛应用于模型部署、模型压缩任务,为硬件资源紧缺的应用场景提供新的模型压缩解决方案。
Description
技术领域
本发明属于神经网络压缩领域,特别涉及一种预训练语言模型的压缩方法,可用于模型部署、模型压缩、减轻模型硬件负担。
背景技术
近些年来,自然语言处理研究社区见证了一场预训练和自我监督模式的革命,随着大规模预训练语言模型的研究和应用,首先在大规模文本数据上进行预训练,然后在下游任务进行迁移学习,预训练加微调逐渐成为自然语言处理解决方案的基本范式。如BERT的出现,显著提高了许多自然语言处理任务的性能。然而,预训练语言模型通常具有昂贵的计算代价和密集的内存消耗,这些模型通常有数亿个参数,在边缘和硬件受限的计算训练或推理预算下操作这些大型模型仍然具有挑战性。虽然在设备上实时操作这些模型有可能实现新颖而有趣的语言处理应用程序,但这些模型日益增长的计算和内存需求可能会阻碍其广泛采用。此外,相关研究也证明了预训练模型存在冗余。因此,在保持预训练语言模型性能的同时降低计算开销和模型存储是至关重要,模型轻量化具有巨大的应用和研究价值。
近年来,网络轻量化技术进行了大量的研究,提出了许多不同角度的网络轻量化技术。目前,常见的网络轻量化方向有模型剪枝、知识蒸馏、数值量化等等。知识蒸馏的思想由Hinton等人在论文Distilling the knowledge in a neural network中提出,并得到广泛的研究和发展。其中由于BERT网络优异的性能,使得有关BERT的压缩技术引起了广泛关注。
Jiao等人在论文TinyBERT:Distilling BERT for Natural LanguageUnderstanding中提出了一种为基于Transformer的模型专门设计的知识蒸馏的方案。通过增加三部分损失函数的约束,来试图获得更好的蒸馏效果。分别对网络中间嵌入层的输出、Transformer层的Attention Map权重进行均方差损失函数计算,对预测结果进行交叉熵约束。最终压缩后的模型大小为原始模型的1/7,而且网络推理速度提高了9倍,但是网络压缩训练过程计算代价非常大,压缩过程花费了750GPU小时,导致大部分研究人员难以承受该计算代价。
Xu等人在论文BERT-of-Theseus:Compressing BERT by Progressive ModuleReplacing中提出了利用模块替换思想来做模型压缩,将原始模型中中具备相似特性的网络子结构进行压缩替换,同时在训练过程中将原始网络模块进行冻结,只训练替换的网络结构。该方案在中文命名实体识别NER任务上进行验证,虽然该压缩方法的计算代价不大,但是压缩后的网络模型精确度与原始网络相比下降了1-2个百分点,并且网络压缩率较低,使得模型运行效率下降,导致大量计算资源被浪费。
上述已存在的网络轻量化方法的不足是:1)缺少对网络中间推理过程的监督,2)对原始网络参数的利用率不够,3)知识蒸馏过程缺少噪声估计。进而导致了网络压缩过程计算负担过大,压缩过程效率过低,压缩后网络的性能精度较低。
发明内容
本发明的目的在于针对上述现有技术的不足,提出了一种基于不确定性估计知识蒸馏的语言模型压缩方法,以减少计算资源消耗,缩短压缩运行时间,提高压缩效率和压缩后网络的性能精度。
为实现上述目的,本发明的技术方案包括如下:
1.基于不确定性估计知识蒸馏的语言模型压缩方法,其特征在于,包括:
(3a)定义参数蒸馏损失函数LF和不确定性估计损失函数LU,并整合得到压缩后神经网络模型的损失函数L:
L=LKD+LU+LF
其中,LKD表示传统知识蒸馏损失函数,表示压缩后神经网络模型第i层全连接结构的网络权重,表示原始语言模型第i层全连接结构的网络权重,MSE表示均方差损失函数,N是一个批次中的样品数量,wi表示权重系数,d[fs(xi),yi]是衡量原始语言模型和压缩后神经网络模型输出差距的距离度量标准,xi表示输入数据样本,yi表示样本对应的标签,fs(xi)表示压缩后网络模型对输入数据的预测结果;
(3b)利用(3a)所定义的损失函数对压缩后的神经网络模型参数进行更新:
(3b1)构建由多层卷积神经网络与激活函数层级联组成的不确定性估计模块;
(3b2)将原始语言模型的偶数层前馈网络结构与压缩后神经网络模型进行对齐蒸馏,并利用参数蒸馏损失函数LF对原始语言模型和压缩后神经网络模型的参数值进行约束;
(3b3)利用原始语言模型对输入数据样本xi提取特征zi,假设特征zi服从高斯分布,通过不确定性估计模块学习特征zi的方差σ和均值μ,并设置不确定性估计损失函数LU中权重系数:wi=(1/σ2);
(3b4)利用自然语言处理的具体任务输入数据样本xi,标签yi和抽象特征zi,通过压缩后神经网络模型的损失函数L对参数进行迭代更新,直至损失函数L收敛,得到训练好的压缩后神经网络模型。
本发明与现有技术相比,具有以下优点:
1.本发明通过合理设计压缩后神经网络的结构,合理初始化压缩后网络的参数,保留了原始语言模型的大部分推理性能。与现有技术相比,提高了压缩后神经网络的初始性能,减少了训练过程中的资源浪费。
2.本发明由于将原始语言模型和压缩后神经网络的前馈网络结构进行对齐,并通过参数蒸馏损失函数LF约束压缩后神经网络的训练过程,及冻结压缩后神经网络的注意力层结构,降低了参与训练的参数数量。与现有技术相比,提高了压缩后神经网络推理性能,在同等精确度的情况下,网络压缩过程的计算负担更小。
3.本发明通过不确定性估计模块对训练过程中的噪声进行估计,学习噪声分布的均值μ和方差σ,从而建模了原始语言模型的特征分布,并通过不确定性损失函数LU约束压缩后神经网络的训练过程,有效提高了训练效率。与现有技术相比,本发明可以实现在知识蒸馏训练过程中对不同样本特征分配不同权重系数wi,提升知识蒸馏训练过程的效率,使得压缩后神经网络的性能得到提升。
附图说明
图1为本发明的实现流程图;
图2为本发明原始语言模型结构示意图;
图3为本发明设计的知识蒸馏方案的示意图;
图4为本发明提出的不确定性估计模块的示意图。
具体实施方式
以下结合附图和具体实施例,对本发明作进一步详细描述。
参照图1,基于不确定性估计知识蒸馏的预训练语言模型压缩方法,其实现步骤如下:
步骤1,获取训练和测试的数据集。
获取公开自然语言理解基本任务GLUE中的数据集,该数据集包含常见的自然语言处理的各种任务,能够较好地测试出语言模型的综合性能。
本实例是从该数据集中的以下四类数据集中获取,后续进行实验测试任务:
一是语言可接受性语料库CoLA是单句子分类任务,其语料来自语言理论书籍和期刊,其中的每个单词序列都被标注为是否合乎语法;
二是斯坦福情感树语料库SST-2是单句子分类任务,具体包含电影评论中的句子和句子情感极性的人类注释;
三是微软研究院释义语料库MRPC,其包括语义相似性和释义任务,这些任务是从在线新闻源中自动抽取句子对组成,并且人工注释了句子对是否在语义上等效;
四是成对问题语义判断数据集QQP,其包括句子相似性任务和释义任务,具体来自社区问答网站Quora中的问题集合,并且人工注释了两个问题在语义上是否等效。
步骤2,构建原始语言模型,如图2。
本步骤的具体实现如下:
(2.1)使用Google的HuggingFace团队开源的BERTbase网络,对语言模型参数进行初始化:
所述语言模型,其由12层堆叠的Transformer网络构成,该网络包括12个注意力层,12个前馈网络层和24个归一化层。其结构关系为:输入层→第一注意力层→第一归一化层→第一前馈网络层→第二归一化层→第二注意力层→第三归一化层→第二前馈网络层→第四归一化层→第三注意力层→第五归一化层→第三前馈网络层→第六归一化层→第四注意力层→第七归一化层→第四前馈网络层→第八归一化层→第五注意力层→第九归一化层→第五前馈网络层→第十归一化层→第六注意力层→第十一归一化层→第六前馈网络层→第十二归一化层→第七注意力层→第十三归一化层→第七前馈网络层→第十四归一化层→第八注意力层→第十五归一化层→第八前馈网络层→第十六归一化层→第九注意力层→第十七归一化层→第九前馈网络层→第十八归一化层→第十注意力层→第十九归一化层→第十前馈网络层→第二十归一化层→第十一注意力层→第二十一层归一化层→第十一前馈网络层→第二十二层归一化层→第十二注意力层→第二十三层归一化层→第十二前馈网络层→第二十四层归一化层→输出层组成。
(2.2)语言模型的输入数据由三种向量嵌入加和组成,分别是:词元嵌入、输入分隔嵌入,位置嵌入,其中分隔嵌入是标注两个输入语句是否为连续语句,若语句连续为1,若语句非连续则为0值;
步骤3,微调训练原始语言模型。
利用步骤1中所述自然语言数据集的输入数据样本xi,标签yi,通过交叉熵损失函数对语言模型的参数进行迭代更新,直至损失函数收敛,得到训练好的语言模型。
对语言模型W进行对半压缩,是舍弃原始语言模型的偶数层Transformer网络结构,保留原始语言模型的奇数层Transformer网络结构。压缩后神经网络由6层堆叠的Transformer网络构成,该网络包括6个注意力层,6个前馈网络层和12个归一化层。其结构关系为:输入层→第一注意力层→第一归一化层→第一前馈网络层→第二归一化层→第二注意力层→第三归一化层→第二前馈网络层→第四归一化层→第三注意力层→第五归一化层→第三前馈网络层→第六归一化层→第四注意力层→第七归一化层→第四前馈网络层→第八归一化层→第五注意力层→第九归一化层→第五前馈网络层→第十归一化层→第六注意力层→第十一归一化层→第六前馈网络层→第十二归一化层→输出层。
第一注意力层的注意力头为12,输出长度为512,隐藏向量维度为768;
第二注意力层的注意力头为12,输出长度为512,隐藏向量维度为768;
第三注意力层的注意力头为12,输出长度为512,隐藏向量维度为768;
第四注意力层的注意力头为12,输出长度为512,隐藏向量维度为768;
第五注意力层的注意力头为12,输出长度为512,隐藏向量维度为768;
第六注意力层的注意力头为12,输出长度为512,隐藏向量维度为768;
所有归一化层采用LayerNorm函数;
压缩后网络中包含的所有激活函数均采用ReLU函数。
复制步骤3中训练完成的语言模型中奇数层Transformer网络参数,作为压缩后神经网络的参数初始化。
步骤5,通过不确定性估计知识蒸馏方式对压缩后神经网络进行训练。
参照图3,所述不确定性估计知识蒸馏方法对多头注意力层进行参数复制和冻结,对原始语言模型和压缩后神经网络的前馈网络结构进行对齐蒸馏,同时对语言模型和压缩后神经网络预测层的软目标结果进行蒸馏约束,具体实现如下:
(5.1)将语言模型和压缩后神经网络的前馈网络结构进行蒸馏对齐。具体参数蒸馏函数LF表示如下:
(5.2)将原始语言模型和压缩后神经网络两个网络的输出结果通过交叉熵损失函数进行拟合,具体公式如下:
LKD=-softmax(zT)·log_softmax(zS/t)
其中,zS表示压缩后神经网络的logits向量,zT表示原始语言模型预测的logits向量,log_softmax()表示对数似然函数,t为人工设置的蒸馏温度。
(5.3)设计不确定性估计模块:
参照图4,将本步骤设计的不确定性估计模块置于原始语言模型和压缩后神经网络之间,利用该模块在预测层前估计特征的不确定性。
不确定性估计模块具体包括4个卷积神经网络层和4个激活函数层的不确定性估计模块,其结构如下:
输入层→第1卷积层→第1激活函数层→第2卷积层→第2激活函数层→第3卷积层
→第3激活函数层→第4卷积层→第4激活函数层→输出层。
其中不确定性估计模块中的各层参数如下:
第1卷积层卷积核大小为1*1,输入通道为1维,输出通道为512维;
第2卷积层卷积核大小为1*1,输入通道为512维,输出通道为1024维;
第3卷积层卷积核大小为1*1,输入通道为1024维,输出通道为512维;
第4卷积层卷积核大小为1*1,输入通道为512维,输出通道为1维;
不确定性估计模块包含的所有激活函数均采用ReLU函数;
(5.4)利用不确定性估计模块学习特征分布的方差σ,具体不确定性估计损失函数LU表示如下:
其中,N是一个批次中的样品数量,d[·,·]是衡量压缩后神经网络和原始语言模型之间差距的距离度量标准,wi表示权重系数,用来衡量样本i对整体损失函数的重要性,在通常的知识蒸馏的方案中所有的样本的权重wi是相同的。
在知识蒸馏过程中加入了对蒸馏噪声的建模,我们认为知识蒸馏过程中存在数据噪声,并且困难数据样本在知识蒸馏过程中提供的高价值信息较少,因此我们对每个样本的输出建模为一个高斯分布N(μ,σ2),通过不确定性估计模块学习数据样本对应的均值μ和方差σ2,将该样本对应的知识蒸馏权重wi设置为(1/σ2)。h(·|Θh)表示压缩后网络模型中的主干网络,期望压缩后网络模型能够从输入特征x中重建出类似原始语言模型的特征。进一步,本发明对特征不确定性进行建模,通过不确定性估计在知识蒸馏训练期间指导潜在空间中的知识转移。假设每个观察到的特征图都遵循均值为和标准差为σi的高斯分布,将估计到的类似原始语言模型的特征和目标特征表述为下式:
然后使用带Jeffrey’s prior的对数似然函数可以将上式表述如下形式:
在压缩后骨干网络的末端添加了一个新分支(Uncertainty Estimate Module,UEM)来估计特征不确定性。基于上述推导,通过最大似然估计(Maximun Likelihood,ML)制定一个不确定性估计蒸馏损失,以帮助压缩后神经网络感知样本难度:
其中,n表示小批量训练数据集的样本数。通过原始语言模型提取特征zt,并通过压缩后神经网络中的主干部分h(·|Θh)获得原始特征,通过不确定性算是函数获得估计的不确定性σ,σ在一定程度上代表了重构原始特征的难度。或者说,它可能在数据样本层面起到一种注意力机制的作用,以确保网络在不同的训练阶段关注不同的样本。
(5.5)在语言可接受性语料库、斯坦福情感树库、微软研究院释义语料库、问题对数集四个自然语言处理任务数据集上进行压缩后神经网络训练:利用自然语言处理的具体任务输入数据样本xi,标签yi和抽象特征zi,通过压缩后神经网络模型的损失函数L对参数进行迭代更新,直至损失函数L收敛,得到训练好的压缩后神经网络模型。
下面结合仿真实验对本发明的效果做进一步说明。
1.仿真条件:
仿真实验的硬件环境是:NVIDIA GTX 2080Ti型号的GPU,128GB的运行内存;
仿真实验的软件环境是:深度学习框架Pytorch1.8.0。
仿真实验中,对四个任务拥有不同的客观量化评价指标,语义可接受性测试CoLA采用马修斯相关系数MCC指标,可以表示为:
其中,n表示观测总数,χ表示原始数据。
语义情感分类任务SST-2采用准确率指标acc,为了克服样本数据不均衡问题,句子对语义相似性任务QQP和微软语义相似性任务MRPC均采用F1 Score指标,其表示为:
其中,precision表示准确率,recall表示召回率。
2.仿真内容与结果分析。
仿真1,使用近些年的相关语言模型压缩方法和本发明方案对原始语言模型进行压缩仿真,并将所有得到的压缩后神经网络在不同自然语言任务上进行模型语言能力测试,计算各自任务的评价指标,即CoLA任务的MCC指标,QQP和MRPC任务的F1Score指标,SST-2和QNLI任务的准确率指标,结果如表1所示:
表1不确定性估计知识蒸馏的压缩方法实验结果
方法 | MRPC | CoLA | SST-2 | QNLI | QQP | Average |
Bert<sub>12</sub> | 89.2 | 52.1 | 91.8 | 90.3 | 88.4 | 82.36 |
Bert<sub>6VanillaKD</sub> | 71.7 | 34.8 | 74.8 | 72.4 | 72.3 | 65.2 |
TheseusBert<sub>6</sub> | 86.3 | 46.3 | 87.6 | 85.9 | 86.8 | 78.58 |
TheseusBert<sub>4</sub> | 83.7 | 43.5 | 85.4 | 84.7 | 83.3 | 76.12 |
PKDBert<sub>6</sub> | 81.3 | 40.2 | 85.7 | 85.1 | 80.6 | 74.58 |
BiLSTM<sub>SOFT</sub> | 82.0 | 40.6 | 84.9 | 84.4 | 82.4 | 74.86 |
本发明 | 86.7 | 46.8 | 87.5 | 86.4 | 86.2 | 78.72 |
表1中参与对比的压缩方法分别是:Bert12表示原始语言模型,作为实验基准,Bert6VanillaKD表示传统知识蒸馏方法,TheseusBert6表示特修斯压缩方法,PKDBert6表示耐心知识蒸馏方法,BiLSTMSOFT表示双向长短时记忆网络压缩方法。
表1中进行测试的自然语言任务分别是:微软研究院释义语料库MRPC、语言可接受性语料库CoLA、斯坦福情感树语料库SST-2、问答自然语言推断QNLI、成对问题语义判断数据集QQP。各项任务的实验结果平均数作为衡量神经网络综合性能的指标Average。
从表1中可以看出,本发明与同类网络压缩方案相比,压缩后的神经网络在MRPC、CoLA、QNLI三项任务上取得了最优的性能指标,同时,压缩后神经网络的综合性能达到最优。
仿真2,对本发明和所有对比方法进行网络模型的参数量统计和网络推理速度测量,得到所有方法压缩后神经网络的参数和推理时间情况,如表2所示:
表2本发明与对比压缩方案的网络参数对比
方法 | 网络参数 | 推理时间 |
Bert<sub>12</sub> | 109M(×1.0) | 102s(×1.0) |
Bert<sub>6VanillaKD</sub> | 66M(×1.7) | 52.4s(×1.95) |
TheseusBert<sub>6</sub> | 67M(×1.6) | 52.4s(×1.95) |
TheseusBert<sub>4</sub> | 53M(×2.1) | 36.2s(×2.82) |
PKDBert<sub>6</sub> | 67M(×1.6) | 52.8(×1.93) |
BiLSTM<sub>SOFT</sub> | 11M(×10.8) | 16.5s(×6.2) |
本发明 | 55M*/66.8M(×2.2) | 53.1s(×1.92) |
从表2中可以看出,本发明方法与同类网络压缩方案相比,参与压缩训练的参数规模较小,网络推理时间较短。
综合表1和表2的结果可以看出,本发明与同类网络压缩方案相比,在压缩后神经网络综合性能最优的情况下,参与训练的网络参数量最小,压缩过程计算负担最小,网络压缩率较高,压缩后神经网络的运行速度较快。
Claims (6)
1.基于不确定性估计知识蒸馏的语言模型压缩方法,其特征在于,包括:
(3a)定义参数蒸馏损失函数LF和不确定性估计损失函数LU,并整合得到压缩后神经网络模型的损失函数L:
L=LKD+LU+LF
其中,LKD表示传统知识蒸馏损失函数,表示压缩后神经网络模型第i层全连接结构的网络权重,表示原始语言模型第i层全连接结构的网络权重,MSE表示均方差损失函数,N是一个批次中的样品数量,wi表示权重系数,d[fs(xi),yi]是衡量原始语言模型和压缩后神经网络模型输出差距的距离度量标准,xi表示输入数据样本,yi表示样本对应的标签,fs(xi)表示压缩后网络模型对输入数据的预测结果;
(3b)利用(3a)所定义的损失函数对压缩后的神经网络模型参数进行更新:
(3b1)构建由多层卷积神经网络与激活函数层级联组成的不确定性估计模块;
(3b2)将原始语言模型的偶数层前馈网络结构与压缩后神经网络模型进行对齐蒸馏,并利用参数蒸馏损失函数LF对原始语言模型和压缩后神经网络模型的参数值进行约束;
(3b3)利用原始语言模型对输入数据样本xi提取特征zi,假设特征zi服从高斯分布,通过不确定性估计模块学习特征zi的方差σ和均值μ,并设置不确定性估计损失函数LU中权重系数:wi=(1/σ2);
(3b4)利用自然语言处理的具体任务输入数据样本xi,标签yi和抽象特征zi,通过压缩后神经网络模型的损失函数L对参数进行迭代更新,直至损失函数L收敛,得到训练好的压缩后神经网络模型。
2.根据权利要求1所述的方法,其中(1)对原始语言模型W进行对半压缩,是仅保留原始语言模型中的奇数Transformer网络结构,舍弃偶数层Transformer网络结构,得到包括6个注意力层、6个前馈网络层和12个归一化层的压缩后网络,其结构如下:
输入层→第一注意力层→第一归一化层→第一前馈网络层→第二归一化层→第二注意力层→第三归一化层→第二前馈网络层→第四归一化层→第三注意力层→第五归一化层→第三前馈网络层→第六归一化层→第四注意力层→第七归一化层→第四前馈网络层→第八归一化层→第五注意力层→第九归一化层→第五前馈网络层→第十归一化层→第六注意力层→第十一归一化层→第六前馈网络层→第十二归一化层→输出层。
3.根据权利要求2所述的方法,压缩后网络的各层参数如下:
第一注意力层的注意力头数量为12,输出长度为512,隐藏向量维度为768;
第二注意力层的注意力头数量为12,输出长度为512,隐藏向量维度为768;
第三注意力层的注意力头数量为12,输出长度为512,隐藏向量维度为768;
第四注意力层的注意力头数量为12,输出长度为512,隐藏向量维度为768;
第五注意力层的注意力头数量为12,输出长度为512,隐藏向量维度为768;
第六注意力层的注意力头数量为12,输出长度为512,隐藏向量维度为768;
所有归一化层采用LayerNorm函数;
压缩后网络中包含的所有激活函数均采用ReLU函数。
4.根据权利要求1所述的方法,其中(3b1)构建由多层卷积神经网络与激活函数层级联组成的不确定性估计模块,包括4个卷积神经网络层和4个激活函数层的不确定性估计模块,其结构如下:
输入层→第1卷积层→第1激活函数层→第2卷积层→第2激活函数层→第3卷积层→第3激活函数层→第4卷积层→第4激活函数层→输出层。
5.根据权利要求4所述的方法,其中不确定性估计模块中的各层参数如下:
第1卷积层卷积核大小为1*1,输入通道为1维,输出通道为512维;
第2卷积层卷积核大小为1*1,输入通道为512维,输出通道为1024维;
第3卷积层卷积核大小为1*1,输入通道为1024维,输出通道为512维;
第4卷积层卷积核大小为1*1,输入通道为512维,输出通道为1维;
不确定性估计模块包含的所有激活函数均采用ReLU函数。
6.根据权利要求1所述的方法,其中(3b4)通过压缩后神经网络模型的损失函数L对参数进行迭代更新,是对原始语言模型和压缩后神经网络两个网络通过总体损失函数L进行约束训练,实现如下:
(3b4.1)将现有的自然语言处理数据集(xi,yi)中数据样本xi和监督标签yi作为网络的训练数据,设置训练的学习率为0.001,优化函数为AdamW,批次大小为8;
(3b4.2)将数据样本xi输入到原始语言模型W,计算得到预测结果yt,通过交叉熵损失函数Cross entropy计算监督标签yi与语言模型W预测结构yt的训练损失值,反向传播更新语言模型W的网络参数,当交叉熵损失函数Cross entropy收敛时,得到训练完成的语言模型;
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210540113.5A CN114819148B (zh) | 2022-05-17 | 2022-05-17 | 基于不确定性估计知识蒸馏的语言模型压缩方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210540113.5A CN114819148B (zh) | 2022-05-17 | 2022-05-17 | 基于不确定性估计知识蒸馏的语言模型压缩方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114819148A true CN114819148A (zh) | 2022-07-29 |
CN114819148B CN114819148B (zh) | 2024-07-02 |
Family
ID=82514587
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210540113.5A Active CN114819148B (zh) | 2022-05-17 | 2022-05-17 | 基于不确定性估计知识蒸馏的语言模型压缩方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114819148B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116992942A (zh) * | 2023-09-26 | 2023-11-03 | 苏州元脑智能科技有限公司 | 自然语言模型优化方法、装置、自然语言模型、设备和介质 |
CN117313562A (zh) * | 2023-11-30 | 2023-12-29 | 西华大学 | 适用于机载防撞系统的逻辑表压缩方法 |
CN117474914A (zh) * | 2023-12-27 | 2024-01-30 | 湖南大学 | 一种基于轻量化神经网络的飞机蒙皮表面缺陷检测方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111062489A (zh) * | 2019-12-11 | 2020-04-24 | 北京知道智慧信息技术有限公司 | 一种基于知识蒸馏的多语言模型压缩方法、装置 |
CN111611377A (zh) * | 2020-04-22 | 2020-09-01 | 淮阴工学院 | 基于知识蒸馏的多层神经网络语言模型训练方法与装置 |
CN111767711A (zh) * | 2020-09-02 | 2020-10-13 | 之江实验室 | 基于知识蒸馏的预训练语言模型的压缩方法及平台 |
CN112241455A (zh) * | 2020-12-17 | 2021-01-19 | 之江实验室 | 基于多层级知识蒸馏预训练语言模型自动压缩方法及平台 |
CN112733550A (zh) * | 2020-12-31 | 2021-04-30 | 科大讯飞股份有限公司 | 基于知识蒸馏的语言模型训练方法、文本分类方法及装置 |
-
2022
- 2022-05-17 CN CN202210540113.5A patent/CN114819148B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111062489A (zh) * | 2019-12-11 | 2020-04-24 | 北京知道智慧信息技术有限公司 | 一种基于知识蒸馏的多语言模型压缩方法、装置 |
CN111611377A (zh) * | 2020-04-22 | 2020-09-01 | 淮阴工学院 | 基于知识蒸馏的多层神经网络语言模型训练方法与装置 |
CN111767711A (zh) * | 2020-09-02 | 2020-10-13 | 之江实验室 | 基于知识蒸馏的预训练语言模型的压缩方法及平台 |
CN112241455A (zh) * | 2020-12-17 | 2021-01-19 | 之江实验室 | 基于多层级知识蒸馏预训练语言模型自动压缩方法及平台 |
CN112733550A (zh) * | 2020-12-31 | 2021-04-30 | 科大讯飞股份有限公司 | 基于知识蒸馏的语言模型训练方法、文本分类方法及装置 |
Non-Patent Citations (2)
Title |
---|
TIANYU HUANG: "Uncertainty-driven knowledge distillation for language model compression", IEEE/ACM TRANSACTIONS ON AUDIO, SPEECH, AND LANGUAGE PROCESSING, vol. 31, 26 June 2023 (2023-06-26), pages 2850 - 2858 * |
陈德光 等: "自然语言处理预训练技术综述", 计算机科学与探索, vol. 15, no. 8, 26 April 2021 (2021-04-26), pages 1359 - 1389 * |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116992942A (zh) * | 2023-09-26 | 2023-11-03 | 苏州元脑智能科技有限公司 | 自然语言模型优化方法、装置、自然语言模型、设备和介质 |
CN116992942B (zh) * | 2023-09-26 | 2024-02-02 | 苏州元脑智能科技有限公司 | 自然语言模型优化方法、装置、自然语言模型、设备和介质 |
CN117313562A (zh) * | 2023-11-30 | 2023-12-29 | 西华大学 | 适用于机载防撞系统的逻辑表压缩方法 |
CN117313562B (zh) * | 2023-11-30 | 2024-02-27 | 西华大学 | 适用于机载防撞系统的逻辑表压缩方法 |
CN117474914A (zh) * | 2023-12-27 | 2024-01-30 | 湖南大学 | 一种基于轻量化神经网络的飞机蒙皮表面缺陷检测方法 |
CN117474914B (zh) * | 2023-12-27 | 2024-04-12 | 湖南大学 | 一种基于轻量化神经网络的飞机蒙皮表面缺陷检测方法 |
Also Published As
Publication number | Publication date |
---|---|
CN114819148B (zh) | 2024-07-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN114819148B (zh) | 基于不确定性估计知识蒸馏的语言模型压缩方法 | |
Kutuzov et al. | Texts in, meaning out: neural language models in semantic similarity task for Russian | |
CN113239700A (zh) | 改进bert的文本语义匹配设备、系统、方法及存储介质 | |
Qin et al. | Knowledge inheritance for pre-trained language models | |
CN107608953B (zh) | 一种基于不定长上下文的词向量生成方法 | |
CN111191002B (zh) | 一种基于分层嵌入的神经代码搜索方法及装置 | |
CN109582952B (zh) | 诗歌生成方法、装置、计算机设备和介质 | |
CN112115716A (zh) | 一种基于多维词向量下文本匹配的服务发现方法、系统及设备 | |
CN113392191B (zh) | 一种基于多维度语义联合学习的文本匹配方法和装置 | |
CN111325015B (zh) | 一种基于语义分析的文档查重方法及系统 | |
CN109145083B (zh) | 一种基于深度学习的候选答案选取方法 | |
CN105550174A (zh) | 基于样本重要性的自动机器翻译领域自适应方法 | |
CN115392252A (zh) | 一种融合自注意力与层级残差记忆网络的实体识别方法 | |
CN111930931A (zh) | 一种摘要评价方法及装置 | |
CN110516230B (zh) | 基于枢轴语言的汉-缅双语平行句对抽取方法及装置 | |
CN118093834A (zh) | 一种基于aigc大模型的语言处理问答系统及方法 | |
CN117494815A (zh) | 面向档案的可信大语言模型训练、推理方法和装置 | |
Raju et al. | Effective preprocessing based neural machine translation for english to telugu cross-language information retrieval | |
CN114218921A (zh) | 一种优化bert的问题语义匹配方法 | |
CN111581365B (zh) | 一种谓词抽取方法 | |
CN116245139B (zh) | 图神经网络模型训练方法和装置、事件检测方法和装置 | |
CN117035077A (zh) | 一种基于软模板和反事实推理的难度可控问题生成方法 | |
CN116680407A (zh) | 一种知识图谱的构建方法及装置 | |
CN103064878B (zh) | 一种快速序列标注方法 | |
CN111767388B (zh) | 一种候选池生成方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant |