前言
大家好,我是半虹,这篇文章来讲 GPT(Generative Pre-Training)
实际上,GPT包括一系列论文,具体有 :
GPT-1:Lmproving Language Understanding by Generative Pre-Training
GPT-2:Language Models are Unsupervised Multitask Learners
GPT-3:Language Models are Few-Shot Learners
目录
0 概述
1 介绍 GPT-1
2 介绍 GPT-2
3 介绍 GPT-3
正文
0 概述
GPT 本质上就是一个预训练语言模型,其用大规模无标注语料、以自回归的方式进行预训练
GPT 通过不断增加模型参数以及预训练语料规模进行更新迭代,并最终取得令人惊艳的效果
最后再来简单回顾一下,GPT 系列模型及其相关模型的发展历程
2017年06月,Transformer 横空出世,在自然语言处理领域中掀起轩然大波
2018年06月,GPT-1 正式发布,其用 Transformer 的解码器训练单向语言模型,引领预训练模型热潮
2018年10月,BERT随之发布,其用 Transformer 的编码器训练掩码语言模型,效果更超越 GPT-1
2019年02月,GPT-2 沿着原有路线,增加更多数据,扩展更大模型,尝试解决zero-shot 任务
2020年05月,GPT-3 是暴力出奇迹,深度挖掘预训练语言模型潜力,且最后在few-shot 任务表现优秀
下面我们将会逐一介绍,GPT 系列模型的详细内容及其细节
1 介绍 GPT-1
关键词:无标注文本、自监督学习
1.1 动机
在自然语言处理领域,存在各种各样的任务,这些任务都需要大量的标注数据进行训练才有不错的模型效果
但针对特定任务的高质量标注数据难以获得,通常都需要花费大量的人力物力才能得到数量不多的有效数据
另一方面,在目前的互联网上有海量的文本,但这些文本是没有针对特定任务做标注的,被称为无标注文本
所以很难将这些文本应用到特定任务的训练,这未免有些遗憾和浪费
基于此情,GPT-1 将预训练和微调的范式引入到自然语言处理领域,使得模型能够利用海量的无标注文本
具体来说就是先让模型在大规模无标注数据上针对通用任务进行训练,使模型具备理解语言的基础能力
然后将预训练好的模型在特定的有标注数据上针对下游任务进行微调,使模型能够适应不同的下游任务
其中最重要的是设计预训练任务让模型能够利用无标注文本进行训练,这关系到预训练模型基础能力的强弱
怎么利用无标注文本呢?GPT-1 的想法就是做语言模型,简单来说,就是根据之前的词语预测下一个词语
这是一个自监督的学习,因此不需要对文本做特殊的标注,只需要把要预测的词语掩盖就行
输入表示的示意图如下所示: