GPT2: 语言模型是无监督的多任务学习者

目录

摘要 1

1. 简介 2

2. 方法 3

2.1. 训练数据集 4

2.2. 输入表示 5

2.3. 模型 6

3. 实验 6

3.1. 语言建模 7

3.2. 儿童图书测试 8

3.3. LAMBADA 8

3.4. Winograd 模式挑战 9

3.5. 阅读理解 9

3.6. 总结 10

3.7. 翻译 10

3.8. 问答 11

4. 泛化与记忆 11

5. 相关工作 13

6. 讨论 13

7. 结论 14

摘要

自然语言处理任务,例如问答、机器翻译、阅读理解和摘要,通常是通过对特定任务数据集的监督学习来完成的。 我们证明,当在包含数百万个网页(称为 WebText)的新数据集上进行训练时,语言模型开始在没有任何显式监督的情况下学习这些任务。 当以文档加问题为条件时,语言模型生成的答案在 CoQA 数据集上达到 55 F1 - 在不使用 127,000 多个训练示例的情况下,匹配或超过 4 个基线系统中的 3 个的性能。 语言模型的容量对于零样本任务迁移的成功至关重要,并且增加它可以以对数线性方式跨任务提高性能。 我们最大的模型 GPT-2 是一个 1.5B 参数 Transformer,它在零样本设置下的 8 个测试语言建模数据集中的 7 个上取得了最先进的结果,但仍然不适合 WebText。 模型中的示例反映了这些改进并包含连贯的文本段落。 这些发现为构建语言处理系统提供了一条有希望的道路,该系统可以从自然发生的演示中学习执行任务。

1. 简介

现在,机器学习系统在通过使用大型数据集、大容量模型和监督学习的组合来训练它们的任务方面表现出色(符合预期)(Krizhevsky 等人,2012)(Sutskever 等人,2014) (Amodei 等人,2016)。 然而,这些系统很脆弱,并且对数据分布(Recht 等人,2018)和任务规范(Kirkpatrick 等人,2017)的轻微变化敏感。 当前的系统更好地被描述为狭隘的专家而不是有能力的多面手。 我们希望转向可以执行许多任务的更通用的系统——最终不需要为每个任务手动创建和标记训练数据集。

创建机器学习系统的主要方法是收集训练示例数据集,展示所需任务的正确行为,训练系统来模仿这些行为,然后在独立同分布 (IID) 保留示例上测试其性能。 这对于在狭隘专家方面取得进展很有帮助。 但是,字幕模型(Lake 等人,2017 年)、阅读理解系统(Jia 和梁,2017 年)和图像分类器(Alcorn 等人,2018 年)在可能输入的多样性和多样性方面经常表现出不稳定的行为,这突出了一些问题 这种方法的缺点。

我们怀疑,单域数据集上单任务训练的普遍存在是当前系统中缺乏泛化性的主要原因。 使用当前架构实现稳健系统的进展可能需要在广泛的领域和任务上进行培训和测量性能。 最近,已经提出了几个基准,例如 GLUE(Wang 等人,2018)和 decaNLP(McCann 等人,2018)来开始研究这一点。

多任务学习(Caruana,1997)是一个有前途的提高总体表现的框架。 然而,NLP 中的多任务训练仍处于起步阶段。 最近的工作报告了适度的性能改进(Yogatama 等人,2019),迄今为止最雄心勃勃的两项工作分别在总共 10 和 17 个(数据集,目标)对上进行了训练(McCann 等人,2018)(Bowman 等人) .,2018)。 从元学习的角度来看,每个(数据集,目标)对都是从数据集和目标的分布中采样的单个训练示例。 当前的机器学习系统需要数百到数千个示例来导出具有良好泛化能力的函数。 这表明多任务训练需要同样多的有效训练对来实现当前方法的承诺。 继续将数据集的创建和目标的设计规模扩大到用现有技术暴力破解所需的程度将是非常困难的。 这促使人们探索执行多任务学习的其他设置。

