【深度学习】GPT-3,Language Models are Few-Shot Learners(一)

论文:
https://arxiv.org/abs/2005.14165

摘要

最近的研究表明,通过在大规模文本语料库上进行预训练,然后在特定任务上进行微调,可以在许多NLP任务和基准上取得显著的进展。虽然这种方法在结构上通常是任务无关的,但仍然需要数千或数万个示例的任务特定微调数据集。相比之下,人类通常可以通过少量示例或简单指令来执行新的语言任务,而当前的NLP系统在这方面仍然存在很大困难。在这里,我们展示了扩大语言模型的规模大大改善了任务无关的少量示例学习的性能,有时甚至达到了与之前的最先进的微调方法竞争的水平。具体来说,我们训练了GPT-3,这是一个具有1750亿参数的自回归语言模型,比之前的任何非稀疏语言模型多10倍,并测试了其在少量示例设置中的性能。对于所有任务,GPT-3均未进行任何梯度更新或微调,通过纯文本与模型进行任务和少量示例演示的交互。GPT-3在许多NLP数据集上表现出强劲的性能,包括翻译、问答和完形填空任务,以及一些需要即时推理或领域适应的任务,如打乱单词、在句子中使用新词或执行三位数算术运算。同时,我们还发现了一些数据集,其中GPT-3的少量示例学习仍然存在困难,以及一些数据集,其中GPT-3在大规模网络语料库训练中面临方法论问题。最后,我们发现GPT-3可以生成新闻文章样本,人类评估者难以区分这些文章与人类撰写的文章。我们讨论了这一发现以及GPT-3总体的更广泛社会影响。

1 引言

近年来,NLP系统中预训练语言表示的趋势呈现出越来越灵活和任务无关的方式应用于下游转移。首先,使用词向量[ MCCD13 , PSM14 ]学习单层表示并将其输入任务特定架构,然后使用具有多层表示和上下文状态的RNN形成更强的表示[ DL15 , MBXS17 , PNZtY18 ](尽管仍然应用于任务特定架构),最近预训练的循环或变压器语言模型[ VSP + 17 ]已被直接微调,完全消除了任务特定架构的需求[RNSS18, DCLT18, HR18]。这一最后的范式在许多具有挑战性的NLP任务中取得了实质性进展,如阅读理解、问答、文本蕴涵等,并基于新架构和算法[ RSR + 19 , LOG + 19 , YDY + 19 , LCG + 19 ]继续进步。然而,这一方法的主要限制在于,尽管结构是任务无关的,但仍需要任务特定的数据集和任务特定的微调:为了在所需任务上获得强性能,通常需要在特定于该任务的数千到数十万个示例的数据集上进行微调。消除这一限制是可取的,原因有以下几点。

首先,从实际角度来看,每个新任务都需要大量标记示例的数据集限制了语言模型的适用性。存在非常广泛的可能有用的语言任务,从纠正语法,到生成抽象概念的示例,再到批评短篇小说。对于许多这些任务,收集大型监督训练数据集是困难的,特别是当每个新任务都必须重复这一过程时。

其次,随着模型表达能力的增强和训练分布的狭窄,利用训练数据中虚假相关性的潜力也在增加。这可能会给预训练加微调范式带来问题,在这种范式中,模型设计得非常大,以在预训练期间吸收信息,但随后在非常狭窄的任务分布上进行微调。例如,[ HLW + 20 ]观察到,较大的模型不一定能更好地跨分布泛化。有证据表明,在这种范式下实现的泛化可能很差,因为模型过于特定于训练分布,不能很好地在其外部泛化[ YdC + 19 , MPL19 ]。因此,微调模型在特定基准上的性能,即使名义上达到了人类水平,也可能夸大了其在基础任务上的实际性能[GSL + 18, NK19]。

第三,人类在学习大多数语言任务时并不需要大量的监督数据集——用自然语言进行的简短指令(例如,“请告诉我这句话是描述了快乐的事情还是悲伤的事情”)或最多极少量的演示(例如,“这里有两个表现出勇敢的示例;请给出第三个勇敢的示例”)通常足以使人类在一定程度上胜任新任务。除了指出当前NLP技术的概念性限制,这种适应性还有实际优势——它允许人类无缝地混合或切换多种任务和技能,例如在长时间对话中执行加法。为了广泛实用,我们希望有一天我们的NLP系统也能具有这种流动性和普遍性。

