Language Models are Few-Shot Learners

郑重声明:原文参见标题,如有侵权,请联系作者,将会撤销发布!

NeurIPS 2020

 

Abstract

  我们证明,扩展语言模型大大提高了任务不可知小样本的性能,有时甚至与最先进的微调方法相比具有竞争力。具体来说,我们训练GPT-3,这是一个具有1750亿个参数的自回归语言模型,比以前的任何非稀疏语言模型都大10倍多,并测试其在小样本设置中的性能。对于所有任务,GPT-3都是在没有任何梯度更新或微调的情况下应用的,任务和小样本演示完全通过与模型的文本交互来指定。GPT-3在许多NLP数据集上实现了强大的性能,包括翻译、问答和完形填空任务。我们还确定了GPT3的小样本学习仍然很困难的一些数据集,以及GPT3面临与在大型网络语料库上训练相关的方法论问题的一些数据集。

 

 

 

1 Introduction

  NLP已经从学习任务特定的表征和设计任务特定的结构转变为使用任务不可知的预训练和任务不可知的结构。这种转变导致了许多具有挑战性的NLP任务的实质性进展,如阅读理解、问答、文字蕴涵等。尽管现在结构和初始表征与任务无关,但最后一个任务特定的步骤仍然存在:对大型示例数据集进行微调,以调整与任务无关的模型来执行所需任务。

  最近的工作[RWC+19]表明,这最后一步可能没有必要。[RWC+19]证明了单个预训练语言模型可以被零样本迁移以执行标准NLP任务,而不需要对训练示例的数据集进行微调。虽然这项工作是一个很有希望的概念验证,但最优情况下的性能仅与单个数据集上的一些监督基准相匹配。在大多数任务中,性能甚至远未达到简单的监督基准。

  然而,[RWC+19]也显示出了一条潜在的前进道路。这项工作观察到,在一个数量级的缩放范围内,迁移任务和语言建模损失的性能都有相对一致的对数线性趋势。[KMH+20]随后对对数损失的缩放行为进行了更严格的研究,并证实了平滑的缩放趋势。在这项工作中,我们通过将先前发现的现象再外推两个数量级,实证测试缩放是否会继续提高性能。我们训练了一个1750亿参数的自回归语言模型,我们称之为GPT-3,并测量其迁移学习能力。

  作为本次调查的一部分,我们还对[RWC+19]中介绍的方法进行了澄清和系统化。尽管[RWC+19]将他们的工作描述为“零样本任务迁移”,但他们有时会在上下文中提供相关任务的示例。由于使用了有效的训练示例,这些情况被更好地描述为“单样本”或“小样本”迁移。我们详细研究了这些单样本和小样本设置,并将其与仅使用自然语言描述或调用要执行的任务的零样本设置进行了比较。我们的研究结果汇总在图1.1中。我们观察到,单样本和小样本性能通常远高于真正的零样本性能,这使我们提出语言模型也可以被理解为元学习器,其中基于慢速外环梯度下降的学习与在模型的上下文激活中实现的快速“上下文”学习("in-context" learning)相结合。

  总的来说,在NLP任务中,GPT-3在零样本和单样本设置中取得了有希望的结果,在小样本设置中有时与最先进的技术相竞争,甚至偶尔超越最先进的(尽管最先进的设备由微调的模型控制)。例如,GPT-3在零样本设置中在CoQA上实现81.5 F1,在单样本设置中在CoQA上实现84.0 F1,在小样本设置中实现85.0 F1。类似地,GPT-3在TriviaQA上在零样本设置中实现了64.3%的准确率,在单样本设置中实现68.0%,在小样本设置中达到71.2%,相对于在同一闭卷设置中运行的微调模型,最后一个是最先进的。

  我们还训练了一系列较小的模型(从1.25亿个参数到130亿个参数),以便将它们在零样本、单样本和小样本设置中的性能与GPT-3进行比较。一般来说,我们发现在所有三种设置中,对于具有模型容量的大多数任务,缩放相对平稳;一个值得注意的模式是,零样本、单样本和小样本成绩之间的差距往往随着模型容量的增加而增加,这可能表明更大的模型是更熟练的元学习者。

 

2 Approach

  我们的基本预训练方法,包括模型、数据和训练,与[RWC+19]中描述的过程类似,对模型大小、数据集大小和多样性以及训练长度进行了相对简单的扩展。我们对上下文学习的使用也类似于[RWC+19],但在这项工作中,我们系统地探索了上下文的不同学习环境:

 

  • 微调(FT)——通过对所需任务特定的数千个监督标签进行训练,更新预训练模型的权重。微调的主要优势是在许多基准测试上表现强劲。主要缺点是每个任务都需要一个新的大型数据集,分布外泛化能力差的可能性[MPL19],以及利用训练数据虚假特征的可能性[GSL+18,NK19]。我们专注于与任务无关的性能,留下微调作为未来的工作。
  • 小样本(FS)——在推理时,作为条件,模型得到了任务的一些演示[RWC+19],但没有更新权重。一个示例通常有一个上下文和一个期望的完成(例如一个英语句子和法语翻译),通过给出K个上下文和完成的示例,然后是一个上下文的最后一个示例,期望模型提供完成(更多细节请参阅附录)。我们通常将K设置在10到100的范围内,因为这是模型的上下文窗(nctx=2048)中可以容纳的示例数量。小样本的主要优点是大大减少了对任务特定数据的需求。主要的缺点是,到目前为止,这种方法的结果比最先进的微调模型差得多。此外,仍然需要少量任务特定数据。如名称所示,这里针对语言模型描述的小样本学习与ML[HYC01,VBL+16]中其他上下文中使用的小样本学习有关——两者都涉及基于广泛分布的任务的学习,然后快速适应新任务。
  • 单样本(1S)——类似于少样本,但K=1。
  • 零样本(0S)——类似于少样本,但使用任务的自然语言描述,而不是任何示例。

  附录以英法翻译为例,展示了这四种方法。虽然我们在本文中提出的小样本结果实现了最高的性能,单样本,甚至有时零样本,似乎是与人类性能的最公平比较,也是未来工作的重要目标。

 

 

2.1 Model and Architectures

  我们使用与GPT-2[RWC+19]相同的模型和架构,包括其中描述的修改的初始化、预归一化和可逆令牌化,除了我们在Transformer的层中使用交替的密集且局部带状稀疏注意力模式,类似于Sparse Transformer[CGRS19]。为了研究ML性能对模型大小的依赖性,我们训练了8种不同大小的模型,从1.25亿个参数到1750亿个参数,最后一个是我们称之为GPT-3的模型。这个模型大小范围允许我们测试[KMH+20]中引入的缩放定律。

  有关我们模型的大小和架构的更多详细信息,请参阅附录。我们沿着深度和宽度维度在GPU之间划分每个模型,以最大限度地减少节点之间的数据传输。

 

2.2 Training Dataset

  为了创建我们的训练数据,我们(1)根据与一系列高质量参考语料库的相似性下载并过滤了一个版本的CommonCrawl1[RSR+19],(2)在文档级别、数据集内和数据集之间执行模糊重复数据消除,以防止冗余并保持我们持有的验证集的完整性,作为过拟合的准确度量,以及(3)将已知的高质量参考语料库添加到训练组合中,以增强CommonCrawl并增加其多样性。这些参考语料库包括WebText数据集[RWC+19]的扩展版本,通过在较长时间内抓取链接收集,并在[KMH+20]中首次描述,两个基于互联网的图书语料库(Books1和Books2)和英语维基百科(详细信息见附录)。

 

1 https://commoncrawl.org/the-data/

 

2.3 Training Process

  正如在[KMH+20,MKAT18]中发现的那样,较大的模型通常可以使用较大的批量,但需要较小的学习率。我们在训练过程中测量梯度噪声尺度,并使用它来指导我们选择批大小[MKAT18]。表A.1显示了我们使用的参数设置。为了在不耗尽内存的情况下训练更大的模型,我们在每个矩阵乘法中混合使用模型并行性和跨网络层的模型并行性。所有模型都是在高带宽集群的V100 GPU上进行训练的。训练过程和超参数设置的详细信息在附录中进行了描述。

 

