3 结果
在图3.1中,我们展示了第2节描述的8个模型的训练曲线。对于这个图表,我们还包括了6个额外的超小型模型,参数数量少至100,000。正如[KMH+20]中观察到的,当有效利用训练计算时,语言建模性能遵循幂律。在将这个趋势再延伸两个数量级之后,我们观察到只有轻微(如果有的话)偏离幂律。有人可能会担心,交叉熵损失的这些改进只是来自于对我们训练语料库中的虚假细节的建模。然而,我们将在以下部分看到,交叉熵损失的改进导致了在广泛的自然语言任务上的一致性能提升。
图3.1:计算性能的平滑缩放。性能(根据交叉熵验证损失衡量)与用于训练的计算量呈幂律趋势。在[KMH+20]中观察到的幂律行为又持续了两个数量级,与预测曲线只有很小的偏差。对于这个图,我们从计算和参数计数中排除了嵌入参数。
下面,我们在一系列数据集上评估第2节描述的8个模型(1750亿参数的GPT-3和7个较小的模型)。我们将数据集分为9个类别,代表大致相似的任务。
在3.1节中,我们评估传统的语言建模任务以及与语言建模相似的任务,如完形填空任务和句子/段落完成任务。在3.2节中,我们评估“封闭书籍”问答任务:这些任务需要使用存储在模型参数中的信息来回答一般知识问题。在3.3节中,我们评估模型在语言之间翻译的能力(尤其是单样本和少量样本)。在3.4节中,我们评估模型在Winograd Schema-like任务上的表现。在3.5节中,我们评估涉及常识推理或问答的数据集。在3.6节中,我们评估阅读理解任务,在3.7节中,我们评估SuperGLUE基准测试套件,并在3.8节中简要探索NLI。最后,在3.9节中,我们设计了一些额外的任务,专门用于探测上下文学习能力——这些任务侧重于即时推理、适应技能或开放式文本合成。我们在少量样本、单样本和零样本设置中评估所有任务。
3.1 语言建模、完形填空和完成任务
在本节中,我们测试GPT-3在语言建模的传统任务上的性能,以及涉及预测单个感兴趣的单词、完成句子或段落或在一段文本的可能完成之间进行选择的相关任务。
3.1.1 语言建模
我们在Penn Tree Bank (PTB) [MKM+94]数据集上计算了零样本困惑度,该数据集在[RWC+19]中进行测量。我们省略了那项工作中的4个与维基百科相关的任务,因为它们完全包含在我们的训练数据中,我们还省略了一亿单词基准测试,因为数据集的大部分内容都包含在我们的训练集中。由于PTB数据集早于现代互联网,因此避免了这些问题。我们最大的模型在PTB上以15个点的显著优势创造了新的SOTA记录,实现了20.50的困惑度。请注意,由于PTB是一个传统的语言建模数据集,它没有清晰的示例分隔来定义单样本或少量样本评估,所以我们只测量零样本。
3.1.2 LAMBADA
LAMBADA数据集[PKL+16]测试了文本中的长距离依赖关系的建模——模型被要求预测需要阅读一个段落上下文的句子的最后一个单词。最近有观点认为,语言模型的持续扩展在这个困难的数据集上带来的回报正在减少。[BHT+20]对在两个最新 state of the art 结果之间模型大小加倍所实现的1.5%的小幅改进进行了反思([SPP+19]和[Tur20]),并认为“继续按数量级扩展硬件和数据大小不是前进的道路”。我们发现这条路径仍然充满希望,在零样本设置中,GPT-3在LAMBADA上达到了76%的准确率,比之前的最先进水平提高了8%。
LAMBADA也展示了少量样本学习的灵活性,因为它提供了一种解决这个数据集上经典问题的方式。尽管LAMBADA中的完成总是句子的最后一个单词,但标准语言模型无法知道这个细节。因此,它不仅为正确的结尾分配概率,也为段落的其他有效延续分配概率。这个问题在过去部分通过停用词过滤器[RWC+19](禁止“延续”词汇)得到了解决。而少量样本设置则允许我们以完形填空测试的形式“框定”任务,并允许语言模型从示例中推断出期望的恰好是一个单词的完成。我们使用以下填空格式:
Alice was friends with Bob. Alice went to visit her friend —— !
Bob George bought some baseball equipment, a ball, a glove, and a —— !
当以这种方式呈现示例时,GPT-3在少量样本设置中达到了86.4%的准确率,比之前的最先进水平提高了超过18%。我们观察到,随着模型大小的增加,少量样本性能显著提高。虽然这种设置使最小模型的性能下降了近20%,但对于GPT-3来说,它将准确率提高了10%。最后,填空方法在一样本设置中并不有效,其表现总是比零样本设置差。这可能是因为所有模型仍然需要几个示例来识别模式。
需要注意的是,对测试集污染的分析发现,LAMBADA数据集的一小部分似乎存在于我们的训练数据中——然而,在第4节中进行的分析表明,对性能的影响可以忽略不计。
3.1.3 HellaSwag
HellaSwag数据集[ZHB+19]涉及选择故事或指令集的最佳结尾。这些示例是通过对抗性挖掘得到的,对于语言模型来说很难,而人类(准确率达到95.6%)则觉得很简单。GPT-3在单样本设置中达到了78.1%的准确率,在少量样本设置中达到了79.3%的准确率,超过了微调后的15亿参数语言模型[ZHR+19]的75.4%的准确率,但仍然比通过微调的多任务模型ALUM实现的85.6%的整体最先进水平(SOTA)低不少。
3.1.4 StoryCloze
我们接下来在StoryCloze 2016数据集[MCH+16]上评估GPT-3,该数据集涉及为五个句子长的故事选择正确的结尾句子。在这里,GPT-3在零样本设置中达到了83.2%的准确率,在少量样本设置中(K = 70)达到了87.7%的准确率。这仍然比使用基于BERT的模型[LDL19]微调后的最先进水平(SOTA)低4.1%,但比之前的零样本结果提高了大约10 。
3.2 闭卷问答
在本节中,我们测量GPT-3回答关于广泛事实知识问题的能力。由于可能的查询数量巨大,这个任务通常是通过使用信息检索系统来找到相关文本,并结合一个模型来生成答案的方法来进行的,该模型在学习给定问题和检索到的文本的情况下生成答案。由于这种设置允许系统搜索并依赖于可能包含答案的文本,因此被称为“开卷”。[RRS20]最近展示了一个大型语言模型可以直接回答问题,而无需依赖于辅助信息,其表现令人惊讶。他们将这种更严格的评估设置称为“闭卷”。他们的工作表明,即使容量更高的模型也可能表现得更好,我们用GPT-3来测试这一假设。我们在[RRS20]的3个数据集上评估GPT-3:Natural Questions [KPR+19],WebQuestions [BCFL13]和TriviaQA [JCWZ17],使用相同的分割。请注意,除了所有结果都是在闭卷设置中进行的之外,我们使用的少量样本、单样本和零样本评估代表了比之前的闭卷问答工作更严格的设置:除了不允许外部内容之外,对问答数据集本身的微调也是不允许的。
GPT-3的结果显示在表3.3中。在TriviaQA上,我们在零样本设置中达到了64.3%,在单样本设置中达到了68.0%,在少量样本设置中达到了71.2%。零样本结果已经超过了微调后的T5-11B 14.2%,并且还超过了预训练期间进行问答特定跨度预测的版本3.8%。单样本结果提高了3.7%,并与开放领域问答系统的最先进水平(SOTA)相匹配,该系统不仅进行了微调,而且还使用了学习到的检索机制,在包含2100万文档的153亿参数的稠密向量索引上进行了检索[LPP+20]。
GPT-3的少量样本结果进一步将性能提高了3.2%。
在WebQuestions(WebQs)上,GPT-3在零样本设置中达到了14.4%,在单样本设置中达到了25.3%,在少量样本设置中达到了41.5%。这相比于微调后的T5-11B的37.4%和使用了问答特定预训练程序的微调后的T5-11B+SSM的44.7%。GPT-3在少量样本设置中的表现接近于最先进的微调模型。值得注意的是,与TriviaQA相比,WebQS从零样本到少量样本的增益要大得多(实际上其零样本和单样本表现较差),这可能表明WebQs的问题和/或答案的风格对于GPT-3来说是分布外的。尽管如此,GPT-3似乎能够适应这种分布,在少量样本设置中恢复强劲的表现。
在Natural Questions(NQs)上,GPT-3在零样本设置中达到了14.6%,在单样本设置中达到了23.0%,在少量样本设置中达到了29.9%,而微调后的T5 11B+SSM的为36.6%。与WebQS类似,从零样本到少量样本的大幅提升可能表明了分布的变化,这也可能解释了与TriviaQA和WebQS相比表现不太竞争力的原因。特别是,NQs中的问题倾向于非常细粒度的知识,特别是针对维基百科,这可能正在测试GPT-3的容量和广泛预训练分布的极限。
总体而言,在三个数据集中的一个上,GPT-3的单样本表现与开放领域微调的SOTA相匹配。在另外两个数据集上,尽管没有使用微调,但它接近于闭卷SOTA的表现。在所有3个数据集上,我们发现性能与模型大小非常平滑地缩放(图3.3和附录H中的图H.7),这可能反映了模型容量直接转化为模型参数中吸收的“知识”更多的观点。
图3.3:在TriviaQA上,GPT3的性能随着模型的大小而平稳增长,这表明语言模型随着其容量的增加而继续吸收知识。单样本和少样本性能比零样本性能有显著提高,匹配并超过了SOTA微调开放域模型RAG [LPP+20]的性能。
3.3 翻译
对于GPT-2,由于容量考虑,我们在一个多语种文档集合上使用了一个过滤器来生成一个仅包含英语的数据集。即使使用了这种过滤,GPT-2仍然显示出一些多语言能力的证据,并且在仅训练了剩余的10兆字节法语文本的情况下,在法语和英语之间的翻译表现出了非平凡的性能。由于我们将容量从GPT-2增加到GPT-3,增加了两个数量级,我们也扩大了训练数据集的范围,以包含更多其他语言的代表性,尽管这仍然是一个需要进一步改进的领域。如第2.2节所讨论的,我们的数据主要来源于仅进行质量过滤的原始Common Crawl。尽管GPT-3的训练数据仍然主要是英语(按单词计数占93%),但它也包括了7%的其他语言文本。这些语言在补充材料中有记录。为了更好地理解翻译能力,我们还扩大了分析范围,包括了两种其他常研究的语言,德语和罗马尼亚语。
现有的无监督机器翻译方法通常将一对单语数据集上的预训练与回译[SHB15]结合起来,以受控的方式连接两种语言。相比之下,GPT-3从混合了许多语言的训练数据中学习,以自然的方式将它们在单词、句子和文档层面上结合起来。GPT-3还使用了一个单一的训练目标,该目标没有针对任何特定任务进行定制或设计。然而,我们的单样本/少量样本设置并不严格等同于之前无监督的工作,因为它们使用了少量成对示例(1或64)。这相当于一页或两页的上下文训练数据。结果如表3.4所示。零样本GPT-3,只接收任务的自然语言描述,仍然不如最近的无监督NMT结果。然而,为每个翻译任务提供单个示例演示可以提升超过7个BLEU分数,并接近先前工作的竞争性能。
表3.4:在翻译成英语时,少量样本GPT-3比先前的无监督NMT工作高出5个BLEU分数,反映了它作为英语语言模型的强大能力。我们报告了使用XLM的分词方式,通过multi-bleu.perl在WMT’14 Fr-En、WMT’16 De-En和WMT’16 Ro-En数据集上测量的BLEU分数,以便与先前的无监督NMT工作进行比较。附录H中报告了SacreBLEUf [Pos18]的结果。下划线表示无监督或少量样本的SOTA,粗体表示监督的SOTA,并相对有信心。a [EOAG18] b [DHKH14] c [WXH+18] d [oR16] e [LGG+20] f [SacreBLEU签名BLEU+case.mixed+numrefs.1+smooth.exp+tok.intl+version.1.2.20]
在完整少量样本设置中,GPT-3进一步提高了4个BLEU分数,使得平均性能与先前无监督NMT工作相似。GPT-3的性能明显取决于语言方向。在研究的三种输入语言中,GPT-3在翻译成英语时显著优于先前的无监督NMT工作,但在翻译成其他方向时表现不佳。En-Ro的性能是一个明显的异常值,比先前无监督NMT工作差超过10个BLEU分数。这可能是由于重用了为几乎完全以英语训练数据集开发的GPT-2的字节级BPE分词器而导致的弱点。对于Fr-En和De-En,少量样本GPT-3优于我们能够找到的最好的监督结果,但由于我们对文献不熟悉,且这些基准测试似乎不具有竞争力,我们不认为这些结果代表了真正的最先进水平。对于Ro-En,少量样本GPT-3的性能与整体SOTA相差0.5个BLEU分数,后者是通过无监督预训练、在608K标记示例上的监督微调以及回译[LHCG19b]相结合实现的。
图3.4:随着模型容量的增加,6种语言对的少样本翻译性能随着模型的扩展,所有数据集都有一致的改进趋势,并且翻译成英语的趋势比从英语翻译的趋势更强。
最后,在所有语言对和三种设置(零样本、单样本和少量样本)中,模型容量的提高呈现出平稳的趋势。这在图3.4中的少量样本结果情况下显示,附录H中显示了所有三种设置的缩放情况。
3.4 winogradstyle任务
Winograd Schemas Challenge [LDM12] 是NLP中的一个经典任务,涉及确定一个代词在语法上可能模糊但在语义上对人类来说明确所指的单词。最近,微调后的语言模型在原始的Winograd数据集上实现了接近人类的表现,但是更困难的版本,如通过对抗性挖掘得到的Winogrande数据集 [SBBC19],仍然远远落后于人类的表现。我们测试了GPT-3在Winograd和Winogrande上的表现,分别采用了零样本、单样本和少量样本的设置。
在Winograd上,我们使用273个Winograd schemas的原始集合来测试GPT-3,采用了[RWC+19]中描述的相同的“部分评估”方法。请注意,这个设置与SuperGLUE基准中的WSC任务略有不同,后者呈现为二元分类,并且需要实体提取才能转换为本节所描述的形式。在Winograd上,GPT-3在零样本、单样本和少量样本设置中分别达到了88.3%、89.7%和88.6%的准确率,没有显示出明显的上下文学习,但在所有情况下都实现了强于现有技术水平且仅略低于估计的人类表现的结果。我们注意到,污染分析发现在训练数据中存在一些Winograd schemas,但这似乎对结果只有很小的影响(参见第4节)。
在更困难的Winogrande数据集上,我们确实发现上下文学习带来了提升:GPT-3在零样本设置中达到了70.2%的准确率,在单样本设置中达到了73.2%,在少量样本设置中达到了77.7%。作为比较,一个微调后的RoBERTA模型达到了79%的准确率,现有技术水平为84.6%,这是通过一个高容量的微调模型(T5)实现的,而[SBBC19]报告的人类在该任务上的表现是94.0%。
3.5 常识推理
接下来,我们考虑三个试图捕捉物理或科学推理的数据集,这些数据集与句子补全、阅读理解或广泛知识问答不同。第一个是PhysicalQA (PIQA) [BZB+19],它询问关于物理世界如何运作的常识性问题,旨在探测对世界的实际理解。GPT-3在零样本设置中达到了81.0%的准确率,单样本设置中达到了80.5%,少量样本设置中达到了82.8%(最后一点在PIQA的测试服务器上测量)。这与之前最先进的79.4%的准确率相比是有利的,该准确率是由微调后的RoBERTa实现的。PIQA显示模型大小对其影响相对较小,并且比人类表现差了超过10%,但GPT-3的少量样本甚至零样本结果都超过了当前的最先进水平。我们的分析标记了PIQA存在潜在的数据污染问题(尽管测试标签是隐藏的),因此我们保守地用星号标记了这个结果。详情请参见第4节。
ARC [CCE+18] 是一个从三年级到九年级科学考试中收集的多项选择题数据集。在经过过滤的“挑战”版本数据集中,简单的统计或信息检索方法无法正确回答的问题,GPT-3在零样本设置中达到了51.4%的准确率,单样本设置中达到了53.2%,少量样本设置中达到了51.5%。这接近于UnifiedQA [KKS+20]中微调后的RoBERTa基线的表现(55.9%)。在“简单”版本的数据集(上述提到的基线方法能够正确回答的问题)上,GPT-3达到了68.8%,71.2%和70.1%,略超过了[KKS+20]中微调后的RoBERTa基线。然而,这两个结果仍然远低于UnifiedQA实现的总体最先进水平,后者在挑战集上比GPT-3的少量样本结果高出27%,在简单集上高出22%。
在OpenBookQA [MCKS18]上,GPT-3从零样本到少量样本设置中显著提高,但仍然比总体最先进水平低20个百分点。GPT-3的少量样本表现与排行榜上的微调BERT大型基线相似。
总体而言,GPT-3在常识推理任务上的上下文学习表现不一,PIQA和ARC在单样本和少量样本学习设置中只观察到小且不一致的增益,但在OpenBookQA上观察到了显著的改进。GPT-3在所有评估设置中都在新的PIQA数据集上设定了最先进水平。
3.6 阅读理解
接下来,我们评估GPT-3在阅读理解任务上的表现。我们使用了一套包含5个数据集的综合测试,这些数据集涵盖了抽象式、多项选择和基于范围的答案格式,既包括对话设置也包括单个问题设置。我们观察到GPT-3在这些数据集上的表现差异很大,这表明它对不同答案格式的处理能力各不相同。总的来说,我们发现GPT-3的表现与每个数据集上使用上下文表示进行训练的初始基线和早期结果相当。
GPT-3在CoQA [RCM19]上的表现最好(与人类基线的差距在3个百分点以内),CoQA是一个自由形式的对话数据集,而在QuAC [CHI+18]上的表现最差,后者是一个需要建模结构化对话行为和教师-学生互动中的答案范围选择的数据集,比ELMo基线低13个F1分数。在DROP [DWD+19]上,这是一个测试阅读理解背景下离散推理和计算能力的数据集,GPT-3在少量样本设置中的表现超过了原始论文中微调后的BERT基线,但仍然远低于人类表现和将符号系统与神经网络结合的最先进方法[RLL+19]。在SQuAD 2.0 [RJL18]上,GPT-3展示了其少量样本学习能力,与零样本设置相比,F1分数提高了近10个点(达到69.8),这使得它略微超过了原始论文中最佳微调结果。在RACE [LXL+17]上,这是一个包含中学和高中英语考试多项选择题的数据集,GPT-3的表现相对较弱,仅与最早使用上下文表示的工作相竞争,并且仍然比最先进水平落后45%。
3.7 SuperGLUE
为了更好地汇总NLP任务的结果,并以更系统的方式与BERT和RoBERTa等流行模型进行比较,我们还评估了GPT-3在一套标准化数据集上的表现,即SuperGLUE基准测试[WPN+19] [WPN+19] [CLC+19] [DMST19] [RBG11] [KCR+18] [ZLL+18] [DGM06] [BHDD+06] [GMDD07] [BDD+09] [PCC18] [PHR+18]。GPT-3在SuperGLUE数据集上的测试集表现如表3.8所示。在少量样本设置中,我们为所有任务使用了32个示例,这些示例是从训练集中随机抽取的。除了WSC和MultiRC之外的所有任务,我们都为每个问题抽取了新的示例集用于上下文。对于WSC和MultiRC,我们使用从训练集中随机抽取的相同示例集作为我们评估的所有问题的上下文。
我们观察到GPT-3在各个任务上的表现差异很大。在COPA和ReCoRD上,GPT-3在单样本和少量样本设置中实现了接近最先进水平的性能,其中COPA只差几分,并在排行榜上获得第二名,第一名是由一个微调后的110亿参数模型(T5)占据的。在WSC上,表现仍然相对强劲,少量样本设置中达到了80.1%(注意GPT-3在第3.4节描述的原始Winograd数据集上达到了88.6%)。在BoolQ、MultiRC和RTE上,表现是合理的,大致匹配了微调后的BERT-Large。在CB上,我们在少量样本设置中看到了75.6%的生命迹象。WiC是一个显著的弱点,少量样本表现仅为49.4%(相当于随机猜测)。我们尝试了多种不同的措辞和表述方式用于WiC(涉及确定一个单词在两个句子中是否具有相同含义),但没有一种能够实现强劲的表现。这暗示了一个现象,将在下一节(讨论ANLI基准)中变得更加清晰——GPT-3在涉及比较两个句子或片段的某些任务上,在少量样本或单样本设置中似乎表现较弱,例如一个单词在两个句子中是否以相同方式使用(WiC),一个句子是否是另一个句子的释义,或者一个句子是否暗示另一个句子。这也可能是RTE和CB得分相对较低的原因,这些任务也遵循这种格式。
图3.8:在SuperGLUE上的表现随着模型大小和上下文中的示例数量增加而提高。K = 32的值意味着我们的模型在每个任务上展示了32个示例,总共256个示例分布在SuperGLUE的8个任务中。我们报告的是GPT-3在开发集上的值,所以我们的数字与虚线参考线不直接可比(我们的测试集结果在表3.8中)。BERT-Large参考模型是在SuperGLUE训练集(125K示例)上微调的,而BERT++则是在MultiNLI(392K示例)和SWAG(113K示例)上进行首次微调,然后再在SuperGLUE训练集上进一步微调(总共630K微调示例)。我们发现BERT-Large和BERT++之间的性能差异大致相当于GPT-3每个上下文一个示例与每个上下文八个示例之间的差异。
尽管存在这些弱点,GPT-3仍然在八个任务中的四个上超过了微调后的BERT-Large,并且在两个任务上接近由一个微调后的110亿参数模型保持的最先进水平。
最后,我们注意到随着模型大小和上下文中的示例数量的增加,少量样本的SuperGLUE分数稳步提高,显示出从上下文学习中获得的越来越多益处(图3.8)。我们将K值增加到每个任务32个示例,在此之后,额外的示例将无法可靠地适应我们的上下文。在扫掠K值时,我们发现GPT-3在每个任务上总共需要不到八个示例,就能在整体SuperGLUE分数上超过微调后的BERT-Large。
3.8 NLI
自然语言推理(NLI)[Fyo00]关注的是理解两个句子之间关系的能力。在实际操作中,这个任务通常被构建为一个两分类或三分类问题,模型需要分类第二个句子是否逻辑上跟从第一个句子,是否与第一个句子相矛盾,或者可能是真的(中性)。SuperGLUE包含一个NLI数据集,RTE,它评估任务的二值版本。在RTE上,只有最大版本的GPT-3在任何评估设置中的表现都明显好于随机(56%),但在少量样本设置中,GPT-3的表现与针对单个任务微调的BERT大型模型相似。我们还评估了最近引入的对抗性自然语言推理(ANLI)数据集[NWD+19]。ANLI是一个困难的数据集,它使用一系列在三个回合(R1、R2和R3)中对抗性挖掘的自然语言推理问题。与RTE类似,我们所有小于GPT-3的模型在ANLI上的表现几乎完全是随机机会,即使在少量样本设置中(约33%),而GPT-3本身在第三回合显示出了一些活力。
图3.9:GPT-3在ANLI第3轮的表现。结果是基于开发者集,它只有1500个例子,因此具有很高的方差(我们估计标准偏差为1.2%)。我们发现较小的模型在随机概率附近徘徊,而很少射击的GPT-3 175B几乎缩小了从随机概率到SOTA的一半差距。ANLI第1轮和第2轮的结果见附录。
ANLI R3的结果突出显示在图3.9中,所有回合的完整结果可以在附录H中找到。这些在RTE和ANLI上的结果表明,NLI对于语言模型来说仍然是一个非常困难的任务,它们只是刚刚开始显示出进步的迹象。
3.9 综合和定性任务
一种探测GPT-3在少量样本(或零样本和单样本)设置下能力范围的方法是给它一些任务,这些任务要求它进行简单的即时计算推理,识别在训练中不太可能出现的新的模式,或者快速适应一个不寻常的任务。我们设计了几项任务来测试这类能力。首先,我们测试GPT-3进行算术运算的能力。其次,我们创建了几项涉及重新排列或解构单词中字母的任务,这些任务在训练中不太可能被精确地看到。第三,我们测试GPT-3在少量样本设置下解决SAT风格类比问题的能力。最后,我们在几个定性任务上测试GPT-3,包括在句子中使用新词,纠正英语语法,以及新闻文章生成。我们将发布这些合成数据集,希望激发对语言模型测试时行为的进一步研究。
3.9.1 算术
为了测试GPT-3在没有特定任务训练的情况下执行简单算术运算的能力,我们开发了一个小的10个测试,包括用自然语言问GPT-3一个简单的算术问题:
- 2位数加法(2D+) -要求模型将两个整数从[0;100),以问句的形式表达,例如:“问:48加76等于几?”答:124。
- 2位数减法(2D-) -要求模型从[0;100);答案可能是否定的。问:34减53等于几?答:-19”。
- 3位数加法(3D+) -与2位数加法相同,只是数字从[0]均匀采样;1000)。
- 3位数减法(3D-) -与2位数减法相同,只是数字从[0]均匀采样;1000)。
- 4位数加法(4D+) -与3位数加法相同,除了从[0]均匀采样;10000)。
- 4位数减法(4D-) -与3位数减法相同,除了从[0]均匀采样;10000)。
- 5位数加法(5D+) -与3位数加法相同,除了从[0]均匀采样;100000)。
- 5位数减法(5D-) -与3位数减法相同,除了从[0]均匀采样;100000)。
- 2位数乘法(2Dx) -要求模型将两个整数从[0;问:24乘以42等于多少?答:1008”。
- 一位数合数(1DC) -要求模型对三个1位数执行合数运算,最后两个用括号括起来。例如,“问:6+(4*8)等于多少?”答:38”。在[0]上均匀选取三个1位数;10),操作统一从f+,-,*g中选择。
在所有10个任务中,模型必须精确生成正确的答案。对于每个任务,我们生成了一个包含2,000个随机任务实例的数据集,并在这个数据集上评估所有模型。
图3.10:不同大小的模型在少样本设置下所有10个算术任务的结果。从第二大模型(GPT-3 13B)到最大模型(GPT-3 175)有一个显著的飞跃,后者能够可靠地精确进行2位数算术,通常是精确的3位数算术,并且在4-5位数算术、2位数乘法和复合运算中有相当一部分时间是正确的。单样本和零样本的结果见附录。
首先,我们在少量样本设置中评估GPT-3,结果如图3.10所示。在加法和减法任务上,当数字位数较少时,GPT-3显示出很强的熟练度,在两位数加法上达到100%的准确率,在两位数减法上达到98.9%,在三位数加法上达到80.2%,在三位数减法上达到94.2%。随着数字位数的增加,性能逐渐下降,但GPT-3在四位数运算上仍能达到25-26%的准确率,在五位数运算上达到9-10%的准确率,这表明它至少在一定程度上能够推广到更多位数的数字。GPT-3在两位数乘法上的准确率为29.2%,这是一个特别计算密集的操作。最后,GPT-3在单个数字组合运算(例如,9*(7+5))上的准确率为21.3%,这表明它不仅仅能够处理单一运算,还具有一定的鲁棒性。
如图3.10所示,小型模型在这些任务上的表现很差——即使是拥有130亿参数的模型(仅次于175亿参数的完整GPT-3)也只能在50%的情况下解决两位数的加法和减法,而在所有其他运算上的准确率不到10%。
单样本和零样本性能相对于少量样本性能有所下降,这表明适应任务(或者至少是识别任务)对于正确执行这些计算是很重要的。然而,单样本性能仍然相当强劲,即使是完整GPT-3的零样本性能也显著优于所有较小模型的少量样本学习。完整GPT-3的所有三种设置都显示在表3.9中,所有三种设置的模型容量缩放情况显示在附录H中。
为了检查模型是否只是在记忆特定的算术问题,我们从测试集中取出三位数的算术问题,并在训练数据中以"<NUM1> + <NUM2>="和"<NUM1> plus <NUM2>"的形式进行了搜索。在2,000个加法问题中,我们只找到了17个匹配(0.8%),在2,000个减法问题中,我们只找到了2个匹配(0.1%),这表明只有一小部分正确答案可能是被记忆的。此外,检查错误答案发现,模型经常犯错误,比如没有进位“1”,这表明它实际上是在尝试执行相关计算,而不是记忆一个表格。
总体而言,GPT-3在少量样本、单样本甚至零样本设置下,对于中等复杂的算术显示出合理的熟练度。
3.9.2 字扰和操作任务
为了测试GPT-3从几个示例中学习新符号操作的能力,我们设计了一套包含5个“字符操作”任务的测试。每个任务都涉及给模型一个通过某种字符打乱、添加或删除组合方式扭曲的单词,并要求它恢复原始单词。这5个任务是:
- 单词中的字母循环(CL)——模型会得到一个字母被循环的单词,然后是“=”符号,预期它会生成原始单词。例如,它可能会得到“lyinevitab”,应该输出“inevitably”。
- 除首尾字符外其余字符的字母重组(A1)——模型会得到一个除首尾字符外其余字母被随机打乱的单词,并必须输出原始单词。例如:criroptuon = corruption。
- 除前两个和最后两个字符外其余字符的字母重组(A2)——模型会得到一个除前两个和最后两个字符外其余字母被随机打乱的单词,并必须恢复原始单词。例如:opoepnnt ! opponent。
- 单词中的随机插入(RI)——在单词的每个字母之间插入一个随机的标点符号或空格字符,模型必须输出原始单词。例如:s.u!c/c!e.s s i/o/n = succession。
- 反转单词(RW)——模型会得到一个拼写颠倒的单词,并必须输出原始单词。例如:stcejbo ! objects。
对于每个任务,我们生成了10,000个示例,这些示例是根据[Nor09]测量的是长度超过4个字符且少于15个字符的 top 10,000 个最频繁出现的单词。少量样本的结果显示在图3.11中。
图3.11:不同模型大小在五个单词打乱任务上的少量样本性能。总体上,随着模型大小的增加,性能呈现出平稳的改善,尽管随机插入任务在175B模型上显示出向上的改善趋势,该模型大多数时间能够解决这个任务。单样本和零样本性能的缩放情况在附录中显示。所有任务都是在K = 100的条件下完成的。
表3.10:GPT-3 175B在各种单词解析和单词操作任务上的性能,在零次、一次和几次设置下。CL是“单词中的循环字母”,A1是除了第一个和最后一个字母之外的字谜,A2是除了第一个和最后两个字母之外的所有字谜,RI是“单词中的随机插入”,RW是“颠倒的单词”。
任务性能往往随着模型大小的增加而平稳增长,完整GPT-3模型在移除随机插入的任务上达到了66.9%,在字母循环任务上达到了38.6%,在较简单的字母重组任务上达到了40.2%,在较困难的字母重组任务(只有首尾字母固定)上达到了15.1%。没有任何模型能够反转单词中的字母。
在单样本设置中,性能显著较弱(下降了一半以上),在零样本设置中,模型很少能执行任何任务(见表3.10)。这表明模型似乎确实在测试时学习了这些任务,因为模型无法在零样本情况下执行它们,而且它们的人为性质使得它们不太可能出现在预训练数据中(尽管我们不能确定这一点)。
我们可以通过绘制“上下文学习曲线”来进一步量化性能,这些曲线显示了任务性能与上下文示例数量的关系。我们在图1.2中展示了符号插入任务的上下文学习曲线。我们可以看到,较大的模型能够越来越有效地利用上下文信息,包括任务示例和自然语言任务描述。
最后,值得一提的是,解决这些任务需要字符级别的操作,而我们的BPE编码操作的是单词的大部分(平均每个标记约0.7个单词),所以从语言模型的角度来看,成功完成这些任务不仅涉及操作BPE标记,还需要理解和分解它们的子结构。此外,CL、A1和A2不是双射的(即,解开的单词不是打乱单词的确定性函数),这要求模型进行一些搜索以找到正确的解组。因此,所涉及的技能似乎需要非平凡的模式匹配和计算。
3.9.3 SAT类比
为了在另一个与典型文本分布相比有些不同寻常的任务上测试GPT-3,我们收集了一套374个“SAT类比”问题[TLBS03]。类比是一种多项选择题风格,在2005年之前构成了SAT大学入学考试的一个部分。一个典型的例子是:“鲁莽是对大胆的态度,正如(a)假装虔诚是对伪善的态度,(b)匿名是对身份的态度,(c)悔恨是对恶行的态度,(d)有害是对结果的态度,(e)易受影响是对诱惑的态度”。
图3.12:不同模型大小的SAT类比任务的Zero-, one- and few-shot性能。最大的模型在少样本设置中达到65%的准确率,并且在上下文学习方面也显示出显着的收益,这在较小的模型中不存在。
学生需要选择五个单词对中哪一个与原单词对具有相同的关系;在这个例子中,答案是“假装虔诚是对伪善的态度”。在这个任务上,GPT-3在少量样本设置中达到了65.2%的准确率,在单样本设置中达到了59.1%,在零样本设置中达到了53.7%,而大学申请者的平均分数是57%[TL05](随机猜测的准确率为20%)。如图3.12所示,随着规模的增加,结果有所改善,完整的1750亿参数模型比130亿参数模型的性能提高了超过10%。
3.9.4 新闻文章生成
之前关于生成性语言模型的工作通过在给定一个由人类编写的合理的第一句话的情况下,从模型中进行条件抽样,定性地测试了它们生成合成“新闻文章”的能力[RWC+19]。相对于[RWC+19],用于训练GPT-3的数据集在新闻文章上的权重要小得多,因此尝试通过原始无条件样本生成新闻文章的效果较差——例如,GPT-3经常将“新闻文章”的提议第一句话解释为推文,然后发布合成回应或后续推文。为了解决这个问题,我们利用GPT-3的少量样本学习能力,通过在模型上下文中提供三篇之前的新闻文章来对其进行条件设置。有了提议的下一篇文章的标题和副标题,模型能够可靠地生成“新闻”类别的短文章。
为了评估GPT-3生成的新闻文章的质量(我们相信这可能与一般条件样本生成的质量相关),我们决定测量人类区分GPT-3生成的文章和真实文章的能力。类似的工作由Kreps等人[KMB20]和Zellers等人[ZHR+19]进行。生成性语言模型被训练以匹配人类生成的内容的分布,因此人类区分两者的能力(或无能)是衡量质量的一个重要指标。
为了了解人类检测模型生成文本的能力如何,我们从网站newser.com任意选择了25个文章标题和副标题(平均长度:215个单词)。然后,我们使用四个大小从125M到175B(GPT-3)参数不等的语言模型生成了这些标题和副标题的完整文章(平均长度:200个单词)。对于每个模型,我们向大约80名美国参与者展示了一个测验,其中包括这些真实的标题和副标题,后面跟着人类编写的文章或模型生成的文章。参与者被要求选择文章是“非常可能由人类编写”,“更可能由人类编写”,“我不知道”,“更可能由机器编写”,还是“非常可能由机器编写”。
表3.11:识别短(~ 200字)新闻文章是否由模型生成的人类准确性。我们发现人类的准确率(通过正确分配与非中性分配的比例来衡量)范围从控制模型上的86%到GPT-3 175B上的52%。该表比较了五种不同模型之间的平均精度,并显示了每个模型与控制模型(无条件GPT-3小模型,输出随机性增加)之间平均精度差异的双样本t检验结果。
我们选择的这些文章不在模型的训练数据中,模型的输出是通过程序化格式化和选择的,以防止人类的挑拣。所有模型都使用相同的上下文来条件输出,并且使用相同的上下文大小进行预训练,相同的文章标题和副标题作为每个模型的提示。然而,我们还进行了一个实验,以控制参与者的努力和注意力,该实验遵循相同的格式,但涉及故意由模型生成的糟糕文章。这是通过使用一个“控制模型”来生成文章实现的:一个没有上下文且输出随机性增加的160M参数模型。检测故意由模型生成的糟糕文章的平均人类准确率(每个参与者正确分配与非中性分配的比例)约为86%,而随机水平的性能为50%。相比之下,检测由175B参数模型生成的文章的平均人类准确率仅略高于随机水平,约为52%(见表3.11)。人类检测模型生成文本的能力似乎随着模型大小的增加而降低:随着模型大小的增加,准确率似乎趋向于随机水平,人类检测GPT-3的能力接近随机。尽管事实上,随着模型大小的增加,参与者在每个输出上花费的时间更多(见附录E)。
图3.14:GPT-3生成的新闻文章,人类与人类写的文章最难区分(准确率:12%)。
图3.15:GPT-3生成的新闻文章是人类发现最容易与人类写的文章区分的(准确率:61%)。
GPT-3生成的合成文章示例分别见图3.14和3.15。正如评估所表明的,大部分文本对于人类来说很难与真实的人类内容区分开来。事实上的不准确可能是文章由模型生成的指标,因为与人类作者不同,模型无法访问文章标题所指的具体事实或文章的撰写时间。其他指标包括重复、非逻辑推论和不寻常的措辞,尽管这些通常足够微妙,以至于没有被注意到。
Ippolito等人[IDCBE19]关于语言模型检测的相关工作表明,像GROVER[ZHR+19]和GLTR[GSR19]这样的自动鉴别器在检测模型生成文本方面可能比人类评估者更成功。自动检测这些模型可能是一个有前景的未来研究领域。
Ippolito等人[IDCBE19]还指出,人类检测模型生成文本的准确率随着观察到的标记数量的增加而提高。为了初步调查人类检测由GPT-3 175B生成的更长新闻文章的能力,我们从路透社选择了12篇世界新闻文章,平均长度为569个单词,并使用GPT-3生成了这些文章的完成版本,平均长度为498个单词(比我们最初的实验长298个单词)。按照上述方法,我们进行了两个实验,每个实验大约有80名美国参与者,以比较人类检测GPT-3和控制模型生成的文章的能力。
表3.12:人们识别约500字文章是否为模型生成的能力(通过正确分配与非中性分配的比例来衡量)在对照模型上为88%,在GPT-3 175B上为52%。该表显示了GPT-3 175B与控制模型(无条件GPT-3小模型,输出随机性增加)之间平均精度差异的双样本t检验结果。
我们发现,检测控制模型生成的故意糟糕的长文章的平均人类准确率约为88%,而检测由GPT-3 175B生成的长文章的平均人类准确率仍然仅略高于随机水平,约为52%(见表3.12)。这表明,对于大约500个单词长的新闻文章,GPT-3继续生成人类难以与人类编写的新闻文章区分的文章。
3.9.5 学习和使用新单词
在发展语言学中研究的一个任务 [CB78] 是学习和利用新词汇的能力,例如在只看到一次定义后在一个句子中使用一个单词,或者反过来,仅从一次使用中推断出一个单词的含义。在这里,我们定性地测试GPT-3执行前者的能力。具体来说,我们给GPT-3一个不存在单词的定义,比如“Gigamuru”,然后要求它在句子中使用它。我们提供了之前一至五个(不同的)不存在单词被定义并在句子中使用的例子,因此在这个广泛任务的先前例子上是少量样本的,在特定单词上是单样本的。
表3.16显示了我们生成的6个例子;所有定义都是由人类生成的,第一个答案是作为条件由人类生成的,而随后的答案是由GPT-3生成的。这些例子是在一次连续的坐姿中生成的,我们没有省略或重复尝试任何提示。在所有情况下,生成的句子似乎都是单词的正确或至少是合理的使用。在最后一个句子中,模型为单词“screeg”生成了一个合理的变位(即“screeghed”),尽管单词的使用略显尴尬(“screeghed at each other”),但从某种意义上说,它是合理的,因为它可以描述玩具剑战斗。总的来说,GPT-3在句子中使用新词的任务上至少是熟练的。
3.9.6 纠正英语语法
另一项非常适合短时间学习的任务是纠正英语语法。我们用GPT-3在几个镜头设置中测试了这一点,给出了“糟糕的英语输入:<句子>和良好的英语输出:<句子>”的形式提示。我们给GPT-3一个人工生成的更正,然后要求它再更正5个(同样没有任何遗漏或重复)。结果如图3.17所示。
图3.17:英语语法纠错任务中具有代表性的GPT-3完成情况。黑体字是GPT-3的补全,纯文本是人工提示。在前几个示例中,提示和完成都是由人提供的;然后,这将作为后续示例的条件,其中GPT-3接收连续的附加提示并提供完井。除了前几个例子如条件反射和“糟糕的英语输入/良好的英语输出”框架外,GPT-3没有提供任何特定任务。我们注意到,“差”英语和“好”英语(以及术语本身)之间的区别是复杂的、有语境的、有争议的。正如提到房屋租赁的例子所显示的那样,模型对“好”的假设甚至可能导致它出错(在这里,模型不仅调整了语法,还以一种改变含义的方式删除了“便宜”这个词)。
4 测量和防止基准记忆
由于我们的训练数据集来源于互联网,因此我们的模型可能在接受训练时接触到了我们的一些基准测试集。准确检测来自互联网规模数据集的测试污染是一个新的研究领域,没有确立的最佳实践。尽管在训练大型模型时不进行调查污染是常见的做法,但鉴于预训练数据集规模的不断扩大,我们认为这个问题越来越重要,需要关注。
这一担忧并非仅仅是假设性的。第一篇在Common Crawl数据上训练语言模型的论文[TL18]检测并移除了与他们的评估数据集重叠的一个训练文档。其他工作,如GPT-2 [RWC+19],也进行了事后的重叠分析。他们的研究相对令人鼓舞,发现尽管模型在训练和测试数据重叠部分的表现稍好,但由于被污染的数据比例很小(通常只有几个百分点),这并没有显著影响报告的结果。
GPT-3的运作方式略有不同。一方面,数据集和模型大小比GPT-2使用的要大两个数量级,并且包含了大量的Common Crawl数据,这增加了污染和记忆的可能性。另一方面,正是由于数据量巨大,即使是GPT-3 175B也没有相对于一个专门保留的验证集(与之进行了去重处理)显著过拟合训练集(见图4.1)。因此,我们预计污染可能很常见,但其影响可能没有预期的那么大。
图4.1:GPT-3训练曲线我们在训练分布的去重复验证分割上测量模型在训练期间的性能。虽然训练性能和验证性能之间存在一些差距,但随着模型大小和训练时间的增加,这种差距只会最小地增长,这表明大部分差距来自难度的差异,而不是过拟合。
我们最初试图通过积极搜索并尝试移除我们的训练数据与本文研究的所有基准的开发和测试集之间的任何重叠来解决这个问题。不幸的是,一个错误导致只部分移除了检测到的所有重叠。由于训练的成本,重新训练模型是不可行的。为了解决这个问题,我们详细研究了剩余检测到的重叠对结果的影响。
对于每个基准,我们生成了一个“干净”版本,移除了所有可能泄露的例子,大致定义为与预训练集中的任何内容有13-gram重叠的例子(或者当例子短于13-gram时与整个例子重叠)。目标是极其保守地标记任何可能被污染的内容,以生成一个高置信度没有污染的干净子集。具体程序详见附录C。
图4.2:基准污染分析我们构建了每个基准的清洁版本,以检查训练集中的潜在污染。x轴是一个保守的下界,表示有多少数据集是高置信度已知的干净的,y轴显示仅在经过验证的干净子集上评估时的性能差异。大多数基准测试的性能变化很小,但有些会被标记为进一步审查。在检查中,我们发现了一些PIQA和Winograd结果被污染的证据,我们在第3节中用星号标记了相应的结果。我们没有发现其他基准受到影响的证据。
然后我们在这些干净的基准上评估GPT-3,并与原始分数进行比较。如果干净子集上的分数与整个数据集上的分数相似,这表明即使存在污染,其对报告结果的影响也不显著。如果干净子集上的分数较低,这表明污染可能会夸大结果。结果总结在图4.2中。尽管潜在的污染往往很高(四分之一的基准得分超过50%),但在大多数情况下,性能变化微乎其微,我们没有看到污染水平与性能差异相关联的证据。我们得出结论,要么我们的保守方法大大高估了污染,要么污染对性能的影响很小。
下面,我们更详细地回顾了几个特定的情况,其中要么(1)模型在干净版本上的表现显著较差,要么(2)潜在污染非常高,这使得衡量性能差异变得困难。
我们的分析标记了六个基准测试组需要进一步调查:单词打乱、阅读理解(QuAC, SQuAD2, DROP)、PIQA、Winograd、语言建模任务(Wikitext任务,1BW)和德英翻译。由于我们的重叠分析设计得非常保守,我们预计它会产生一些假阳性。我们下面总结了每个任务组的结果:
- 阅读理解:我们的初步分析标记了QuAC、SQuAD2和DROP中超过90%的任务例子可能被污染,以至于即使在干净子集上测量差异也很困难。然而,在手动检查时,我们发现对于我们在所有3个数据集中检查的每个重叠,源文本存在于我们的训练数据中,但问题/答案对不在,这意味着模型只获得了背景信息,不能记住特定问题的答案。
- 德语翻译:我们发现WMT16德英测试集中有25%的例子被标记为可能被污染,与之相关的总效应大小为1-2 BLEU。在检查中,没有一个标记的例子包含类似于NMT训练数据的成对句子,碰撞主要是单语种的,大多数是新闻中讨论的事件片段。
- 反转单词和字母重组:回想一下,这些任务的形式是“alaok = koala”。由于这些任务的长度较短,我们使用了2-gram进行过滤(忽略标点符号)。检查标记的重叠后,我们发现它们通常不是训练集中的实际反转或重组实例,而是回文或简单的重组,例如“kayak = kayak”。重叠的数量很小,但移除这些简单的任务会增加难度,从而产生虚假的信号。与此相关的是,符号插入任务显示高度重叠,但对性能没有影响——这是因为该任务涉及从单词中移除非字母字符,而重叠分析本身忽略了此类字符,导致许多虚假匹配。
- PIQA:重叠分析标记了29%的例子为被污染,并观察到在干净子集上性能下降了3个百分点(绝对下降了4%)。虽然测试数据集在我们创建训练集之后发布,并且标签是隐藏的,但众包数据集创建者使用的一些网页包含在我们的训练集中。我们在一个一个规模小得多、记忆能力较小的模型中也发现了类似的下降,这导致我们怀疑这种转变很可能是统计偏差而不是记忆;工作者复制的例子可能更容易。不幸的是,我们无法严格证明这个假设。因此,我们在PIQA结果上标有星号,以表示这种潜在的污染。
- Winograd:重叠分析标记了45%的例子,并发现干净子集上的性能下降了2.6%。手动检查重叠数据点显示,实际上有132个Winograd模式存在于我们的训练集中,尽管我们呈现任务给模型的方式与训练集中的格式不同。尽管性能下降很小,我们在主论文中的Winograd结果上还是标有星号。
- 语言建模:我们发现GPT-2测量的4个维基百科语言建模基准,加上儿童书籍测试数据集,几乎完全包含在我们的训练数据中。由于我们无法可靠地提取一个干净子集,因此即使我们开始这项工作时打算这样做,我们也没有报告这些数据集的结果。我们注意到,由于Penn Tree Bank年代久远,因此未受影响,因此它成为了我们主要的语言建模基准。
我们还检查了污染高但性能影响接近零的数据集,只是为了验证实际污染的程度。这些似乎经常包含假阳性。它们要么没有实际污染,要么污染并没有泄露任务的答案。一个值得注意的例外是LAMBADA,它似乎有大量的真实污染,但对性能的影响非常小,干净子集的得分与整个数据集的得分相差不到0.5%。而且,严格来说,我们的填空格式排除了最简单的记忆形式。尽管如此,由于我们在本文中对LAMBADA取得了非常大的进步,结果的潜在污染在结果部分进行了说明。
我们污染分析的一个重要限制是我们不能确定干净子集是否来自与原始数据集相同的分布。仍然可能存在记忆夸大了结果,但与此同时,某些统计偏差可能导致干净子集更容易,从而恰好抵消了这种影响。然而,接近零的转移数量之多表明这种情况不太可能,我们还观察到小型模型的变化不明显,这些模型不太可能进行记忆。
总的来说,我们尽最大努力测量和记录了数据污染的影响,并根据严重程度注明或完全移除有问题结果。对于这个领域来说,无论是在设计基准还是在训练模型时,都需要做更多的工作来处理这个重要且微妙的问题。有关我们分析的更详细解释,请参阅附录C。
5 局限性
GPT-3以及我们对它的分析存在一些局限性。以下我们将描述其中一些局限性,并建议未来工作的方向。
首先,尽管GPT-3在定量和定性方面相比其直接前身GPT-2有了显著的改进,但在文本合成和几个NLP任务中仍然存在明显的弱点。在文本合成方面,尽管整体质量很高,但GPT-3的样本有时会在文档层面上语义重复,过长段落会失去连贯性,自相矛盾,偶尔还会包含无关的句子或段落。我们将发布一套500个未经筛选的无条件样本,以帮助更好地理解GPT-3在文本合成方面的局限性和优势。在离散语言任务领域内,我们非正式地注意到GPT-3在“常识物理”方面似乎特别困难,尽管它在一些测试这一领域的数据集(如PIQA [BZB+19])上表现良好。具体来说,GPT-3在回答诸如“如果我把奶酪放在冰箱里,它会融化吗?”这类问题上存在困难。从定量角度来看,GPT-3在上下文学习性能上在我们的基准测试套件中存在一些显著的差距,如第3节所述,特别是在一些“比较”任务上进行一次或少次样本测试时,其表现几乎与随机猜测无异,例如确定两个单词在句子中是否以相同的方式使用,或者一个句子是否暗示另一个句子(分别是WIC和ANLI),以及在一些阅读理解任务子集上。这一点尤其引人注目,因为GPT-3在许多其他任务上的少样本表现非常强劲。
GPT-3在结构和算法上存在几个局限性,这可能解释了上述一些问题。我们专注于探索自回归语言模型中的上下文学习行为,因为使用这个模型类进行抽样和计算可能性非常直接。因此,我们的实验不包括任何双向架构或其他训练目标,如去噪。这与近期大量文献中记录的使用这些方法比标准语言模型获得改进的微调性能有显著差异[RSR+19]。因此,我们的设计决策可能以在实证上受益于双向性的任务上潜在的性能下降为代价。这可能包括填空任务、涉及回顾并比较两块内容的任务,或者需要重新阅读或仔细考虑长段落然后生成非常短答案的任务。这可能是GPT-3在少数几个任务上少样本性能落后的可能解释,例如WIC(涉及比较一个单词在两个句子中的使用)、ANLI(涉及比较两个句子以确定一个是否暗示另一个)以及几个阅读理解任务(例如QuAC和RACE)。我们还推测,根据过去的研究,一个大型双向模型在微调方面可能比GPT-3更强。制作一个与GPT-3规模相当的双向模型,以及/或者尝试使双向模型适用于少样本或零样本学习,是未来研究的一个有前景的方向,可能有助于实现“两全其美”。
本论文描述的一般方法的一个更根本的局限性是,它可能最终会遇到(或可能已经遇到)预训练目标的限制。我们当前的客观权重将每个标记视为同等重要,缺乏对预测重要性和次要性的认识。[RRS20]展示了针对感兴趣实体定制预测的好处。此外,对于自监督目标,任务规范依赖于将期望的任务强制转化为预测问题,而最终,有用的语言系统(例如虚拟助手)可能更适合被视为采取目标导向的行动,而不仅仅是进行预测。最后,大型预训练语言模型没有立足于视频或其他现实世界物理交互等其他经验领域,因此缺乏关于世界的大量上下文[BHT+20]。由于所有这些原因,纯粹的自监督预测的扩展可能会遇到极限,而与不同方法的结合可能是必要的。在这方面,未来有前景的方向可能包括从人类学习目标函数[ZSW+19a],使用强化学习进行微调,或者添加图像等额外模态以提供接地和更好的世界模型[CLY+19]。
语言模型普遍存在的一个局限性是预训练期间的样本效率低下。虽然GPT-3在测试时的样本效率向人类(一次或零次样本)靠近了一步,但它仍然在预训练期间看到了比人类一生中看到的文本多得多的内容[Lin20]。提高预训练样本效率是未来工作的重要方向,可能来自于在物理世界中的接地以提供额外信息,或者来自算法改进。
与GPT-3的少样本学习相关的一个局限性(或至少是不确定性)是,少样本学习是否实际上在推理时从零开始学习新任务,或者它是否仅仅识别和确定训练期间已经学习的任务。这些可能性存在于一个谱系上,从训练集中提取的演示与测试时间的分布完全相同,到识别同一任务但格式不同,到适应一般任务(如QA)的特定风格,再到完全从头开始学习一项技能。GPT-3在这个谱系上的位置可能因任务而异。像words crambling或定义无意义单词这样的合成任务似乎特别有可能从头开始学习,而翻译显然必须在预训练期间学习,尽管可能是从与测试数据在组织和风格上非常不同的数据中学习。最终,甚至不清楚人类是从零开始学习还是从先前的演示中学习。即使在预训练期间组织多样化的演示并在测试时识别它们,这已经是语言模型的一个进步,但尽管如此,精确理解少样本学习如何工作仍然是未来研究的一个重要且未探索的方向。
与GPT-3规模相当的模型,无论目标函数或算法如何,都存在一个局限性,那就是它们进行推理既昂贵又不方便,这可能会给这种规模模型在当前形式下的实际应用带来挑战。解决这个问题的可能未来方向之一是将大型模型蒸馏[HVD15]到适合特定任务的管理大小。像GPT-3这样的大型模型包含了非常广泛的技能,其中大多数对于特定任务来说并不是必需的,这表明原则上可以进行激进的蒸馏。蒸馏在一般情况下已经得到了很好的探索[LHCG19a],但尚未在数百亿参数规模的模型上尝试;将这种方法应用于这种大小的模型可能会带来新的挑战和机遇。
最后,GPT-3与大多数深度学习系统共享一些局限性——它的决策不容易解释,它在新颖输入上的预测可能不是很好的校准,如观察到在标准基准测试上的性能方差远高于人类,并且它保留了训练数据的偏见。最后一个问题——数据中的偏见可能导致模型生成刻板的或带有偏见的 content——从社会角度来看是一个特别令人关切的问题,我们将在下一节“更广泛的影响”(第6节)中讨论这个问题以及其他问题。