解决这些问题的一种潜在途径是元学习1——在语言模型的背景下,这意味着模型在训练时开发出广泛的技能和模式识别能力,然后在推理时利用这些能力迅速适应或识别所需任务(如图1.1所示)。最近的工作[ RWC + 19 ]尝试通过我们称之为“上下文学习”的方法来实现这一点,使用预训练语言模型的文本输入作为任务规范的一种形式:模型以自然语言指令和/或少量任务演示为条件,然后仅通过预测下一步来完成进一步的任务实例。

虽然这一方法显示出一些初步的希望,但其结果仍远不及微调——例如[ RWC + 19 ]在自然问题上仅达到4%,即使其55 F1的CoQa结果现在也落后于最新技术35分以上。显然,元学习需要大幅改进才能作为一种实用的解决语言任务的方法。

语言建模中的另一个最近趋势可能提供前进的途径。近年来,变压器语言模型的容量显著增加,从1亿参数[ RNSS18 ],到3亿参数[ DCLT18 ],到15亿参数[ RWC + 19 ],到80亿参数[ SPP + 19 ],110亿参数[ RSR + 19 ],最后是170亿参数[ Tur20 ]。每次增加都带来了文本合成和/或下游NLP任务的改进,有证据表明,日志损失与许多下游任务相关,并随着规模的扩大呈现出平滑的改进趋势[ KMH + 20 ]。由于上下文学习涉及在模型参数内吸收许多技能和任务,因此合理推测,上下文学习能力可能随着规模的增加显示出同样强劲的增长。

在这里插入图片描述

图1.1:语言模型的元学习
在无监督预训练期间,语言模型开发出一套广泛的技能和模式识别能力。然后,它在推理时使用这些能力快速适应或识别所需任务。我们使用术语“上下文学习”来描述这一过程的内循环,该过程在每个序列的前向传递中发生。本图中的序列并非旨在代表模型在预训练期间看到的数据,而是为了展示有时在单个序列中嵌入了重复的子任务。

在这里插入图片描述
图1.2:更大规模的模型对上下文信息的利用效率越来越高
我们展示了在一个简单任务上的上下文学习性能,该任务要求模型从单词中移除随机符号,分别在有和没有自然语言任务描述的情况下进行(见3.9.2节)。对于大型模型来说,“上下文学习曲线”更陡峭,表明其从上下文信息中学习任务的能力有所改善。我们在广泛的任务中看到了类似的定性行为。

在这里插入图片描述
图1.3:所有42个以准确率为单位的基准测试的总体性能
虽然零样本性能随着模型规模的增大而稳步提高,但少量样本性能提高得更快,表明更大的模型在上下文学习方面更为熟练。有关SuperGLUE这一标准NLP基准套件的更详细分析,请参见图3.8。

在本文中,我们通过训练一个拥有1750亿参数的自回归语言模型(我们称之为GPT-3),并测量其上下文学习能力来测试这一假设。具体来说,我们在超过二十个NLP数据集以及一些新任务上评估GPT-3,这些任务旨在测试对训练集中不太可能直接包含的任务的快速适应性。对于每个任务,我们在三种条件下评估GPT-3:(a) “少量示例学习”,即上下文学习,允许在模型的上下文窗口中放入尽可能多的示例(通常是10到100个);(b) “单次示例学习”,即只允许一个示例;© “零示例学习”,即不允许示例,仅给模型一个自然语言的指令。GPT-3也可以在传统的微调设置中进行评估,但我们将其留待未来工作中处理。

图1.2展示了我们研究的条件,并展示了一个简单任务的少量示例学习,要求模型从单词中移除多余的符号。随着自然语言任务描述的添加以及模型上下文中的示例数量(K)的增加,模型性能提高。少量示例学习也随着模型规模的增加而显著提高。尽管在这个案例中的结果特别显著,但在我们研究的大多数任务中,模型规模和上下文中示例数量的总体趋势都是一致的。我们强调,这些“学习”曲线不涉及任何梯度更新或微调,仅仅是增加作为条件输入的示例数量。