图 1. 在许多 NLP 任务中,WebText LM 的零样本任务性能与模型大小的函数关系。 阅读理解结果在 CoQA 上(Reddy 等人,2018),在 WMT-14 Fr-En 上翻译(Artetxe 等人,2017),在 CNN 和每日邮报上总结(参见等人,2017),以及问答 关于自然问题(Kwiatkowski 等人,2019)。 第 3 部分包含每个结果的详细描述。

目前在语言任务上表现最好的系统结合使用预训练和监督微调。 这种方法有着悠久的历史,并且有向更灵活的转移形式发展的趋势。 首先,学习词向量并将其用作特定任务架构的输入 (Mikolov et al., 2013) (Collobert et al., 2011),然后转移循环网络的上下文表示 (Dai & Le, 2015) (Peters 等人,2018),最近的工作表明,不再需要特定于任务的架构,转移许多自注意力块就足够了(Radford 等人,2018)(Devlin 等人,2018)。

这些方法仍然需要监督训练才能执行任务。 当只有很少或没有监督数据可用时,另一项工作已经证明了语言模型执行特定任务的前景,例如常识推理(Schwartz 等人,2017)和情感分析(Radford 等人,2017)。

在本文中,我们将这两条工作线联系起来,并延续了更通用的传输方法的趋势。 我们演示了语言模型可以在零样本设置中执行下游任务——无需任何参数或架构修改。 我们通过强调语言模型在零样本设置中执行广泛任务的能力来证明这种方法显示出潜力。 我们根据任务取得有希望的、有竞争力的和最先进的成果。

2. 方法

我们方法的核心是语言建模。 语言建模通常被构建为来自一组示例(x1,x2,...,xn)的无监督分布估计,每个示例由可变长度的符号序列(s1,s2,...,sn)组成。 由于语言具有自然的顺序顺序,因此通常将联合概率分解为符号作为条件概率的乘积 (Jelinek & Mercer, 1980) (Bengio et al., 2003):

这种方法允许对 p(x) 以及 p(sn−k, ..., sn|s1, ..., sn−k−1) 形式的任何条件进行易于处理的采样和估计。 近年来,可以计算这些条件概率的模型的表达能力有了显着提高,例如 Transformer 等自注意力架构(Vaswani 等人,2017)。

学习执行单个任务可以在概率框架中表示为估计条件分布 p(输出|输入)。 由于通用系统应该能够执行许多不同的任务,即使对于相同的输入也是如此,因此它不仅应该以输入为条件,还应该以要执行的任务为条件。 也就是说,它应该对 p(输出|输入,任务) 进行建模。 这在多任务和元学习环境中得到了不同的形式化。 任务调节通常在架构级别实现,例如(Kaiser et al., 2017)中的任务特定编码器和解码器,或在算法级别实现,例如 MAML 的内循环和外循环优化框架(Finn et al., 2017) )。 但正如麦肯等人所例证的那样。 (2018),语言提供了一种灵活的方式来将任务、输入和输出全部指定为符号序列。 例如,翻译训练示例可以写为序列(翻译为法语、英语文本、法语文本)。 同样,阅读理解训练示例可以写为(回答问题、文档、问题、答案)。 麦肯等人。 (2018) 证明了训练单一模型 MQAN 是可能的,在具有这种格式的示例上推断和执行许多不同的任务。

原则上,语言建模也能够学习 McCann 等人的任务。 (2018)不需要明确监督哪些符号是要预测的输出。 由于监督目标与无监督目标相同,但仅在序列的子集上进行评估,因此无监督目标的全局最小值也是监督目标的全局最小值。 在这个有点玩具的环境中,(Sutskever 等人,2015)中讨论的将密度估计作为原则性训练目标的担忧被回避了。 相反,问题变成了我们在实践中是否能够优化无监督目标以实现收敛。 初步实验证实,足够大的语言模型能够在这种玩具式的设置中执行多任务学习,但学习速度比显式监督方法慢得多。