2.4 Evaluation

  对于小样本学习,我们通过从该任务的训练集中随机抽取K个示例作为条件,根据任务的不同,用1或2个换行符分隔,来评估评估集中的每个示例。对于LAMBADA和Storycloze,没有可用的监督训练集,因此我们从开发集中提取条件示例,并在测试集上进行评估。

  对于某些任务,除了演示之外,我们还使用了自然语言提示(对于K=0)。与[RSR+19]类似,我们有时也会更改答案的格式。有关每个任务的示例,请参见附录。

  在自由形式完成的任务中,我们使用与[RSR+19]参数相同的波束搜索:波束宽度为4,长度惩罚为α=0.6。

  对于每个模型大小和学习设置(零样本、单样本和小样本),最终结果将在公开的测试集上报告。当测试集是私有的时,我们的模型通常太大,无法放在测试服务器上,所以我们会报告开发集的结果。

 

3 Results

3.1 Language Modeling, Cloze, and Completion Tasks

 

3.2 Question Answering

 

3.3 Translation

 

3.4 SuperGLUE

 

4 Measuring and Preventing Memorization Of Benchmarks

  数据集和模型的大小比GPT-2中使用的数据集和数据集大约两个数量级,并且包括大量的Common Crawl,这增加了污染和记忆的可能性。另一方面,正是由于数据量大,即使GPT-3 175B也不会将其训练集过度填充大量数据,这是相对于对其进行重复数据消除的保留验证集来测量的。对于每个基准,我们生成一个“干净”版本,删除所有可能泄露的示例,大致定义为与预训练集中的任何内容都有13-gram重叠的示例(或者当它小于13-gram时与整个示例重叠)。然后,我们在这些干净的基准上评估GPT-3,并与原始分数进行比较。如果干净子集的得分与整个数据集的得分相似,这表明污染,即使存在,也不会对报告的结果产生显著影响。在大多数情况下,性能变化只能忽略不计,我们没有看到任何证据表明污染水平和性能差异是相关的。我们得出的结论是,要么我们的保守方法大大高估了污染,要么污染对性能几乎没有影响。我们在附录中提供了最有问题任务的方法和分析的全部细节。

 

5 Limitations

  在文本合成方面,GPT-3样本有时仍会在文档级别重复其语义,在足够长的段落中开始失去连贯性,自相矛盾,偶尔还会包含不符合推理的句子或段落。我们的发布存储库包含未仔细挑选的无条件样本。

  我们的实验不包括任何双向架构或其他训练目标,如去噪。我们的设计决策是以在经验上受益于双向性的任务上可能更差的性能为代价的,例如填空任务、涉及回顾和比较两段内容的任务(ANLI、WIC),或者需要重读或仔细考虑一段长文章,然后生成一个很短的答案的任务(QuAC、RACE)。

  我们的目标对每一个token都一视同仁,缺乏预测什么最重要,什么不那么重要的概念。[RSR20]展示了为感兴趣的实体定制预测的好处。此外,对于自监督的目标,任务规范依赖于将所需任务强制带入预测问题,而最终,有用的语言系统(例如虚拟助理)可能会被更好地认为是采取目标导向的行动,而不仅仅是做出预测。最后,大型预训练语言模型没有基于其他经验领域,如视频或真实世界的物理交互,因此缺乏大量关于世界的上下文[BHT+20]。由于所有这些原因,缩放纯自监督预测可能会达到极限,使用不同方法进行增强可能是必要的。这方面有希望的未来方向可能包括从人类那里学习目标函数[ZSW+19],通过强化学习进行微调,或添加额外的模式,如图像,以提供基础和更好的世界模型[CLY+19]。

  GPT-3的大小使得部署具有挑战性。特定任务蒸馏[HVD15]值得在这种新的规模上进行探索。

 

