GPT3论文精读

总结

GPT3在模型架构上,主要是扩大了GPT2的参数;在论文创新内容上,提出了few-shot learning,GPT3能在少样本的提示上表现出不错的效果。

Abstract

扩大语言模型可以极大地提高与任务无关的少样本性能,有时甚至可以与先前最先进的微调方法达到差不多的效果。具体来说,我们训练了 GPT-3,这是一种具有 1750 亿个参数的自回归语言模型,是之前任何非稀疏语言模型的 10 倍,并测试了它在 few-shot 设置下的性能。对于所有任务,GPT-3 的应用无需任何梯度更新或微调,任务和少量样本完全通过与模型的文本交互来指定。1.GPT-3 在许多 NLP 数据集上取得了强大的性能,2.我们还确定了一些 GPT-3 的少量学习仍然陷入困境的数据集,以及一些 GPT-3 面临与大型网络语料库训练相关的方法论问题的数据集。3.我们发现GPT-3可以生成人类评估者难以与人类撰写的文章区分开来的新闻文章样本。

1 Introduction

近年来,NLP 系统中出现了预训练语言表示的趋势,以越来越灵活和与任务无关的方式应用于下游传输。
不足之处在于仍然需要特定于任务的数据集和特定于任务的微调:要在所需任务上实现强大的性能,通常需要对特定于该任务的数千到数十万个示例的数据集进行微调。具体为:

  1. 每个新任务都需要一个包含标号样例的大型数据集,这限制了语言模型的适用性
  2. 微调模型在特定基准上的性能,即使它看起来处于人类水平,也可能夸大基础任务的实际性能。因为可能预训练的数据恰好包括了下游测试的所有任务,如果换一个语种等,可能泛化性就没那么好了。
  3. 从日常人类的角度看,人类不需要大型监督数据集来学习大多数语言任务。
    提出了问题,自然需要解决的思路:
  4. 解决这些问题的一种潜在途径是meta-learning, 具体解决办法是使用in-context learning,使用预训练语言模型的文本输入作为任务规范的一种形式:该模型以自然语言指令和/或任务的一些演示为条件,然后期望通过预测接下来会发生什么来完成任务的进一步实例。虽然它已经显示出一些初步的希望,但这种方法取得的结果仍然远不如微调
  5. 模型的参数越大效果越好:模型的规模越大,in-context learning的能力也能相应地增加。

2 Approah

GPT3的基本预训练方法,包括模型、数据和训练,与GPT2 中描述的过程类似,相对直接地扩展模型大小、数据集大小和多样性以及训练长度

Zero-shot, one-shot and few-shot, contrasted with traditional fine-tuning

  • 微调 (FT) 是近年来最常用的方法,涉及通过在特定于所需任务的监督数据集上进行训练来更新预训练模型的权重。通常使用数千到数十万个标号数据。微调的主要优点是在许多基准测试中表现出色。主要缺点是每个任务都需要一个新的大型数据集,分布外泛化能力差,以及可能利用训练数据的虚假特征 ,可能导致与人类性能的不公平比较
  • Few-Shot (FS)指代在推理时对模型进行一些任务演示作为条件的设置,但不允许权重更新。对于典型的数据集,一个示例有一个上下文和一个期望的补全(例如,一个英语句子和法语翻译),并且通过给出 K 个上下文和完成的示例,通常将 K 设置在 10 到 100 的范围内,因为这是模型上下文窗口中可以容纳的示例数量 (nctx = 2048)。少样本的主要优点是大大减少了对特定任务数据的需求,并降低了从大型但狭窄的微调数据集中学习过窄分布的可能性。主要缺点是,到目前为止,这种方法的结果比最先进的微调模型差得多。此外,仍然需要少量特定于任务的数据
  • One-Shot (1S)是few-shot的特例,包括任务的自然语言描述和一次演示。区分单次、少次和零次的原因是,它与某些任务传达给人类的方式最接近。例如,当要求人类在人类工作器服务(例如 Mechanical Turk)上生成数据集时,通常会给出一个任务演示。相比之下,如果不给出示例,有时很难传达任务的内容或格式。
  • Zero-Shot (0S)与few-shot和zero-shot相同,只是不允许演示仅向模型提供描述任务的自然语言指令这种方法提供了最大的便利性、鲁棒性的潜力,并避免了虚假相关性。在某些设置中,零样本最接近人类执行任务的方式——例如,在图 2.1 中的翻译示例中,人类可能只从文本指令中知道该做什么。

2.1 model architecture

GPT3和GPT2的异同
相同点:使用与 GPT-2 相同的模型和架构,包括其中描述的修改初始化、预归一化和可逆标记化。
不同点:

  • GPT3在 transformer 的层中使用alternating dense and locally banded sparse
    attention patterns,类似于稀疏 Transformer 。
    GPT3训练了8个不同大小的模型,所有模型都使用 nctx = 2048 个令牌的上下文窗口。


    GPT3的8个模型

2.2 Training Dataset

GPT2探讨了,common crawl的数据是具有潜力的,可以被使用的,但是GPT2使用的是WebText数据集,并未使用common crawl,GPT3则使用了该数据。由于该数据的质量还是有很多问题,论文作者对其进行了很多处理:

  • 1 我们根据与一系列高质量参考语料库的相似性下载并过滤了 CommonCrawl 版本。
  • 2 我们在文档级别、数据集内和数据集之间执行了模糊重复数据删除,以防止冗余并保持我们保留的验证集的完整性,作为过度拟合的准确衡量标准,
  • 3 我们还在训练组合中添加了已知的高质量参考语料库,以增强 CommonCrawl 并增加其多样性。
    数据集选择和训练细节

2.3 Training Process

较大的模型通常可以使用更大的批量大小,但需要较小的学习率。我们在训练过程中测量梯度噪声尺度,并用它来指导我们选择批量大小

2.4 Evaluation

对于少量学习,我们通过从该任务的训练集中随机抽取 K 个示例作为条件来评估评估集中的每个示例,根据任务用 1 或 2 个换行符分隔。K 可以是从 0 到模型上下文窗口允许的最大量的任何值,对于所有模型,该值为 nctx = 2048,通常适合 10 到 100 个示例。对于某些任务,除了演示(或对于 K = 0,而不是)演示之外,我们还使用自然语言提示

8 Conclusion

我们提出了一个 1750 亿参数的语言模型,该模型在zero-shot、one-shot和few-shot设置中的许多 NLP 任务和基准测试中表现出强大的性能。我们记录了在不使用微调的情况下大致可预测的性能扩展趋势。我们还讨论了此类模型的社会影响。尽管存在许多局限性和弱点,但这些结果表明,非常大的语言模型可能是开发适应性强的通用语言系统的重要组成部分。

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

友情链接更多精彩内容