总体而言,在NLP任务上,GPT-3在零示例和单次示例设置中取得了令人鼓舞的结果,在少量示例设置中,有时甚至与最先进的微调模型竞争甚至偶尔超越最先进水平。例如,GPT-3在零示例设置中在CoQA上取得了81.5的F1,在单次示例设置中取得了84.0的F1,在少量示例设置中取得了85.0的F1。类似地,GPT-3在零示例设置中在TriviaQA上达到了64.3%的准确率,在单次示例设置中达到了68.0%,在少量示例设置中达到了71.2%,最后一项在相同的闭卷设置下与微调模型的最先进水平相当。

GPT-3还显示出在测试快速适应性或即时推理任务上的单次示例和少量示例的熟练度,这些任务包括打乱单词、执行算术运算以及在只看过一次定义后在句子中使用新词。我们还展示了在少量示例设置中,GPT-3可以生成合成新闻文章,评估者难以区分这些文章与人类生成的文章。

同时,我们也发现了一些任务,即使在GPT-3的规模下,少量示例性能也存在困难。这包括自然语言推理任务,如ANLI数据集,以及一些阅读理解数据集,如RACE或QuAC。通过展示GPT-3的优点和缺点,包括这些限制,我们希望能够激发对语言模型中少量示例学习的研究,并引起对最需要进展的领域的关注。

整体结果的启发性概览可以在图1.3中看到,该图汇总了各种任务(尽管本身不应被视为严格或有意义的基准)。

我们还系统地研究了“数据污染”——这是在使用如Common Crawl等数据集训练高容量模型时越来越严重的问题,因为这些数据集可能包含测试数据集中的内容,原因是这些内容经常出现在网络上。在本文中,我们开发了系统工具来测量数据污染并量化其扭曲效应。尽管我们发现数据污染对GPT-3在大多数数据集上的性能影响微乎其微,但我们确实发现有几个数据集可能会夸大结果,我们要么不报告这些数据集上的结果,要么根据严重程度用星号标注。

除了以上所有内容,我们还训练了一系列较小的模型(参数范围从1.25亿到130亿),以便在零示例、单次示例和少量示例设置中将它们的性能与GPT-3进行比较。总体而言,我们发现对于大多数任务,在这三种设置中,模型容量与性能之间呈现出相对平滑的扩展;一个显著的模式是,零示例、单次示例和少量示例性能之间的差距通常随着模型容量的增加而扩大,这可能表明更大的模型是更熟练的元学习者。

最后,鉴于GPT-3展示的广泛能力,我们讨论了偏见、公平性和更广泛的社会影响问题,并尝试对GPT-3在这方面的特性进行初步分析。

本文其余部分的组织如下:在第2节中,我们描述了训练GPT-3和评估其方法。在第3节中,展示了在零示例、单次示例和少量示例设置中的全部任务结果。第4节探讨了数据污染(训练-测试重叠)的问题。第5节讨论了GPT-3的局限性。第6节讨论了更广泛的影响。第7节回顾了相关工作,第8节总结全文。

2 方法