虽然从上述适定设置到“野外语言”的混乱已经迈出了一大步,但 Weston (2016) 认为,在对话的背景下,需要开发能够直接从自然语言学习的系统并演示了概念验证——通过使用教师输出的前向预测来学习没有奖励信号的 QA 任务。 虽然对话是一种有吸引力的方法,但我们担心它过于严格。 互联网包含大量无需交互式通信即可被动获取的信息。 我们的推测是,具有足够能力的语言模型将开始学习推断和执行自然​​语言序列中演示的任务,以便更好地预测它们,无论它们的采购方法如何。 如果语言模型能够做到这一点,那么它实际上就是在执行无监督的多任务学习。 我们通过分析语言模型在零样本设置下在各种任务上的性能来测试是否是这种情况。

2.1. 训练数据集

大多数先前的工作都是在单个文本域上训练语言模型,例如新闻文章(Jozefowicz 等人,2016)、维基百科(Merity 等人,2016)或小说书籍(Kiros 等人,2015)。 我们的方法鼓励构建尽可能大和多样化的数据集,以便收集尽可能多的领域和上下文中的任务的自然语言演示。

表 1. 在整个 WebText 训练集中发现的英语到法语和法语到英语翻译自然发生的演示示例。

多样化且几乎无限的文本的一个有前途的来源是网络抓取,例如 Common Crawl。 虽然这些档案比当前的语言建模数据集大许多数量级,但它们存在严重的数据质量问题。 Trinh & Le (2018) 在他们的常识推理工作中使用了 Common Crawl,但指出大量文档“其内容大多难以理解”。 我们在最初的实验中观察到类似的数据问题Common Crawl。 Trinh & Le (2018) 的最佳结果是使用 Common Crawl 的一个小子样本实现的,该子样本仅包含与其目标数据集 Winograd Schema Challenge 最相似的文档。 虽然这是提高特定任务性能的实用方法,但我们希望避免提前对要执行的任务做出假设。

相反,我们创建了一个新的网络抓取,强调文档质量。 为此,我们仅抓取由人类策划/过滤的网页。 手动过滤完整的网络抓取将非常昂贵,因此作为起点,我们抓取了来自社交媒体平台 Reddit 的所有出站链接,该平台至少收到了 3 个业力。 这可以被视为其他用户是否认为该链接有趣、有教育意义或只是有趣的启发式指标。

生成的数据集 WebText 包含这 4500 万个链接的文本子集。 为了从 HTML 响应中提取文本,我们结合使用了 Dragnet (Peters & Lecocq, 2013) 和 Newspaper1 内容提取器。 本文中提出的所有结果均使用 WebText 的初步版本,该版本不包括 2017 年 12 月之后创建的链接,并且经过重复数据删除和一些基于启发式的清理后,包含略超过 800 万个文档,总共 40 GB 文本。 我们从 WebText 中删除了所有维基百科文档,因为它是其他数据集的常见数据源,并且可能由于过度分析而使分析变得复杂将训练数据与测试评估任务相结合。

2.2. 输入表示

通用语言模型(LM)应该能够计算(并生成)任何字符串的概率。 当前的大规模 LM 包括预处理步骤,例如小写、标记化和词汇表外标记,这些步骤限制了可建模字符串的空间。 虽然将 Unicode 字符串处理为 UTF-8 字节序列可以优雅地满足此要求,如 Gillick 等人的工作中所例证的那样。 (2015),在大规模数据集(例如十亿字基准)上,当前的字节级 LM 与字级 LM 不具有竞争力(Al-Rfou 等人,2018)。 我们在 WebText 上训练标准字节级 LM 的尝试中也观察到了类似的性能差距。

