1542M=1.542B=15.42亿个
背景和动机
1.GPT-1在特定自然语言理解任务标注较少情况下,通过利用大量无标注数据,取得较强性能
2.BERT性能超越GPT-1,GPT-2通过构建更大数据集和模型,同时在zero-shot的多任务学习场景中展示不错性能
创新
GPT-2创新: 1.实现zero-shot 的多任务学习 2.创建WebText数据集: 百万级文本数据集800万个文档,40GB(训练数据大且更加多样化,包含不同领域知识)
GPT-2在做下游任务时,无需任何标注信息,无需任何参数或架构的修改,无监督的语言模型直接进行下游任务,不受数据分布改变的影响
GPT-2模型本身没有太大变化和创新,适配各种任务的方式是比较大的突破,prompt
zero-shot情况下,如何实现不同任务下游任务?
GPT-1在下游任务finetune时,构建结构化指令,如Start和Extract识别符,用以区分不同任务。
GPT-2中没有finetune阶段,无各种特殊字符,那么怎么区分不同下游任务呢?提示prompt!
作者认为,下游任务(有监督训练)可以视为预训练(无监督训练)的一个自己。无监督目标的全局最优解也是有监督训练的全局最优解。
当预训练模型足够大时,无监督训练任务训练好了,有监督的下游任务即不再需要额外训练,即所谓的“zero-shot”。
足够大的语言模型能够在无监督的预训练后做下游任务,但学习速度比显示监督方法慢得多。
怎么做下游任务:下游任务预先告之模型,“translate English to Chinese”,即给模型一个提示,prompt(可以被认为是一个特殊的分隔符)。
为什么加入prompt就可以理解不同任务了?
加入prompt能zero-shot完成下游任务。原因是在预训练模型的输入数据中,可能就包括一些和下游任务 Prompt 很像的文本。例如,如果预训练模型的输入数据中有
“你好”翻译成英文是 Hello,那么,在下游任务中,将 Prompt 设为“翻译成英文”,模型就能理解下游任务是要做什么了。
GPT-2模型结构
GPT1&GPT2
自回归工作方式
目标函数来最大化:
k 是上下文窗口的大小,模型看到前面 k 个词,然后预测下一个词是什么,再根据真实的下一个词来计算误差,并使用随机梯度下降来训练。
GPT-1、GPT-2的模型结构基于Transformer decoder,GPT-2变化:
(1)调整Transformer的decoder: 将归一化层移动到block的输入位置并且在最后一个self-attention之后加了一层归一化Layer Normalization,顺序为LN、self-attention、LN。
(2)改进初始化方法:考虑残差路径和模型深度的累积。初始化将residua layers的权重按照1/sqrt(N)因子进行缩放,N为residua layers数量。
(3)数据量扩增:GPT1:约5GB,GPT2:40GB,并且质量更高。
(4)词典被扩展到了50257,context的维度从512提高到了1024,并且batchsize采用了512。
(5)去掉了Fine-tune部分:使用了完全的无监督训练。这样使得预训练和Fine-tuning的结构完全一致。
(6)堆叠的层数增加:GPT-1使用的12层,GPT2分别使用了GPT-2 Small:12、GPT-2 Medium:24、GPT-2 Large:36、GPT-2 Extra Large:48层。
实验
通过8个方面的评估
(1) Language Modeling
语言建模的一个主要目标就是在zero-shot情况下提升表现,GPT-2系列的模型在8个zero-shot数据集中7个达到了sota。
(2)Children’s Book Test
儿童图书测试(CBT)检验语言模型在不同类别的词上的表现,比如命名实体、名词、动词和介词。主要是以完型填空的形式,让语言模型去预测10个选项中哪个最可能是正确的。GPT-2的做法是预测每个选项为这个空缺的概率,并取概率最高的为预测选项。
(3)LAMBADA
LAMBADA数据集测试模型对文本中长期依赖关系的建模能力。任务是预测最后一个单词,对于人来说想要预测准确必须了解至少50个token的context。
(4)Winograd Schema Challenge
Winograd Schema挑战旨在通过测量模型解决文本中的歧义的能力来衡量其进行常识推理的能力。
(5)Reading Comprehension
CoQA数据集由7个不同领域的文档和关于文档的自然语言对话组成,测试阅读理解能力和模型回答依赖于对话历史的问题的能力。
(6)Summarization
摘要标题。
(7)Translation
英语->法语、法语->英语。
(8)Question Answering
Natural Questions dataset问答能力测试。