文本恢复转换器 万能格式转换器

时间:2023-04-29 18:45/span> 作者:tiger 分类: 新知 浏览:1292 评论:0

在过去几年中,迁移学习在自然语言处理(NLP)领域掀起了一波最新的研究成果。迁移学习的有效性来自于使用大量可用的未标记文本数据对模型进行预训练,并使用自我监督的任务,例如语言建模或填充缺失的单词。之后,可以在较小的标记数据集上对模型进行微调,这通常比单独在标记数据上训练产生(远)更好的性能。2018 年,GPT、ULMFiT、ELMo和BERT点燃了迁移学习的近期成功2019 年出现了大量新方法,如XLNet、RoBERTa、ALBERT、Reformer和MT-DNN。该领域的进展速度使得评估哪些改进最有意义以及将它们结合起来的效果如何变得困难。

在“ Exploring the Limits of Transfer Learning with an Unified Text-to-Text Transformer ”中,我们提出了一项大规模的实证调查,以确定哪种迁移学习技术效果最好,并大规模应用这些见解来创建一个新模型,我们称之为文本到文本传输转换器 (T5)。我们还引入了一个新的开源预训练数据集,称为Colossal Clean Crawled Corpus(C4)。在 C4 上预训练的 T5 模型在许多 NLP 基准测试中取得了最先进的结果,同时足够灵活,可以针对各种重要的下游任务进行微调。为了扩展和重现我们的结果,我们提供了代码和预训练模型,以及易于使用的Colab Notebook来帮助您入门。

一个共享的文本到文本框架

使用 T5,我们建议将所有 NLP 任务重新构建为统一的文本到文本格式,其中输入和输出始终是文本字符串,而 BERT 风格的模型只能输出一个类标签或输入的范围。我们的文本到文本框架允许我们在任何情况下使用相同的模型、损失函数和超参数NLP 任务,包括机器翻译、文档摘要、问答和分类任务(例如,情感分析)。我们甚至可以通过训练 T5 来预测数字的字符串表示而不是数字本身,从而将 T5 应用于回归任务。

大型预训练数据集 (C4)

迁移学习的一个重要组成部分是用于预训练的未标记数据集。为了准确衡量扩大预训练量的效果,我们需要一个不仅高质量、多样化而且海量的数据集。现有的预训练数据集并不满足所有这三个标准——例如,来自维基百科的文本质量高,但风格统一,对于我们的目的来说相对较小,而Common Crawl网络爬虫数量巨大且高度多样化,但相当低质量。

为了满足这些要求,我们开发了 Colossal Clean Crawled Corpus (C4),这是 Common Crawl 的清理版本,比维基百科大两个数量级. 我们的清理过程包括重复数据删除、丢弃不完整的句子以及删除令人反感或嘈杂的内容。这种过滤在下游任务上产生了更好的结果,而额外的大小允许模型大小在预训练期间增加而不会过度拟合。C4 可通过TensorFlow Datasets 获得。

迁移学习方法论的系统研究

借助 T5 文本到文本框架和新的预训练数据集 (C4),我们调查了过去几年为 NLP 迁移学习引入的大量思想和方法。调查的全部细节可以在我们的论文中找到,包括以下实验:

  • 模型架构,我们发现编码器-解码器模型通常优于“仅解码器”语言模型;
  • 预训练目标,我们确认填空式去噪目标(模型被训练以恢复输入中丢失的单词)效果最好,最重要的因素是计算成本;
  • 未标记的数据集,我们表明对域内数据的训练可能是有益的,但对较小数据集的预训练会导致有害的过度拟合;
  • 训练策略,我们发现多任务学习可以与预训练然后微调的方法相媲美,但需要仔细选择模型在每项任务上的训练频率;
  • 和scale,我们比较放大模型大小、训练时间和集成模型的数量,以确定如何最好地利用固定计算能力。

Insights + Scale = State-of-the-Art

为了探索 NLP 迁移学习的当前限制,我们进行了最后一组实验,我们结合了系统研究中的所有最佳方法,并使用Google Cloud TPU扩展了我们的方法加速器。我们最大的模型有 110 亿个参数,并在GLUE、SuperGLUE、SQuAD和CNN/Daily Mail基准测试中达到了最先进的水平。一个特别令人兴奋的结果是,我们在 SuperGLUE 自然语言理解基准测试中获得了接近人类的分数,该基准专门设计为对机器学习模型来说很困难,但对人类来说很容易。

扩展

T5 足够灵活,可以轻松修改以应用于我们论文中考虑的任务之外的许多任务,通常会取得巨大成功。下面,我们将 T5 应用于两项新任务:闭卷问答和使用可变大小的空白填充空白文本生成。

Closed-Book Question Answering

使用文本到文本框架的一种方法是阅读理解问题,在该问题中,模型与问题一起被提供一些上下文,并经过训练以从上下文中找到问题的答案。例如,可以将维基百科关于飓风康妮的文章中的文本以及问题“康妮飓风发生在什么日期?” 然后将训练模型以查找文章中的日期“1955 年 8 月 3 日”。事实上,我们使用这种方法

在斯坦福问答数据集 (SQuAD) 上取得了最先进的结果。在我们的Colab 中在演示和后续论文中,我们训练 T5 在更困难的“闭卷”设置中回答琐事问题,无需访问任何外部知识。换句话说,为了回答问题,T5 只能使用存储在其内部的知识它在无监督预训练期间获取的参数。这可以被认为是开放域问答的一种约束形式。

T5 出奇地擅长这项任务。完整的 110 亿参数模型在TriviaQA、WebQuestions和Natural Questions 上分别有50.1%、37.4% 和 34.5% 的时间生成准确的答案文本。为了正确看待这些结果,T5 团队在酒吧琐事挑战中与模型正面交锋并输了!单击下面的动画自己尝试一下。

填空文本生成

像GPT-2这样的大型语言模型擅长生成非常逼真的文本,因为它们经过训练可以预测输入提示后接下来会出现什么词。这导致了许多创造性的应用程序,如Talk To Transformer和基于文本的游戏AI Dungeon。T5 使用的预训练目标与填空任务更接近,在该任务中,模型预测损坏的文本片段中的缺失词。这个目标是延续任务的概括,因为“空白”也可以出现在文本的末尾。

为了利用这个目标,我们创建了一个名为sized fill-in-the-blank的新下游任务,其中要求模型用指定数量的单词替换空白。例如,如果我们给模型输入“我喜欢吃花生酱和_4_三明治”,我们将训练它用大约 4 个单词填空。

我们使用 C4 在这个任务上对 T5 进行了微调,发现结果输出非常逼真。看到模型如何根据缺失文本的请求大小调整其预测特别有趣。

结论

我们很高兴看到人们如何使用我们的发现、代码和预训练模型来帮助启动他们的项目。

文章评论