字节对编码 (BPE)(Sennrich 等人,2015)是字符和字级语言建模之间的实用中间立场,它可以有效地在频繁符号序列的字级输入和不频繁符号序列的字符级输入之间进行插值。 尽管有其名称,参考 BPE 实现通常在 Unicode 代码点而不是字节序列上运行。 这些实现需要包含 Unicode 符号的完整空间,以便对所有 Unicode 字符串进行建模。 在添加任何多符号标记之前,这将导致基础词汇量超过 130,000 个。 与 BPE 经常使用的 32,000 到 64,000 个标记词汇表相比,这个数字太大了。 相比之下,BPE 的字节级版本仅需要大小为 256 的基本词汇表。但是,由于 BPE 使用基于贪婪频率的启发式方法来构建标记词汇表,因此直接将 BPE 应用于字节序列会导致次优合并。 我们观察到 BPE 包括常见词(如狗)的许多版本,因为它们有多种变体,如dog.dog!dog? 。 这导致有限词汇槽和模型容量的次优分配。 为了避免这种情况,我们阻止 BPE 跨任何字节序列的字符类别进行合并。 我们添加了一个空格例外,这显着提高了压缩效率,同时在多个词汇标记中仅添加最少的单词碎片。

这种输入表示使我们能够将字级 LM 的经验优势与字节级方法的通用性结合起来。 由于我们的方法可以为任何 Unicode 字符串分配概率,因此这使我们能够在任何数据集上评估 LM,而不管预处理、标记化或词汇大小如何。

2.3. 模型

我们为 LM 使用基于 Transformer(Vaswani 等人,2017)的架构。 该模型很大程度上遵循 OpenAI GPT 模型的细节(Radford et al., 2018)很少有修改。

  • 层归一化(Ba et al., 2016)被移至每个子块的输入,类似于预激活残差网络(He et al., 2016),并且在最终的自注意力块之后添加了额外的层归一化。 使用了修改后的初始化,该初始化考虑了残差路径上随模型深度的累积。
  • 我们在初始化时将残差层的权重缩放为 1/√N,其中 N 是残差层的数量。
  • 词汇量扩大到50,257个。 我们还将上下文大小从 512 个标记增加到 1024 个标记,并使用了更大的批量大小 512。

3. 实验

我们训练了四个具有近似对数均匀间隔大小的 LM 并对其进行了基准测试。 表 2 总结了这些架构。最小的模型相当于原始的 GPT,第二小的模型相当于 BERT 的最大模型(Devlin 等人,2018)。 我们最大的模型称为 GPT-2,其参数比 GPT 多一个数量级。 每个模型的学习率都是手动调整的,以获得 5% 保留的 WebText 样本的最佳困惑度。 所有模型仍然不适合 WebText,并且随着训练时间的增加,保留的困惑度已经得到改善。

3.1. 语言建模

表 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)。

作为零命中率任务迁移的第一步,我们感兴趣的是了解WebText LM在零命中率域迁移中如何完成他们所接受的主要任务——语言建模。由于我们的模型在字节级上运行,并且不需要有损预处理或标记化,因此我们可以在任何语言模型基准上对其进行评估。语言建模数据集上的结果通常以数量报告,该数量是每个规范预测单元(通常是字符、字节或单词)的平均负对数概率的缩放或指数版本。我们通过根据网络文本LM计算数据集的对数概率并除以规范单元的数量来评估相同的数量。对于其中的许多数据集,WebText LMs将被测试为显著的非分布,必须预测激进的标准化文本、标记化工件(如断开的标点符号和缩写)、混乱的句子,甚至是在WebText中极其罕见的字符串< UNK >,在400亿字节中仅出现26次。我们在表3中报告了使用可逆去记号化器的主要结果,这些去记号化器尽可能多地去除了这些记号化/预处理伪像。由于这些去记号化器是可逆的,我们仍然可以计算数据集的对数概率,并且它们可以被认为是域适应的简单形式。我们观察到,使用这些去令牌化器,GPT-2的困惑度增加了2.5到5

WebText LM 可以很好地跨域和数据集传输,在零样本设置中提高了 8 个数据集中的 7 个数据集的现有技术水平。 在 Penn Treebank 和 WikiText-2 等小型数据集上,我们注意到了巨大的改进,这些数据集只有 1 到 200 万个训练标记。 为测量长期依赖性而创建的数据集(如 LAMBADA(Paperno 等人,2016)和儿童图书测试(Hill 等人,2015))也取得了巨大的改进。 我们的模型仍然比之前的十亿字基准测试(Chelba et al., 2013)差很多。 这可能是因为它既是最大的数据集,又具有一些最具破坏性的预处理——1BW 的句子级改组删除了所有长程结构。