6 Related Work

  一些研究已经研究了规模对语言模型性能的影响。[KMH+20,RRBS19,LWS+20,HNA+17],发现随着自回归语言模型的放大,损失呈平稳的幂律趋势。通过增加参数、计算或两者兼有,可以采用不同的方法来缩放语言模型。我们的工作与通过大致按比例增加参数和每个token的FLOPS来增加Transformer大小的方法最为一致,原始论文中的参数计数为2.13亿[VSP+17],然后是3亿[DCLT18]、15亿[RWC+19]、80亿[SSP+19]、110亿[RSR+19],最近是170亿[Tur20]。第二行工作的重点是通过使用条件计算框架[BLC13]来增加参数计数,而不是计算。具体而言,专家混合方法[SMM+17]已经产生了1000亿个参数模型和500亿个参数Transformer模型[AJF19]。降低我们模型计算成本的一种方法是借鉴ALBERT[LCG+19]或通用[HVD15]或特定任务[SDCW19,JYS+19,KR16]的蒸馏方法。最后,第三种缩放方法通过自适应计算时间[Gra16]和通用Transformer[DGV+18]等方法在不增加参数的情况下增加了计算量。

  有许多方法可以构建多任务模型。用自然语言给出任务指令首先在有监督的环境中用[MKXS18]形式化,并在[RWC+19]中用于上下文学习,在[RSR+19]中使用多任务微调。多任务学习[Car97]已经显示出一些有希望的初步结果[LGH+15,LCR19],并且多阶段微调已经产生了SOTA或SOTA竞争结果[PFB18,KKS+20]。在[RWC+19]中,元学习被用于语言模型,尽管结果有限,也没有系统的研究。元学习的其他用途包括匹配网络[VBL+16]、RL2[DSC+16]、学会优化[RL16、ADG+16、LM17]和MAML[FAL17]。我们用前面的示例填充模型上下文的方法在结构上与RL2最相似。它也类似于[HYC01],因为内部循环适应任务,而外部循环更新权重。我们的内环在上下文学习中执行小样本,但先前的工作已经探索了小样本学习的其他方法[SS20、RCP+17、GWC+18、XDH+19]。

  最后,在过去两年中,语言模型的算法创新是巨大的,包括基于去噪的双向性[DCLT18]、前缀LM[DL15]、编码器-解码器架构[LLG+19、RSR+19]、训练期间的随机排列[YDY+19]、采样效率架构[DY+19],数据和训练改进[LOG+19]以及嵌入参数效率[LCG+19]。结合其中一些算法进步可能会提高GPT-3在下游任务中的性能,尤其是在微调设置中。

 

7 Conclusion

  我们提出了一个1750亿参数的语言模型,该模型在零样本、单样本和小样本设置中的许多NLP任务和基准测试中显示出强大的性能,在某些情况下几乎与最先进的微调系统的性能相匹配,并在现场定义的任务中生成高质量样本和强大的定性性能。我们记录了在不使用微调的情况下性能扩展的大致可预测趋势。我们还讨论了这类模式的社会影响。尽管存在许多局限性和弱点,但这些结果表明,大型语言模型可能是开发适应性强的通用语言系统的重要组成部分。

 

Funding Disclosures

  这项工作由OpenAI资助。所有模型都在微软提供的高带宽集群的V100 GPU上进行了训练。

 

Broader Impacts

  语言模型对社会有着广泛的有益应用,包括代码和写作自动完成、语法辅助、游戏叙事生成、改进搜索引擎响应和回答问题。但它们也有潜在的有害应用。GPT-3相对于较小的模型提高了文本生成的质量和适应性,并增加了区分合成文本和人工书写文本的难度。因此,它有可能促进语言模型的有益和有害应用。

  在这里,我们关注改进的语言模型的潜在危害,不是因为我们认为危害一定更大,而是为了激励人们努力研究和减轻危害。像这样的语言模型的广泛影响是多方面的。我们关注两个主要问题:第7.1节中故意滥用GPT-3等语言模型的可能性,以及第7.2节中GPT-3类模型中的偏见、公平性和表示问题。我们还简要讨论了能源效率问题(第7.3节)。

 

7.1 Misuse of Language Models

 

7.1.1 Potential Misuse Applications

 

7.1.2 Threat Actor Analysis

 

7.1.3 External Incentive Structures

 

7.2 Fairness, Bias, and Representation

 

7.2.1 Gender

 

7.2.2 Race

 

7.2.3 Religion

 

7.2.4 Future Bias and Fairness Challenges

 

7.3 Energy Usage

 

7.4 News Generation

 

posted on 2023-11-19 16:14  穷酸秀才大草包  阅读(147)  评论(0)    收藏  举报

导航