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

news2024/11/24 13:10:20

论文:
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.coloradmin.cn/o/1834455.html

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

相关文章

国内外LabVIEW开发的区别

​分析国内外在LabVIEW开发中的差异需要从多个方面进行比较,包括界面设计、架构设计、注释与文档、调试方法、维护策略以及升级与迭代管理等。 界面设计: 国外的LabVIEW界面设计通常更加注重用户体验和视觉美观,使用现代化的控件和布局&…

基于ResNet-18的简单分类(新手,而且网络效果不咋滴,就是学个流程)

引言 先看问题: 我手边有一数据集,然后我想分分类!~~ 咳咳,最近刚做了一个:训练集有1143张,分为5类,里面图片是打乱的。测试集有248张,想把它分分类看看咋样。 再看一下效果: …

mellanox HCA IB网卡固件更新

注意事项: 1.如果PSID以SGN开头,说明该产品是曙光的OEM产品,可以向HPC高速网络部获取固件。如果PSID以MT开头,说明该产品是Mellanox或nvidia的标准产品,可以通过官网下载固件。 2.通过官网获取固件,一定要…

Nginx缓存之web缓存配置

Web 缓存可节约网络带宽,有效提高用户打开网站的速度。由于应用服务器被请求次数的降低,也相对使它的稳定性得到了提升。Web 缓存从数据内容传输的方向分为前向位置缓存和反向位置缓存两类。如下图所示。 前向位置缓存既可以是用户的客户端浏览器&#x…

【免费API推荐】:轻松集成,为您的应用增添更多价值(9)

开发者喜爱的免费API是他们在开发过程中最宝贵的伙伴。这些API提供了丰富的功能和数据,帮助开发者构建出令人惊叹的应用。无论是地图服务、社交媒体集成、数据分析还是人工智能,这些免费API为开发者提供了强大的工具和资源,让他们能够更轻松地…

任务4.8.3 利用SparkSQL统计每日新增用户

实战概述:利用SparkSQL统计每日新增用户 任务背景 在大数据时代,快速准确地统计每日新增用户是数据分析和业务决策的重要部分。本任务旨在使用Apache SparkSQL处理用户访问历史数据,以统计每日新增用户数量。 任务目标 处理用户访问历史数…

兴业法拍网周报|在北京你是选择租房还是买房?(6.10-6.14)

西城区金融世家10号楼6单元801、803(共两套) 位置优越:金融世家所在区域位于国家政治中心和国家金融管理中心,是凝集国家“政经”的焦点。临近长安街、金融街、西二环交通动脉,道路通畅便捷,保值率高。 优质教资:附近…

Objective-C 学习笔记 | KVO(key-value obsereving)

Objective-C 学习笔记 | KVO(key-value obsereving) Objective-C 学习笔记 | KVO(key-value obsereving)使用 KVOKVO 的工作原理 Objective-C 学习笔记 | KVO(key-value obsereving) KVO 是指当指定的对象…

如何掌握 Java 中的国际化和本地化

随着全球化的发展,软件开发不仅要满足本地用户的需求,还要满足全球用户的需求。因此,软件的国际化(Internationalization,I18N)和本地化(Localization,L10N)显得尤为重要…

为什么网上这么多破解 Intellij IDEA 的工具,但是官方却不管呢?

大家好,我是小2,一个程序员~ 程序员小2 每天一篇技术重磅好文,涉及一线互联网大厂应用架构(高可用、高性能、高稳定),AI、大数据、java架构等热门领域。 112篇原创内容 公众号 来源:Java知音…

【代码随想录——动态规划——第五周】

1.单词拆分 func wordBreak(s string, wordDict []string) bool {n : len(s)dp : make([]bool, n1)dp[0] truefor j : 0; j < len(wordDict); j {if len(wordDict[j]) > n {continue}if wordDict[j] s[:len(wordDict[j])] {dp[len(wordDict[j])] true}}//fmt.Println(…

Facebook与地方文化:数字平台的多元表达

在当今数字化时代&#xff0c;社交媒体不仅仅是人们交流的工具&#xff0c;更是促进地方文化传播和表达的重要平台。作为全球最大的社交网络之一&#xff0c;Facebook在连接世界各地用户的同时&#xff0c;也成为了地方文化多元表达的重要舞台。本文将深入探讨Facebook如何通过…

简单通用防篡改水印组件封装(vue3)

一、项目结构 二、项目代码 1.App.vue <template><div class"container"><Watermark text"版权所有"><div class"content"></div></Watermark><Watermark text"禁止转载" style"backgr…

【MongoDB 新搭档 Kafka】

对于做过数据处理&#xff0c;使用过消息队列的小伙伴 &#xff0c;Kafka可以算是老朋友了&#xff0c;但是最近一个场景下&#xff0c;新的用法&#xff0c;让其变为了MongoDB的新搭档。 开始 从一个问题开始&#xff0c;熟悉MongoDB的小伙伴&#xff0c;可能使用过changeSt…

消息队列-Rabbit运行机制

Producer(生产者) 和 Consumer(消费者) Producer(生产者) :生产消息的一方&#xff08;邮件投递者&#xff09;Consumer(消费者) :消费消息的一方&#xff08;邮件收件人&#xff09; 消息一般由 2 部分组成&#xff1a;消息头&#xff08;或者说是标签 Label&#xff09;和 …

ABAP程序示例:如何用ABAP显示图形?

在SAP ERP 系统中&#xff0c;对于用户来说&#xff0c;一般都是用ABAP来开发自己报表或事务&#xff0c;用WRITE输出报表或用ALV来显示报表。可否将报表中的相关数据用类似如下图形来显示呢&#xff1f; 以下为示例代码&#xff1a; REPORT ZPR_GRAPHS.DATA: BEGIN OF ITAB_…

每日AI资讯-20240617

1. Meta AI的NLLB-200登上Nature Meta AI在社交媒体X上宣传自家的大模型NLLB&#xff0c;全称为No Language Left Behind&#xff0c;这个AI模型能够翻译200种语言&#xff0c;包括资源匮乏的语言&#xff0c;更难得的是&#xff0c;NLLB模型可以免费提供给非商业用途。 这项研…

PostgreSQL源码分析——initdb

数据库初始化 在安装完数据库后&#xff0c;需要进行初始化数据库操作&#xff0c;对应PostgreSQL数据库中就是需要进行initdb后&#xff0c;才能对数据库进行启动。initdb的过程&#xff0c;其实就是创建数据库实例的过程&#xff0c;生成模板数据库和相应的目录、文件信息&a…

一文读懂-Linux用户和权限

前言 最近换了台公司配的电脑&#xff0c;我的电脑本来就快坏了&#xff0c;结果放家里的门上挂着&#xff0c;pia的一下&#xff0c;摔了&#xff0c;a壳和b壳直接分离掉了&#xff08;还好公司给配的电脑配置挺高的&#xff09;&#xff0c; 仔细回顾了一下&#xff0c;已经…

Spring Cloud 专题-前言篇(1)

引言 随着微服务架构的兴起&#xff0c;Spring Cloud 作为一套基于 Spring Boot 实现的云应用开发工具集&#xff0c;为开发者提供了在分布式系统&#xff08;如配置管理、服务发现、断路器、智能路由、微代理、控制总线等&#xff09;中快速构建一些常见模式的能力。本篇文档…