3.2. 儿童图书测试

图 2. 儿童图书测试的表现作为模型能力的函数。 人类表现来自 Bajgar 等人。 (2016),而不是原始论文中低得多的估计。

儿童图书测试 (CBT)(Hill 等,2015)旨在检查 LM 在不同类别单词上的表现:命名实体、名词、动词和介词。 CBT 不是将困惑度报告为评估指标,而是报告自动构建的完形填空测试的准确性,其中任务是预测省略单词的 10 个可能选择中哪一个是正确的。 遵循原论文中介绍的 LM 方法,我们根据 LM 计算每个选择的概率以及以该选择为条件的句子的其余部分,并预测概率最高的那个。 如图 2 所示,随着模型大小的增加,性能稳步提高,并缩小了该测试中与人类性能的大部分差距。 数据重叠分析显示 CBT 测试集书籍之一,Rudyard Kipling 的 The Jungle Book,位于 WebText 中,因此我们报告的验证集结果没有显着重叠。 GPT-2 在普通名词上取得了 93.3% 的最新成果,在命名实体上取得了 89.1% 的最新成果。 应用去标记器从 CBT 中删除 PTB 风格的标记化工件。

3.3. LAMBADA

LAMBADA 数据集(Paperno 等人,2016)测试系统对文本中的远程依赖关系进行建模的能力。 该任务是预测句子的最终单词,人类需要至少 50 个上下文标记才能成功预测。 GPT-2 将现有技术的困惑度从 99.8(Grave 等人,2016)提高到 8.6,并将 LM 在该测试中的准确性从 19%(Dehghani 等人,2018)提高到 52.66%。 调查 GPT-2 的错误表明,大多数预测是句子的有效延续,但不是有效的最终单词。 这表明 LM 没有使用额外的有用约束,即该词必须是句子的词尾。 添加停用词过滤器作为对此的近似值,进一步将准确度提高到 63.24%,使该任务的整体技术水平提高了 4%。 之前的技术水平(Hoang 等人,2018)使用了不同的受限预测设置,其中模型的输出仅限于上下文中出现的单词。 对于 GPT-2 来说,这种限制弊大于利因为 19% 的答案不符合上下文。 我们使用未经预处理的数据集版本。

3.4. Winograd 模式挑战

图 3. Winograd Schema Challenge 的性能与模型容量的函数关系。

Winograd Schema 挑战(Levesque 等人,2012)旨在通过测量系统解决文本中歧义的能力来测量系统执行常识推理的能力。 最近,Trinh & Le (2018) 通过以更高的概率预测模糊性的解决,展示了使用 LM 在这一挑战上取得的重大进展。 我们遵循他们的问题表述,并使用图 3 中的完整评分技术和部分评分技术可视化模型的性能。GPT-2 将最先进的准确率提高了 7%,达到 70.70%。 该数据集非常小,只有 273 个示例,因此我们建议阅读 Trichelair 等人(2018)帮助将这一结果结合起来。

3.5. 阅读理解

对话问答数据集 (CoQA) Reddy 等人 (2018) 由来自 7 个不同领域的文档组成,并配有提问者和问答者之间关于该文档的自然语言对话。 CoQA 测试阅读理解能力以及模型回答依赖于对话历史的问题(例如“为什么?”)的能力。

表 4. 根据 CNN 和《每日邮报》数据集上的 ROUGE F1 指标测量的摘要性能。 自下而上求和是来自(Gehrmann et al., 2018)的 SOTA 模型

