语言模型是无监督的多任务学习者
摘要
自然语言处理任务,如问答、机器翻译、阅读理解和摘要,通常在特定任务数据集上进行监督学习。我们证明,当在一个名为WebText的数百万网页的新数据集上进行训练时,语言模型在没有任何外部监督的情况下开始学习这些任务。当以文档加问题为条件时,语言模型生成的答案在CoQA数据集上达到55 F1,在不使用127000+训练示例的情况下,匹配或超过了四分之三的基线系统的性能。语言模型的能力对于零样本任务转移的成功至关重要,增加它可以以对数方式跨任务提高性能。我们最大的模型GPT-2是一个1.5B的参数T
语言模型是无监督的多任务学习者
Alec Radford*1 Jeffrey Wu*1 Rewon Child 1 David Luan 1 Dario Amodei**1 Ilya Sutskever**1
摘要
自然语言处理任务,如问答、机器翻译、阅读理解和摘要,通常在特定任务数据集上进行监督学习。我们证明,当在一个名为WebText的数百万网页的新数据集上进行训练时,语言模型在没有任何外部监督的情况下开始学习这些任务。当以文档加问题为条件时,语言模型生成的答案在CoQA数据集上达到55 F1,在不使用127000+训练示例的情况下,匹配或超过了四分之三的基线系统的性能。语言模型的能力对于零样本任务转移的成功至关重要,增加它可以以对数方式跨任务提高性能。我们最大的模型GPT-2是一个1.5B的参数T
机器学习系统现在(在预期中)通过使用大型数据集、高容量模型和监督学习的组合,在训练任务方面表现出色(Krizhevsky et al.,2012)(Sutskever et al.,2014)(Amodei et al.,2016)。然而,这些系统很脆弱,对数据分布(Recht et al.,2018)和任务规范(Kirkpatrick et al.,2017)的微小变化很敏感。当前的系统最好被描述为狭隘的专家,而不是
能干的多面手。我们希望转向更通用的系统,它可以执行许多任务——最终不需要为每个任务手动创建和标记训练数据集。
创建ML系统的主要方法是选择一个训练示例数据集,展示所需任务的正确行为,训练系统模仿这些行为,然后在独立同分布(IID)的示例上测试其性能。这有助于在问题上取得进展
目前在语言任务上表现最好的系统采用了预训练和监督微调相结合的方法。这种方法有着悠久的历史,有着更灵活的转移形式的趋势。首先,学习单词向量并将其用作特定任务架构的输入(Mikolov et al.,2013)(Collobert et al.,2011),然后转移递归网络的上下文表示(Dai&Le,2015)(Peters et al.,2018),最近的工作表明,任务特定的架构不再是必要的,转移许多自我注意块就足够了(Radford等人,2018)(Devlin等人,2018年)。
这些方法仍然需要有监督的训练才能执行任务。当只有最少或没有监督数据可用时,另一项工作已经证明了语言模型执行特定任务的前景,如常识推理(Schwartz et al.,2017)和情绪分析(Radford et al.,2017.)。
在本文中,我们将
2.方法
我们方法的核心是语言建模。语言建模通常被定义为来自一组示例(x1,x2,…,xn)的无监督分布估计,每个示例由可变长度的符号序列(s1,s2,…,sn)组成。由于语言具有自然的顺序性,因此通常将联合概率分解为
作为条件概率的乘积的符号(Jelinek&Mercer,1980)(Bengio等人,2003):
n
p(x)=p(sn|s1,…,sn−1)(1)
i=1
这种方法允许对p(x)以及形式为p(sn−k,…,sn s1,…,sn−k−1)的任何条件句进行可处理的采样和估计。近年来,可以计算这些条件概率的模型的表现力有了显著的提高,例如像Transformer这样的自注意架构(Vaswani et al.,2017)。
学习执行单个任务可以在概率框架中表示为估计条件分布
2.1训练数据集
大多数先前的工作都是在单一的文本主体上训练语言模型,如新闻文章(Jozefowicz et al.,2016)、维基百科(Merity et al.,2015)或小说书(Kiros et al.,2014)。我们的方法鼓励构建尽可能大且多样化的数据集,以便在尽可能不同的领域和上下文中收集任务的自然语言演示。
一个很有前途的多样化和几乎无限的文本来源是像Common Crawl这样的网络抓取。虽然这些档案比当前的语言建模数据集大很多数量级,但它们存在严重的数据质量问题。Trinh&Le(2018)在他们的常识推理工作中使用了Common Crawl,但指出了大量“内容大多难以理解”的文档。我们在最初的实验中发现了类似的数据问题
“我不是世界上最聪明的人,但正如他们在法语中所说:我不是傻瓜。
在8月16日的一篇现已被删除的帖子中,Joliette的保守党候选人Soheil Eid用法语写道:“Mentez Mentez,il en restera toujours quelque choose”,翻译过来就是,“谎言和某些东西将永远存在。”
“我讨厌‘香水’这个词,”伯尔说它在法语中有点好:“parfum”
如果在29:55仔细聆听,可以听到两个人用法语进行的对话:“-对fait pour aller de l’autre cote´的评论?-Quel autre科特´?”,意思是“-你如何到达另一边?-哪一边?”。
如果这听起来有点夸张,可以考虑一下法语中的这个问题:As tu aller au cine´ma?,或者你去看电影了吗?,字面意思是你要去看电影/剧院吗?
“Brevet Sans Garantie Du Gouvernment”,翻译成英文:“专利无政府担保”。
表1。自然发生的demonst的例子
普通爬网。Trinh&Le(2018)的结果是使用Common Crawl的一个子样本实现的,该样本仅包括与目标数据集最相似的文档,即Winograd Schema Challenge。虽然这是一种提高特定任务绩效的务实方法,但我们希望避免提前对要执行的任务做出假设。
相反,我们创建了一个新的网页抓取,强调文档质量。为了做到这一点,我们只抓取了由人类策划/过滤的网页。手动过滤完整的网络抓取将非常昂贵,因此作为一个起点,我们从社交媒体平台Reddit上抓取了所有出站链接,该平台至少收到了3个因果报应。这可以被视为其他用户是否觉得链接有趣、有教育意义或只是有趣的启发式指标。
生成的数据集WebText包含这4500万个链接的文本子集。为了从HTML响应中提取文本,我们使用了Dragnet的组合(
2.2.输入表示117M 12 768
通用语言模型(LM)应该能够计算345M
762米24
36 1024
1280
任何字符串的概率(以及生成)。现在的
大规模LMs包括预处理步骤,例如较低的-1542M481600
限制可建模字符串空间的大小写、标记化和词汇表外标记。虽然将Unicode字符串作为UTF-8字节序列处理得很好,很好地满足了这一要求,如Gillick等人的工作所示。(2015),在10亿字基准(al Rfou等人,2018)等大规模数据集上,当前的字节级LMs与字级LMs没有竞争力。我们在WebText上训练标准字节级LM的尝试中也观察到了类似的性能差距。
字节对编码(BPE)(Sennrich et al.,2015)是字符和单词级语言建模之间的一个实用中间地带,它有效地在频繁符号序列的单词级输入和字符级输入之间进行插值
很少修改。层归一化(Ba et al.,2016)被移动到每个子块的输入,类似于预激活残差网络(He et al.。,2016),并且在最终的自注意块之后添加了额外的层归一化。使用了修正的初始化,该初始化考虑了具有模型深度的残差路径上的累积。我们以1/N的因子缩放初始化时残留层的权重,其中N是残留层的数量。词汇量扩大到50257个。我们还将上下文大小从512个令牌增加到1024个令牌,并使用更大的512个批量大小。
3.实验
我们训练并测试了四个具有近似对数均匀间隔尺寸的LMs。表2中对体系结构进行了汇总。最小的模型相当于原始的GPT,第二小的模型等同于BERT的最大模型(Devlin et al.,2018)。我们称之为GPT-2的最大模型的参数比GPT多一个数量级。在5%的WebText样本上,手动调整每个模型的学习率以获得困惑。所有的模型仍然在网络文本下,并提出了困惑,但到目前为止,只要有更多的训练时间,这些模型就会得到改进。
作为实现零样本任务传输的第一步,我们有兴趣了解WebText LM在零样本域传输中如何执行他们接受培训的主要任务——语言建模。由于我们的模型在字节级别上运行,不需要有损的预处理或标记化,因此我们可以在任何语言模型基准上对其进行评估。语言建模数据集上的结果通常以每个规范预测单元(通常是一个字符、一个字节或一个单词)的平均负对数概率的缩放或扩展版本的量报告。我们通过根据WebText LM计算数据集的对数概率并除以规范单元的数量来评估相同的数量。对于这些数据集中的许多数据集,WebText LMs将被测试为严重的分布不均,必须预测激进的标准化文本、标记化工件,如断开的标点符号和缩写、混乱的句子,甚至字符串
WebText LM可以很好地跨域和数据集传输,提高了零样本设置中8个数据集中7个数据集的 技术。在Penn Treebank和WikiText-2等只有100万至200万个训练令牌的小型数据集上注意到了巨大的改进。在为测量长期依赖性而创建的数据集上也注意到了很大的改进,如LAMBADA(Paperno et al.,2016)和儿童图书测试(Hill et al.,2015)。我们的模式仍然比之前在“一个法案”上的工作差得多
儿童图书测试(CBT)(Hill et al.,2015)旨在检查LMs在不同类别单词上的表现:命名实体、名词、动词和前置词。CBT不是将困惑作为一种评估结果来报告,而是在自动构建的完形填空测试中报告准确性,该测试的任务是预测遗漏单词的10个可能选项中哪一个是正确的。按照原论文中介绍的LM方法,我们根据LM计算每个选择的概率以及以该选择为条件的句子的其余部分,并预测概率最高的一个。如图2所示,随着模型大小的增加,性能稳步提高,并在该测试中缩小了与人类性能的大部分差距。数据重叠分析显示,其中一本CBT测试集书籍《Rudyard Kipling的丛林之书》在WebText中,因此我们报告了没有显著重叠的验证集的结果。GPT-2实现技术。
3.3.兰巴达
LAMBADA数据集(Paperno et al.,2016)测试了系统在文本中对长期依赖关系建模的能力。任务是预测句子的最后一个单词,人类需要至少50个上下文标记才能成功预测。GPT-2将现有技术的困惑程度从99.8(Grave et al.,2016)提高到8.6,并将LMs在该测试中的准确性从19%(Dehghani et al.,2018)提高到52.66%。对GPT-2的错误进行调查表明,大多数预测都是句子的有效延续,但不是有效的词尾。这表明LM没有使用额外的有用约束,即单词必须是句子的词尾。添加一个停止字滤波器作为对此的近似值,进一步将精度提高到63.24%,将该任务的总体技术水平提高了4%。先前的技术状态(Hoang et al.,2018)使用了不同的受限预测设置,其中模型的输出仅限于应用程序的单词
3.7翻译
我们测试GPT-2是否已经开始学习如何从一种语言翻译到另一种语言。为了帮助它推断这是所需的任务,我们将语言模型以英语句子=法语句子格式的示例对的上下文为条件,然后在英语句子=的最终提示后,我们通过贪婪解码从模型中采样,并使用第一个生成的句子作为翻译。在WMT-14英法测试集上,GPT-2获得了5个BLEU,这比之前关于无监督单词翻译的工作中提到的用双语词典逐字替换稍差
(Conneau等人,2017b)。在WMT-14法语-英语测试集上,GPT-2能够利用其强大的英语语言模型表现得更好,实现
11.5布鲁。这优于(Artetxe et al.,2017)和(Lample et al.。,2017)中的几个无监督机器翻译基线,但仍远低于当前无监督机器转换方法的33.5 BLEU(Artetxe et al.,2019)。这项任务的表现让我们感到惊讶,因为我们故意从WebText中删除非英语网页作为过滤步骤。为了证实这一点,我们在WebText上运行了一个字节级语言检测器2,该检测器仅检测到10MB的法语数据,这比之前无监督机器翻译研究中常见的单语法语语料库小大约500倍。
3.8问题回答
测试语言模型中包含哪些信息的一种潜在方法是评估它生成事实风格问题的正确答案的频率。先前在神经系统中展示了这种行为,其中所有信息都存储在参数中,如神经会话模型(Vinyals&Le,2015),由于缺乏高质量的评估数据集,报告了定性结果。最近引入的自然问题数据集(Kwiatkowski et al。
2019)是一个很有前途的资源,可以更定量地测试这一点。与翻译类似,语言模型的上下文中植入了示例问答对,这有助于模型推断数据集的简短回答风格。当用SQUAD等阅读理解数据集上常用的匹配指标进行评估时,GPT-2正确回答了4.1%的问题。3作为比较点,最小的模型不超过一个极其简单的基线的1.0%准确率,该基线为每个问题类型(谁、什么、在哪里等)返回了最常见的答案,这表明模型容量是迄今为止神经系统在这类任务上表现不佳的主要因素。GPT-2为其生成的答案分配的概率经过了很好的校准,GPT-2在其最有信心的1%问题上的准确率为63.1%。GPT-2对开发集问题生成的30个最有信心答案是
4.泛化与记忆
最近在计算机视觉方面的工作表明,常见的图像数据集包含大量的近乎重复的图像。例如,CIFAR-10在训练图像和测试图像之间有3.3%的重叠(Barz&Denzler,2019)。这导致了对机器学习系统泛化性能的过度报道。随着数据集大小的增加,这个问题变得越来越可能,这表明WebText也可能发生类似的现象。因此,分析训练数据中也显示了多少测试数据是很重要的。
为了研究这一点,我们创建了包含8克WebText训练集令牌的Bloom过滤器。为了提高召回率,字符串被规范化为只包含小写字母数字单词,并以单个空格作为分隔符。Bloom滤波器被构造为使得假阳性率的上限为18。我们通过生成1M个字符串进一步验证了低假阳性率,其中0个字符串由
对于CoQA,新闻领域中大约15%的文档已经在WebText中,并且该模型在这些文档上的性能要好于3F1。CoQA的开发集度量报告了5个不同领域的平均性能,我们测量了由于各个领域的重叠而产生的约0.5-1.0 F1的增益。然而,由于CoQA是在WebText中链接的截止日期之后发布的,因此WebText中没有实际的培训问题或答案。
在LAMBADA上,平均重叠率为1.2%。GPT-2在重叠率大于15%的例子上形成了大约2个更好的困惑。当排除所有有重叠的例子时,重新计算指标会导致8.6到8.7的困惑,并将准确率从63.2%降低到62.9%。总体结果的这种非常小的变化可能是因为只有1/200的例子有显著的重叠。
总体而言,我们的分析表明,WebText训练数据和特定评估数据集之间的数据重叠为报告的结果提供了一个小但一致的好处。如何-ev
5.相关工作
这项工作的很大一部分测量了在较大数据集上训练的较大语言模型的性能。这
类似于Jozefowicz等人的工作。(2016)在10亿字基准上缩放了基于RNN的语言模型。Bajgar等人(2016)之前也通过古腾堡项目创建了一个更大的训练数据集来补充标准训练数据集,从而改进了儿童图书测试的结果。Hesness等人(2017)对各种深度学习模型的性能如何随着模型能力和数据集大小的变化而变化进行了深入分析。我们的实验虽然在任务之间的噪声要大得多,但表明类似的趋势适用于目标的子任务,并继续进入1B+参数范围。
以前已经记录了生成模型中有趣的学习功能,例如RNN语言模型中的细胞执行线宽跟踪和引用/评论检测Karpathy等人(2015)。刘等人(2018)观察到,一个经过训练生成维基百科文章的模型也学会了。
5.相关工作
这项工作的很大一部分测量了在较大数据集上训练的较大语言模型的性能。这
图4。在WebText上训练的LM的性能与模型大小有关。
类似于Jozefowicz等人的工作。(2016)在10亿字基准上缩放了基于RNN的语言模型。Bajgar等人(2016)之前也通过古腾堡项目创建了一个更大的训练数据集来补充标准训练数据集,从而改进了儿童图书测试的结果。Hesness等人(2017)对各种深度学习模型的性能如何随着模型能力和数据集大小的变化而变化进行了深入分析。我们的实验虽然在任务之间的噪声要大得多,但表明类似的趋势适用于目标的子任务,并继续进入1B+参数范围。
以前已经记录了生成模型中有趣的学习功能,例如RNN语言中的细胞。
6.讨论
许多研究致力于学习(Hill et al.,2016)、理解(Levy&Goldberg,2014)和批判性评估(Wieting&Kiela,2019)监督和非监督预训练方法的表示。我们的研究结果表明,无监督任务学习是另一个有希望探索的研究领域。这些发现可能有助于解释用于下游NLP任务的预训练技术的广泛成功,因为我们表明,在极限范围内,这些预训练技术中的一种开始学习直接执行任务,而不需要监督调整或修改。
在阅读理解方面,GPT-2的表现与零样本环境下的监督基线相比具有竞争力。然而,在总结等其他任务上,尽管它在定性地执行任务,但根据定量指标,它的性能仍然只是初级的。虽然研究结果具有启发性,但在实际应用方面
GPT-2的训练数据和容量足以克服BERT所证明的单向表示的低效性(Devlin等人,2018)。
7.结论
当一个大型语言模型在一个足够大和多样化的数据集上训练时,它能够在许多领域和数据集上表现良好。GPT-2在8个测试的语言建模数据集中的7个数据集上实现了先进的性能。该模型能够在零样本环境中执行的任务的多样性表明,经过训练以最大限度地提高充分变化的文本语料库可能性的高容量模型开始学习如何在不需要明确监督的情况下执行数量惊人的任务。
7.结论
当一个大型语言模型在一个足够大和多样化的数据集上训练时,它能够在许多领域和数据集上表现良好。GPT-2在8个测试的语言建模数据集中的7个数据集上实现了先进的性能。该模型能够在零样本环境下执行的任务的多样性表明,经过训练以最大限度地提高充分变化的文本语料库可能性的高容量模型开始学习如何在不需要明确监督的情况下执行数量惊人的任务。5
鸣谢
感谢所有在WebText中编写文本、共享链接并投票支持内容的人。数百万人参与了GPT-2培训数据的创建。还要感谢所有帮助我们建立培训基础设施的谷歌员工,包括Zak Stone、JS Riehl、Jonathan Hseu、Russell Power、Youlong Cheng、Noam Shazeer、Solomon Boulos、Michael Banfield、Aman Gupta、Daniel Sohn等。最后感谢th
下载文件: