机器之心报道 机器之心编辑部 在NLP领域,pretrainfinetune和prompttuning技术能够提升GPT3等大模型在各类任务上的性能,但这类大模型在零样本学习任务中的表现依然不突出。为了进一步挖掘零样本场景下的模型性能,谷歌QuocLe等研究者训练了一个参数量为1370亿的自回归语言模型BaseLM,并在其中采用了全新的指令调整(instructiontuning)技术,结果显示,采用指令调整技术后的模型在自然语言推理、阅读理解和开放域问答等未见过的任务上的零样本性能超越了GPT3的小样本性能。 大规模语言模型(LM)已经被证明可以很好的应用到小样本学习任务。例如OpenAI提出的GPT3,参数量达1,750亿,不仅可以更好地答题、翻译、写文章,还带有一些数学计算的能力等。在不进行微调的情况下,可以在多个NLP基准上达到最先进的性能。 然而,像GPT3这样的大规模语言模型在零样本(zeroshot)学习任务中表现不是很突出。例如,GPT3在执行阅读理解、问答和自然语言推理等任务时,零样本的性能要比小样本(fewshot)性能差很多。 本文中,QuocLe等来自谷歌的研究者探索了一种简单的方法来提高大型语言模型在零样本情况下的性能,从而扩大受众范围。他们认为NLP任务可以通过自然语言指令来描述,例如这部影评的情绪是正面的还是负面的?或者把howareyou译成汉语。 该研究采用具有137B参数的预训练模型并执行指令调整任务,对60多个通过自然语言指令表达的NLP任务进行调整。他们将这个结果模型称为FinetunedLANguageNet,或FLAN。 论文地址:https:arxiv。orgpdf2109。01652。pdfGitHub地址:https:github。comgoogleresearchflan。 为了评估FLAN在未知任务上的零样本性能,该研究根据NLP任务的任务类型将其分为多个集群,并对每个集群进行评估,同时在其他集群上对FLAN进行指令调整。如下图1所示,为了评估FLAN执行自然语言推理的能力,该研究在一系列其他NLP任务(如常识推理、翻译和情感分析)上对模型进行指令调整。由于此设置确保FLAN在指令调整中未见自然语言推理任务,因此可以评估其执行零样本自然语言推理的能力。 评估表明,FLAN显著提高了模型(base137B参数)的零样本性能。在25个评估任务中,FLAN零样本在19项任务上优于具有175B参数GPT3零样本,甚至在许多任务(如ANLI、RTE、BoolQ、AI2ARC、OpenbookQA和StoryCloze)上也显著优于GPT3小样本。在消融研究中,研究发现在指令调整中增加任务集群的数量,可以提高模型在未见过的任务的性能,并且指令调整的好处只有在模型规模足够大的情况下才会出现。 该研究实证结果强调了语言模型使用自然语言指令描述任务的能力。更广泛地说,如图2所示,指令调整结合了预训练微调(pretrainfinetune)特点,并通过使用finetune监督来提高语言模型响应推理时文本交互的能力。 FLAN:用指令调整改进零样本学习 指令调整的动机是提高语言模型响应NLP指令的能力,旨在通过使用监督来教LM执行以指令描述的任务。语言模型将学会遵循指令,即使对于未见过的任务也能执行。为了评估模型在未见过的任务上的性能,该研究按照任务类型将任务分成多个集群,当其他集群进行指令调整时,留出一个任务集群进行评估。 任务和模板 该研究将62个在Tensorflow数据集上公开可用的文本数据集(包括语言理解和语言生成任务)聚合到一起。下图3显示了该研究使用的所有数据集;每个数据集被归类为十二个任务集群之一,每个集群中的数据集有着相同的任务类型。 该研究将任务定义为由数据集给出的一组特定的输入输出对。对于每个任务,研究者手动编写十个独特的模板,使用自然语言指令描述任务。十个模板大多描述的是原始任务,但为了增加多样性,研究者为每个任务,提供了最多三个变更任务(turnedthetaskaround)的模板,下图4给出了自然语言推理任务的多个指令模板。 训练细节 模型架构和预训练。在实验中,该研究使用密集的从左到右、仅解码器、137B参数的transformer语言模型。该模型在一组网络文档(包括含计算机代码的文档)、对话数据和Wikipedia上进行预训练,这些文档使用SentencePiece库(KudoRichardson,2018),被tokenize为2。81TBPEtoken和32Ktoken的词表。大约10的预训练数据是非英语的。这个数据集不像GPT3训练集那么干净,而且还混合了对话和代码。 实验结果 研究者分别在自然语言推理、阅读理解、开放域问答、常识推理、共指消解和翻译等多项任务上对FLAN的性能进行了评估。对于每一项任务,他们报告了在所有模板上性能的平均和标准误差,这代表了给定典型自然语言指令时FLAN的预期性能。 自然语言推理任务 下表1展示了不同模型自然语言推理测试的结果,其中给定一个前提与假设模型必须确认在给定前提为真的情况下假设也为真。可以看到,FLAN在所有情况下均表现出强大的性能。 尽管在CB和RTE的不同模板的结果中存在高方差,但FLAN在没有任何prompt工程时依然在四个数据集上显著优于零样本和小样本GPT3。在具有最佳dev模板时,FLAN在五个数据集上优于小样本GPT3。FLAN甚至在ANLIR3数据集上超越了监督式BERT。 阅读理解和开放域问答任务 在阅读理解任务上,模型被要求回答关于给定文章段落的问题,结果如下表2所示。FLAN在BoolQ和OBQA数据集上显著优于GPT3。在使用最佳dev模板时,FLAN在MultiRC数据集上略优于小样本GPT3。 对于开放域问答任务,FLAN在ARCeasy和ARCchallenge数据集上显著优于零样本和小样本GPT3。在NaturalQuestions数据集上,FLAN优于零样本GPT3,弱于小样本GPT3。 常识推理和共指消解任务 不同模型在五个常识推理数据集上的结果如下表3所示,FLAN在StoryCloze数据集上优于GPT3,在CoPA和PiQA数据集上媲美GPT3。但在HellaSwag和ReCoRD数据集上,BaseLM和FLAN均弱于GPT3。 在两个共指消解任务上,具有最佳dev模板的FLAN在Winogrande数据集上优于零样本GPT3,但在WSC273数据集上,BaseLM和FLAN均弱于GPT3。 翻译 研究者还在GPT3论文中评估的三个数据集上测试了FLAN的机器翻译性能,这三个数据集分别是WMT’14法语英语以及WMT’16的德语英语和罗马尼亚语英语。 测试结果如下表4所示,BaseLM的零样本翻译性能弱,但小样本翻译结果媲美GPT3。FLAN在六个评估指标中的五个上优于小样本BaseLM。与GPT3类似,FLAN在翻译成英语任务上展示出了强大的性能,并且与监督式翻译基线相比具有优势。 其他实验 由于该论文的核心问题是指令调整如何提高模型在未见过任务上的零样本性能,因此该研究的第一个消融实验研究了指令调整中使用的集群和任务数量对性能的影响。 图5显示了实验结果。与预期一致,研究者观察到3个heldout集群的平均性能随着向指令调整添加额外的集群和任务而提高(情感分析集群除外),证实了所提指令调整方法有助于在新任务上提升零样本性能。 下图6结果表明,对于较大规模的模型,指令调整填充了一些模型容量,但也教会了这些模型遵循指令的能力,允许模型将剩余的容量泛化到新任务。