当以文档、相关对话的历史记录和最终令牌 A 为条件时,从 GPT-2 进行贪婪解码:在开发集上达到 55 F1。 这相当于或超过了四分之三的基线系统的性能,而无需使用这些基线所训练的 127,000 多个手动收集的问题答案对。 受监督的 SOTA,一个基于 BERT 的系统(Devlin 等人,2018),已经接近人类的89 F1表现。 虽然 GPT-2 的性能对于没有任何监督训练的系统来说是令人兴奋的,但对其答案和错误的一些检查表明 GPT-2 经常使用基于简单检索的启发式方法,例如使用文档中的名称来回答谁的问题。

3.6. 总结

我们测试了 GPT-2 在 CNN 和 Daily Mail 数据集上执行总结的能力 (Nallapati et al., 2016)。 为了诱导摘要行为,我们在文章后面添加文本 TL;DR:,并通过 Top-k 随机采样(Fan 等人,2018)生成 100 个标记,其中 k = 2,这减少了重复并鼓励比贪婪解码更抽象的摘要。 我们使用这 100 个标记中的前 3 个生成的句子作为摘要。 虽然从质量上看,各代类似于摘要,如表 14 所示,但它们经常关注文章中的最新内容或混淆具体细节,例如有多少辆汽车涉及车祸,或者帽子或衬衫上是否有徽标。 在普遍报道的 ROUGE 1,2,L 指标上,生成的摘要才开始接近经典神经基线的性能,并且仅勉强优于从文章中选择 3 个随机句子。 当任务提示被删除时,GPT-2 的性能在总体指标上下降了 6.4 个点,这证明了使用自然语言在语言模型中调用任务特定行为的能力。

3.7. 翻译

表 5. GPT-2 在自然问题开发集上生成的 30 个最有信心的答案,根据 GPT-2 按概率排序。 根据第 4 节中描述的过程,这些问题都不会出现在 WebText 中。

我们测试 GPT-2 是否已经开始学习如何从一种语言翻译成另一种语言。 为了帮助它推断这是所需的任务,我们将语言模型置于英语句子=法语句子格式的示例对的上下文中,然后在英语句子的最终提示之后我们使用贪婪解码从模型中进行采样 并使用第一个生成的句子作为翻译。 在 WMT-14 英语-法语测试集上,GPT-2 获得 5 BLEU,这比之前无监督单词翻译工作中推断的双语词典逐字替换稍差(Conneau 等人,2017b)。 在 WMT-14 法语-英语测试集上,GPT-2 能够利用其非常强大的英语语言模型表现明显更好,达到 11.5 BLEU。 这优于(Artetxe 等人,2017 年)和(Lample 等人,2017 年)的几个无监督机器翻译基线,但仍然比当前最佳无监督机器翻译方法的 33.5 BLEU 差很多(Artetxe 等人,2019 年) 。 这项任务的表现令我们感到惊讶,因为我们故意从 WebText 中删除非英语网页作为过滤步骤。 为了证实这一点,我们在 WebText 上运行了一个字节级语言检测器2,它仅检测到 10MB 的法语数据,比之前无监督机器翻译研究中常见的单语法语语料库小大约 500 倍。

3.8. 问答

测试语言模型中包含哪些信息的一种潜在方法是评估它为事实式问题生成正确答案的频率。 之前在神经系统中展示了这种行为,其中所有信息都存储在参数中,例如神经对话模型(Vinyals & Le,2015)报告了由于缺乏高质量评估数据集而得到的定性结果。 最近推出的 Natural Questions 数据集(Kwiatkowski 等人,2019)是一个很有前途的资源,可以更定量地测试这一点。 与翻译类似,语言模型的上下文中植入了示例问题答案对,这有助于模型推断数据集的简答风格。 当通过 SQUAD 等阅读理解数据集上常用的精确匹配指标进行评估时,GPT-2 正确回答了 4.1% 的问题。3 作为比较点,最小的模型不会超过令人难以置信的简单基线的 1.0% 准确率,该基线返回最多 每种问题类型的共同答案(谁、什么、在哪里等......)。 GPT-2 正确回答的问题多了 5.3 倍,这表明模型容量是迄今为止神经系统在此类任务上表现不佳的一个主要因素。 GPT-2 分配给其生成答案的概率经过良好校准,GPT-2 在其最有信心的 1% 问题上的准确度为 63.1%。GPT-2 在开发集问题上生成的 30 个最有信心的答案是 如表 5 所示。GPT-2 的性能仍然比混合信息检索和提取文档问答系统的 30% 到 50% 的开放域问答系统差很多很多(Alberti 等人,2019)。