我们的基本预训练方法,包括模型、数据和训练,与[ RWC + 19 ]中描述的过程相似,主要是对模型规模、数据集规模和多样性、训练时长进行相对直接的扩展。我们对上下文学习的使用也类似于[ RWC + 19 ],但在这项工作中,我们系统地探索了在上下文中学习的不同设置。因此,我们从明确定义和对比我们将评估GPT-3的不同设置开始。这些设置可以被视为它们在多大程度上依赖于任务特定数据的一个谱。具体来说,我们可以在这个谱上确定至少四个点(见图2.1的插图):

  • 微调(Fine-Tuning,FT)是近年来最常见的方法,涉及通过在特定于所需任务的监督数据集上训练来更新预训练模型的权重。通常使用成千上万到数十万个标记示例。微调的主要优点是在许多基准上表现出色。主要缺点是每个任务都需要一个新的大型数据集、跨分布泛化能力差[ MPL19 ]、以及可能利用训练数据的虚假特征[ GSL + 18 , NK19 ],可能导致与人类表现的不公平比较。在这项工作中,我们不微调GPT-3,因为我们专注于任务无关的性能,但GPT-3原则上可以进行微调,这是未来工作的一个有前途的方向。

  • 少量示例(Few-Shot,FS)是我们在这项工作中使用的术语,指的是在推理时为模型提供一些任务演示作为条件[ RWC + 19 ],但不允许进行权重更新。如图2.1所示,对于一个典型的数据集,一个示例有一个上下文和一个期望的完成(例如一个英文句子和法文翻译),少量示例通过提供K个上下文和完成的示例,然后是一个最终的上下文示例,模型预计提供完成。我们通常将K设置在10到100之间,因为这是模型的上下文窗口( n c t x = 2048 n_{ctx} = 2048 nctx=2048)可以容纳的示例数量。少量示例的主要优点是大大减少了对任务特定数据的需求,并减少了从大型但狭窄的微调数据集中学习过于狭窄分布的潜力。主要缺点是这种方法的结果迄今为止远不如最先进的微调模型。此外,仍然需要少量的任务特定数据。正如名称所示,这里描述的用于语言模型的少量示例学习与在其他ML上下文中使用的少量示例学习相关[ HYC01 , VBL + 16 ]——两者都涉及基于广泛任务分布(在本例中隐含在预训练数据中)学习,然后快速适应新任务。

  • 单次示例(One-Shot,1S)与少量示例相同,只允许一个演示,此外还有一个自然语言描述任务,如图1所示。将单次示例与少量示例和零示例区分开的原因是,它最接近某些任务传达给人类的方式。例如,当要求人类在一个人类工人服务(如Mechanical Turk)上生成一个数据集时,通常会给出一个任务示例。相比之下,如果不给出任何示例,有时很难传达任务的内容或格式。

  • 零示例(Zero-Shot,0S)与单次示例相同,只是不允许任何演示,仅给模型一个描述任务的自然语言指令。这种方法提供了最大的便利性、潜在的稳健性以及避免虚假相关性的可能性(除非它们在大规模预训练数据集中非常广泛地出现),但也是最具挑战性的设置。在某些情况下,即使对人类来说,如果没有先前的示例也难以理解任务的格式,所以这种设置在某些情况下是“极其困难的”。例如,如果有人被要求“制作一张200米短跑世界纪录的表格”,这可能是模棱两可的,因为不清楚表格的确切格式或应该包含什么(即使进行了仔细澄清,准确理解所需的内容也可能很困难)。尽管如此,至少在某些设置中,零示例与人类执行任务的方式最为接近——例如,在图2.1的翻译示例中,人类可能仅从文本指令中就知道该做什么。

图2.1展示了使用英译法的示例的四种方法。在本文中,我们专注于零示例、单次示例和少量示例,目的是将它们作为不同的设置进行比较,而不是作为竞争的替代方案,这些设置在特定基准上的性能和样本效率之间提供了不同的权衡。我们特别强调了少量示例的结果,因为其中许多结果仅略低于最先进的微调模型。最终,单次示例,甚至有时是零示例,看起来是与人类性能最公平的比较,也是未来工作的重要目标。

下文的第2.1-2.3节分别详细介绍了我们的模型、训练数据和训练过程。第2.4节讨论了我们如何进行少量示例、单次示例和零示例评估的细节。

在这里插入图片描述
图2.1:零示例、单次示例和少量示例,与传统微调的对比
上图展示了使用语言模型执行任务的四种方法——微调是传统方法,而零示例、单次示例和少量示例(我们在这项工作中研究的)要求模型在测试时仅通过前向传递执行任务。在少量示例设置中,我们通常为模型提供几十个示例。所有任务描述、示例和提示的确切措辞可在附录G中找到。

在这里插入图片描述
这些参数代表的是用于描述和训练GPT-3模型的各种重要特性和超参数。以下是对每个参数的解释:

  1. n params (参数数量): 模型中所有可训练参数的总数。这些参数决定了模型的复杂度和能力。例如,GPT-3 Small 有 125M (百万) 个参数,而 GPT-3 175B 有 175B (十亿) 个参数。

  2. n layers (层数): 模型中的Transformer层的数量。每一层都包括一个多头注意力机制和一个前馈神经网络。层数越多,模型越深,通常也越强大。

  3. d model (模型维度): 每一层中隐藏状态的维度。这个参数表示每一个隐藏状态向量的大小。例如,GPT-3 Small 的模型维度是 768,而 GPT-3 175B 的模型维度是 12288。

  4. n heads (注意力头数): 每一层中多头注意力机制的头数。注意力头数越多,模型能够从更多角度“看”数据,捕捉到更多的复杂关系。例如,GPT-3 Small 有 12 个头,而 GPT-3 175B 有 96 个头。

  5. d head (每个头的维度): 每个注意力头的维度。这个参数表示每一个注意力头的向量大小。例如,GPT-3 Small 中每个头的维度是 64,而 GPT-3 XL 中每个头的维度是 128。

  6. Batch Size (批量大小): 训练过程中每一步处理的数据样本数量。在表中,它表示为以token为单位的批量大小。例如,GPT-3 Small 和 Medium 的批量大小是 0.5M (50万) tokens,而 GPT-3 175B 的批量大小是 3.2M (320万) tokens。

  7. Learning Rate (学习率): 模型训练中使用的学习率。学习率决定了模型参数在每次更新中的变化幅度。例如,GPT-3 Small 的学习率是 6.0 × 10^{-4},而 GPT-3 175B 的学习率是 0.6 × 10^{-4}。

