GPT-2论文阅读:Language Models are Unsupervised Multitask Learners
本文解析 OpenAI 2019 年发布的里程碑式论文,该论文首次提出了 GPT-2 模型,揭示了语言模型作为无监督多任务学习器的革命性潜力。文章的核心观点是:语言模型在无监督训练过程中,可以隐式地学习多种任务,无需特定任务微调或监督信号。
文章链接:Language Models are Unsupervised Multitask Learnershttps://cdn.openai.com/better-language-models/language_models_are_unsupervised_multitask_learners.pdf
Abstract(摘要)
自然语言处理任务,如问答、机器翻译、阅读理解、摘要生成,通常通过在特定任务的数据集上进行监督学习来解决。我们证明,当在一个包含数百万网页、名为WebText的新数据集上训练时,语言模型开始在没有显式监督的情况下学习这些任务。当给定一个文档加上问题时,语言模型生成的答案在CoQA数据集上达到55 F1分——在不使用超过127,000个训练示例的情况下,匹配或超过了4个基线系统中的3个。语言模型的容量对于零样本任务迁移的成功至关重要,增加容量以对数线性方式跨任务提升性能。我们最大的模型GPT-2是一个拥有15亿参数的Transformer,在零样本设置下,在8个测试语言建模数据集中的7个上取得了最先进的结果,但仍然对WebText欠拟合。模型的采样结果反映了这些改进,并包含连贯的文本段落。这些发现为构建通过自然发生演示学习执行任务的语言处理系统指明了一条有希望的道路。
1. Introduction(介绍)
机器学习系统现在(在期望上)擅长于通过结合大型数据集、高容量模型和监督学习来完成它们被训练的任务(Krizhevsky et al.,2012)(Sutskever et al.,2014)(Amodei et al.,2016)。然而,这些系统很脆弱,对数据分布(Recht et al., 2018)和任务规范(Kirkpatrick et al.,2017)的微小变化很敏感。当前的系统更像是狭窄的专家,而非有能力的通才。我们希望朝着更通用的系统迈进,这些系统可以执行许多任务——最终无需为每个任务手动创建和标注训练数据集。
创建机器学习系统的主要方法是收集一个展示期望任务正确行为的训练示例数据集,训练一个系统来模仿这些行为,然后在独立同分布(IID)的保留示例上测试其性能。这对于发展狭窄专家效果很好。但是,图说模型(Lake et al.,2017)、阅读理解系统(Jia& Liang,2017)和图像分类器(Alcorn et al., 2018)在多样化和各种可能输入上表现出的经常不稳定的行为,突显了这种方法的一些缺点。
我们怀疑,在单一领域数据集上进行的单任务训练的普遍性,是导致当前系统缺乏泛化能力的主要原因。利用当前架构向鲁棒系统取得进展,很可能需要在广泛的领域和任务上进行训练和性能测量。最近,提出了几个基准,如GLUE(Wang et al., 2018) 和 decaNLP(McCann et al., 2018),以开始研究这个问题。
多任务学习(Caruana, 1997)是提高通用性能的一个有前景的框架。然而,自然语言处理中的多任务训练仍处于早期阶段。最近的工作报告了适度的性能改进(Yogatama et al.,2019),迄今为止最雄心勃勃的两项努力分别训练了总共10对和17对(数据集,目标)(McCann et al., 2018)(Bowman et al.,2018)。从元学习的角度来看,每对(数据集,目标)都是从数据集和目标分布中采样的单个训练示例。当前的机器学习系统需要成百上千个示例来归纳泛化良好的函数。这表明,利用当前方法实现多任务训练的承诺可能需要同样多的有效训练对。继续将数据集的创建和目标的设计扩展到当前技术可能需要的程度以“暴力”突破(brute force our way there),将非常困难。这促使我们探索执行多任务学习的额外设置。
图1. WebText语言模型在不同NLP任务上的零样本任务性能,作为模型规模的函数。 阅读理解结果基于CoQA(Reddy et al., 2018),翻译结果基于WMT-14 Fr-En(Artetxe et al., 2017),摘要结果基于CNN and Daily Mail(See et al., 2017),问答结果基于Natural Questions(Kwiatkowski et al., 2019)。第3章节包含每个结果的详述。
当前在语言任务上表现最佳的系统利用预训练和监督微调的组合。这种方法由来已久,并呈现出向更灵活迁移形式发展的趋势。首先,学习词向量并将其用作任务特定架构的输入(Mikolov et al., 2013)(Collobert et al., 2011),然后迁移循环网络的上下文表示(Dai& Le, 2015)(Peters et al., 2018),最近的研究表明任务特定架构不再必要,迁移多个自注意力块就足够了(Radford et al., 2018)(Devlin et al., 2018)。
这些方法仍然需要监督训练来执行任务。当只有极少或没有监督数据可用时,另一项工作展示了语言模型执行特定任务的潜力,例如常识推理(Schwartz et al., 2017)和情感分析(Radford et al., 2017)。
在本文中,我们将这两条工作线联系起来,并延续更通用的迁移方法的趋势。我们证明语言模型可以在零样本设置下执行下游任务——无需任何参数或架构修改。我们通过强调语言模型在零样本设置下执行广泛任务的能力来证明这种方法具有潜力。根据任务的不同,我们取得了有希望的、有竞争力的和最先进的结果。
2. Approach(方法)
我们方法的核心是语言建模。语言建模通常被构架为从一组示例中进行无监督分布估计,每个示例由可变长度的符号序列
组成。由于语言具有自然的顺序性,通常将符号上的联合概率分解为条件概率的乘积(Jelinek& Mercer, 1980)(Bengio et al., 2003):
这种方法允许从 以及任何形式为
的条件分布中进行可处理的采样和估计。近年来,在计算这些条件概率的模型表达能力方面取得了显著改进,例如像Transformer(Vaswani et al.,2017)这样的自注意力架构。
学习执行单个任务可以在概率框架中表示为估计一个条件分布 。由于一个通用系统应该能够执行许多不同的任务,即使对于相同的输入,它也不应仅以输入为条件,还应以要执行的任务为条件。也就是说,它应该建模
。这在多任务和元学习设置中已被各种形式化。任务条件设定通常在架构层面实现,例如(Kaiser et al., 2017)中的任务特定编码器和解码器;或在算法层面实现,例如MAML(Finn et al., 2017)的内外环优化框架。但正如McCann et al.(2018)所例证的那样,语言提供了一种灵活的方式来将任务、输入和输出全部指定为符号序列。例如,一个翻译训练示例可以写成序列(translate to french, english text, french text)。同样,一个阅读理解训练示例可以写成(answer the question, document, question, answer)。McCann et al.(2018)证明了可以训练一个单一模型,即MQAN,在这种格式的示例上推断和执行许多不同的任务。
原则上,语言建模也能够学习McCann et al.(2018)的任务,而无需明确监督哪些符号是要预测的输出。由于监督目标与无监督目标相同,但仅评估序列的一个子集,无监督目标的全局最小值也是监督目标的全局最小值。在这个稍微理想化的设置中,回避了(Sutskever et al.,2015)中讨论的将密度估计作为原则性训练目标的担忧。问题反而变成了我们是否能够在实践中优化无监督目标直至收敛。初步实验证实,足够大的语言模型能够在这个类玩具的设置中进行多任务学习,但学习速度比显式监督方法慢得多。
虽然从上述定义良好的设置到“野外语言”的混乱性是一个巨大的跨越,但Weston(2016)在对话的背景下主张,有必要开发能够直接从自然语言中学习的系统,并通过前向预测教师的输出来演示了一个概念证明——在没有奖励信号的情况下学习问答任务。虽然对话是一种有吸引力的方法,但我们担心它过于受限。互联网包含大量被动可用的信息,无需交互式通信。我们的推测是,具有足够容量的语言模型将开始学习推断和执行自然语言序列中演示的任务,以便更好地预测它们,无论其获取方法如何。如果语言模型能够做到这一点,那么实际上它就是在执行无监督多任务学习。我们通过分析语言模型在零样本设置下在各种任务上的表现来测试这一点是否成立。
2.1. Training Dataset(训练集)
大多数先前的工作在单一文本领域训练语言模型,例如新闻文章(Jozefowicz et al.,2016)、维基百科(Merity et al., 2016)或小说(Kiros et al., 2015)。我们的方法激励构建尽可能大且多样化的数据集,以便在不同领域和上下文中尽可能多地收集任务的自然语言演示。
一个充满希望且几乎无限的多样化文本来源是网络抓取数据,例如Common Crawl。虽然这些存档比当前的语言建模数据集大好几个数量级,但它们存在严重的数据质量问题。Trinh& Le(2018)在他们关于常识推理的工作中使用了Common Crawl,但注意到大量文档“其内容大多难以理解”。我们在最初使用Common Crawl的实验中观察到了类似的数据问题:
“I'm not the cleverest man in the world, but like they say in French: Je ne suis pas un imbecile[I'm not a fool]. |
表 1. 在WebText训练集中各处发现的英法互译自然发生演示示例。
Trinh& Le(2018)的最佳结果是使用Common Crawl的一个小子样本实现的,该子样本仅包含与其目标数据集Winograd Schema Challenge最相似的文档。虽然这是提高特定任务性能的实用方法,但我们希望避免事先对要执行的任务做出假设。
相反,我们创建了一个新的网络抓取数据集,强调文档质量。为此,我们仅抓取经过人工筛选/过滤的网页。手动过滤整个网络抓取数据会异常昂贵,因此作为一个起点,我们抓取了Reddit(一个社交媒体平台)上所有获得至少3个karma的外链。这可以被视为一种启发式指标,用于判断其他用户是否认为该链接有趣、有教育意义或只是好笑。
所得的数据集WebText包含了来自这4500万个链接的文本子集。为了从HTML响应中提取文本,我们结合使用了Dragnet(Peters&Lecocq, 2013)和Newspaper内容提取器。本文呈现的所有结果均使用了WebText的一个初步版本,该版本未包含2017年12月之后创建的链接,并且在去重和一些基于启发式的清理之后包含略超过800万个文档,总计40GB文本。我们从WebText中移除了所有维基百科文档,因为它是其他数据集的常见来源,并且由于与测试评估任务存在重叠的训练数据可能会使分析复杂化。
2.2. Input Representation(输入表示)
一个通用的语言模型(LM)应该能够计算(并生成)任何字符串的概率。当前的大规模LM包括预处理步骤,例如小写转换、分词和词汇表外(out-of-vocabulary)词符,这些步骤限制了可建模字符串的空间。虽然像Gillick et al.(2015)等工作所例示的那样,将Unicode字符串作为UTF-8字节序列处理可以优雅地满足这一要求,但当前的字节级LM在大型数据集(如One Billion Word Benchmark(Al-Rfou et al., 2018))上无法与词级LM竞争。我们在尝试在WebText上训练标准字节级LM时也观察到了类似的性能差距。
字节对编码(BPE)(Sennrich et al., 2015)是字符级和词级语言建模之间的一种实用折中方案,它有效地在频繁符号序列的词级输入和不频繁符号序列的字符级输入之间进行插值。尽管其名称如此,参考的BPE实现通常操作在Unicode码点(code point)上,而非字节序列。这些实现需要包含完整的Unicode符号空间才能建模所有Unicode字符串。这会导致在添加任何多符号词符之前,基础词汇表就超过130,000个。这相比于BPE通常使用的32,000到64,000个词符的词汇表来说是大得无法接受的。相比之下,字节级的BPE版本仅需要大小为256的基础词汇表。然而,直接将BPE应用于字节序列会导致次优的合并,因为BPE使用基于频率的贪婪启发式方法来构建词符词汇表。我们观察到BPE包含了常见单词(如“dog”)的许多变体,因为它们以多种形式出现,例如“dog.”、“dog!”、“dog?”。这导致了对有限词汇表槽位和模型容量的次优分配。为了避免这种情况,我们阻止BPE跨任何字节序列的字符类别进行合并。我们为空格添加了一个例外,这显著提高了压缩效率,同时仅对跨多个词汇表词符的单词添加了最小的碎片化。
这种输入表示使我们能够结合词级LM的经验优势与字节级方法的通用性。由于我们的方法可以为任何Unicode字符串分配概率,这使我们能够评估我们的LM在任何数据集上,而无论其预处理、分词或词汇表大小如何。
2.3. Model(模型)
我们使用基于Transformer(Vaswani et al., 2017)的架构作为我们的LM。该模型在很大程度上遵循了OpenAI GPT模型(Radford et al., 2018)的细节,并做了一些修改。层归一化(Ba et al., 2016)被移到每个子块的输入处,类似于预激活残差网络(He et al., 2016),并且在最终的自注意力块之后添加了一个额外的层归一化。使用了一种修改后的初始化方法,该方法考虑了模型深度在残差路径上的累积。我们在初始化时将残差层的权重按 的比例缩放,其中 N 是残差层的数量。词汇表扩展到50,257。我们还将上下文大小从512个词符增加到1024个词符,并使用更大的批大小为512。
参数数量 | 层数 | d_model |
---|---|---|
117M | 12 | 768 |
345M | 24 | 1024 |
762M | 36 | 1280 |
1542M | 48 | 1600 |
表 2. 4种模型规模的架构超参数。
3. Experiments(实验)
我们训练并评估了四个大小近似对数均匀分布的语言模型(LM)。架构总结在表2中。最小的模型等同于原始GPT,第二小的模型等同于BERT(Devlin et al., 2018)中最大的模型。我们最大的模型,称为GPT-2,其参数数量比GPT多一个数量级。每个模型的学习率均在WebText的5%保留样本上手动调整以获得最佳困惑度(perplexity)。所有模型仍然对WebText欠拟合,并且随着训练时间增加,保留困惑度仍在持续改善。
3.1. Language Modeling(语言建模)
作为迈向零样本任务迁移的第一步,我们感兴趣的是了解WebText LM在其主要训练任务——语言建模上,在零样本领域迁移中的表现如何。由于我们的模型在字节级别运行,不需要有损的预处理或分词,我们可以在任何语言模型基准上评估它。语言建模数据集的结果通常以一种经过缩放或指数化的量来报告,该量表示每个规范预测单位(通常是一个字符、一个字节或一个词)的平均负对数概率。我们通过根据WebText LM计算数据集的概率对数,然后除以规范单位的数量来评估相同的量。对于其中许多数据集,WebText LM将面临显著分布外(out-of-distribution)的测试,必须预测经过激进标准化的文本、分词伪影(如断开的标点和缩略词)、打乱的句子,甚至是字符串<UNK>(这在WebText中极为罕见——在400亿字节中仅出现26次)。我们使用可逆的反分词器(de-tokenizers)来去除尽可能多的这些分词化/预处理伪影,在表3中报告了我们的主要结果。由于这些反分词器是可逆的,我们仍然可以计算数据集的概率对数,并且可以将它们视为领域适应的简单形式。我们观察到,使用这些反分词器,GPT-2的困惑度提高了2.5到5。
WebText LM在跨领域和数据集上迁移良好,在零样本设置下在8个数据集中的7个上提高了技术水平。在仅包含100万到200万训练词符的小型数据集上观察到了巨大的改进,例如Penn Treebank和WikiText-2。在为测量长期依赖关系而创建的数据集上也观察到了巨大的改进,例如LAMBADA(Paperno et al., 2016)和儿童图书测试(Children's Book Test)(Hill et al., 2015)。我们的模型在One Billion Word Benchmark(Chelba et al., 2013)上仍然显著差于先前的工作。这很可能是由于它既是最大的数据集,又进行了最具破坏性的预处理——1BW的句子级打乱移除了所有长期结构。
LAMBADA (PPL) | LAMBADA (ACC) | CBT-CN (ACC) | CBT-NE (ACC) | WikiText2 (PPL) | PTB (PPL) | enwik8 (BPB) | text8 (BPC) | WikiText103 (PPL) | 1BW (PPL) | |
SOTA | 99.8 | 59.23 | 85.7 | 82.3 | 39.14 | 46.54 | 0.99 | 1.08 | 18.3 | 21.8 |
117M | 35.13 | 45.99 | 87.65 | 83.4 | 29.41 | 65.85 | 1.16 | 1.17 | 37.50 | 75.20 |
345M | 15.60 | 55.48 | 92.35 | 87.1 | 22.76 | 47.33 | 1.01 | 1.06 | 26.37 | 55.72 |
762M | 10.87 | 60.12 | 93.45 | 88.0 | 19.93 | 40.31 | 0.97 | 1.02 | 22.05 | 44.575 |
1542M | 8.63 | 63.24 | 93.30 | 89.05 | 18.34 | 35.76 | 0.93 | 0.98 | 17.48 | 42.16 |
表 3. 在许多数据集上的零样本结果。 这些结果均未进行任何训练或微调。PTB和WikiText-2结果来自(Gong et al., 2018)。CBT结果来自(Bajgar et al., 2016)。LAMBADA准确率结果来自(Hoang et al., 2018),LAMBADA困惑度结果来自(Grave et al., 2016)。其他结果来自(Dai et al., 2019)。
3.2. Children's Book Test(儿童图书测试)
图2. 儿童图书测试(Children's Book Test)上的性能表现,作为模型容量的函数。 人类表现数据来自 Bajgar et al. (2016),替代了原始论文中低得多的估值。
儿童图书测试(CBT)(Hill et al., 2015)是为了检验LM在不同类别词上的表现而创建的:命名实体、名词、动词和介词。该测试不是报告困惑度作为评估指标,而是报告在一个自动构建的完形填空测试(cloze test)上的准确率,其中任务是从10个可能的选项中预测哪个词是省略词的正确选择。遵循原始论文中介绍的LM方法,我们计算每个选项以及根据LM在该选项条件下的句子其余部分的概率,并预测具有最高概率的选项。如图2所示,随着模型规模的增大,性能稳步提升,并缩小了与人类在该测试上表现的大部分差距。数据重叠分析显示,CBT测试集中的一本书,Rudyard Kipling的《The Jungle Book》,存在于WebText中,因此我们报告在验证集上的结果,该验证集没有显著重叠。GPT-2在常见名词上达到了新的最先进结果93.3%,在命名实体上达到89.1%。应用了反分词器以去除CBT中的PTB风格分词伪影。
3.3. LAMBADA
LAMBADA数据集(Paperno et al., 2016)测试系统对文本中长期依赖关系建模的能力。任务是预测句子的最后一个词,该句子需要至少50个词符的上下文才能使人类成功预测。GPT-2将最先进水平从99.8(Grave et al.,2016)提升到8.6困惑度,并将LM在此测试上的准确率从19%(Dehghani et al.,2018)提高到52.66%。对GPT-2错误的调查显示,大多数预测是句子的有效延续,但不是有效的结尾词。这表明LM没有利用额外的有用约束,即该词必须是句子的结尾。添加停用词过滤器(stop-word filter)作为该约束的近似,进一步将准确率提高到63.24%,将该任务的整体最先进水平提高了4%。先前的最先进水平(Hoang et al., 2018)使用了不同的受限预测设置,其中模型的输出被限制为仅出现在上下文中的词。对于GPT-2,这种限制是有害的而非有益的,因为19%的答案不在上下文中。我们使用了该数据集的一个未经预处理的版本。
3.4. Winograd Schema Challenge(Winograd模式挑战)
图3. Winograd模式挑战(Winograd Schema Challenge)上的性能表现,作为模型容量的函数。
Winograd模式挑战(Levesque et al., 2012)旨在通过测量系统解决文本中歧义的能力来衡量其执行常识推理的能力。最近Trinh& Le(2018)证明了使用LM在该挑战上取得的显著进展,通过以更高的概率预测歧义的解决方案。我们遵循他们的问题公式化方法,并在图3中使用完整和部分评分技术可视化我们模型的性能。GPT-2将最先进准确率提高了7%,达到70.70%。该数据集非常小,只有273个示例,因此我们建议阅读Trichelair et al.(2018)以帮助理解此结果。
3.5. Reading Comprehension(阅读理解)
对话问答数据集(CoQA)(Reddy et al., 2018)包含来自7个不同领域的文档,与提问者和回答者关于文档的自然语言对话配对。CoQA测试阅读理解能力以及模型回答依赖于对话历史的问题(例如“Why?”)的能力。
当以文档、相关对话历史以及最终词符“A:”为条件时,GPT-2的贪婪解码在开发集上达到55 F1分。这匹配或超过了4个基线系统中的3个,而不使用这些基线训练所需的超过127,000个人工收集的问题-答案对。监督的最先进水平,一个基于BERT的系统(Devlin et al., 2018),接近人类89 F1的性能。虽然GPT-2在没有任何监督训练的情况下的性能令人兴奋,但对其答案和错误的一些检查表明,GPT-2经常使用简单的基于检索的启发式方法,例如在回答“who”问题时使用文档中的一个名字。
3.6. Summarization(总结)
我们在CNN和Daily Mail数据集(Nallapati et al., 2016)上测试了GPT-2执行摘要生成的能力。为了诱导摘要行为,我们在文章后添加文本“TL;DR:”,并使用 k=2 的Top-k随机采样(Fan et al., 2018)生成100个词符,这减少了重复并鼓励比贪婪解码更具抽象性的摘要。我们使用这100个词符中的前3个生成句子作为摘要。虽然定性地看,生成结果类似于摘要,如表14所示(注:原文表14未提供,此处指代模型生成示例),但它们通常关注文章中最近的内容,或者混淆了具体细节,例如在一次车祸中涉及了多少辆汽车,或者标志是在帽子还是衬衫上。在通常报告的ROUGE 1,2,L指标上,生成的摘要仅开始接近经典神经基线的性能,并且仅略优于从文章中随机选择3个句子。当移除任务提示时,GPT-2的性能在聚合指标上下降了6.4分,这证明了用自然语言在语言模型中调用任务特定行为的能力。
R-1 | R-2 | R-L | R-AVG | |
---|---|---|---|---|
Bottom-Up Sum | 41.22 | 18.68 | 38.34 | 32.75 |
Lede-3 | 40.38 | 17.66 | 36.62 | 31.55 |
Seq2Seq+Attn | 31.33 | 11.81 | 28.83 | 23.99 |
GPT-2 TL;DR: | 29.34 | 8.27 | 26.58 | 21.40 |
Random-3 | 28.78 | 8.63 | 25.52 | 20.98 |
GPT-2 no hint | 21.58 | 4.03 | 19.47 | 15.03 |
表 4. 在CNN和Daily Mail数据集上以ROUGE F1指标衡量的摘要性能。 Bottom-Up Sum是来自(Gehrmann et al., 2018)的最先进模型。
3.7. Translation(翻译)
我们测试GPT-2是否已经开始学习如何将一种语言翻译成另一种语言。为了帮助它推断这是期望的任务,我们将语言模型以“english sentence = french sentence”格式的示例对上下文为条件,然后在最后的提示“english sentence =”之后,我们使用贪婪解码从模型中采样,并使用第一个生成的句子作为翻译。在WMT-14英法测试集上,GPT-2得到5 BLEU分,这略差于使用先前无监督词翻译工作中推断的双语词典进行的逐词替换(Conneau et al.,2017b)。在WMT-14法英测试集上,GPT-2能够利用其非常强大的英语语言模型表现明显更好,达到11.5 BLEU分。这优于(Artetxe et al., 2017)和(Lample et al.,2017)中的几个无监督机器翻译基线,但仍然远差于当前最佳无监督机器翻译方法(Artetxe et al., 2019)的33.5 BLEU分。此任务的性能令我们惊讶,因为我们有意将非英语网页从WebText中移除作为过滤步骤。为了确认这一点,我们在WebText上运行了一个字节级语言检测器,仅检测到10MB的法语数据,这大约是先前无监督机器翻译研究中常见的单语法语语料库的500倍小。
3.8. Question Answering(问题回答)
测试语言模型内部包含哪些信息的一个潜在方法是评估它生成事实型问题正确答案的频率。之前在诸如A Neural Conversational Model(Vinyals& Le, 2015)等所有信息存储在参数中的神经系统中展示这种行为时,由于缺乏高质量评估数据集而报告了定性结果。最近引入的Natural Questions数据集(Kwiatkowski et al., 2019)是更定量地测试这一点的一个有希望的资源。与翻译类似,语言模型的上下文以示例问题-答案对为种子,这有助于模型推断数据集的简短答案风格。当使用在SQUAD等阅读理解数据集上常用的精确匹配指标评估时,GPT-2正确回答了4.1%的问题。作为一个比较点,最小的模型没有超过一个极其简单的基线的1.0%准确率,该基线为每个问题类型(who, what, where等)返回最常见的答案。GPT-2正确回答的问题数量是其5.3倍,这表明模型容量迄今为止是神经系统在此类任务上表现不佳的主要因素。GPT-2分配给其生成答案的概率校准良好,在最自信的1%问题上,GPT-2的准确率为63.1%。表5显示了GPT-2在开发集问题上最自信的30个答案。GPT-2的性能仍然远低于将信息检索与抽取式文档问答相结合的开放领域问答系统所达到的30%到50%的范围(Alberti et al., 2019)。
Question | Generated Answer | Correct | Probability |
---|---|---|---|
Who wrote the book the origin of species? | Charles Darwin | 83.4% | |
Who is the founder of the ubuntu project? | Mark Shuttleworth | 82.0% | |
Who is the quarterback for the green bay packers? | Aaron Rodgers | 81.1% | |
Panda is a national animal of which country? | China | √ | 76.8% |
Who came up with the theory of relativity? | Albert Einstein | 76.4% | |
When was the first star wars film released? | 1977 | 71.4% | |
What is the most common blood type in sweden? | A | 70.6% | |
Who is regarded as the founder of psychoanalysis? | Sigmund Freud | 69.3% | |
Who took the first steps on the moon in 1969? | Neil Armstrong | 66.8% | |
Who is the largest supermarket chain in the uk? | Tesco | 65.3% | |
What is the meaning of shalom in english? | peace | 64.0% | |
Who was the author of the art of war? | Sun Tzu | 59.6% | |
Largest state in the us by land mass? | California | 59.2% | |
Green algae is an example of which type of reproduction? | parthenogenesis | 56.5% | |
Vikram samvat calender is official in which country? | India | 55.6% | |
Who is mostly responsible for writing the declaration of independence? | Thomas Jefferson | √ | 53.3% |
What us state forms the western boundary of montana? | Montana | 52.3% | |
Who plays ser davos in game of thrones? | Peter Dinklage | X | 52.1% |
Who appoints the chair of the federal reserve system? | Janet Yellen | X | 51.5% |
State the process that divides one nucleus into two genetically identical nuclei? | mitosis | 50.7% | |
Who won the most mvp awards in the nba? | Michael Jordan | x | 50.2% |
What river is associated with the city of rome? | the Tiber | √ | 48.6% |
Who is the first president to be impeached? | Andrew Johnson | 48.3% | |
Who is the head of the department of homeland security 2017? | John Kelly | √ | 47.0% |
What is the name given to the common currency to the european union? | Euro | √ | 46.8% |
What was the emperor name in star wars? | Palpatine | √ | 46.5% |
Do you have to have a gun permit to shoot at a range? | No | √ | 46.4% |
Who proposed evolution in 1859 as the basis of biological development? | Charles Darwin | 45.7% | |
Nuclear power plant that blew up in russia? | Chernobyl | √ | 45.7% |
Who played john connor in the original terminator? | Arnold Schwarzenegger | 45.2% |
表 5. GPT-2在Natural Questions开发集上生成的最自信的30个答案,按其由GPT-2分配的概率排序。 根据第4章节描述的程序,这些问题均未出现在WebText中。
4. Generalization vs Memorization(泛化与记忆)
计算机视觉的最新研究表明,常见的图像数据集包含相当数量的近似重复图像。例如,CIFAR-10在训练图像和测试图像之间有3.3%的重叠(Barz& Denzler, 2019)。这导致机器学习系统的泛化性能被过度报告。随着数据集规模的增加,发生类似现象的可能性也随之增加,这表明在WebText上可能也发生着类似的情况。因此,分析有多少测试数据也出现在训练数据中是很重要的。
为了研究这一点,我们创建了包含WebText训练集词符的8-gram(n元组)的布隆过滤器(Bloom filters)。为了提高召回率,字符串被归一化为仅包含小写字母数字单词,并以单个空格作为分隔符。布隆过滤器的构造使得误报率(false positive rate)的上限为 1081。我们通过生成100万个字符串进一步验证了较低的误报率,其中零个被过滤器找到。
这些布隆过滤器使我们能够计算,给定一个数据集,该数据集中也存在于WebText训练集中的8-gram的百分比。表6显示了针对常见LM基准测试集的重叠分析。常见LM数据集的测试集与WebText训练集有1-6%的重叠,平均重叠率为3.2%。有些令人惊讶的是,许多数据集与其自身的训练分割有更大的重叠,平均重叠率为5.9%。
我们的方法优化了召回率(recall),虽然对重叠的手动检查显示了许多常见短语,但也有许多较长的匹配是由于重复数据造成的。这并非WebText独有。例如,我们发现WikiText-103的测试集中有一篇文章也在训练数据集中。由于测试集中只有60篇文章,因此至少有1.6%的重叠。可能更令人担忧的是,根据我们的程序,1BW与其自身的训练集有近13.2%的重叠。
对于Winograd模式挑战,我们只发现10个模式与WebText训练集有任何8-gram重叠。其中,2个是虚假匹配。在剩余的8个中,只有一个模式出现在任何会泄露答案的上下文中。
对于CoQA,新闻领域约15%的文档已在WebText中,模型在这些文档上的表现大约好3 F1分。CoQA的开发集指标报告了五个不同领域的平均性能,我们测量到由于不同领域的重叠导致的性能提升约为0.5-1.0 F1。然而,由于CoQA是在WebText链接截止日期之后发布的,WebText中并未包含实际的训练问题或答案。
在LAMBADA上,平均重叠率为1.2%。对于重叠率大于15%的示例,GPT-2的表现大约好2个困惑度。当排除所有有任何重叠的示例重新计算指标时,结果从8.6困惑度变为8.7困惑度,准确率从63.2%降至62.9%。这种整体结果的微小变化很可能是由于只有1/200的示例具有显著重叠。
总体而言,我们的分析表明,WebText训练数据与特定评估数据集之间的数据重叠为报告的结果提供了虽小但一致的益处。然而,对于大多数数据集,我们注意到的重叠并不比标准训练集和测试集之间已经存在的重叠显著更大,如表6所强调的那样。
理解并量化高度相似的文本如何影响性能是一个重要的研究问题。更好的去重技术,如可扩展的模糊匹配(fuzzy matching),也可能有助于更好地回答这些问题。目前,我们建议在创建新的NLP数据集的训练和测试分割时,使用基于n-gram重叠的去重作为一个重要的验证步骤和健全性检查(sanity check)。
确定WebText LM的性能是否归因于记忆(memorization)的另一种潜在方法是检查它们在自己保留集(held-out set)上的表现。如图4所示,在WebText的训练集和测试集上的表现是相似的,并且随着模型规模的增大而共同提升。这表明即使是GPT-2在许多方面仍然对WebText欠拟合。
GPT-2还能够撰写关于发现会说话的独角兽的新闻文章。表13提供了一个示例。
PTB | WikiText-2 | enwik8 | text8 | Wikitext-103 | 1BW | |
---|---|---|---|---|---|---|
Dataset train | 2.67% | 0.66% | 7.50% | 2.34% | 9.09% | 13.19% |
WebText train | 0.88% | 1.63% | 6.31% | 3.94% | 2.42% | 3.75% |
表 6. 测试集8-gram与训练集重叠的百分比。
图4. 在WebText上训练的语言模型(LMs)的性能表现,作为模型规模的函数。
5. Related Work(相关工作)
这项工作的很大一部分测量了在更大数据集上训练的更大语言模型的性能。这与Jozefowicz et al.(2016)的工作类似,后者在10亿词基准测试(1 Billion Word Benchmark)上扩展了基于RNN的语言模型。Bajgar et al.(2016)也通过从古腾堡计划(Project Gutenberg)创建更大的训练数据集来补充标准训练数据集,从而提高了儿童图书测试(Children's Book Test)的结果。Hestness et al.(2017)对随着模型容量和数据集规模的变化,各种深度学习模型的性能如何变化进行了彻底分析。我们的实验虽然在任务间噪音更大,但表明类似的趋势也适用于目标的子任务,并延续到10亿+(1B+)参数的领域。
生成模型中引人入胜的学习功能此前已有记录,例如RNN语言模型中的细胞执行行宽跟踪和引号/评论检测 Karpathy et al.(2015)。对我们的工作更具启发意义的是Liu et al.(2018)的观察,即训练用于生成维基百科文章的模型也学会了在不同语言之间翻译名字。
先前的工作探索了过滤和构建大型网页文本语料库的替代方法,例如iWeb语料库(Davies, 2018)。
在语言任务的预训练方法方面已有广泛研究。除了引言中提到的那些,GloVe(Pennington et al., 2014)将词向量表示学习扩展到整个Common Crawl。文本深度表示学习的一项有影响力的早期工作是Skip-thought向量(Kiros et al., 2015)。McCann et al.(2017)探索了从机器翻译模型衍生的表示的使用,Howard& Ruder(2018)改进了(Dai& Le, 2015)的基于RNN的微调方法。(Conneau et al., 2017a)研究了自然语言推理模型学习的表示的迁移性能,(Subramanian et al., 2018)探索了大规模多任务训练。
(Ramachandran et al.,2016)证明了seq2seq模型受益于使用预训练的语言模型作为编码器和解码器进行初始化。最近的工作表明,当为困难的生成任务(如闲聊对话和基于对话的问答系统)进行微调时,LM预训练也是有帮助的(Wolf et al.,2019)(Dinan et al.,2018)。
6. Discussion(讨论)
大量研究致力于学习(Hill et al.2016)、理解(Levy& Goldberg, 2014)和批判性评估(Wieting& Kiela, 2019)监督和无监督预训练方法的表示。我们的结果表明,无监督任务学习是另一个值得探索的有前景的研究领域。这些发现可能有助于解释预训练技术在下游NLP任务中广泛成功的原因,因为我们证明了,在极限情况下,其中一种预训练技术开始直接学习执行任务,而无需监督适应或修改。
在阅读理解方面,GPT-2在零样本设置下的性能与监督基线具有竞争力。然而,在其他任务上,例如摘要生成,虽然它在定性上执行了任务,但根据定量指标,其性能仍处于初级阶段。虽然作为研究成果具有启发性,但在实际应用方面,GPT-2的零样本性能距离可用仍有很大差距。
我们研究了WebText LM在多个经典NLP任务上的零样本性能,但还有许多其他任务可以评估。毫无疑问,在许多实际任务中,GPT-2的性能仍然不比随机好。即使在我们评估的常见任务上,例如问答和翻译,语言模型只有在拥有足够容量时才开始优于简单基线。
虽然零样本性能为GPT-2在许多任务上的潜在性能建立了基线,但通过微调所能达到的上限尚不清楚。在某些任务上,GPT-2完全抽象的输出方式与目前在许多问答和阅读理解数据集上最先进的基于抽取式指针网络(Vinyals et al.,2015)的输出有显著不同。鉴于之前GPT微调的成功,我们计划在诸如decaNLP和GLUE等基准上进行微调研究,特别是因为尚不清楚GPT-2的额外训练数据和容量是否足以克服BERT(Devlin et al., 2018)所证明的单向表示的低效性。
7. Conclusion(结论)
当在足够大且多样化的数据集上训练大型语言模型时,它能够在许多领域和数据集上表现良好。GPT-2在零样本设置下迁移到8个测试语言建模数据集中的7个上达到了最先进的性能。模型能够在零样本设置下执行的多样化任务表明,训练用于最大化足够多样化文本语料库似然的高容量模型,开始学习如何在无需显式监督的情况下执行数量惊人的任务。