1. 引言
知识蒸馏[1] (Knowledge Distillation, KD)是人工智能发展过程中逐渐兴起的新型技术,其核心是将参数量较大、结构更复杂的教师模型知识转移到参数量较小、结构更简单的学生模型,以达到在精度损失较小的情况下更高效的推理效率。尤其在当前人工智能发展,一方面向着更大参数量更复杂结构的多任务、多模态智能模型进行演进;另一方面向着资源受限的环境下进行智能赋能,如移动设备、边缘计算平台等。这两方面发展的冲突,加速智能模型在知识蒸馏方向上的发展。
随着大语言模型[2] [3] (Large Language Model, LLM)时代的到来,自然语言处理(Natural Language Process)领域的知识蒸馏范式发生了颠覆式的改变。传统知识蒸馏,主要是同任务类的智能模型,基于大参数模型向小参数模型上进行知识蒸馏。大语言模型得益于其强大的上下文学习[4]能力,通过零样本[5]、小样本学习[6]就可实现多任务上的知识蒸馏。与此同时,大语言模型的提示学习能力为知识提取的手段提供了一种更加灵活和动态的方法,打破了模型知识蒸馏的壁垒,其作为教师模型,可以实现向不同架构、不同任务的自然语言处理模型进行知识传递,极大提升了知识蒸馏范式的通用性以及泛化性。
2. 技术现状
当前知识蒸馏技术在自然语言领域的发展,以大语言模型的介入为区分,主要分为大语言模型知识蒸馏框架以及专项任务模型知识蒸馏框架。
专项任务知识蒸馏主要是用小参数量的学生模型模仿较大参数教师模型的输出,构建知识蒸馏的过程。受限于教师模型大部分不支持多任务的数据,此类知识蒸馏模式教师学生模型基本均为相同的推理任务。周孝青[7]等提出了一种半知识蒸馏方法和递进式半知识蒸馏方法,在机器翻译领域将复杂且参数量大的NMT模型压缩为精简参数量小的NMT模型;俞亮[8]等提出了一种基于知识蒸馏的隐式篇章关系识别方法;黄友文[9]等提出在文本分类任务上,以MPNetGCN模型通过知识蒸馏得到学生模型DistillBIGRU;廖胜兰[10]等提出一种知识蒸馏意图分类方法,通过BERT向Text-CNN小规模模型进行知识蒸馏;顾佼佼[11]等提出一种预训练BERT模型知识蒸馏到BiGRU-CRF进行信息抽取任务的知识迁移。受限于专项任务教师模型的知识瓶颈,在此框架下的知识蒸馏主要集中在同构模型以及同任务模型上。
相较于专项知识蒸馏框架,大语言模型(LLM)的出现彻底改变了知识蒸馏的面貌。LLM基于生成式任务一统自然语言多任务处理能力,基于prompt工程[12]以及chain-of-thought构建[13]等方式,使得知识的提取效能大幅度提升。知识蒸馏发展,逐步转向显性的数据增强模式[14],其技术核心转向基于LLM的prompt以及chain-of-thought等技术强化领域任务小样本下的推理效果,提取推理结果作为领域知识指导学生模型进行学习。由此,知识蒸馏与数据增强[15] [16] (Data Augmentation)之间的关系变得越来越紧密,不同于传统的数据增强技术是以某种机械方式扩展训练数据集,在LLM能力的加持下,数据增强转变为面向特定领域和技能的生产新颖、丰富训练数据[15]。这种方法的转变,可以实现大量多任务、高质量的数据集,这些数据集不仅数量庞大,而且具有多样性和特定性[16]。基于此种模式使蒸馏过程更有效,确保提取的模型不仅复制了教师模型的输出行为,还进一步强化其模型的泛化推理能力。
在此基础上,本文提出了一种基于弱点增强的LLM知识蒸馏算法,结合LLM的语义理解以及文本生成能力,实现小样本情况下的学生模型弱点分析,通过LLM教师模型针对学生模型弱点进行增强样本构建迭代训练强化,增强学生模型的能力。实验结果表明,本文提出的方法在三类自然语言处理任务中,在少样本标注需求下,通过知识蒸馏,可以大幅度提升了模型的训练效果,充分证明了方法的有效性,下面将详细介绍该技术。
3. 基于弱点增强的LLM知识蒸馏算法
本文提出了基于弱点增强的LLM知识蒸馏算法,其算法主要适用于自然语言处理领域,算法具体流程如下。首先,通过学生模型的小样本学习以及训练样本集的评估,计算构建样本数据的错误价值;其次,基于错误价值对样本数据进行采样,并通过LLM教师模型的提升推理能力以及多样性样本评估函数构建训练增强样本集;最后,通过不断训练评估学习模型能力,迭代生成训练增强样本集,直至训练出测试集上最优解,完成模型的知识蒸馏过程。
下面将详细介绍基于弱点增强的LLM知识蒸馏算法的核心步骤以及实现方案。首先,将介绍如何对学生模型在数据集上的学习弱点分析;其次介绍基于LLM如何针对弱点分析结果,进行多样性的增强训练样本构建;最后模型知识蒸馏过程进行详细介绍。
3.1. 模型弱点分析
在模型弱点分析阶段,本文提出算法采用小样本进行特征学习,对学生模型进行训练。设构建标注训练样本集Clabel_train样本数K个,构建标注测试样本集Clabel_test样本数M个,构建标注样本集Clabel样本数为N,其中N = M + K。通过小样本模型训练,完成对学生模型的初始化构建,表示为modelstudentk。基于modelstudentk对标注样本集Clabel进行预测,并对每一条样本数据的错误价值Errvalue进行计算评估,其中Errvalue的计算公式如下:

