当前位置: 首页 > 科技观察

打破不可能三角,paring5400亿级模型,IDEA封神榜团队只实现了2亿级模型的零样本学习SOTA

时间:2023-03-18 15:57:16 科技观察

,微调性能的不可能三角。如何保证小于10亿参数的语言模型能够达到SOTA的Few-Shot(甚至是Zero-shot)和Fine-tuning性能?解决零射场景需要千亿参数,忍受不稳定的提示吗?IDEA研究院风神榜团队在这篇论文中介绍了一种新的“表型”UniMC,仅需2亿个参数即可达到Zero-shotSOTA。相关工作已被EMNLP2022录用,今年一篇文章[1]中指出,自从预训练技术提出以来,NLP世界一直存在不可能三角(如下图1所示)),即一个模型不能同时满足:mediummodelsize(10亿以下);SOTA的Few-Shot(甚至是Zero-shot)性能;微调SOTA的性能。之所以存在图1中的不可能三角形,是因为目前的预训练模型只有一定数量的参数,使用hintlearning可以体现出很强的few/zero-shot性能。近日,我们风神榜团队的论文被EMNLP2022收录:《Zero-Shot Learners for Natural Language Understanding via a Unified Multiple Choice Perspective》打破了这个“魔咒”,提供了灵活高效的解决方案。我们论文中提出的UniMC在拥有少量模型参数(仅1亿个)和SOTA的Fine-tuning能力表现的前提下,也可以拥有SOTA的Few/Zero-Shot(相当于5400亿PaLM)。论文地址:https://arxiv.org/abs/2210.08590模型开源地址:https://github.com/IDEA-CCNL/Fengshenbang-LM/tree/main/fengshen/examples/unimc/BERT中的技术背景2018年的提出,标志着整个NLP领域进入了预训练时代,NLP终于向前迈进了一步。现有模型如DeBERTa等预训练掩码语言模型(PMLM)已经可以实现10亿级以下参数的微调SOTA,但在面对NLU任务的Zero-shot场景下显得力不从心。原因是在使用PMLM时,我们需要在其之上添加一个MLP层以用于特定任务,如图2(c)所示。而且这个MLP层会增加额外的参数,这使得这个方法在面对Zero-shot场景时只能选择随机初始化,根本无法获得合理的输出。而且,在finetuning场景下,增加MLP层也会导致无法在不同任务之间迁移(比如2类任务和3类任务之间的迁移)。对于零样本场景,近年来的主流做法是使用数百亿甚至数千亿的预训练语言模型(PLM)将NLU任务统一转化为文本生成任务。这样,大型模型就可以应用于零样本任务,如图2(a)所示。此外,在FLAN论文中,大量人工构建的模板被用来统一不同的任务,从而可以将其他任务的知识迁移到具体的任务中,如图2(b)所示。但是,这样的生成模型有以下缺点:需要为生成模型生成verbalizer(标签描述),而verbalizer通常是手工编写的,不同的verbalizer会导致较大的性能差异;提示也需要人工设计,不同的提示会极大影响下游任务的效果;生成模型在推理的时候,需要生成自回归答案,比较慢。而且一般是单向的,无法像BERT那样获取双向信息;为了保证few/zero-shot性能,生成的模型参数数量往往很大,达到GPT-3的1750亿或者PaLM的5400亿;虽然FLAN的Instructiontuning可以将其他任务的知识迁移到具体的任务中,但是不同的任务需要进行新的训练。比如评价A的时候,需要在BCDE上训练;在评估B时,需要在ACDE上进行训练。然而,我们提出了图2(d)中的UniMC方法,它避免了上述问题,并在多个中文和英文任务中达到了SOTA或与最先进模型相似的性能。图2UniMC(一种新的模型表型)模型思路大多数NLU任务都是基于标签的,而生成模型需要生成标签,这无疑增加了任务的难度和模型的学习成本。对于很多基于标签的任务(Label-basedTask),通常只需要给出输入文本和输出文本属于每个标签的概率。基于这个思路,我们将NLU任务转化为多项选择任务(Multiple-Choice)。即给定文本、问题和选??项,输出每个选项的概率而不生成选项。在此基础上,我们提出了一个新的概念:模型的表型。现有的模型表型都是在后面加了一定的层,比如分类层。或者,生成模型GPT的表型是通过提示来挖掘模型的知识。我们提出的UniMC方案不需要在PMLM中引入任何额外的层,挖掘另一个PMLM表型。在本文中,我们选择ALBERT作为我们的骨干PMLM网络。统一的多项选择格式如图3所示。我们希望将所有基于标签的NLU任务转换成统一的MC(Multiple-Choice)格式。我们的理念是尽可能少地添加人工信息。图3具体来说,我们做了以下两步:把label改成option;选择是否添加问题提示(问题基本上来自对数据集的描述)。优点:只设计了一个选项提示,设计了一个或没有问题提示。模型结构UniMC的结构如下图4所示,它采用了类似于BERT的autoencoder结构。主要过程是我们首先统一不同任务的输入,限制输入信息的流通。PMLM之后,使用O-MLM、OP和MLM进行MC训练,最后使用O-MLM和OP进行零样本预测。接下来我将一步步拆解我们的解决方案。图4InputInput如图5所示,红色实线框区域的内容。在输入到UniMC之前,需要对其进行处理,成为UniMC独有的token格式。为了提高计算效率,我们将所有选项直接与问题和文本连接起来,即[Options,Question,Passage]。我们在每个选项前插入一个特殊标记[O-MASK]来表示是或否(选择此选项)。(注意,为了提高复用性,我们复用了[MASK]这个token,如图5,绿色虚线框区域的内容。我们需要考虑到输入信息源太多,包括option信息,questioninformation和textsegmentinformation.他们之间的信息会互相影响,所以我们要隔离不同的信息,比如我们输入的时候,如果能看到其他选项,那么这道题的难度就会下降,模型就会所以我们进行了如下考虑:用SegmentID告诉模型option和context(question,passage)信息是不同的;修改PostionID,模型需要对不同options的位置信息一视同仁;修改AttentionMask矩阵,防止模型看到不同选项的信息,这导致模型出现惯性图5模型是如何做选择题的?(O-MLM和OP)如图6、我们使用O-MLM和OP任务让模型“选择”答案。O-MASK完全继承自MASKtoken(具体来说,为了不增加额外的参数,充分利用模型在无监督预训练阶段学到的知识,我们复用了MaskLMhead的参数)。唯一的区别是它是100%屏蔽的。O-MLM任务的目标是从'yes'或'no'中解码出O-MASK,用于预测选项是否被选中。OP任务的作用是根据每个选项的“是”来预测答案。具体来说,我们取每个[O-MASK]输出的'yes'的logit并执行softmax得到每个选项的概率,并将概率最高的选项作为最有预测性的答案。图6processingmultipleMCtasksinoneBatch如图7??,我们希望将多个MC数据集放在一个batch中,这样可以增强模型的能力,更加统一(Unified)。我们在构建batch的时候发现了一个问题:如果,在一个batch中有不同选项的样本呢?所以我们在输出前设计了一个logitmask方法。直接将负无穷大预测值分配给不相关的标记。把它们加起来,我们在计算softmax时就可以消除其他token对O-MASK的影响。也可以将不同数量的选择题统一批处理。图7模型训练和预测MCTraining不同于FLAN的InstructionTuning,我们只在MC数据集上进行训练,主要是让模型学习如何做选择题,MC数据集具有一定的通用性,比如,不同的数据集可能包含不相等数量的标签。图8零样本推理有趣的是,我们可以发现这两个任务在训练和零样本推理两个阶段可以具有一致性。这是因为我们都使用O-MLM和OP任务来让模型做选择题。并且由于我们丢弃了分类层,所有参数都可以重用,从而激活了PMLM的Zero-shot能力。图9UniMCPerformanceEnglishScene我们收集了14个多项选择任务进行预训练,然后做其他NLU任务进行零样本性能测试。在4个NLI任务上,UniMC实现了SOTA并超越了5400亿参数的PaLM模型。图10我们在分类任务上击败了GPT-2和GPT-3骨干网络。对于非常难的Dbpedia任务,多达13个类别,甚至可以达到88.9%的超高准确率。图11为了探索UNIMC的泛化,我们将其与FLAN进行了比较。可以看到我们的UniMC几乎在所有任务上都可以超越或者接近FLAN。图12中文场景在中文场景中,我们收集了40个监督数据集,统一构造为MC任务预训练UniMC模型,然后在FewCLUE和ZeroCLUE的9个任务上进行测试。截至2022年8月30日,UniMC在FewCLUE和ZeroCLUE排行榜上均获得第一名(图中的二郎神——UnifiedMC即UniMC)。图13和图14总结了我们针对零样本场景下的NLU任务提出了一种新的解决方案,它仅使用数十亿个参数就击败了具有千倍参数数量的复杂大型模型。此外,我们几乎不引入任何人工信息。并且克服了类BERT模型预训练和微调的不一致性,我们的训练和预测是一致的。我们甚至可以做一次训练和多次零样本预测,这大大节省了计算能力成本。目前,IDEA封神榜团队已经推出了70多个预训练大模型。模型:https://huggingface.co/IDEA-CCNL风神榜总论文(中英双语):https://arxiv.org/abs/2209.02970风神榜主页:https://github.com/IDEA-CCNL/Fengshenbang-LM引用[1]不可能三角:预训练语言模型的下一步是什么?https://readpaper.com/paper/4612531641570566145