版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
基于知识蒸馏的轻量级口语理解深度学习模型分析目录TOC\o"1-3"\h\u25918基于知识蒸馏的轻量级口语理解深度学习模型分析 1192991.1问题描述与研究动机 2251791.2基于知识蒸馏的口语理解模型压缩方法 241411.2.1基于BERT的口语理解联合模型设计 24391.2.2基于教师-学生网络的轻量级口语理解模型 56521.2.3损失函数设计 6277461.2.4算法伪代码 7255511.3实验及性能分析 11125241.3.1实验设置 11309381.3.2实验一:KDJS与教师模型、学生模型和主流蒸馏模型结果对比分析 13304471.3.3实验二:具有不同Transformer层数的学生模型蒸馏结果对比分析 1740961.3.4实验三:不同的知识蒸馏方法对性能的影响分析 18口语理解是对话系统中的关键模块之一,涵盖两个任务:意图识别和槽位填充。意图识别旨在从用户的表达语句中识别出用户的交互意图,其实质是一个文本分类问题。槽位填充则是从用户的表达语句中提取出为了完成某项特定任务所定义的语义概念,可以建模为一个序列标注问题。最新研究进展表明,通过联合建模意图识别与槽位填充提升了口语理解任务的性能,且采用预训练模型可进一步提升口语理解任务的性能。然而,预训练模型由于网络结构复杂、参数规模巨大,导致很多基于预训练模型的口语理解模型不能满足真实业务场景下的口语理解实际应用需求,而且大部分模型在槽位填充任务中没有充分利用到意图信息。针对以上问题,本章首先设计了一个基于BERT的双任务联合学习模型,用于对口语理解中的意图识别和槽位填充任务进行联合建模。然后提出了基于知识蒸馏的预训练口语理解联合模型压缩方法。该方法在解决基于预训练模型的口语理解联合模型参数量大、推断速度慢等问题的步骤是,先通过对基于预训练模型的联合口语理解模型进行训练,得到一个性能较好的教师模型。然后利用教师模型对一个参数规模较小的学生模型进行指导训练,最终得到一个轻量级的口语理解联合模型。本章所提方法分别在英文口语理解基准数据集ATIS、SNIPS和中文口语理解数据集SMP2019、CAIS上从多个方面验证了有效性。1.1问题描述与研究动机如1.2节所述,目前口语理解任务主要使用深度学习联合建模的方法,通过对意图识别任务与槽位填充任务进行联合建模,利用意图的监督信号和语义信息来提升槽位填充任务的性能,从而进一步改善口语理解模型的整体表现。由于预训练模型在许多自然语言处理的任务上效果显著,因此近年来,出现出了很多使用预训练模型和口语理解联合学习模型进行结合的方法(Qinetal.,2019)(Zhangetal.,2019)(Chenetal.,2019),并且相较于传统的联合建模学习模型(Gooetal.,2018)(Lietal.,2018)(Zhangetal.,2019)(Eetal.,2019)性能上有大幅提升。但因为预训练模型的引入使得整个口语理解模型网络结构变得复杂、参数量提升好多倍,这导致了很多取得不错性能的口语理解模型难以部署上线应用。因此,本章节首先设计了一个基于BERT的联合学习模型对意图识别与槽位填充联合建模。然后采用知识蒸馏技术对模型进行蒸馏压缩,最终得到一个轻量级、推断速度与性能俱佳的高效口语理解联合模型。1.2基于知识蒸馏的口语理解模型压缩方法本章节首先设计了一个基于BERT的口语理解联合学习模型,然后设计了对口语理解联合模型进行知识蒸馏的框架,最终得到一个轻量级的口语理解联合模型(KnowledgeDistillationJointSLUmodel,KDJS)。1.2.1基于BERT的口语理解联合模型设计意图识别和槽位填充这两个任务之间存在关联性,在构建口语理解模型时,可以对二者进行联合建模,即利用意图的监督信号和语义信息来提升槽位填充任务的性能,从而进一步改善口语理解模型的整体表现。例如,在订票场景中,从用户的口语表达中识别到的订票意图可以辅助槽位填充模型识别出发地、目的地、时间等槽位信息,从而提高槽位填充的准确度。本章节提出了基于BERT的口语理解联合学习模型,来对英文口语理解场景中的意图识别与槽位填充任务进行联合显示建模。在中文口语理解数据集上,采用的是ERNIE。基于BERT的口语理解联合模型结构如图1.1所示:图1.1BERT口语理解联合模型Figure1.1BERT-basedjointSLUmodel给定用户的输入语句,该模型首先利用BERT分别提取句子级和单词级表征,并将句子级表征输入一个意图分类器获取当前表达的意图;然后,通过对单词级表征进行Self-Attention并结合使用Slot-Gate来控制意图信息的引入,输出与BERT词级表征逐元素相乘来实现意图信息和槽位信息的交互,并将交互后的单词级表征输入到CRF模块以建模预测标签之间的约束关系,最后,输出各个词对应的槽位标签。(1)BERT编码通过BERT编码模块,得到一个深度双向表征。具体地,把用户表达语句通过WordPiece编码并在首尾加上[CLS]、[SEP]这两个特殊字符,得到词嵌入,拼接上位置嵌入、段嵌入,输入到BERT模型中。给定输入词序列x=x1(2)意图识别通过BERT编码输出的第一个特殊字符[CLS]隐状态信息得到整个句子的语义表征,然后再通过一个意图分类器(IntentClassifier)对用户意图进行分类,(1.1)(1.2)其中,h1是[CLS]对应的隐状态,可以代表整个句子的语义信息,Wintent和(3)自注意力机制首先,使用自注意力机制对BERT输出生成每个时间步的上下文感知表征st,然后拼接意图向量vintent输入到Slot-Gate中得到门向量vt(1.3)(4)门控机制在隐式联合建模中,意图识别与槽位填充只使用共享的编码器来捕捉一些共享特征,隐式地表明意图识别与槽位填充任务间的相关性,但没有建模意图与槽位间的显示交互,导致性能方面的欠缺。本章节显示建模两个任务间的交互,以达到提升性能的效果。意图信息的引入有助于槽位填充任务,但相较于句子中非槽位词,意图信息更有利于槽位词的提取。如果把意图信息作用于句子中的每个词,可能会导致一些非槽位词被错误地预测为槽位词。为此,本章设计了一个槽位门控来把意图信息作用于槽位填充任务。通过自注意力机制得到每个词的上下文表征st,然后通过对意图向量vintent与每个词的上下文表征拼接后做线性变换得到门控向量(gatevector)vt(1.4)(1.5)5)槽位填充在得到ot(1.6)6)联合学习目标图1.1所示为本文设计的基于BERT的意图识别与槽位填充联合学习模型。为了训练该模型,本文使用最小化交叉熵损失,学习目标是最大化条件概率py(1.7)其中,x是输入的单词序列,pyintent,1.2.2基于教师-学生网络的轻量级口语理解模型通过对1.2.1节所提出的模型进行训练调优后得到一个性能较好的模型作为教师模型,然后通过教师模型的软标签(SoftLabel)对学生模型的软预测(SoftPredict)进行监督指导,同时通过数据样本中的真实标签对学生模型的硬预测(HardPredict)进行监督训练。最终得到轻量级的口语理解模型KDJS。使用知识蒸馏技术对口语理解联合模型进行蒸馏压缩的流程框架如图1.2所示:图1.2基于“教师-学生”网络的口语理解联合模型蒸馏框架Figure1.2DistillationframworkofjointSLUmodelbasedonTeacher-Studentnetwork在1.2.3和1.2.4节会对模型的损失及算法流程进行介绍,此节对本章所使用的教师模型与学生模型进行简单介绍。1)教师模型在英文数据集上,教师模型使用1.2.2节所提出的BERT口语理解联合模型,使用包含12个Transformer层的bert-base-uncased做为BERT编码器,然后对模型进行训练调优,并基于开发集选择出最佳模型作为知识蒸馏中的教师模型,记作T-Bert12。在中文数据集上,教师模型使用的是包含12个Transformer层的ernie-1.0https://huggingface.co/nghuyong/ernie-1.0做为BERT编码器,训练得到的教师模型记作T-Ernie12。https://huggingface.co/nghuyong/ernie-1.02)学生模型本文设计的学生模型络,和教师模型采用的是相同的模型结构。不同的是教师模型使用了包含12个Transformer层的BERT,而学生模型使用包含4个Transormer层的BERT,记作S-Bert4。1.2.3损失函数设计1)教师模型训练时损失在进行知识蒸馏时,首先要训练一个性能较好的教师模型。本章中使用的教师网络是上文所提到的BERT口语理解联合模型,它同时对意图识别与槽位填充任务进行建模,损失包括两部分——意图识别任务的损失、槽位填充任务的损失,分别记为Lintent和Lslot,联合模型损失记为意图识别任务是本质是一个分类任务,损失函数采用交叉熵损失函数:(1.8)槽位任务被当作一个序列标注任务处理,损失函数采用交叉熵损失函数:(1.9)联合模型整体的损失函数如下:(1.10)其中,β是槽位损失的权重因子,是一个超参数。2)知识蒸馏损失对于基于Logit蒸馏的学生模型,它的损失记为Loss,包括两部分:LCE和L(1.11)(1.12)(1.13)(1.14)(1.15)其中,Ldistill代表教师模型与学生模型知识蒸馏的损失,LCE代表学生模型输出与数据样本分类硬标签之间的交叉熵损失,α是两部分损失的平衡参数,T代表温度,piT代表在温度为T时教师模型的输出,qiT是学生模型的输出,对于BERT口语理解联合学习知识蒸馏模型,意图识别与槽位填充任务的损失均包括两部分,LCE和Ldistill,分别记作:LCEintent、Ldistill最终口语理解联合学习的知识蒸馏模型的损失为:(1.16)1.2.4算法伪代码算法流程包括两部分:第一部分是BERT口语理解联合模型算法流程,其目的是基于12个Transformer层的BERT-Base对口语理解联合模型进行训练,最终得到一个性能最佳的教师模型。输入是用户表达语句、意图标签和槽位标签数据,并包装成数据加载器,在每一个批次的模型迭代过程中,生成一个batch数量的用户表达及对应的意图标签和槽位标签。通过模型前向传播计算意图输出与槽位输出,并基于输入的意图及槽位标签计算意图识别损失与槽位填充损失,两部分损失加和后,使用反向传播算法进行每个模型层参数的梯度计算,然后使用优化器(Adam优化器)进行参数更新,完成一个step的训练。以同样的方式对模型进行epoch轮更新迭代。在每几轮迭代的过程中需要使用开集对模型进行评估,并基于评估指标选择出最佳模型,并保存输出。第二部分是基于知识蒸馏的BERT口语理解联合模型算法流程,其目的是通过上一步得到的教师模型,对学生模型进行指导训练,最终得到一个性能接近教师模型,但参数量、推断速度有大幅提升的学生模型。输入是用户表达语句、意图标签和槽位标签数据,并包装成数据加载器,在每一个批次的模型迭代过程中,生成一个batch数量的用户表达及对应的意图标签和槽位标签。学生模型预测的意图、槽位输出,与教师模型对用户表达预测的意图、槽位输出计算蒸馏损失,与真实的意图、槽位标签计算学生模型损失,两部分损失加和后,通过反向传播算法计算模型各层参数的梯度,然后使用优化器(Adam优化器)进行参数更新,完成一个step的训练。在每几轮迭代的过程中需要使用开集对模型进行评估,并基于评估指标选择出最佳模型,并保存输出。表1.7基于BERT的口语理解联合模型算法流程Table1.6AlgorithmflowofBERT-basedjointSLUmodel算法:基于BERT的口语理解联合模型输入:口语理解任务样本生成器train_loader、dev_loader输出:训练阶段对模型进行训练,并评估输出最好的教师模型T_best.pthprocedureT_TRAIN(train_loader,dev_loader)whileepoch<total_epoch:step0for(query,label_intent,label_slot)intrain_loaderdo:loss0通过bert对用户表达query进行编码,输出为H将[CLS]的隐状态h1输入到意图分类器,输出意图类别概率分布将vintent输入到softmax层,输出归一划的意图类别概率分布将H输入到Self-Attention模块,输出各时刻的上下文感知向量s将vintent与st将门控向量vt与各时刻隐状态ht将ot输入到槽位分类器,输出各时刻对应槽位标签的概率分布将vslot输入到softmax层,输出归一划的槽位类别概率分布将vintent与真实意图标签输入到交叉熵函数,输出意图损失将vslot与真实槽位标签输入到交叉熵函数,输出槽位损失LCEL使用LCE使用AdamW优化器更新网络参数的梯度清空网络参数的梯度endforifepoch%ckpt_step:将dev_loader输入到T_EVAL模块,输出评估指标loss/acc/F1/句acc将loss/acc/F1/句acc与历史指标对比,选择出最佳模型并保存为T_best.pthendifendwhileendprocedureprocedureT_EVAL(eval_loader)loss0for(query,label_intent,label_slot)ineval_loaderdo:通过bert对用户表达query进行编码,输出为H将[CLS]的隐状态h1输入到意图分类器,输出意图类别概率分布将vintent输入到softmax层,输出归一划的意图类别概率分布将H输入到Self-Attention模块,输出各时刻的上下文感知向量s将vintent与st将门控向量vt与各时刻隐状态ht将ot输入到槽位分类器,输出各时刻对应槽位标签的概率分布将vslot输入到softmax层,输出归一划的槽位类别概率分布将vintent与真实意图标签输入到交叉熵函数,输出意图损失将vslot与真实槽位标签输入到交叉熵函数,输出槽位损失LCELendfor根据yintent、yslot,以概率向量中最大值对应类别为分类结果p根据真实意图/槽位标签、pintent、pslot返回评估指标loss/acc/F1/句accendprocedure表1.8基于知识蒸馏的口语理解联合模型算法流程Table1.7AlgorithmflowofKDJS算法:基于知识蒸馏的口语理解联合模型(KDJS)算法输入:口语理解任务样本生成器train_loader、dev_loader、T_best.pth输出:训练阶段对模型进行训练,并基于dev_loader选择出best_modelprocedureMAIN(train_loader,dev_loader,T_best.pth)//加载model_T、model_S从T_best.pth中加载训练好的教师模型model_T使用只包含一个Transformer层的BERT作为口语理解联合模型的BERT编码器,记作model_Swhileepoch<total_epoch:step0for(query,label_intent,label_slot)intrain_loaderdo:loss0//使用教师模型model_T、model_S分别预测输出将train_loader输入到model_T,输出vintentT将train_loader输入到model_S,输出vintentS//通过温度Temp参数来调节model_S对负标签的关注程度vintentSvintentS/Temp,vvintentTvintentT/Temp,v//计算蒸馏损失(学生模型与教师模型Logit输出间的损失)将vintentS和v将vslotS和vLdistillL//计算学生模型损失(学生模型Logit与真实标签间的损失)将vintentS将vslotSLCEL//蒸馏模型整体损失LossLCE+γ∙Ldistill使用Loss进行反向传播以计算网络可训练参数的梯度使用AdamW优化器更新网络参数的梯度清空网络参数的梯度endforifepoch%ckpt_step:将dev_loader输入到S_EVAL模块,输出评估指标loss/acc/F1/句acc将loss/acc/F1/句acc与历史指标对比,选择出最佳模型并保存为S_best.pthendifendwhileendprocedureprocedureS_EVAL(eval_loader,S_best.pth)//加载model_S从S_best.pth中加载最佳的学生模型model_Sfor(query,label_intent,label_slot)ineval_loaderdo:将eval_loader输入到model_S,输出vintent、将vintent输入到softmax层,输出归一划的意图类别概率分布将vslot输入到softmax层,输出归一划的意图类别概率分布endfor根据yintent、yslot,以概率向量中最大值对应类别为分类结果p根据真实意图/槽位标签、pintent、pslot返回评估指标loss/acc/F1/句accendprocedure1.3实验及性能分析1.3.1实验设置(1)实验环境设置本章研究分别在英文数据库SNIPS和ATIS,以及中文数据库SMP2019和CAIS上进行实验分析。其中,因为SMP2019官方只提供了训练集,所以对训练集进行了拆分,把训练集按8比2拆分为了训练集和测试集。意图识别任务性能评价指标使用Accuracy,槽位填充任务性能评价指标使用F1值,整体性能评价指标使用Sent.Acc(句准确率)。训练与测试的运行环境如错误!未找到引用源。3所示:表1.9训练与测试的运行环境Table1.8Trainingandtestingenvironment软件类型及版本操作系统Ubuntu16.01.7CUDA9.2CuDNN7Python3.7.5深度学习框架Pytorch1.5.1显卡TeslaP4024G(2)实验参数设置在英文数据集上,教师模型T-Bert12使用了包含12个Transformer层的bert-base-uncasedhttps://huggingface.co/bert-base-uncased作为BERT编码器,每层含有12个头,输出维度为768维,词表大小为30522。模型的优化器采用AdamW,学习率(learningrate)设置为5e-5,批大小(batchsize)设置为64,迭代次数(epoch)设置为50,权重衰减率(weightdecay)设置为0.001。联合训练时损失由意图损失和槽位损失2部分组成,其中槽位损失权重(slotlosscoef)设置为0.7。独立训练的学生模型S-Bert4使用了包含4个Transformer层的bert-base-uncased作为BERT编码器,其它参数与教师模型相同。知识蒸馏模型KDJS使用了包含4个Transformer层的bert-base-uncased作为BERT编码器,输出维度为768维,词表大小为30522。模型的优化器采用AdamW,学习率(learningrate)设置为5e-5,批大小(batchsize)设置为64,迭代次数(epoch)设置为60,权重衰减率(weightdecay)设置为0.001,槽位损失权重(slotlosscoef)设置为0.7。通过参数训优得到最佳参数:在ATIS和SNIPS数据集上,蒸馏(temperature)温度分别为3.75和10.1,硬标签损失权重(hardlabelweight)分别为0.88和0.23,知识蒸馏损失权重(knowledgedistillationlossweight)分别为0.42和0.66。为了验证本章所提出的知识蒸馏方法的有效性,本章节设置实验与主流的知识蒸馏模型TinyBERT[78]和DistilBERT[77]的结果进行了对比分析,分别记为Tinybert4、Tinybert6和DistilBert。其中Tinybert4使用包含4个Transformer层的TinyBERT_General_4L_312Dhttps://huggingface.co/huawei-noah/TinyBERT_General_4L_312D作为BERT编码器,每层12个头,输出维度为312维;Tinybert6使用包含6个Transformer层的TinyBERT_General_6L_768Dhttps://huggingface.co/huawei-noah/TinyBERT_General_6L_768D作为BERT编码器,每层12个头,输出维度为768维;DistilBert包含12个Transformer层的bert-base-uncased作为BERT编码器,每层含有12个头,输出维度为768维,词表大小为30522。https://huggingface.co/bert-base-uncasedhttps://huggingface.co/huawei-noah/TinyBERT_General_4L_312Dhttps://huggingface.co/huawei-noah/TinyBERT_General_6L_768D在中文数据集上,教师模型T-Ernie12使用了包含12个Transformer层的ernie-1.0https://huggingface.co/nghuyong/ernie-1.0作为BERT编码器,每层含有12个头,输出维度为768维,词表大小为18000。独立训练的学生模型T-Ernie4使用包含4个Transformer层的ernie-1.0作为BERT编码器。模型的优化器采用AdamW,学习率(learningrate)设置为5e-5,批大小(batchsize)设置为64,迭代次数(epoch)设置为70,权重衰减率(weightdecay)设置为0.001,槽位损失权重(slotlosscoef)设置为0.7。独立训练的学生模型S-Ernie4使用了包含4个Transformer层的ernie-1.0作为BERT编码器,其它参数与教师模型相同。知识蒸馏模型KDJS使用了包含4个Transformer层的ernie-1.0作为BERT编码器,输出维度为768维,词表大小为18000。模型的优化器采用AdamW,学习率(learningrate)设置为5e-5,批大小(batchsize)设置为64,迭代次数(epoch)设置为70,权重衰减率(weightdecay)设置为0.001,槽位损失权重(slotlosscoef)设置为0.7。通过参数训优得到最佳参数:在ATIS和SNIPS数据集上,蒸馏(temperature)温度分别为13.01和2.52,硬标签损失权重(hardlabelweight)分别为0.46和0.78,知识蒸馏损失权重(knowledgedistillationlossweight)分别为1.0和0.31。同时与主流中文知识蒸馏模型TinyBERT_4L_zhhttps://huggingface.co/huawei-noah/TinyBERT_4L_zh和TinyBERT_6L_zhhttps://huggingface.co/huawei-noah/TinyBERT_6L_zh进行结果的对比分析。https://huggingface.co/nghuyong/ernie-1.0https://huggingface.co/huawei-noah/TinyBERT_4L_zhhttps://huggingface.co/huawei-noah/TinyBERT_6L_zh(3)推断耗时评测数据集设置为了评测各模型的推断速度,分别对ATIS、SNIPS、CAIS的训练集扩充(复制)20倍得到一个推断耗时评测数据集。因为SMP2019总体样本较少,对训练集扩充40倍构建推断耗时评测数据集。在每个模型训练并在测试集评测完成后,会基于训练好的模型对耗时评测数据集进行推断,完成耗时评测数据集上所有数据推断的总耗时即为该模型该数据集下的推断耗时。1.3.2实验一:KDJS与教师模型、学生模型和主流蒸馏模型结果对比分析本实验旨在将本章所提出的KDJS模型与教师模型、独立训练的学生模型和主流的知识蒸馏模型的实验结果进行对比分析,分别在英文口语理解数据集和中文口语理解数据集上分别进行了实验,实验结果如表1.4和表1.5所示。本节首先通过柱状图直观呈现了不同模型间意图准确率、槽位F1值和句准确率差异,然后分别对表1.4和表1.5中的结果进行了详细分析。句准确率是衡量口语理解任务中意图识别和语义槽填充的整体性能的指标,通过图1.3可以直观地看出,不考虑教师模型,除了中文数据集SMP2019上蒸馏模型Tinybert6-zh优于KDJS模型,以及中文数据集CAIS上蒸馏模型Tinybert6-zh和独立训练的学生模型S-Ernie4略优于KDJS模型外,KDJS模型在句准确率指标上都优于各数据集上的其它所有模型,性能优势明显。图1.3KDJS与主流知识蒸馏模型、教师模型、独立训练的学生模型句准确率对比Figure1.3SentenceaccuracycomparisonwithmainstreamKDmodels,teachermodelandindependentlytrainedstudentmodels意图识别任务性能主要通过准确率进行评估,通过图1.4可以直观地看出,不考虑教师模型的情况下,除了中文数据集SMP2019上蒸馏模型Tinybert6-zh优于KDJS模型,以及英文数据集SNIPS上独立训练的学生模型S-Bert4略优于KDJS模型外,KDJS模型在意图准确率指标上均优于各数据集上的其它所有模型。图1.4KDJS与主流知识蒸馏模型、教师模型、独立训练的学生模型意图准确率对比Figure1.4IntentaccuracycomparisonwithmainstreamKDmodels,teachermodelandindependentlytrainedstudentmodels槽位填充任务性能主要通过F1值进行评估,通过图1.5可以直观地看出,不考虑教师模型的情况下,除了中文数据集SMP2019、CAIS上蒸馏模型Tinybert6-zh优于KDJS模型外,KDJS模型在槽位F1值上均优于各数据集上的其它所有模型。图1.5KDJS与主流知识蒸馏模型、教师模型、独立训练的学生模型槽位F1值对比Figure1.5SlotF1comparisonwithmainstreamKDmodels,teachermodelandindependentlytrainedstudentmodels接下来通过对中英文数据集上的实验数据进行详细分析。在英文口语理解数据集ATIS和SNIPS上的实验结果如表1.4所示:表1.10英文数据集上KDJS与主流知识蒸馏模型、教师模型、独立训练的学生模型结果对比Table1.9ResultscomparisonwithmainstreamKDmodels,teachermodelandindependentlytrainedstudentmodelsonEnglishSLUdatasets模型ATISSNIPS参数量
(百万)意图
Acc.槽位
F1句
Acc.推断耗时(s)意图
Acc.槽位
F1句
Acc.推断耗时(s)T-Bert120.960.9550.916200.980.9660.92348110S-Bert40.950.9450.89670.9840.940.8647853Tinybert40.9460.9050.86830.9790.9440.873614Tinybert60.9450.9470.899100.980.9440.87610367DistilBert0.9420.9180.862200.9790.8830.77375110KDJS0.9570.9470.909100.9810.9510.8839453从表1.4所示的实验结果可以看出,本章所提出的KDJS模型,在ATIS数据集上,意图准确率、槽位F1值和句准确率均优于独立训练的学生模型S-Bert4,以及主流的知识蒸馏模型Tinybert4、Tinybert6和DistilBert。其中KDJS模型较Tinybert4和DistilBert的句准确率分别提升1.1%和1.7%,提升效果明显,且KDJS模型的参数量只有DistilBert的1/2不到,速度却相比DistilBert提升了一倍。和教师模型T-Bert12相比,KDJS模型在意图准确率、槽位F1值、句准确率各指标上和教师模型均非常接近,分别相差0.3%、0.8%、0.7%,而模型参数量却只有教师模型的1/2不到,推断速度却相比教师模型提升了1倍。在SNIPS数据集上,KDJS模型意图准确率、槽位F1值和句准确率各评测指标也均优于独立训练的学生模型S-Bert4,以及主流的知识蒸馏模型Tinybert4、Tinybert6和DistilBert,其中F1值相比这些模型分别提升1.9%、4%、0.7%和11.3%,提升效果明显,且KDJS模型的参数量只有Tinybert6和DistilBert参数量的79%和48%。在推断速度方面,相比DistilBert模型提升了3倍。和教师模型T-Bert12相比,KDJS模型在意图准确率上高出0.1%,但在槽位F1值和句准确率方面差于教师模型。但KDJS模型参数量只有教师模型参数量1/2不到,且推断速度比教师模型速度提升了2.7倍。为了验证KDJS模型在中文口语理解数据集上的效果,本实验在SMP2019和CAIS数据集上进行了实验。在相同参数下对比了中文BERT模型bert-base-chinesehttps://huggingface.co/bert-base-chinese和中文模型ernie-1.0发现ernie的效果要好于中文BERT模型,所以本实验在中文口语理解任务上均采用ernie模型作为BERT编码器。实验结果如表1.5所示:https://huggingface.co/bert-base-chinese表1.11中文数据集上KDJS与主流知识蒸馏模型、教师模型、独立训练的学生模型结果对比Table1.10ResultscomparisonwithmainstreamKDmodels,teachermodelandindependentlytrainedstudentmodelsonChineseSLUdatasets模型SMP2019CAIS参数量
(百万)意图
Acc.槽位
F1句
Acc.推断耗时(s)意图
Acc.槽位
F1句
Acc.推断耗时(s)T-Ernie120.9630.840.8760.9590.8930.875201100S-Ernie40.9360.7530.703240.9540.8630.8487443Tinybert4-zh0.940.7390.69120.9530.8510.8442622Tinybert6-zh0.9630.8110.756580.9550.8830.86512829KDJS0.950.7590.711340.9560.8720.8432943从表1.5所示的实验结果可以看出,在中文口语理解数据集SMP2019上,KDJS模型在意图准确率、槽位F1值和句准确率指标上均优于知识蒸馏模型Tinybert4-zh和独立训练的学生模型S-Ernie4。其中,相比教师模型T-Ernie12和知识蒸馏模型Tinybert6-zh,在句准确率指标上分别差8.9%和1.5%,但模型的参数量只有教师T-Ernie12参数量的43%,推断速度方面也比教师模型快1.24倍。在CAIS数据集上,KDJS模型在意图准确率方面优于学生模型S-Ernie4和主流知识蒸馏模型Tinybert4-zh、Tinybert6-zh,槽位F1值较Tinybert4-zh模型提升2.1%。在句准确率方面,和教师模型T-Ernie12相差3.2%,和蒸馏模型Tinybert6-zh相差2.2%,但在推断速度方面却大幅优于教师模型T-Ernie12和蒸馏模型Tinybert6-zh,推断速度分别快了5.93倍、3.41倍。在中文口语理解数据集SMP2019和CAIS上,KDJS模型在推断速度方面表现显著,但在句准确率指标上相较英文数据集上和教师模型T-Ernie12和蒸馏模型Tinybert6-zh有一定差距。原因可能是由于知识蒸馏的学生模型层数过少导致,从SMP201和CAIS数据集上均可以看出,KDJS模型相比由6个Transformer层构成的知识蒸馏模型Tinybert6-zh在各指标上的
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 临床呼吸内科生活中常用药物作用及特点
- 企业班建筑材料教学课件3第三章
- 高中物理 第一章 第2节 时间和位移教学设计 新人教版必修1
- 2026气泡湿式集尘器智能化运维预测算法在重工业场景的应用价值研报
- 2026工业互联网背景下防爆配电箱边缘计算模块集成方案与安全边界探讨报告
- 2026全国同等学力申硕考试(建筑学)历年参考题库含答案详解
- 加油站新进员工培训
- 2026住院医师规培-福建-福建住院医师规培(超声医学科)历年参考题库含答案详解
- 2026事业单位笔试-安徽-安徽骨外科(医疗招聘)历年参考题库含答案详解
- 2026事业单位工勤技能-重庆-重庆保安员二级(技师)历年参考题库含答案详解
- 2026秋新版人教PEP英语六年级上册教学课件:第一单元Unit 1第1课时 A Let's talk Interview and report
- CSCO前列腺癌诊疗指南(2026版)
- 第7课 神奇的世界 第1课时 课件(内嵌视频)2026-2027学年道德与法治四年级上册统编版
- 2025国家能源集团科学技术研究总院社会招聘30人笔试历年难易错考点试卷带答案解析
- 2026年秋新教材西南大学版小学数学四年级上册教学计划及进度表
- 第3章人文地理学的研究方法-人文地理学.课件-课件
- 《传感器与检测技术》课件 第一章 概述
- 枝江市招聘社区网格员考试试题附答案详解
- 2026年重庆市南川区社区工作者招聘考试试卷(含答案解析)
- 2026中国固态电池中试线建设进展及电解质材料专利布局
- 二级单位用车审批制度
评论
0/150
提交评论