其中,e为自然对数底数,模型推理计算这条数据hx为模型推理这条数据可用价值函数,其值越高表示模型对这条数据的推理准确性越高,通过对每条数据计算,完成对标注样本集数据的弱点分析。
3.2. 样本数据增强
在样本数据增强阶段,基于样本数据计算错误价值Errvalue的分值比例进行样本采样,获取样本数据种子。基于样本数据种子,通过LLM思维链提示推理,构建训练增强样本,其中思维链提示Prompt构建包括:语义角色(role)、任务要求(mission)、样本标签(tag)、样本文本(text)。语义角色设定为:文本样本生成器;任务要求设定为:根据样本标签,仿照样本文本重生生成一段全新文本以及文本标签,生成的文本中需要包括样本标签数据;样本标签设置为文本中包含的所有信息抽取标签以及标签值;样本文本设置为样本文本信息。生成完成样本后,基于字符比对技术对生成样本以及样本标签进行二次校验,对生成样本与生成的信息抽取标签进行校验,校验成功的数据进行存储,实现训练增强样本构建。
同时,在训练增强样本构建同时,为减少大量高度雷同的数据生成,导致模型知识蒸馏过程中泛化能力丢失,在训练增强样本生成完成后,对其多样性进行计算。其多样性计算公式如下所示:

其中,distmin为样本之间近邻最小距离阈值,dista,i为生成样本a与标注样本i之间的语义距离,其距离计算公式为:

通过多样性计算,筛选出生成样本与标注样本有更远语义距离的数据,增强样本的多样性。在语义距离计算中,vec为对应文本的特征向量值,采用的文本特征化模型是基于非对称encoder-decoder结构RetroMAE模型架构的BGE文本Embedding模型,进行文本向量化建模。
设训练增强样本集Flabel_train,构建样本集时,首先NF倍数的训练增强样本生成,基于生成的样本,通过多样性计算评判,对得分高的数据进行高分优先采样,完成Flabel_train的构建。
3.3. 模型知识蒸馏
模型知识蒸馏总共包含三个阶段,分别为:模型弱点分析、样本数据增强以及模型迭代训练。在模型弱点分析阶段,通过模型弱点分析,实现标注样本集Clabel的构建以及标注样本数据计算错误价值Errvalue。在样本数据增强阶段,基于第一阶段的分析结果,完成训练增强样本集Flabel_train的构建。
在模型迭代训练阶段,设
为模型在测试样本集Clabel_test上的评估效果。首次训练,基于训练增强样本集
与训练标注样本集Clabel_train进行混合构建训练样本集T0,基于训练样本集对模型进行训练,通过Clabel_test进行评估获得首次数据增强评估效果
。
重复样本数据增强以及模型迭代训练步骤,直到模型评估效果
值不再增长,停止模型迭代训练,其中,迭代中混合构建训练样本集构建方式为
,完成模型知识蒸馏。
4. 实验
4.1. 数据集
为了验证本文算法在自然语言领域多任务上的能力,本文算法采用多种任务的公开数据集进行验证,分别在信息抽取、文本摘要生成、文本分类三项任务上进行验证。其中,实体抽取任务采用人民日报命名实体识别数据集,数据集中的数据是在句子级进行了实体信息的标注;文本摘要生成任务采用自建数据集,其数据集是通过收集新浪微博、网易新闻等社交媒体以及新闻门户网站,通过数据爬虫、数据清洗、形成测试数据集,数据集包括文本详细信息以及文本简要介绍;文本分类采用通义实验室开源的中文文本领域分类测试集,数据集主要针对文本构建不同领域的分类标签。
基于上述三个测试集,分布在信息抽取任务、文本生成任务以及文本分类任务上对算法进行测试,以更加全面的评测知识蒸馏算法的效果。
4.2. 评估函数
本文所提出的知识蒸馏框架,选择在信息抽取、文本摘要生成、文本分类三项任务上进行验证,所以算法中的针对单条数据的hx评估函数以及针对测试集的
评估函数针对不同任务需要进行不同定义。
信息抽取任务中,本文算法中的评估函数采用F1值进行评估,F1值计算公式如下所示:

