作者:罗英、徐军、谢锐等1概述CLUE(汉语理解评价)[1]是汉语理解的权威评价榜单,包括文本分类、语际句子关系、阅读理解等。许多语义分析和语义理解子任务对学术界和工业界都产生了很大的影响。图1FewCLUE列表(截至2022-04-18)FewCLUE[2,3]是CLUE中专用于中文小样本学习评估的子列表,旨在结合预训练语言通用且强大的泛化能力models,探索汉语小样本学习和练习的最佳模型。FewCLUE的部分数据集只有100多个标记样本,可以衡量模型在极少标记样本下的泛化性能。众多企业和科研院所的参与。不久前,美团平台搜索与NLP部NLP中心语义理解团队的小样本学习模型FSL++凭借优越的性能获得FewCLUE榜单第一名,达到SOTA级别。2方法介绍大规模预训练模型虽然在各种任务中取得了很好的效果,但是对于特定的任务仍然需要大量的标注数据。在美团的各项业务中,有丰富的NLP场景,往往需要很高的人工标注成本。在业务开展初期或需要快速上线新业务需求时,往往会出现标注样本不足的情况,传统的Pretrain(预训练)+Fine-Tune(微调)的深度学习训练方式往往无法做到满足理想的指标要求,因此有必要研究小样本场景的模型训练问题。本文提出了一套大模型+小样本联合训练方案FSL++,集成了模型结构优化、大规模预训练、样本增强、集成学习、自训练等模型优化策略。FewCLUE列表取得了优异的成绩,部分任务的性能超过了人类水平,而部分任务(如CLUEWSC)仍有提升空间。FewCLUE发布后,网易伏羲使用自研EET模型[4],通过二次训练增强模型的语义理解能力,再加入多任务学习模板;IDEA研究院的二郎神模型[5]是在BERT模型的基础上使用更先进的预训练技术训练大型模型,并使用具有动态Mask策略的MaskedLanguageModel(MLM)作为下游过程中的辅助任务任务微调。这些方法都使用PromptLearning作为基本任务架构。与这些自研大型模型相比,我们的方法主要是在PromptLearning框架的基础上加入了样本增强、集成学习、自学习等模型优化策略,大大提高了模型的任务性能和鲁棒性.同时,该方法可以应用于各种预训练模型,更加灵活方便。FSL++的整体模型结构如下图2所示。FewCLUE数据集为每个任务提供了160个标记数据和近20,000个未标记数据。在本次FewCLUE实践中,我们首先在Fine-Tune阶段构建多模板提示学习,并对标注数据使用对抗训练、对比学习、Mixup等增强策略。由于这些数据增强策略采用了不同的增强原理,可以认为这些模型之间的差异比较显着,集成学习后会有更好的效果。因此,在使用数据增强策略训练后,我们有多个弱监督模型,并利用这些弱监督模型对未标记数据进行预测,得到未标记数据的伪标签分布。之后,我们将不同数据增强模型预测的多个未标记数据的伪标签分布进行整合,得到一个总的未标记数据伪标签分布,然后重构多模板提示学习,再次使用数据增强策略和选择最优策略。目前我们的实验只进行一次迭代,也可以尝试多次迭代,但是随着迭代次数的增加,提升将不再明显。图2FSL++模型框架2.1增强预训练预训练语言模型是在一个巨大的无标签语料库上训练的。例如,RoBERTa[6]接受了超过160GB的文本训练,包括百科全书、新闻文章、文学作品和网络内容。这些模型学习的表示在涉及来自各种来源的各种规模的数据集的任务中取得了出色的性能。FSL++模型以RoBERTa-large模型为基础模型,采用结合领域知识的领域自适应预训练(DAPT)[7]预训练方法和结合任务的任务自适应预训练(TAPT)[7]知识。DAPT的目的是在预训练模型的基础上加入大量未标注的字段文本继续训练语言模型,然后在指定任务的数据集上进行fine-tune。在目标文本域上持续进行预训练可以提高语言模型的性能,尤其是在与目标文本域相关的下游任务上。而且,预训练文本与任务领域的相关性越高,提升越大。在本次实践中,我们最终使用了在包含娱乐节目、体育、健康、国际事务、电影、名人等领域的CLUEVocab[8]100G语料库上预训练的RoBERTaLarge模型。TAPT是指在预训练模型的基础上加入少量与任务直接相关的未标注语料进行预训练。对于TAPT任务,我们选择使用的预训练数据是FewCLUE列表为每个任务提供的未标记数据。此外,在句间关系任务的实践中,如中文自然语言推理任务OCNLI、中文对话短文本匹配任务BUSTM,我们使用其他句间关系任务如中文自然语言推理数据集CMNLI、中文短文本将在相似度数据集LCQMC上预训练的模型参数作为初始参数,与直接使用原始模型完成任务相比,也能在一定程度上提高效果。2.2模型结构FewCLUE包含多种任务形式,我们为每个任务选择合适的模型结构。文本分类任务和机器阅读理解(MRC)任务的类别词携带信息,更适合建模为掩码语言模型(MLM)形式;而句间关系任务判断两个句子的相关性,更类似于下一句预测(NSP)[9]任务形式。因此,我们选择PET[10]模型用于分类任务和阅读理解任务,EFL[11]模型用于句间关系任务。EFL方法可以通过全局采样构造负样本,学习到更鲁棒的分类器。2.2.1PromptLearningPromptLearning的主要目标是最小化预训练目标和下游微调目标之间的差距。通常现有的预训练任务包含MLM损失函数,但下游任务不使用MLM,而是引入新的分类器,这使得预训练任务和下游任务不一致。PromptLearning不引入额外的分类器或其他参数,而是通过拼接模板(Template,即对输入数据拼接语言片段,从而将任务转化为MLM形式)和标记词映射(Verbalizer,即对每个tag在词汇表中找到对应的词在MLM任务中,从而为MLM任务设置预测目标),使得模型可以在样本数量较少的情况下用于下游任务。图3.PromptLearning方法完成情感分析任务的流程图。以图3所示的电商评价情感分析任务EPRSTMT为例。给定文本“这部电影真的很好,值得看第二遍!”,传统的文本分类是将分类器连接到CLS部分的Embedding,映射到0-1分类(0:负,1:正向)。该方法需要在小样本场景下训练新的分类器,很难获得好的结果。基于PromptLearning的方法是创建模板“Thisisa[MASK]comment.”,然后将模板与原文进行拼接。训练时,使用语言模型预测[MASK]位置的词,然后映射到对应的类别。向上(好:正,坏:负)。由于缺乏足够的数据,有时很难确定性能最佳的模板和标记词映射。因此,也可以采用多模板、多标签词映射的设计。通过设计多个模板,最终结果采用整合多个模板的结果,或者设计一对多的标签词映射,使一个标签对应多个词。与上面的例子一样,可以设计出如下的模板组合(左图:同一句话的多个模板,右图:多标签映射)。图4PET多模板多标签映射任务示例表1FewCLUE数据集中的PET模板构建2.2.2EFLEFL模型将两个句子拼接在一起,在输出层[CLS]位置使用Embedding后接分类器完成预测。在EFL的训练过程中,除了训练集的样本外,还构建了负样本。在训练过程中,每批随机选取其他数据中的句子作为负样本,通过构建负样本进行数据增强。EFL模型虽然需要训练新的分类器,但是目前有很多公开的文本蕴涵/句间关系数据集,如CMNLI、LCQMC等,可以在这些样本上持续学习(continue-train),并且然后将学习到的参数迁移到小样本场景中,并用FewCLUE的任务数据集进一步微调。Taskexample表2FewCLUE数据集EFL模板构建2.3数据增强数据增强方法主要有样本增强和Embedding增强。在自然语言处理领域,数据增强的目的是在不改变语义的情况下扩展文本数据。主要方法包括简单的文本替换、使用语言模型生成相似句子等。我们尝试过EDA等方法来扩展文本数据,但是单个词的变化可能会导致整个句子的意思颠倒,被替换的文字带有很多噪音。因此,很难通过简单的常规样本变化生成足够多的增强数据。Embeddingenhancement不对输入进行操作,而是对Embedding层面进行操作,可以通过对Embedding加入扰动或插值来提高模型的鲁棒性。因此,在本次实践中,我们主要进行Embedding增强。我们使用的数据增强策略有Mixup[12]、Manifold-Mixup[13]、对抗训练(Adversarialtraining,AT)[14]和对比学习R-drop[15]。表3数据增强策略简述Mixup通过对输入数据进行简单的线性变换构造新的组合样本和组合标签,可以增强模型的泛化能力。在各种监督或半监督任务上,使用Mixup可以大大提高模型的泛化能力。Mixup方法可以看作是一种正则化操作,它要求模型在特征层面生成的组合特征满足线性约束,并利用这个约束对模型进行正则化。直观上,当模型的输入是另外两个输入的线性组合时,它的输出也是两个数据分别输入模型后得到的输出的线性组合。实际上,要求模型近似为一个线性系统。ManifoldMixup将上述Mixup操作推广到特征。因为特征具有更高阶的语义信息,所以在它们的维度上进行插值可能会产生更有意义的样本。在类似BERT[9]和RoBERTa[6]的模型中,随机选择层数k,对这一层的特征表示进行Mixup插值。普通Mixup的插值发生在输出层的Embedding部分,而ManifoldMixup相当于将这一系列插值操作添加到语言模型内部Transformers结构的随机层中。对抗性训练可以通过对输入样本添加小扰动来显着改善模型损失。对抗训练是训练一个能够有效识别原始样本和对抗样本的模型。其基本原理是通过加入扰动构造一些对抗样本,交给模型进行训练,从而提高模型在遇到对抗样本时的鲁棒性,同时提高模型的性能和泛化能力。模型。Adversarialexamples需要具备两个特性,即:相对于原始输入,加入的扰动很小。会使模型出错。对抗训练有两个作用,即提高模型对恶意攻击的鲁棒性,提高模型的泛化能力。R-Drop对同一个句子进行两次dropout,强制dropout产生的不同子模型的输出概率一致。虽然dropout的引入效果很好,但是会导致训练和推理过程的不一致。为了缓解这种训练和推理过程的不一致性,R-Drop对Dropout进行了正则化,在两个子模型产生的输出中加入了对输出数据分布的限制,并引入了数据分布度量的KL散度损失,使得Batch同一个样本生成的两个数据分布尽可能接近,并且具有分布一致性。具体来说,对于每个训练样本,R-Drop最小化了不同dropout生成的子模型输出概率之间的KL散度。作为一种训练思想,R-Drop可以用于大多数有监督或半监督的训练,具有很强的通用性。我们使用的三种数据增强策略,Mixup是在语言模型的输出层Embedding和语言模型内部的一个随机层Transformers的输出层做两个样本的线性变化。对抗训练是在样本中加入小的扰动。对比学习就是对同一个句子进行两次dropout,形成正样本对,然后利用KL散度来约束两个子模型的一致性。三种策略通过完成Embedding中的一些操作来增强模型的泛化能力。通过不同的策略得到的模型有不同的偏好,这为下一步的集成学习提供了条件。2.4EnsembleLearning&Self-Training集成学习可以将多个弱监督模型组合起来,以获得更好更全面的强监督模型。集成学习的底层思想是,即使一个弱分类器得到了错误的预测,其他弱分类器也可以将错误改回来。如果要组合的模型之间差异显着,经过集成学习后通常会有更好的结果。自训练使用少量标记数据和大量未标记数据联合训练模型。首先用训练好的分类器预测所有未标记数据的标签,然后选择置信度高的标签作为伪标签数据。标记的数据与人工标记的训练数据相结合以重新训练分类器。集成学习+自训练是一套可以利用多个模型和未标记数据的解决方案。其中,集成学习的一般步骤是:训练多个不同的弱监督模型,使用每个模型预测未标记数据的标签概率分布,计算标签概率分布的加权和,得到伪标签概率分布未标记的数据。自训练是指训练一个模型以结合其他模型。大致步骤是:训练多个Teacher模型,Student模型学习伪标签概率分布中高置信度样本的SoftPrediction,Student模型作为最终的强学习器。图5Integratedlearning+self-trainingstructure在本次FewCLUE实践中,我们首先在Fine-Tune阶段构建多模板提示学习,并对标注数据采用对抗训练、对比学习、Mixup等增强策略。由于这些数据增强策略采用了不同的增强原理,可以认为这些模型之间的差异比较显着,集成学习后会有更好的效果。通过数据增强策略训练后,我们有多个弱监督模型,利用这些弱监督模型对未标记数据进行预测,得到未标记数据的伪标签分布。然后,我们整合了不同数据增强模型预测的多个未标记数据的伪标签分布,以获得未标记数据的总伪标签分布。在筛选伪标签数据的过程中,我们可能不会选择置信度最高的样本,因为如果每个数据增强模型给出的置信度都很高,那么说明这个样本可能是一个容易学习的样本,而它不一定有很大的价值。我们结合多个数据增强模型给出的置信度,尝试选择置信度较高但不易学习的样本(例如多个模型的预测并不完全一致)。然后利用这组标注数据和伪标注数据重构多模板提示学习,再次使用数据增广策略,选择最优策略。目前我们的实验只进行一次迭代,也可以尝试多次迭代,但是随着迭代次数的增加,提升会越来越小,不再显着。3实验结果3.1数据集介绍FewCLUE列表提供了9个任务,包括4个文本分类任务、2个句间关系任务和3个阅读理解任务。文本分类任务包括电商评价情感分析、科学文献分类、新闻分类和App应用描述主题分类任务。主要类别有短文本二分类、短文本多分类和长文本多分类。有些任务的类别很多,超过100个类别,存在类别不平衡的问题。句间关系任务包括自然语言推理和短文本匹配任务。阅读理解任务有成语阅读理解选项填空、抽象判断关键词辨别和代词消歧任务。每个任务一般提供160条标记数据和大约20,000条未标记数据。因为长文本分类任务类别多,难度太大,同时也提供了更多的标注数据。详细任务数据如表4所示:表4FewCLUE数据集任务介绍3.2实验对比表5为不同模型和参数量的实验结果对比。在RoBERTaBase实验中,使用PET/EFL模型会比传统的直接Fine-Tune模型结果高出2-28PP。基于PET/EFL模型,为了探索大模型在小样本场景下的效果,我们在RoBERTaLarge上进行了实验。与RoBERTaBase相比,大模型可以提升模型0.5-13PP;为了更好地利用领域知识,我们进一步在CLUE数据集上增强的预训练RoBERTaLargeClue模型上进行了实验,融合领域知识的大模型将结果进一步提升了0.1-9pp。基于此,在后续的实验中,我们将在RoBERTaLargeClue上进行实验。表5不同模型和参数量的实验结果对比(粗体红色字体表示最好的结果)表6是数据增强和集成学习在PET/EFL模型上的实验结果,可以发现,即使在大模型上数据增强策略和模型也能带来0.8-9PP的提升,进一步整合学习&自训练后,模型性能将持续提升0.4-4PP。表6基础模型+数据增强+集成学习的实验结果(红色粗体表示最佳结果)。在集成学习+自训练步骤中,我们尝试了几种筛选策略:选择置信度最高的样本,该策略带来的提升在1PP以内,而置信度最高的伪标签样本中有很多是与一致的样本多个模型的预测和相对较高的置信度。这些示例更容易学习,并且合并这些示例的好处是有限的。选择置信度高且争议大的样本(至少有一个模型与其他模型预测不一致,但多个模型的总体置信度超过阈值1),该策略避开特别容易学习的样本,通过设置阈值带太多脏数据可以带来0-3PP的提升;结合以上两种策略,如果多个模型对一个样本的预测结果一致,则选择置信度值小于阈值2的样本;对于存在至少一个模型的预测结果与其他模型不一致的情况,我们选择置信度大于阈值3的样本。该方法同时选择置信度高的样本以保证输出的可信度,同时选择有争议的样本保证过滤后的伪标签样本有更大的学习难度,可以带来0.4-4PP的提升。4小样本学习策略在美团场景中的应用在美团的各个业务中,都有着丰富的NLP场景。一些任务可以分为文本分类任务和句间关系任务。应用了上述小样本学习策略。在美团点评的各种场景下,期望在数据资源稀缺的情况下训练出更好的模型。此外,小样本学习策略已广泛应用于美团内部自然语言处理(NLP)平台的各项NLP算法能力,并在众多业务场景落地并取得显着效益。美团内部工程师可以通过这个平台体验NLP中心相关能力。文本分类任务的医美主题分类:美团点评和大众点评按主题分为8类:猎奇、探店、测评、真人案例、治疗过程、避坑、效果对比、科普.当用户点击某个主题时,返回相应的笔记内容,并在美团、大众点评医美频道的百科页和程序页分享体验。使用2989个训练数据进行小样本学习的准确率提高了1.8PP,达到89.24%。攻略识别:从UGC和笔记中挖掘旅行攻略,提供旅行攻略的内容供给,应用于景区精搜下的攻略模块,回忆描述旅行攻略的笔记,使用384条训练数据提高准确率小样本学习2PP率,达到87%。学城文本分类:学城(美团内部知识库)拥有大量用户文本。经过归纳,课文分为17类。现有模型是在700条数据上训练的。通过小样本学习,在已有模型上将模型准确率提升2.5PP,达到84%。项目筛选:目前乐生活服务/美妆等业务的评价列表页不方便用户快速查找决策信息。因此,需要更加结构化的分类标签来满足用户需求。小样本学习在这两个业务中使用300-500条数据准确率达到95%+(多个数据集分别提升1.5-4PP)。句子关系任务医美功能标注:根据功能回忆美团和大众点评的笔记。效果种类包括:补水,美白,瘦脸,除皱等,在线到医美频道页面,有110种效果类型需要标注,只有小样本学习的准确率使用2909个训练数据达到91.88%(提高了2.8PP)。医美品牌化:品牌上游企业对产品的品牌推广和营销有需求,内容营销是目前主流有效的营销方式之一。品牌标识是对每个品牌如“医福泉”、“舒维克”等详细介绍品牌的注解进行回忆。共有103个品牌。数据准确率达到88.59%(提升2.9PP)。5总结在本次榜单提交中,我们构建了基于RoBERTa的语义理解模型,通过增强预训练、PET/EFL模型、数据增强和集成学习自训练等方式提升了模型的效果。该模型能够进行文本分类、句间关系推理任务和多项阅读理解任务。通过参与本次评测任务,我们对小样本场景下自然语言理解领域的算法和研究有了更深入的了解,也对前沿算法的中文落地能力进行了全面的检验,将提供为进一步的算法研究和算法研究打下基础。奠定了基础。另外,这个数据集中的任务场景与美团搜索和NLP部门的业务场景非常相似。该模型的很多策略也直接应用到实际业务中,直接为业务赋能。6本文作者罗颖、徐军、谢锐、吴伟均来自美团搜索和NLP部/NLP中心。