这些参数共同决定了GPT-3模型的架构、性能和训练过程中的效率。

2.1 模型和架构

我们使用与GPT-2 [ RWC + 19 ]相同的模型和架构,包括其中描述的修改初始化、预归一化和可逆标记化,唯一的例外是我们在变压器层中使用交替的密集和局部带状稀疏注意力模式,类似于稀疏变压器 [ CGRS19 ]。为了研究机器学习性能对模型规模的依赖性,我们训练了8种不同规模的模型,参数范围跨越三个数量级,从1.25亿到1750亿参数,最后一个是我们称之为GPT-3的模型。先前的研究 [ KMH + 20 ] 表明,在有足够训练数据的情况下,验证损失的扩展应大致呈现为平滑的幂律函数;训练许多不同规模的模型允许我们测试这一假设,不仅对验证损失,还包括下游语言任务。

表2.1展示了我们8个模型的规模和架构。这里, n p a r a m s n_{params} nparams是可训练参数的总数, n l a y e r s n_{layers} nlayers是层的总数, d m o d e l d_{model} dmodel是每个瓶颈层的单元数(我们总是将前馈层的大小设为瓶颈层的四倍, d f f = 4 ∗ d m o d e l d_{ff} = 4 * d_{model} dff=4dmodel), d h e a d d_{head} dhead是每个注意力头的维度。所有模型都使用一个上下文窗口, n c t x = 2048 n_{ctx} = 2048 nctx=2048个标记。我们在深度和宽度维度上将模型分布在GPU上,以最小化节点之间的数据传输。每个模型的精确架构参数是基于计算效率和在GPU布局中的负载平衡选择的。先前的研究 [ KMH + 20 ] 表明,在合理的宽范围内,验证损失对这些参数并不强烈敏感。

2.2 训练数据集

语言模型的数据集迅速扩展,最终形成了Common Crawl数据集2 [ RSR + 19 ],包含近一万亿个单词。这个规模的数据集足以训练我们最大的模型,而无需在同一个序列上进行两次更新。然而,我们发现未过滤或轻度过滤的Common Crawl版本往往比更多精心策划的数据集质量较低。因此,我们采取了三步来提高数据集的平均质量:(1) 我们下载并过滤了一个基于与一系列高质量参考语料库相似性的CommonCrawl版本,(2) 我们在文档级别进行模糊去重,跨数据集内外,以防止冗余,并保持我们保留的验证集的完整性作为过拟合的准确测量,(3) 我们还添加了已知的高质量参考语料库到训练混合中,以增强CommonCrawl并增加其多样性。

前两点(Common Crawl的处理)的详细信息在附录A中描述。对于第三点,我们添加了几个精心策划的高质量数据集,包括一个扩展版的WebText数据集 [ RWC + 19 ],通过更长时间的链接抓取收集而来,首次在[ KMH + 20 ]中描述,两个基于互联网的书籍语料库(Books1和Books2)和英文维基百科。

表2.2显示了我们在训练中使用的数据集的最终混合。CommonCrawl数据来自2016年至2019年覆盖的41个每月CommonCrawl分片,在过滤前构成了45TB的压缩纯文本,过滤后为570GB,约相当于4000亿个字节对编码的标记。请注意,在训练期间,数据集的抽样不是按其大小的比例,而是我们认为质量较高的数据集被更频繁地抽样,因此CommonCrawl和Books2数据集在训练期间被抽样不到一次,而其他数据集被抽样2-3次。这本质上是在接受少量过拟合以换取更高质量的训练数据。

在这里插入图片描述
图2.2:训练期间使用的总计算量
基于《神经语言模型的扩展定律》 [ KMH + 20 ] 中的分析,我们在更少的标记上训练了更大规模的模型。结果,尽管GPT-3 3B的规模几乎是RoBERTa-Large(355M参数)的10倍,但两者在预训练期间都消耗了大约50 petaflop/s-days的计算量。这些计算的具体方法可以在附录D中找到。

在这里插入图片描述
表2.2:用于训练GPT-3的数据集
“训练混合权重”指的是训练期间从给定数据集中抽取的示例比例,我们故意不按数据集的大小进行比例分配。结果是,当我们训练3000亿个标记时,一些数据集在训练期间最多被看到3.4次,而其他数据集则不到一次。

使用大规模互联网数据预训练的语言模型,尤其是那些能够记住大量内容的大型模型,一个主要方法学问题是下游任务可能被预训练时无意中看到的测试或开发集内容污染。为了减少这种污染,我们搜索并尝试移除所有研究基准中的开发和测试集的重叠部分。不幸的是,由于过滤中的一个错误,我们忽略了一些重叠部分,并且由于训练成本高,重新训练模型不可行。在第4节中,我们描述了剩余重叠的影响,并且在未来的工作中我们将更积极地去除数据污染。

2.3 训练过程

正如[ KMH + 20 , MKAT18 ]所发现的,更大的模型通常可以使用更大的批量大小,但需要较小的学习率。我们在训练过程中测量了梯度噪声规模,并用它来指导我们选择批量大小[ MKAT18 ]。表2.1显示了我们使用的参数设置。为了在训练较大模型时不耗尽内存,我们在每个矩阵乘法内使用模型并行性,并在网络层之间使用模型并行性。所有模型均在Microsoft提供的高带宽集群中的V100 GPU上进行训练。训练过程和超参数设置的详细信息见附录B。

2.4 评估

对于少量示例学习,我们通过从该任务的训练集中随机抽取K个示例作为条件来评估评估集中的每个示例,具体由1或2个换行符分隔,具体取决于任务。对于LAMBADA和Storycloze,没有可用的监督训练集,因此我们从开发集中抽取条件示例并在测试集上进行评估。对于Winograd(原版,而不是SuperGLUE版本),只有一个数据集,因此我们直接从中抽取条件示例。

K的值可以从0到模型上下文窗口允许的最大值不等,对于所有模型来说,这个值为 n c t x = 2048 n_{ctx} = 2048 nctx=2048,通常适合10到100个示例。较大的K值通常更好,但并不总是如此,因此当有单独的开发集和测试集时,我们在开发集上试验几个K值,然后在测试集上运行最佳值。对于某些任务(见附录G),我们还使用自然语言提示(对于K=0的情况,则不使用演示)。

对于涉及从多个选项中选择一个正确完成的任务(多项选择),我们提供K个上下文加正确完成的示例,然后提供一个上下文示例,并比较每个完成的语言模型似然性。对于大多数任务,我们比较每个标记的似然性(以规范化长度),但在少量数据集(ARC、OpenBookQA和RACE)上,我们通过规范化每个完成的无条件概率来获得额外的好处,如在开发集上测量的那样,计算
P ( completion ∣ context ) P ( completion ∣ answer context ) \frac{P(\text{completion}|\text{context})}{P(\text{completion}|\text{answer context})} P(completionanswer context)P(completioncontext)
其中,answer context是字符串“Answer: ”或“A: ”,用于提示完成应为答案,但在其他方面是通用的。

对于涉及二元分类的任务,我们给选项起更语义化的名称(例如“True”或“False”而不是0或1),然后将任务视为多项选择;我们有时也会将任务框架类似于[ RSR + 19](详见附录G)。

对于自由形式完成的任务,我们使用与[ RSR + 19 ]相同参数的束搜索:束宽为4,长度惩罚为 α = 0.6 \alpha = 0.6 α=0.6。我们使用F1相似度得分、BLEU或精确匹配来评分模型,具体取决于数据集的标准。

最终结果在公开可用的测试集上报告,对于每个模型规模和学习设置(零次、单次和少量示例)。当测试集是私有时,我们的模型通常太大而无法放入测试服务器,因此我们在开发集上报告结果。我们确实在少量数据集(SuperGLUE、TriviaQA、PiQa)上提交测试服务器,并仅提交200B少量示例结果,其他所有内容都报告开发集结果。

3 结果