其中,Precision、Recall分别为模型在单条数据或测试数据集上的准确率与召回率。
文本摘要生成任务中,本文算法中的评估函数采用
值进行评估,
值计算公式如下所示:

其中,
为生成摘要与标注摘要的最长公共子序列长度,
为标注摘要长度,
为生成摘要长度。
文本分类任务中,本文算法中的评估函数采用识别准确率acc值进行评估,acc值计算公式如下所示:

其中,预测标签的数量为NPredict,预测正确的结果数为NPrecision。
5. 实验结果与分析
针对本文提出的基于弱点增强的LLM知识蒸馏算法,在教师模型的选择上,采用Qwen2.0系列的大语言模型,模型参数量选择72 B参数量进行实验验证。当前,Qwen系列模型作为中文系开源模型中效果最好的模型之一,在语义理解以及知识数据生成上都有非常好的表现,作为教师模型可以更好的评测LLM知识蒸馏框架的知识迁移能力。基于以上教师模型选型,将从文本分类、信息抽取、摘要生成三类自然语言处理任务上,对知识蒸馏框架的能力进行实验评估。
5.1. 文本分类实验结果
文本分类实验将针对算法在文本分类任务上的知识蒸馏性能进行数据实验以及分析。在数据的验证准备上,采用通义实验室开源的中文文本领域分类测试集,数据集主要包括不同领域的文本信息以及对应的领域标签,鉴于数据中存在超短文本信息,其文本信息与分类标签的语义关联度过低,通过数据清洗与人工判决的方式筛选部分数据作为实验的训练测试数据。其中,对语料的18类领域标签均匀采样,构建360条数据作为训练数据,进行学生模型初始小样本训练,另对各标签均匀采样1000条数据作为测试数据进行学生模型能力验证。
学生模型选择ERNIE3.0模型[17] [18],作为文本分类模型,ERNIE模型基于Transformer架构,采用多层Transformer-XL作为骨干网络构建模型,通过输出层多标签的分类概率输出,实现模型的多分类任务。知识蒸馏具体实验结果如下图1所示,其中,X轴为训练数据规模,训练数据包括360条标注数据以及生成的仿真样本数据,Y轴为训练模型在测试数据集上的分类准确率。通过实验可以看出,在小样本情况下,模型的标签分类能力明显不足,通过知识蒸馏对训练样本进行增强,其分类准确在初期大幅度提升,后续逐渐趋于稳定。验证了框架在小样本的情况下,对分类任务具有较好效果。
Figure 1. Experimental results of text classification knowledge distillation
图1. 文本分类知识蒸馏实验结果
5.2. 信息抽取实验结果
信息抽取实验将针对算法在实体抽取任务上的知识蒸馏性能进行数据实验以及分析。在数据的验证准备上,采用人民日报命名实体识别数据集,数据集中的数据是在句子级进行了实体信息的标注,鉴于实验中选择的学生模型具有非常强的小样本学习能力,随机采样3条数据作为实验的训练数据,随机采样200条数据作为实验的测试数据。
学生模型选择UIE [19]信息抽取模型,UIE抽取模型在2022年由百度和中科院软件所共同提出,其作为一种通用信息抽取[20]技术,通过多任务统一的标签架构设计以及学习实现通用信息抽取能力,同时,其在小样本学习以及零样本推理中具有较强能力。知识蒸馏具体实验结果如下图2所示,其中,X轴为训练数据规模,训练数据包括3条标注数据以及生成的仿真样本数据,Y轴为训练模型在测试数据集上的实体抽取准确率、召回率以及F1值。通过实验可以看出,鉴于UIE模型在信息抽取任务上具备较高的零样本以及小样本学习推理能力,在知识蒸馏过程中,其预测准确率小幅度下降、召回率能够大幅度提升,其F1值能够实现小幅度提升,验证了知识蒸馏框架在实体抽取任务上对学生模型具有一定的知识传递能力。
Figure 2. Experimental results of info extraction knowledge distillation
图2. 信息抽取知识蒸馏实验结果
5.3. 摘要生成实验结果
摘要生成实验将针对算法在摘要生成任务上的知识蒸馏性能进行数据实验以及分析。在数据的验证准备上,采用自建数据集,其数据集是通过收集新浪微博、网易新闻等社交媒体以及新闻门户网站,通过数据爬虫、数据清洗、形成测试数据集,数据集包括文本详细信息以及文本简要介绍。分别随机采样200条数据作为实验的训练数据以及测试数据。
学生模型选择Pegasus模型[21] [22],Pegasus模型是一种生成式文本摘要模型,模型采用Transformer-based的编码器-解码器架构,通过GSG等训练任务构建,提升其摘要生成的效果。知识蒸馏具体实验结果如下图3所示,其中,X轴为训练数据规模,训练数据包括200条标注数据以及生成的仿真样本数据,Y轴为训练模型在测试数据集上的rouge-1、rouge-2、rouge-L、BLEU-4性能评估值。通过实验可以看出,通过本文算法的知识蒸馏,在摘要生成的任务上,模型的能力在各个指标上持续增长,验证了知识蒸馏框架在文本生成任务上,对学生模型的知识传递上具有很好的效果。
Figure 3. Experimental results of abstract generation knowledge distillation
图3. 摘要生成知识蒸馏实验结果
5.4. 对比实验结果
对比实验将对同等规模下基于蒸馏训练与基于标注数据训练的文本分类模型、摘要生成模型、实体抽取模型进行对比实验测试,对比其数据蒸馏与标注数据的训练模型推理能力差距,实验结果如图4所示。在信息抽取任务上,Y轴为训练模型在测试数据集上的实体抽取F1值,训练集规模为100条,可以看出知识蒸馏训练与标注样本训练在针对此项任务上的能力增强上几乎没有太大差距,标注样本训练略有提高。在文本分类任务上,Y轴为训练模型在测试数据集上的准确率值,训练集规模为7200条,可以看出标注样本训练较知识蒸馏训练有更好效果。在摘要生成任务上,Y轴为训练模型在测试数据集上摘要Rouge-L值,训练集规模为1500条,可以看出知识蒸馏训练与标注样本训练在摘要任务上,知识蒸馏相较于标注样本训练有更好的体现。
Figure 4. Comparison results of distillation training and label training
图4. 蒸馏训练与标注训练对比结果
针对以上结果,通过训练过程观察可知,针对文本生成式任务,基于弱点增强的LLM知识蒸馏算法,相较于普通人类有更统一的样本生成标准以及样本生成质量,在摘要总结等生成任务上的样本构造能力有超越普通人的技能水平。在信息提取、文本分类等标签类的特征提取任务上,相较于其他任务其标签定义的误差更小,其生成样本可以达到接近人类标注的能力。
6. 结束语
本文提出了基于弱点增强的LLM知识蒸馏算法,结合的LLM的语义理解以及文本生成能力,实现小样本情况下的学生模型弱点分析,通过LLM教师模型针对学生模型弱点进行增强样本构建迭代训练强化,增强学生模型的能力,通过自然语言处理的多任务实验,其知识蒸馏下的学生模型在对应任务推理上可以达到接近升级超越基于人类标注训练的学生模型能力。后续,将对此知识蒸馏研究拓展到多模态领域,验证框架多模态下的知识传递能力,为进一步降低边缘推理、私有化专项领域智能推理任务的落地成本,提升边缘模型推理性能给出参考研究意见。
基金项目
国家自然科学基金资助项目(项目编号:62406263)。