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

突破迁移学习的局限!谷歌提出“T5”新NLP模型,多基准测试高达SOTA

时间:2023-03-18 00:52:24 科技观察

过去几年,迁移学习为NLP领域带来了丰硕的成果,掀起了新的发展浪潮。迁移学习之所以如此有效,是因为它使用自监督任务(例如语言建模或填充缺失词)在大量可用的未标记文本数据上预训练模型;在数据集上微调模型可以使模型获得比单独在标记数据上训练更好的性能。迁移学习于2018年在GPT、ULMFiT、ELMo和BERT的成果中首次亮相,随后在2019年大显身手,推动了该领域诸多新方法的发展,包括XLNet、RoBERTa、ALBERT、Reformer和MT-DNNs和更多。随着NLP领域的快速发展,要评估其中哪些发展最有意义以及它们可以结合到何种程度并非易事。论文地址:https://arxiv.org/abs/1910.10683在论文《使用统一的文本到文本的Transformer 来探索迁移学习的局限性》中,谷歌研究人员提出了一项大规模的实证评估,以确定哪种迁移学习技术效果最好,并将这些迁移学习大规模应用,以创建一个新的模型,作者称之为文本到文本迁移转换器(Text-To-TextTransferTransformer,T5)。同时,他们还推出了全新的开源预训练数据集——ColossalCleanCrawledCorpus(C4)。作者在C4数据集上预训练了T5模型,让模型在许多NLP基准测试上取得了最先进的结果,同时又足够灵活,可以在fine-后应用于几个重要的下游任务。调整。1.共享文本到文本框架创建T5模型后,作者将所有NLP任务重组为统一的文本到文本格式。输入和输出都是文本字符串,只能输出类标签或输入范围,与BERT-style模型大不相同。这种文本到文本的框架允许他们在任何NLP任务上使用相同的模型、损失函数和超参数,包括机器翻译、文档摘要、问答和分类任务(如情感分析)等。T5模型甚至可以通过训练T5模型来预测数字的字符串表示而不是数字本身,从而将其应用于回归任务。文本到文本框架图。对于每项任务,作者将文本视为模型的输入并训练模型生成一些目标文本。这允许他们在多个任务上使用相同的模型、损失函数和超参数,包括翻译(绿框)、语言可接受性(红框)、句子相似性(黄框)和文档摘要(蓝框)。).它还为实证评估中包含的方法提供了标准试验台。2.大型预训练数据集(C4)迁移学习的一个重要部分是用于模型预训练的未标记数据集。为了准确评估扩大预训练的效果,我们需要一个不仅高质量和多样化,而且规模大的数据集。现有的预训练数据集无法满足以上三个要求。例如,维基百科的文本质量高,格式统一,但相对较小,而从CommonCrawl网站爬取的文本相对较小。大而多样,但质量很差。为了满足这三个要求,作者开发了一个ColossalCleanCrawledCorpus数据集(C4),这是一个比Wikipedia大两个数量级的CommonCrawl的干净版本。他们的清理过程包括删除重复项、删除不完整的句子以及删除令人反感或嘈杂的内容。这种过滤允许模型在下游任务上获得更好的性能,而数据集的额外大小也允许模型在预训练期间欠拟合时增加其大小。C4数据集地址:https://www.tensorflow.org/datasets/catalog/c43.迁移学习方法的系统研究作者使用T5文本到文本框架和新的预训练数据集C4评估了A为NLP迁移学习引入了大量的思想和方法。广泛的评估细节可以在论文中找到,包括以下实验:在模型架构的实验中,他们发现编码-解码模型通常比“仅解码”语言模型表现更好;在预训练目标的实验中,他们证实了填空去噪目标(即训练模型以从输入中恢复丢失的单词)效果更好,这里最重要的因素是计算成本。在未标记数据集的实验中,他们表明在域内数据集上训练模型是有益的,而在较小数据集上预训练模型会导致不利的过度拟合;在训练策略实验中,他们发现多任务学习与“预训练然后微调”方法相当,但需要更仔细地选择模型在每个任务上训练的频率。在模型规模的实验中,他们比较了不同大小的模型、训练时间和集成模型的数量,以确定如何最好地利用固定数量的计算能力。4.迁移方法+数据大小=最佳性能为了探索迁移学习在NLP中的当前局限性,作者进行了最后一组实验,结合了系统研究中的所有最佳方法,并使用GoogleCloudTPU加速器对其进行了优化。这些模型中最大的一个有110亿个参数,在GLUE、Superglue、Team和CNN/DailyMail基准测试中是最先进的。此外,它在SuperGLUE自然语言理解基准测试中取得了接近人类水平的分数。5.扩展到其他任务,表现也喜人。T5非常灵活,可以很容易地修改。除了作者论文中的一些任务外,它在其他任务上也取得了很大的成功。例如,在以下两个新任务中,模型表现良好。1.封闭式数据问答阅读理解题中经常可以用到text-to-text的框架。为模型提供上下文信息和问题,并训练它在上下文信息中找到问题的答案。例如,您可以为模型提供维基百科文章中飓风康尼的文本,并询问“飓风康妮何时发生?”然后训练模型以查找文章中的日期。事实上,作者使用这种方法在斯坦福问答数据集(SQuAD)上取得了最先进的结果。在作者的Colabdemo和后续论文中,它训练了T5在更困难的封闭环境中回答琐碎的问题,并且不需要接触任何外部知识。换句话说,T在回答问题时只能使用它在无监督预训练中训练的参数和知识。在预训练期间,T5学习如何从C4文档中填充缺失的文本范围。该模型经过微调并应用于封闭式问答,无需任何输入或上下文。T5非常擅长这项任务,其110亿参数模型在TriviaQA、WebQuestions和NaturalQuestions中分别准确生成了50.1%、37.4%和34.5%的答案。为了客观看待此类问题,T5团队在pubtriviachallenge中与训练好的模型并肩作战,可惜惨败。如下动画所示2.完形填空第二个任务是填空。像GPT-2这样的大型语言模型非常擅长文本生产。在训练模型预测给定输入的下一个单词后,模型的集成可以带来非常创新的应用,例如基于文本的游戏“AIDungeon”。T5使用的预训练目标与填空任务非常相似,模型预测文本中缺失的单词,但这个目标是“延续任务”的泛化,因为填空任务中可能会出现空白在文末。为了实现这个目标,创建了一个名为“填空”的新任务,并要求模型用指定数量的单词替换空白。比如给模型输入:我喜欢吃花生酱和-4-三明治。据推测,该模型将被训练为用4个单词填充空白。该模型使用C4进行了微调,效果很好,尤其是模型对缺失文本的预测非常好!例如,对于以下输入:“我喜欢花生酱和—N—三明治”,输出结果如下:预训练模型:https://github.com/google-research/text-to-text-transfer-transformer#released-model-checkpoints代码:https://github.com/google-research/text-to-text-transfer-transformerColabNotebookhttps://colab.research.google.com/github/google-research/text-to-text-transfer-transformer/blob/master/notebooks/t5-trivia.ipynb