在图3.1中,我们展示了第2节描述的8个模型的训练曲线。对于此图,我们还包括了6个额外的小型模型,参数数量少至100,000。正如[ KMH + 20 ]观察到的那样,语言建模性能在高效使用训练计算时遵循幂律。将这一趋势扩展两个数量级后,我们观察到仅有轻微(如果有的话)偏离幂律。有人可能担心这些交叉熵损失的改进仅来自于对训练语料库虚假细节的建模。然而,我们将在以下各节中看到,交叉熵损失的改进在广泛的自然语言任务中带来了持续的性能提升。

在下文中,我们评估了第2节描述的8个模型(1750亿参数的GPT-3和7个较小的模型)在广泛的数据集上。我们将数据集分为9类,代表大致相似的任务。

在第3.1节中,我们评估了传统语言建模任务和类似语言建模的任务,如完形填空任务和句子/段落完成任务。在第3.2节中,我们评估了“闭卷”问答任务:需要使用存储在模型参数中的信息来回答一般知识问题的任务。在第3.3节中,我们评估了模型在语言之间翻译的能力(特别是单次示例和少量示例)。在第3.4节中,我们评估了模型在Winograd Schema类任务上的表现。在第3.5节中,我们评估了涉及常识推理或问答的数据集。在第3.6节中,我们评估了阅读理解任务,在第3.7节中,我们评估了SuperGLUE基准套件,并在第3.8节中简要探讨NLI。最后,在第3.9节中,我们设计了一些额外的任务,特别是为了探测上下文学习能力——这些任务侧重于即时推理、适应技能或开放式文本生成。我们在少量示例、单次示例和零示例设置中评估所有任务。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/29858.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

走进Web3时代的物联网领域:科技的无限可能

随着Web3技术的迅速发展,物联网(IoT)领域正迎来一场深刻的变革。本文将深入探讨Web3时代如何重新定义物联网的边界和未来发展的无限可能性,从技术原理到应用案例,为读者呈现一个充满挑战和机遇的全新科技景观。 1. Web…

mediasoup源码分析(三)channel创建及信令交互

mediasoup源码分析--channel创建及信令交互 概述跨职能图业务流程图代码剖析 概述 在golang实现mediasoup的tcp服务及channel通道一文中,已经介绍过信令服务中tcp和channel的创建,本文主要讲解c中mediasoup的channel创建,以及信令服务和medi…

如何避免接口重复请求(axios推荐使用AbortController)

前言: 我们日常开发中,经常会遇到点击一个按钮或者进行搜索时,请求接口的需求。 如果我们不做优化,连续点击按钮或者进行搜索,接口会重复请求。 以axios为例,我们一般以以下几种方法为主: 1…

【Pmac】PMAC QT联合开发中各种可能遇到的坑

目录 1. 错误 C2027 使用了未定义类型“PCOMMSERVERLib::DEVUPLOAD”2. 输入了正确的pmac的ip地址,没有显示可选的pmac设备3. Pmac DTC-28B无读数 使用QT编写PMAC上位机程序时,利用QT中的dump工具可以将pcommserver.exe转化为pcommserverlib.h和pcommser…

调度算法-内存页面置换算法

缺⻚异常(缺⻚中断) 与⼀般中断的主要区别在于: 缺⻚中断在指令执⾏「期间」产⽣和处理中断信号,⽽⼀般中断在⼀条指令执⾏「完成」后检查和处理中断信号。缺⻚中断返回到该指令的开始重新执⾏「该指令」,⽽⼀般中断返…

【HarmonyOS】鸿蒙应用模块化实现

【HarmonyOS】鸿蒙应用模块化实现 一、Module的概念 Module是HarmonyOS应用的基本功能单元,包含了源代码、资源文件、第三方库及应用清单文件,每一个Module都可以独立进行编译和运行。一个HarmonyOS应用通常会包含一个或多个Module,因此&am…

我主编的电子技术实验手册(08)——串联电阻分压

本专栏是笔者主编教材(图0所示)的电子版,依托简易的元器件和仪表安排了30多个实验,主要面向经费不太充足的中高职院校。每个实验都安排了必不可少的【预习知识】,精心设计的【实验步骤】,全面丰富的【思考习…

Golang——gRPC认证和拦截器

