CN115600675A - 一种基于轻量多出口网络的模型压缩与推断加速方法 - Google Patents
一种基于轻量多出口网络的模型压缩与推断加速方法 Download PDFInfo
- Publication number
- CN115600675A CN115600675A CN202211194881.6A CN202211194881A CN115600675A CN 115600675 A CN115600675 A CN 115600675A CN 202211194881 A CN202211194881 A CN 202211194881A CN 115600675 A CN115600675 A CN 115600675A
- Authority
- CN
- China
- Prior art keywords
- model
- network
- matrix
- compression
- training
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N5/00—Computing arrangements using knowledge-based models
- G06N5/02—Knowledge representation; Symbolic representation
- G06N5/022—Knowledge engineering; Knowledge acquisition
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/30—Semantic analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N5/00—Computing arrangements using knowledge-based models
- G06N5/04—Inference or reasoning models
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Artificial Intelligence (AREA)
- Computational Linguistics (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Evolutionary Computation (AREA)
- Health & Medical Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- General Health & Medical Sciences (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明公开了一种基于轻量多出口网络的模型压缩与推断加速方法,包括以下步骤:1:在用户给定的数据集上训练基于变换器的预训练语言模型,得到教师模型并初始化学生模型;2:构建轻量模型的体积需求,并根据模型体积需求设置词嵌入矩阵中间维度、自注意力头数、前馈网络中间维度;3:使用综合静态压缩与动态加速的联合优化方法训练目标轻量多出口网络模型;4:在推断前根据实际需要设定或改变轻量多出口网络模型的置信度阈值,实现可变程度的加速。本发明设计了一种宽度压缩的多出口模型以优化时间和空间效率,大幅降低存储计算开销,减小压缩后的多出口模型因各层不一致导致的性能下降,弥补了静态压缩和动态加速的结合导致模型性能大幅降低的问题。
Description
技术领域
本发明涉及一种基于轻量多出口网络的模型压缩与推断加速方法,属于人工智能技术领域。
背景技术
随着深度学习技术的发展,深度神经网络模型深度越来越深,模型复杂度越来越大。相应地,深度学习模型的计算开销也越来越大。这给深度学习模型的部署、应用带来一定的挑战。尤其是在电网众多的数据应用智能处理领域,一方面电网数据从终端到控制端,包含大量文本、数值等数据,要求部署的模型具有可靠的自然语言、结构化语言处理能力;另一方面,从用户终端到中央控制端硬件计算能力差异大,要求部署的模型具备较快的推断速度和较低的资源消耗。
国内外在图像识别、目标检测等计算机视觉领域较早开始了模型压缩和推断加速的相关研究,主要针对卷积神经网络(Convolutional neural network,CNN)。2019年来,由于Transformer多层变换器和大规模预训练语言模型的兴起,逐渐有学者针对预训练语言模型的压缩和加速进行相关研究。针对电网应用数据中的文本数据,需要有性能良好的模型压缩与推断加速技术。
目前常用的模型压缩和推断加速方法,包括剪枝、矩阵分解、量化、知识蒸馏和动态提前退出。
剪枝压缩方法旨在移除原模型中的一部分重要性较低的参数或结构。首先,通过权重数值、泰勒展开等方法评价模型参数或结构的重要性,然后将参数或结构按重要性由高至低排序,并保留要性较高的参数或结构以实现模型压缩。针对基于变换器的双向编码器表示模型(Bidirectional Encoder Representations from Transformers,BERT)等多层变换器(Transformer)结构的预训练语言模型,有现有技术对Transformer中的前馈神经网络(Feed-forward Network,FFN)神经元剪枝;也有技术方案认为Transformer中的多头自注意力结构存在冗余,通过减少自注意力头数实现压缩。上述两项研究均为模型宽度的压缩。Fan,Grave,和Joulin提出LayerDrop的剪枝方法,减少Transformer层数,即压缩模型深度。上述剪枝方法均为粗粒度的结构化剪枝,细粒度的非结构化剪枝可以从理论上降低模型的复杂度和计算量,但是剪枝后的稀疏矩阵在通用设备上难以直接实现存储空间的减少和计算效率的提升。相比之下,结构化剪枝的可行性更强,无需使用特制计算设备便可以直接减少实际运算的时空开销。
如同各种神经网络一样,预训练语言模型的主要模块通常是权重构成的变换矩阵。该类矩阵的维度,即变换的输入输出维度往往较大。因此,可以通过奇异值分解等低秩近似方法,将原本的参数矩阵近似分解为若干个维度较小的矩阵相乘,在足以恢复精度的情况下减小矩阵的参数量。基于这个思路,现有技术对预训练好的BERT各个参数矩阵进行了奇异值分解。在预训练ALBERT模型时,将词嵌入矩阵分解为了两个小的矩阵相乘,使词嵌入矩阵参数量减少至17%,且其输出维度无需与隐藏状态维度相关。此外,ALBERT模型使用参数共享方法,使其每一层变换矩阵的参数相同,并且只存储一次,大大缩减了模型参数量。然而,与BERT相比,ALBERT达到相近准确率所需的计算量和时间不减反增。
知识蒸馏旨在通过训练的方式,将大型的“教师网络”模型的知识和行为迁移到小型的“学生网络”模型上。有现有技术使用隐藏状态的余弦损失,在预训练阶段蒸馏层数减半的BERT模型。也有技术方案提出学生和教师模型[CLS]符表征的均方误差损失,使模型学习到BERT最重要的分类特征表示。使用数据增强,在预训练和精调两阶段蒸馏BERT的嵌入层隐藏状态输出、Transformer注意力矩阵、各层隐藏状态输出和模型概率分布输出,其训练得到的4层TinyBERT模型在不到BERTBASE模型1/7参数量的情况下达到9.4倍加速比,平均正确率保留96.8%。
动态提前退出的核心是根据样本的难度选择计算量,简单样本只需要经过少量模型模块计算,而复杂样本则需要更多计算。这一思想最早来自于视觉领域技术,其在普通卷积神经网络模型特定的卷积层后引入网络分支出口,并在每个分支进行置信度判断,若浅层已经能够提取样本特征并做出高置信度的预测,则无需再通过剩余的模块。有研究将该思想应用在BERT等预训练语言模型上,将模型每一层Transformer视为一个模块,进行层级别的动态提前退出。需要注意的是,动态提前退出方法仅能加速推断,无法缩减模型体积,还会引入额外的分支出口参数量。因此,结合静态模型压缩与动态提前退出是有意义的。但是,目前使用的静态压缩技术很难找到一个最佳设置,既对简单的输入样本有效,又对复杂的样本准确,同时提前退出不能减少模型宽度的冗余,对减少模型的实际体积无能为力。此外,可解释性研究表明,BERT中各层的注意力和语义特征是不同的。因此,从BERT等预训练的单出口网络模型推导出一个多出口网络模型会产生训练目标的不一致。也就是,BERT的每一层均需要同时进行输出预测和为更深层提供服务,而两者间存在冲突。据实验观察,未压缩的BERT受到这种不一致的影响较轻微,而压缩后的小容量模型难以平衡浅层预测和深层预测的冲突。压缩模型后再植入出口将导致严重的性能下降,阻碍了两种优化的互补。
发明内容
本发明的目的在于提供一种基于轻量多出口网络的模型压缩与推断加速方法,结合静态模型压缩与动态提前退出这两种优化方法,使用宽度压缩的轻量多出口网络模型优化时间和空间效率。同时,进行联合优化,减小压缩后的轻量多出口网络模型因各层不一致导致的性能下降。
本发明的目的通过以下技术方案予以实现:一种基于轻量多出口网络的模型压缩与推断加速方法,包括以下步骤:
步骤1:使用现有的精调方法在用户给定的数据集上训练基于变换器的预训练语言模型,得到教师模型,并用教师模型初始化学生模型,学生模型即轻量多出口网络模型;
步骤2:根据教师模型参数量P′和轻量多出口网络模型的预期参数量P,设置词嵌入矩阵中间维度自注意力头数前馈网络中间维度其中为向下取整运算符,教师模型的词嵌入矩阵中间维度、自注意力头数A、前馈网络中间维度分别为E′,A′,F′;
步骤3:使用综合静态压缩与动态加速的联合优化方法训练目标轻量多出口网络模型;
步骤4:在推断前根据实际需要设定或改变轻量多出口网络模型的置信度阈值,实现可变程度的加速。
本发明的目的还可以通过以下技术措施来进一步实现:
进一步地,在步骤2中,词嵌入矩阵中间维度E、自注意力头数A、前馈网络中间维度F的设置需满足以下约束:
约束条件1:词嵌入矩阵中间维度E需为正整数,且小于精调的预训练语言模型的词嵌入矩阵维度E′,即0<E<E′,E∈N*,其中N*为正整数集;
约束条件2:自注意力头数A需为正整数,且小于精调的预训练语言模型的自注意力头数A′,即0<A<A′,A∈N*,其中N*为正整数集;
约束条件3:前馈网络中间维度F需为正整数,且小于精调的预训练语言模型的自注意力头数F′,即0<F<F′,F∈N*,其中N*为正整数集;且前馈网络中间维度F的设置满足
F=A×hs×θ
其中,hs为每个自注意力头的维度,设置为64;θ为比例因子,设置为2。
进一步地,在步骤3中,综合静态压缩与动态加速的联合优化方法包括基于奇异值分解的词嵌入矩阵近似、基于迭代式剪枝的变换矩阵压缩、基于知识蒸馏的轻量多出口网络恢复训练和基于动态提前退出的推断加速;综合静态压缩与动态加速的联合优化的步骤如下:
步骤3.1:使用截断式奇异值分解方法对模型进行基于奇异值分解的词嵌入矩阵近似,首先将词嵌入矩阵Wt矩阵拆分为三个维度为E的矩阵U,∑和V的乘积;之后,截断式奇异值分解将三个矩阵截断到维度E-ΔE,其中并将U和∑矩阵相乘作为第一个词嵌入矩阵Wt1,将V矩阵作为第二个词嵌入矩阵Wt2;
步骤3.2:对学生模型(即轻量多出口网络模型)进行基于迭代式剪枝的变换矩阵压缩,变换矩阵压缩反映在变换矩阵上,即是将矩阵重要性最低的行或列丢弃,实现参数量和浮点数运算次数的减少;对于学生模型中的多头自注意力结构,剪枝的粒度为注意力头,即每次剪枝将将自注意力头数从当前值减小ΔA,其中ΔA=1;对于模型中的前馈网络结构,将前馈网络中间维度从当前值减小ΔF,
步骤3.3:对学生模型进行基于知识蒸馏的轻量多出口网络恢复训练:在教师模型和学生模型前向传播完成后,获取教师模型各层的预测和隐藏状态为教师模型第1至L层输出的预测概率分布,为教师模型词嵌入层输出的隐藏状态,为教师模型第1至L层输出的隐藏状态;获取学生模型各层的预测和隐藏状态为学生模型第1至L层输出的预测概率分布,为学生模型词嵌入层输出的隐藏状态,为学生模型第1至L层输出的隐藏状态,计算蒸馏损失函数
其中L为模型层数,CELoss(·)为交叉熵损失函数,MSELoss(·)为均方误差损失函数,∑为求和运算;
步骤3.4:使用梯度均衡的方法,对每一层网络结构的梯度进行不同比例的缩放,避免式(1)将损失函数叠加造成梯度过大的问题;具体地,损失函数对第k层网络结构的梯度表示为:
步骤3.5:若学生模型压缩已完成,即学生模型的词嵌入矩阵中间维度由E′减小到E,自注意力头数由A′减小到A,前馈网络中间维度由F′减小到F,则继续运行步骤3.3直到训练数据迭代完成;否则,继续运行步骤3.1至步骤3.5。
与现有技术相比,本发明的有益效果是:
现有技术一般是浅而宽的压缩模型结构,没有保持预训练模型的整体结构,本发明设计一种深而窄的宽度压缩的多出口模型以优化时间和空间效率,保留了预训练模型提取高层语义的能力,在保留模型绝大部分性能的情况下,大幅降低存储计算开销。现有技术无法针对不同难度的样本进行计算量的动态调整,对于简单样本存在冗余,而对于复杂样本则计算不足,本发明通过动态推断克服了这一问题。实验证明本发明的技术方案在高度压缩和加速的情况下仍具有最优性能。
本发明分析预训练语言模型存在冗余的位置、各个结构重要性,并使用基于剪枝、矩阵分解的压缩方法对模型进行压缩,在精度损失较小的前提下,静态地缩减模型体积,减小存储和计算的时空开销,降低模型部署难度。基于动态提前退出技术,在原始的单出口网络模型中加入中间出口,并精调多出口网络模型,使模型能够在不破坏整体结构的情况下,针对不同复杂程度的输入样本,动态地判断推断计算量,进一步提高模型推断速度。提出的联合优化方法,在模型主干的宽度压缩中加入出口的校准,去除对每个出口的贡献较小的结构以及宽度上的冗余,减小多出口网络模型的不一致性,弥补了静态压缩和动态加速的结合导致模型性能大幅降低的问题。
附图说明
图1为基于轻量多出口网络的模型压缩与推断加速方法的模型示意图;Wt为原始模型的词嵌入矩阵,Wt1和Wt2为分解近似后的两个较小的词嵌入矩阵,WQ,WK,WV,WO为多头自注意力中的变换矩阵,WFI,WFO为前馈网络中的变换矩阵;
图2为截断式奇异值分解作用在BERT词嵌入矩阵的示意图;
图3为结构化剪枝作用在神经网络结构和变换矩阵的示意图;Ni O表示第i个输出神经元,表示第j个输入神经元,Wij表示第i个输出神经元与第j个输入神经元间连接的权重;虚线部分为剪枝后去除的结构,实线部分为剪枝后保留的结构;
图4为三种不同置信度阈值下,12层BERT模型的提前退出示意图。
具体实施方式
本发明使用基于轻量多出口网络的模型压缩与推断加速方法,在精度损失较小的情况下缩减预训练语言模型体积,减小存储和计算的时空开销,降低模型部署难度,且使模型能够在不破坏整体结构的情况下,针对不同复杂程度的输入样本,进一步提高模型推断速度。特别地,本发明的联合优化方法,去除对轻量多出口网络的每个出口贡献较小的结构,减小轻量多出口网络模型中各层的不一致性。该联合优化过程可以拆解为四个主要部分:基于奇异值分解的词嵌入矩阵近似、基于迭代式剪枝的变换矩阵压缩、基于知识蒸馏的轻量多出口网络恢复训练、基于动态提前退出的推断加速。
图1为基于轻量多出口网络的模型压缩与推断加速方法的模型示意图,本发明的基于轻量多出口网络的模型压缩与推断加速方法包括以下步骤:
步骤1:使用现有的精调方法在用户给定的数据集上精调基于变换器的预训练语言模型,得到未经压缩的单出口的教师模型,并用该教师模型初始化学生模型,学生模型即轻量多出口网络模型);
步骤2:根据教师模型的参数量P′和轻量多出口网络模型的预期参数量P,设置词嵌入矩阵中间维度自注意力头数前馈网络中间维度其中为向下取整运算符。在此过程中需要满足1)词嵌入矩阵中间维度E需为正整数,且小于精调的预训练语言模型词嵌入矩阵维度E′,即0<E<E′,E∈N*,其中N*为正整数集;2)自注意力头数A需为正整数,且小于精调的预训练语言模型自注意力头数A′,即0<A<A′,A∈N*,其中N*为正整数集;3)前馈网络中间维度F需为正整数,且小于精调的预训练语言模型自注意力头数F′,即0<F<F′,F∈N*,其中N*为正整数集;前馈网络中间维度F的设置满足F=A×hs×θ,其中,hs为每个自注意力头的维度,一般设置为64;θ为比例因子,一般设置为2。
步骤3:使用综合静态压缩与动态加速的联合优化方法训练目标轻量多出口网络模型,具体如下;
步骤3.1:基于奇异值分解的词嵌入矩阵近似
本发明使用截断式奇异值分解方法对预训练语言模型BERT的首个模块——词嵌入矩阵进行近似。截断式奇异值分解首先将词嵌入矩阵Wt矩阵拆分为三个较小矩阵U,∑和V的乘积。之后,截断式奇异值分解将三个矩阵截断到期望得到的维度E(需要满足E小于待压缩模型的隐藏状态维度),并将U和∑矩阵相乘作为第一个词嵌入矩阵Wt1,将V矩阵作为第二个词嵌入矩阵Wt2,如图2所示。
因此,使用截断式奇异值分解进行词嵌入矩阵近似,可以将参数量从压缩到(其中为词表大小,H为隐藏状态大小。当E较小时,词嵌入矩阵可以被大幅压缩。本发明选择的待压缩模型为BERT,词表大小隐藏状态大小为H=768,若将中间变换维度设置为E=128,可以将词嵌入矩阵参数量从23.4百万压缩至4.0百万。
步骤3.2:基于迭代式剪枝的变换矩阵压缩:
剪枝在粒度上分为粗粒度的结构化剪枝和细粒度的非结构化剪枝。结构化剪枝将神经元等网络结构及其相连的所有权重整体剪除,非结构化剪枝一般只消除特定的权重。考虑到一般设备难以对非结构化剪枝所得的稀疏矩阵进行存储和计算,本发明选择结构化剪枝。如图3所示,本发明使用的结构化剪枝将全连接网络中不重要的神经元剪除,反映在变换矩阵上,则是将某些行或列丢弃,从而实现参数量和浮点数运算次数的减少。具体地,本发明使用如下的模型结构重要性计算方法辅助剪枝。
剪枝的根据是结构重要性,本申请希望剪除的结构为模型中不重要的部分,即剪枝后的模型更接近剪枝前模型的损失。若要形式化地定义结构重要性,则剪枝目标为
其中为损失函数,X为输入向量,W为待剪枝的权重矩阵,W′为剪枝后的权重矩阵,|·|为取绝对值操作,意为在W′为变量时寻找f表达式的最小值。换言之,剪枝可以视为将特定权重hi设置为0,并最小化剪枝后模型与剪枝前模型的损失之差
因此,结构的重要性可以用权重和梯度的乘积表示,即此后,在每一层Transformer中,对结构所连接权重的重要性求和,并从小到大排序进行剪枝,减去不重要的结构。为了避免单次剪枝对模型造成难以恢复的损伤,本发明使用迭代式剪枝。迭代式剪枝在训练的同时进行,每次只剪去人为设置的固定比例结构,直到剪枝模型达到目标大小,一般可将每次剪枝的比例设置为10%。这样的方法可以使模型在训练中逐步恢复被剪枝破坏的结构,并及时调整结构重要性。
步骤3.3:基于知识蒸馏的轻量多出口网络模型恢复训练:
本发明使用预测蒸馏和特征蒸馏两种知识蒸馏方法。
预测蒸馏与标签平滑的思想类似,利用训练好的教师模型对输入样本进行预测,并将其概率分布输出作为学生模型所学习的“软标签”,旨在解决训练数据标注不完善的问题,提高学生模型的泛化性。同时,预测蒸馏可以与数据增强相结合。数据增强对有限的数据进行近义词替换、随机删除、掩码生成等方法生成更多的数据,丰富训练数据的分布,进一步提高模型的泛化能力。通常,增强数据没有真实标签,若直接将原始数据的标签作为对应的增强数据标签,则可能出现语义不匹配等问题。为了避免这种问题,本发明使用教师模型的概率分布输出作为增强数据的标签,并使学生模型的概率分布输出 尽可能地接近教师模型的概率分布输出。因此,预测蒸馏的损失函数可以表示为
其中L为模型层数,CELoss(·)为交叉熵损失函数,∑为求和运算。
由于本发明的轻量多出口网络体量较小,仅使用预测蒸馏可能无法达到预期效果,因为即使知道了教师模型的预测,也无法使轻量多出口网络真正学习到语言表示。为此,本发明使用特征蒸馏,将教师模型的中间表示迁移到学生模型上。本发明选择教师模型的嵌入层和Transformer层隐藏状态输出作为特征,并使学生模型的嵌入层和Transformer层隐藏状态输出尽可能地接近教师模型的隐藏状态输出。因此,特征蒸馏的损失函数可以表示为
其中L为模型层数,MSELoss(·)为均方误差损失函数,∑为求和运算。
综上,在本发明的基于知识蒸馏的轻量多出口网络恢复训练中,损失函数表示为
步骤3.4:基于动态提前退出的推断加速:
与静态的模型压缩不同,提前退出旨在根据输入样本的复杂度,在推断时由模型自身动态地决定其计算量。具体而言,本发明使用层级别的提前退出,如图4所示在Transformer层后加入分类器,将其作为提前退出的出口。推断时,输入样本在经过每一层Transformer之后,暂时地流向出口分类器,判断其输出是否达到用户预设的置信度阈值。若此层的置信度满足退出条件,则认为模型此时已经能够对该输入样本做出可信的判断,无需继续进入后续的Transformer层,可以提前退出推断过程。
本发明使用分类器输出概率分布的熵作为置信度评判标准,定义为
其中,P(i)为样本分类i的概率,C为类别数目,ln为自然对数运算。若熵的数值S大于一给定阈值ST,表示模型分类概率相近,难以在该状态下做出可信的预测;反之,则表示模型倾向于某一预测,该预测的概率值较大,其他预测的概率值小,可以做出高置信度的预测。
在训练轻量多出口网络模型时,需要优化每层出口的损失函数,具体而言,第i层出口的损失可以被写作
如式(1)所示,本发明将每层出口的损失函数叠加,为了避免损失函数叠加造成梯度过大的问题,本发明使用梯度均衡的方法,即对每一层网络结构的梯度进行不同比例的缩放,使后续各层反向传播的梯度被平均。具体地,损失函数对第k层网络结构的梯度可以表示为
步骤3.5:若模型压缩已完成,即学生模型的词嵌入矩阵中间维度由E′减小到E,自注意力头数由A′减小到A,前馈网络中间维度由F′减小到F,则继续运行步骤3.3直到训练数据迭代完成。否则,继续运行步骤3.1至步骤3.5。
步骤4:在推断前根据实际需要设定或改变轻量多出口网络模型的置信度阈值,实现可变程度的加速。图4中,深黑色路径表示常规BERT模型的推断过程,也可以视为将置信度阈值设为最大值(二分类场景下,最大值为0.7),灰色和浅灰色路径分别为中等(二分类场景下,约为0.3)和较低(二分类场景下,约为0.1)置信度阈值的情况。
具体实施案例:
以电网公告分类为例,首先构建了电网公告数据集,将公告分为“电网建设”“电网采购”“技术支持”“电网服务”四类。上述四类的公告条数如表1所示。
表1电网公告数据集详情
首先,使用此数据集训练未经压缩的多出口BERT教师模型,并用教师模型初始化学生模型。此时,学生模型大约占据420兆字节存储空间,推断时间约为50毫秒。根据实际计算量需求,预期的模型大约需要50-70兆字节的存储空间,10-30毫秒的推断时间。据此,设置学生模型预期的词嵌入矩阵中间维度E=128,自注意力头数A=2,前馈网络中间维度F=256。此后按照步骤3,使用综合静态压缩与动态加速的联合优化方法训练学生模型,得到约63兆字节的学生模型,完整推断时间约22毫秒,符合预期的计算量需求。之后,观察到模型分类的准确率较高,允许模型进行更早的提前退出,因此将分类置信度阈值设置为中等偏低水平0.3。在此设定下,模型平均推断时间降低至16毫秒左右。测试输入公告标题“国家电网华中电力调控分中心2021年电网安全自动装置及系统保护控制策略适应性评估招标公告”,输出为其正确分类“技术支持”,耗时约18毫秒;输入公告标题“国家电网有限公司高级培训中心2021年第四次服务招标公告”,输出为其正确分类“电网服务”,耗时约11毫秒。
本发明在通用语言理解评估(General Language Understanding Evaluation,GLUE)数据集上对综合静态压缩与动态加速的模型进行评价。在GLUE数据集的三类任务中各选择一项,分别为斯坦福情感树分类(SST-2)、Quora问题对等价分类(QQP)、问题自然语言推理(QNLI),另选择一项三元分类任务多流派自然语言推理(MNLI)。
本技术的评估指标分别为精确率(accuracy)和F1值,记TP为正例预测正确的个数,FP为负例预测错误的个数,TN为负例预测正确的个数,FN为正例预测错误的个数,则 将本发明中的模型方法与主流的压缩与加速方法进行比较,具体结果如表2所示。实验结果表明本发明提出的优化方法超过了众多主流模型的性能,证明了本发明提出方法的有效性:
表2 GLUE数据集上的实验结果,表中加粗内容为最优实验效果
除上述实施例外,本发明还可以有其他实施方式,凡采用等同替换或等效变换形成的技术方案,均落在本发明要求的保护范围内。
Claims (3)
1.一种基于轻量多出口网络的模型压缩与推断加速方法,其特征在于,包括以下步骤:
步骤1:使用现有的精调方法在用户给定的数据集上训练基于变换器的预训练语言模型,得到教师模型,并用教师模型初始化学生模型,学生模型即轻量多出口网络模型;
步骤2:根据教师模型参数量P′和轻量多出口网络模型的预期参数量P,设置词嵌入矩阵中间维度自注意力头数前馈网络中间维度其中为向下取整运算符,教师模型的词嵌入矩阵中间维度、自注意力头数A、前馈网络中间维度分别为E′,A′,F′;
步骤3:使用综合静态压缩与动态加速的联合优化方法训练目标轻量多出口网络模型;
步骤4:在推断前根据实际需要设定或改变轻量多出口网络模型的置信度阈值,实现可变程度的加速。
2.如权利要求1所述的一种基于轻量多出口网络的模型压缩与推断加速方法,其特征在于,步骤2中,词嵌入矩阵中间维度E、自注意力头数A、前馈网络中间维度F的设置需满足以下约束:
约束条件1:词嵌入矩阵中间维度E需为正整数,且小于精调的预训练语言模型的词嵌入矩阵维度E′,即0<E<E′,E∈N*,其中N*为正整数集;
约束条件2:自注意力头数A需为正整数,且小于精调的预训练语言模型的自注意力头数A′,即0<A<A′,A∈N*,其中N*为正整数集;
约束条件3:前馈网络中间维度F需为正整数,且小于精调的预训练语言模型的自注意力头数F′,即0<F<F′,F∈N*,其中N*为正整数集;且前馈网络中间维度F的设置满足
F=A×hs×θ
其中,hs为每个自注意力头的维度,设置为64;θ为比例因子,设置为2。
3.如权利要求1所述的一种基于轻量多出口网络的模型压缩与推断加速方法,其特征在于,步骤3中,综合静态压缩与动态加速的联合优化方法包括基于奇异值分解的词嵌入矩阵近似、基于迭代式剪枝的变换矩阵压缩、基于知识蒸馏的轻量多出口网络恢复训练和基于动态提前退出的推断加速;综合静态压缩与动态加速的联合优化的步骤如下:
步骤3.1:使用截断式奇异值分解方法对模型进行基于奇异值分解的词嵌入矩阵近似,首先将词嵌入矩阵Wt矩阵拆分为三个维度为E的矩阵U,∑和V的乘积;之后,截断式奇异值分解将三个矩阵截断到维度E-ΔE,其中并将U和∑矩阵相乘作为第一个词嵌入矩阵Wt1,将V矩阵作为第二个词嵌入矩阵Wt2;
步骤3.2:对学生模型进行基于迭代式剪枝的变换矩阵压缩,变换矩阵压缩反映在变换矩阵上,即是将矩阵重要性最低的行或列丢弃,实现参数量和浮点数运算次数的减少;对于模型中的多头自注意力结构,剪枝的粒度为注意力头,即每次剪枝将将自注意力头数从当前值减小ΔA,其中ΔA=1;对于模型中的前馈网络结构,将前馈网络中间维度从当前值减小ΔF,
步骤3.3:对学生模型进行基于知识蒸馏的轻量多出口网络恢复训练:在教师模型和学生模型前向传播完成后,获取教师模型各层的预测和隐藏状态 为教师模型第1至L层输出的预测概率分布,为教师模型词嵌入层输出的隐藏状态,为教师模型第1至L层输出的隐藏状态;获取学生模型各层的预测和隐藏状态 为学生模型第1至L层输出的预测概率分布,为学生模型词嵌入层输出的隐藏状态,为学生模型第1至L层输出的隐藏状态,计算蒸馏损失函数
其中L为模型层数,CELoss(·)为交叉熵损失函数,MSELoss(·)为均方误差损失函数,∑为求和运算;
步骤3.4:使用梯度均衡的方法,对每一层网络结构的梯度进行不同比例的缩放,避免式(1)将损失函数叠加造成梯度过大的问题;具体地,损失函数对第k层网络结构的梯度表示为:
步骤3.5:若学生模型压缩已完成,即学生模型的词嵌入矩阵中间维度由E′减小到E,自注意力头数由A′减小到A,前馈网络中间维度由F′减小到F,则继续运行步骤3.3直到训练数据迭代完成;否则,继续运行步骤3.1至步骤3.5。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211194881.6A CN115600675A (zh) | 2022-09-26 | 2022-09-26 | 一种基于轻量多出口网络的模型压缩与推断加速方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211194881.6A CN115600675A (zh) | 2022-09-26 | 2022-09-26 | 一种基于轻量多出口网络的模型压缩与推断加速方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115600675A true CN115600675A (zh) | 2023-01-13 |
Family
ID=84845867
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211194881.6A Pending CN115600675A (zh) | 2022-09-26 | 2022-09-26 | 一种基于轻量多出口网络的模型压缩与推断加速方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115600675A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117520802A (zh) * | 2024-01-08 | 2024-02-06 | 国网山东省电力公司东营供电公司 | 一种电力工程现场轻量级审计事件识别方法、系统及设备 |
-
2022
- 2022-09-26 CN CN202211194881.6A patent/CN115600675A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117520802A (zh) * | 2024-01-08 | 2024-02-06 | 国网山东省电力公司东营供电公司 | 一种电力工程现场轻量级审计事件识别方法、系统及设备 |
CN117520802B (zh) * | 2024-01-08 | 2024-05-24 | 国网山东省电力公司东营供电公司 | 一种电力工程现场轻量级审计事件识别方法、系统及设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8700552B2 (en) | Exploiting sparseness in training deep neural networks | |
Xu et al. | A survey on model compression and acceleration for pretrained language models | |
CN110321563B (zh) | 基于混合监督模型的文本情感分析方法 | |
US20070022069A1 (en) | Sequential conditional generalized iterative scaling | |
CN111027595B (zh) | 双阶段语义词向量生成方法 | |
CN108170848B (zh) | 一种面向中国移动智能客服的对话场景分类方法 | |
CN111984791B (zh) | 一种基于注意力机制的长文分类方法 | |
CN113688244A (zh) | 基于神经网络的文本分类方法、系统、设备及存储介质 | |
WO2020143253A1 (zh) | 一种基于Sparse Autoencoder的电力系统运行方式聚类方法 | |
CN113157919B (zh) | 语句文本方面级情感分类方法及系统 | |
CN111414749A (zh) | 基于深度神经网络的社交文本依存句法分析系统 | |
CN110334243A (zh) | 基于多层时序池化的音频表示学习方法 | |
US20210133540A1 (en) | System and method for compact, fast, and accurate lstms | |
CN115600675A (zh) | 一种基于轻量多出口网络的模型压缩与推断加速方法 | |
Vialatte et al. | A study of deep learning robustness against computation failures | |
Xi et al. | Training transformers with 4-bit integers | |
CN115034228A (zh) | 一种用于情感分析模型的优化方法 | |
CN114943335A (zh) | 一种三值神经网络逐层优化方法 | |
Kaplan et al. | Goal driven network pruning for object recognition | |
US11941360B2 (en) | Acronym definition network | |
CN116863920B (zh) | 基于双流自监督网络的语音识别方法、装置、设备及介质 | |
CN112735469B (zh) | 低内存语音关键词检测方法、系统、介质、设备及终端 | |
CN113610181A (zh) | 一种结合机器学习和群智能算法的快速多目标特征选择方法 | |
Zhang et al. | Compressing knowledge graph embedding with relational graph auto-encoder | |
CN113051892A (zh) | 基于transformer模型的汉语词义消歧方法 |
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 |