GPT-1,GPT-2,GPT-3三兄弟

前段时间大火的工具Github Copilot想必大家都略有耳闻,我们只需要输入一些注释说明你需要的函数功能,AI就会自动帮你编写完整的函数代码,代码逻辑、规范甚至比自己写的都好,可谓是让人瑟瑟发抖的结对编程好兄弟。

而这个工具背后的大boss就是参数量让人瑟瑟发抖的GPT-3语言模型。本文不仅介绍大哥大GPT-3,还对他的同胞兄弟GPT-1, GPT-2也进行介绍,讲解他们之间的演化过程。强烈推荐李沐老师的b站讲解视频,本文内容与之强相关,算是李沐老师讲解视频的一个笔记。

github copilot

首先,简要介绍下,孕育这三兄弟的机构是OpenAI

GPT-1:Improving Language Understanding by Generative Pre-Training
GPT-2:Language Models are Unsupervised Multitask Learners
GPT-3:Language Models are Few-Shot Learners

GPT-1 (生于2018年)

在自然语言处理任务中,存在大量无标签的语料数据,而有标签的语料数据相对较少,因此基于有监督训练的模型性能的提升大大受限于数据集。为了解决这个问题,作者提出先在大量的无标签数据上训练一个语言模型,然后再在下游具体任务的有标签数据集上进行fine-tune。

利用无标签数据的难点
  • 设计何种目标函数来学习文本表示。已有的各种目标函数和子任务的相关度比较高,没有说哪一种目标函数特别好。
  • 如何有效地把语言模型学到的文本表示迁移到下游子任务上。因为NLP领域的各种任务差别比较大,没有一个统一有效的方式使得一种文本表示能够很好地迁移到各种子任务上。
算法关键
  • 无监督训练的模型采用Transformer的decoder,目标函数采用标准的语言模型的目标函数,即通过前文预测下一个词。
    这个目标函数其实是比BERT模型那种完形填空式的语言模型目标函数要难,因为预测未来要比预测中间难。这可能也是导致GPT在训练和效果上比BERT差一些的一个原因。反过来说,如果你的模型真能预测未来,那么要比BERT这种通过完形填空训练的模型的强大很多,这也是作者一直将GPT模型不断做大,诞生三兄弟的一个原因吧。
  • 有监督fine-tune采用标准的分类目标函数。此外,作者发现在有监督训练时额外加上语言模型的目标函数更好,能够提高模型的泛化性和加速模型收敛。
输入形式

对于不同的下游任务,将数据转换成统一的形式送入预训练好的语言模型,再接一层线性层进行分类等。可以发现,在fine-tune时,仅需要对预训练的语言模型做很小的结构改变,即加一层线性层,即可方便地应用于下游各种任务。

图1:在不同下游任务上输入数据的形式

GPT-2 (生于2019年)

GPT-2模型依旧使用Transformer模型的decoder,但相比于GPT-1,数据和模型参数变得更大,大约是之前的10倍,主打zero-shot任务。

现有基于监督学习训练的模型的泛化性不是很好,在一个任务上训练好的模型也很难迁移到下一个任务上。多任务学习(Multitask learning)是指在训练一个模型时,同时看多个任务的数据集,而且可能通过多个损失函数来达到一个模式在多个任务上都能用的效果,但是在NLP领域用的不多。NLP领域主流的做法还是像GPT-1或BERT那样先在大量无标签数据上预训练语言模型,然后在每个下游任务上进行有监督的fine-tune,但是这样也有两个问题:

  • 对于下游的每个任务,还是要重新训练模型
  • 需要收集有标签的数据

这样导致在拓展到新任务上时还是有一定的成本。因此,GPT-2提出利用语言模型做下游任务时,不需要下游任务的任何标注信息,即zero-shot设定,也不用训练模型。因此基本实现一劳永逸,训练一个模型,在多个任务上都能用。

此时,我们需要考虑一个问题,如图1所示,GPT-1在做下游任务时会对输入进行构造,引入了一些模型在预训练时没见过的符号(预训练时见到的是自然文本),比如Start、Delim、Extract,但因为有fine-tune的环节,所以模型会去认识这些符号。
然而,现在要做zero-shot,也就是在做下游任务时,模型不能被调整了,如果还引入一些模型之前没见过的符号的话,模型就会很困惑。因此,在构造下游任务的输入时,我们就不能引入模型未见过的符号,而要使得输入像模型预训练时见到的自然文本一样,比如:

  • 机器翻译任务:translate to french, english text, french text。“translate to french”这三个词可以被认为是一个特殊的分隔符,后面叫Prompt
  • 阅读理解任务:answer the question, document, question, answer

下图所示为GPT-2在不同任务上进行预测时采用的Prompt:


图来自李宏毅老师机器学习课件

GPT-3 (生于2020年)

GPT-3结构和GPT-2一样,但是数据约为GPT-2的1000倍,模型参数约为GPT-2的100倍,暴力出奇迹,使得效果很惊艳。

GPT-3不再追求极致的zero-shot学习,即不给你任何样例去学习,而是利用少量样本去学习。因为人类也不是不看任何样例学习的,而是通过少量样例就能有效地举一反三。
由于GPT-3庞大的体量,在下游任务进行fine-tune的成本会很大。因此GPT-3作用到下游子任务时,不进行任何的梯度更新或fine-tune

evaluate GPT-3

这里=>可以看成是一个Prompt

GPT-3可以生成人类都很难分辨的新闻文章,瞎扯起来像模像样,比如:

news articles generated by GPT-3
局限性
  • 虽然效果比GPT-2好很多,但是在文本生成上还是比较弱的。假如让GPT-3生成一个很长的文本,可能给了几段之后,就会重复起来
  • 结构和算法的局限性。GPT-3是语言模型,不能像bert那样双向看。
  • 均匀地预测下一个词。不能判断哪个词重要,哪个词不重要,导致语言模型可能会花很长时间去学习一些常见的虚词,不像人类学习的划重点。
  • 样本有效性不够。基本上把整个网络上的文章下载下来了。
  • 做few-shot时,模型真的是根据你给的样本从头学习的吗?这样碰到训练样本上没有出现的任务,也能够泛化过去;还是根据这些样本,从训练记忆里找出相关的,认出了这个任务,那拼的就是训练数据的大小了。
  • 不具有可解释性

Improving Language Understanding by Generative Pre-Training
Language Models are Unsupervised Multitask Learners
Language Models are Few-Shot Learners
https://www.bilibili.com/video/BV1AF411b7xQ

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 158,736评论 4 362
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 67,167评论 1 291
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 108,442评论 0 243
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 43,902评论 0 204
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,302评论 3 287
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,573评论 1 216
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,847评论 2 312
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,562评论 0 197
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,260评论 1 241
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,531评论 2 245
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 32,021评论 1 258
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,367评论 2 253
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 33,016评论 3 235
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,068评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,827评论 0 194
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,610评论 2 274
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,514评论 2 269

推荐阅读更多精彩内容