一. OpenSSL 1.1 介绍 OpenSSL是一个开放源代码的软件库包,用于支持网络通讯过程中的加密。这个库提供的功能包含了SSL和TLS协议的实现,并可用于生成密钥、证书、进行密码运算等。 其组成主要包括一下三个组件: openssl:多用途的命…

有效招聘营销策略的六个组成部分

任何想吸引更多人购买其产品的公司都必须投资于市场营销。然而,当涉及到让更多的人了解公司的工作时,许多有效的营销活动可能不是招聘团队的首要考虑因素。为了超越招聘委员会上的“发布祈祷”策略,有必要包括有效招聘营销策略的所有组成部分…

车联网车载设备

智能网联主要通过OBU(On Board Unit,车载单元)实现。OBU是一种安装在车辆上用于实现V2X通信的硬件设备,可实现和其他车辆OBU(PC5)、路侧RSU(PC5)、行人(PC5)和V2X平台&am…

基于Redis实现共享session登录

搭配食用:Redis(基础篇)-CSDN博客 项目实现前的 Mysql中的表: 表说明tb_user用户表tb_user_info用户详情表tb_shop商户信息表tb_shop_type商户类型表tb_blog用户日记表(达人探店日记)tb_follow用户关注表tb_voucher优…

if/case条件测试语句

一 条件测试 1.1返回码 $? $? 返回码 用来哦按段命令或者脚本是否执行成功 0 true为真就是成功成立 非0 false 失败或者异常 1.2 test 命令 可以进行条件测试 然后根据返回值来判断条件是否成立 -e :exist 测试目录或者目录是否存在 -d : director…

【产品经理】订单处理6-审单方案

电商系统中订单管理员会对特殊类型的订单进行审核,普通订单则自动审核,本节讲述自动审单方案、手动审单以及加急审单。 一、自动审单 自动审单方案可按照方案形式制定,可一次性制定多套审单方案。 1. 审单通过条件有 执行店铺&#xff…

同三维T80006EHL-4K30CN 单路4K30 HDMI编码器(全国产化)

同三维T80006EHL-4K30CN 单路4K30 HDMI编码器 带1路HDMI环出和1路3.5音频输入,支持4K30,所有元器件全国产 一、 产品简介: T80006EHL-4K30CN 4K编码器(采集盒)是一款全国产化的专业4K HDMI音视频编码产品,…

2024年先进机械电子、电气工程与自动化国际学术会议(ICAMEEA 2024)

2024年先进机械电子、电气工程与自动化国际学术会议(ICAMEEA 2024) 2024 International Conference on Advanced Mechatronic, Electrical Engineering and Automation 会议地点:杭州,中国 网址:www.icameea.com 邮箱: icameeasub-conf.c…

5.How Fast Should You Be When Learning?(你应该用多快的速度学习?)

Normally when I talk about learing quickly, I’m using speed as a synonym for efficiency.Use more effective methods and you’ll learn more in less time.All else being equal, that means you’re learing faster. 通常我在谈到快速学习时,是把“速度&qu…

【自记录】记一台i7四代老爷笔记本重装Win10 22H2

1 背景 手上有一台退役的老爷笔记本,清华同方锋锐 U430。因为比较轻便,最近重新翻出来用于临时抓个包和简单的脚本语言(比方说Python)编辑工作。但是现在像VSCode的新版本都要求Win10以上,像Continue这类的AI插件都跑…

ssh-add id_rsa_gitlab1 Error connecting to agent: No such file or directory

ssh-add id_rsa_gitlab1 Error connecting to agent: No such file or directory 目录 ssh-add id_rsa_gitlab1 Error connecting to agent: No such file or directory1. 启动 SSH 代理2. 添加 SSH 密钥3. 使用 Git Bash 或其他终端4. 使用 Pageant(适用于 PuTTY 用…

基于DDD的编码实践

分层设计 领域驱动设计(Domain-driven design, DDD) 作为一种复杂软件系统的应对方案,在设计和编码提供了一种新的解决方式,即领域驱动,要求程序员在设计和编码时从领域专家的角度出发来实现架构/代码,做到…

工作随机:oracle集群下的vip intermediate,failed over处理

文章目录 前言一、问题排查二、恢复db2使用1.确认db2 vip状态2.恢复db2 的vip3.检查监听: 前言 在对数据库进行巡检发现,集群中一个节点的备份没有执行,未生成当天的任何日志,查询/var/spool/oracle 信息发现提示:no …