前言
本文简要介绍了GPT-3的背景,模型架构,训练数据以及训练方式部分。具体训练细节,实验结果很多,可以在用到的时候再看
Intro
本文剖析了pretrain-finetune架构存在的问题:
- 对于每个新的任务,都需要大量的标注数据
- 将表达能力更强的模型(预训练阶段要求用大模型)在比较窄的数据(微调阶段是在narrow数据分布上进行的)上训练是不合理的。大模型的效果并不能泛化到OOD数据上
- 人类在接触一个下游任务时不需要大量的训练样本,只需要对任务的描述或者几个例子就可以。我们希望NLP模型也能有这种多任务之间无缝衔接的能力
解决上述问题可行的方案:
-
meta-learning:模型在预训练阶段就学到了一系列方法,具备一系列能力。在预测阶段,我们利用这种能力来快速适配到下游任务中。
- 已经有人通过in-context learning这样做过了,但是效果不好
-
LLM: Transformer语言模型参数的每一次增大都会让文本理解能力和其他的NLP下游任务的性能得到提升,而且有证据显示,log损失函数,在模型规模增大后,保持平稳趋势。我们认为:in-context learning的能力也会随着模型参数的增大而增强
我们训练了一个175B的模型GPT-3,在3种设定下测试GPT-3的性能:
- few-shot learning(in-context learning): 允许一些样例(一般10到100个)出现在模型输入中
- one-shot learning: 只允许一个样例
- zero-shot learning: 不允许提供样例,只提供一个自然语言形式的指令
下图展示了在移除单词中多余符号任务
上,模型的表现
- GPT-3在zero-shot和one-shot设置下能取得不错的结果,在few-shot设定下有时能比得上甚至超过微调的SOTA模型
- zero-shot和one-shot设置的GPT-3能在快速适应和即时推理任务(单词整理、代数运算和利用只出现过一次的单词)中拥有卓越表现。
- few-shot设定下,GPT-3能生成人类难以区分的新闻稿
- few-shot设定下,GPT-3在一些自然语言推理任务(ANLI dataset),阅读理解(RACE, QuAC)上的性能有待提高
- 不同benchmark上的整体表现如下图所示
我们还训练了一些小模型(从125 million到13 billion),用于与GPT-3对比。对于大多数任务,在3种设定下,模型性能随大小相对平滑地增加。但是随着模型容量增大,few-shot相较于one,zero-shot的领先幅度变得更大,这说明大模型可能更适合作为meta-learners(larger models are more proficient meta-learners)。
Approach
本文的预训练方式GPT-2类似,只不过用了更大的模型,数据量,多样性以及训练时长,in-context learning的方式也相似。不过本文系统分析了不同设置对利用上下文学习的影响,这些设置可以看作对任务相关数据的依赖程度。
- Fine-tuning:本文并没有训练GPT-3的微调版本,因为主要关注的是task-agnostic性能
- Few-shot:在预测阶段提供一些样本,但并不进行参数更新。样本的数量是10到100(window size内可容纳的样本数目)
- One-shot:仅提供一个样本
- Zero-shot:不提供样本,只给一个用于描述任务的自然语言指令
下图是一个将英文翻译成法语任务的不同设定下的输入形式展示
本文的不同设定并不是为了相互比较,相互替代。而是在特定基准上,提供性能与采样效率之间权衡的不同问题设定。
Model and Architectures
模型结构,初始化方法,预归一化方法,tokenize方法与GPT-2相同,但在transformer中使用与Sparse Transformer中类似的注意力模式,不同模型参数设定如下表所示
- 所有模型的上下文窗口大小都是2048个tokens
Training Dataset
Common Crawl dataset包含近万亿单词,遍历一遍数据集就足够训练我们最大的模型。
- 然而,不进行数据清洗的数据集质量不高,采用以下三步清洗数据
- 下载数据集的一个版本,根据与一系列高质量参考语料库的相似性过滤了掉部分语料
- 在文档级别、数据集内部和数据集之间执行了模糊重复数据消除,以防止冗余,并保持我们的作为过拟合的准确度量的验证集的完整性。
- 将已知的高质量参考语料库添加到训练组合中,以增强Common Crawl并增加其多样性
使用训练数据的比例入下表所示
- 训练时数据不是按比列采样的,高质量的数据集会被采样更多次
- CommonCrawl和Books2采样少于一次,其他数据集被采样2-3次
Training Process
-
有研究表明,更大的模型通常用更大的batch size,但是需要更小的学习率。本文在训练中评估梯度噪音的大小来选择batch size
-
利用矩阵乘法与网络不同层的并行性来进行分布式训练文章来源:https://www.toymoban.com/news/detail-619907.html
-
在V100上训练文章来源地址https://www.toymoban.com/news/detail-619907.html
到了这里,关于【论文阅读】Language Models are Few-Shot Learners(GPT-3)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!