表 6. 8 克测试集与训练集重叠的百分比。

4. 泛化与记忆

计算机视觉领域的最新研究表明,常见的图像数据集包含大量的近乎重复的图像。 例如,CIFAR-10 训练图像和测试图像之间有 3.3% 的重叠(Barz & Denzler,2019)。 这导致机器学习系统泛化性能的过度报告。 随着数据集大小的增加,这个问题变得越来越有可能,这表明 WebText 可能会发生类似的现象。 因此,分析有多少测试数据也出现在训练数据中非常重要。

为了研究这个问题,我们创建了包含 8 克 WebText 训练集标记的布隆过滤器。 为了提高召回率,字符串被规范化为仅包含小写字母数字单词,并以单个空格作为分隔符。 构建布隆过滤器使得误报率的上限为 1 108 。 我们通过生成 1M 个字符串进一步验证了低误报率,其中过滤器发现了 0 个字符串。

这些布隆过滤器让我们可以计算给定的数据集,该数据集中也存在于 WebText 训练集中的 8-gram 的百分比。 表 6 显示了常见 LM 基准测试集的重叠分析。 常见的 LM 数据集的测试集与 WebText 训练有 1-6% 的重叠,平均重叠为 3.2%。 有点令人惊讶的是,许多数据集与其自己的训练分割有更大的重叠,平均重叠率为 5.9%。

我们的方法针对召回进行了优化,虽然手动检查重叠显示了许多常见短语,但由于重复数据,存在许多较长的匹配。 这并不是 WebText 独有的。 例如,我们发现 WikiText-103 的测试集有一篇文章也在训练数据集中。 由于测试集中只有 60 篇文章,因此至少有 1.6% 的重叠。4 更令人担忧的是,根据我们的程序,1BW 与其自己的训练集有近 13.2% 的重叠。

对于 Winograd Schema Challenge,我们只发现 10 个模式与 WebText 训练集有任何 8-gram 重叠。 其中,有 2 个是虚假匹配。 在其余 8 个中,只有 1 个模式出现在任何上下文中给出了答案。

对于 CoQA,新闻领域中大约 15% 的文档已经在 WebText 中,模型在这些文档上的性能提高了大约 3 F1。 CoQA 的开发集指标报告了 5 个不同域的平均性能,由于各个域之间的重叠,我们测量到约 0.5-1.0 F1 的增益。 然而,由于 CoQA 是在 WebText 中的链接截止日期之后发布的,因此 WebText 中没有实际的训练问题或答案。

在 LAMBADA 上,平均重叠率为 1.2%。 在重叠超过 15% 的示例上,GPT-2 的困惑度提高了约 2 倍。 排除具有任何重叠的所有示例时重新计算指标会导致困惑度从 8.6 变为 8.7,并将准确度从 63.2% 降低到 62.9%。 总体结果的这种非常小的变化可能是由于只有二百个示例中只有一个具有显着重叠。

总的来说,我们的分析表明,WebText 训练数据和特定评估数据集之间的数据重叠为报告的结果提供了微小但一致的好处。 然而,对于大多数数据集,我们没有注意到标准训练集和测试集之间已经存在的重叠明显更大,如表 6 所示。

理解和量化高度相似的文本对性能的影响是一个重要的研究问题。 更好的重复数据删除技术(例如可扩展模糊匹配)也可以帮助更好地回答这些问题。 目前,我们建议在为新 NLP 数据集创建训练和测试分割期间使用基于 n-gram 重叠的重复数据删除作为重要的验证步骤和健全性检查。

确定 WebText LM 的性能是否归因于记忆的另一种潜在方法是检查它们在自己的保留集上的性能。 如图 4 所示,WebText 训练集和测试集的性能相似,并且随着模型大小的增加而共同提高。 这表明即使

GPT-2 在许多方面仍然不适合 WebText。 GPT-2 还能够撰写有关发现会说话的独角兽的新闻文章。 表 13 提供了一个示例。

5. 相关工作

图 4. 在 WebText 上训练的 LM 的性能与模型大小的函数关系。

这项工作的很大一部分测量了在较大数据集上训练的较大语言模型的性能。 这与 Jozefowicz 等人的工作类似 (2016) 在 10 亿字基准上扩展了基于 RNN 的语言模型。 巴杰加尔等人2016) 之前还通过古腾堡计划创建更大的训练数据集来补充标准训练数据集,从而改进了儿童图书测试的结果。 赫斯特内斯等人。 (2017) 对各种深度学习模型的性能如何随着模型容量和数据集大小的变化而变化进行了全面分析。 我们的实验虽然跨任务的噪音更大,但表明目标的子任务也存在类似的趋势,并继续进入 1B+ 参数范围。

生成模型中有趣的学习功能之前已被记录,例如 RNN 语言模型中的单元执行线宽跟踪和引用/评论检测 Karpathy 等人(2015)。 对我们的工作更具启发性的是刘等人的观察(2018)指出,经过训练生成维基百科文章的模型还学会了在语言之间翻译名称。

之前的工作探索了过滤和构建大型网页文本语料库的替代方法,例如 iWeb 语料库(Davies,2018)。 关于语言任务的预训练方法已经进行了大量的工作。 除了引言中提到的之外,GloVe(Pennington et al., 2014)将词向量表示学习扩展到所有 Common Crawl。 关于文本深度表示学习的一项有影响力的早期工作是 Skip-thought Vectors (Kiros et al., 2015)麦肯等人 (2017) 探索了来自机器翻译模型和 Howard & Ruder (2018) 的表示的使用改进了基于 RNN 的微调方法(Dai & Le,2015)。 (Conneau 等人,2017a)研究了自然语言推理模型学习到的表示的迁移性能,(Subramanian 等人,2018)探索了大规模多任务训练。

(Ramachandran 等人,2016)证明了 seq2seq 模型受益于使用预先训练的语言模型作为编码器和解码器进行初始化。 最近的工作表明,LM 预训练在针对聊天对话和基于对话的问答系统等困难的生成任务进行微调时很有帮助(Wolf 等人,2019)(Dinan 等人,2018)。

6. 讨论

许多研究致力于学习(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 等人,2015)的输出有很大不同,后者是目前许多问答和阅读理解数据集上最先进的输出。 鉴于之前微调 GPT 的成功,我们计划研究对 decaNLP 和 GLUE 等基准的微调,特别是因为尚不清楚额外的GPT-2 的训练数据和容量足以克服 BERT 所证明的单向表示的低效率(Devlin 等人,2018).

7. 结论

当大型语言模型在足够大且多样化的数据集上进行训练时,它能够在许多领域和数据集上表现良好。 GPT-2 在 8 个测试语言建模数据集中的 7 个上实现了最先进的零样本性能。 模型能够在零样本设置中执行的任务的多样性表明,经过训练以最大化充分多样化的文本语料库的可能性的高容量模型开始学习如何在不需要显式监督的情况下执行数量惊人的任务 。

致谢 感谢所有撰写本文、分享链接以及在 WebText 中对内容进行投票的人。 数百万人参与了 GPT-2 训练数据的创建。 还要感谢所有为我们提供培训基础设施帮助的 Google 员工,包括 Zak Stone、JS Riehl、Jonathan Hseu、Russell Power、Youlong Cheng、Noam Shazeer、Solomon Boulos、Michael Banfield、Aman Gupta、Daniel Sohn 等。 最后感谢对本文草稿提供反馈的人:Jacob Steinhardt、Sam Bowman、Geoffrey Irving 和 Madison May。

Written on August 14, 2024