(转载)李宏毅自然语言处理——GPT3简介


李宏毅自然语言处理——GPT3简介

本文原地址:https://blog.csdn.net/yjw123456/article/details/119705148

引言

今天来介绍下牛逼的GPT-31,它是一个拥有1750亿参数的巨大的自回归(autoregressive)语言模型

GPT-3简介

image-20210814101918734

之前最大的语言模型是Turing NLG,它由170亿参数,而GPT-3的参数量是它的10倍。

image-20210814102124998

由于它的参数量过于巨大,如果你想自己训练一个GPT-3模型,需要花费1200万美元,呵呵,这真的是炫富。

15亿的参数需要6G的硬盘来保存,175亿的参数至少需要700G!

而且GPT-3论文的页数页数冠绝群雄,它由72页!

image-20210814102559206

我特地去看了一下,显示有75页。

GPT-3想要做的事情是Zero-Shot Learning(零次学习)

image-20210814103353392

过去我们使用BERT的时候,我们先预训练一个模型,然后根据不同的任务,准备不同的数据对预训练的模型进行微调。所以你还是需要收集一些下游任务的数据。

image-20210814103456470

而GPT-3想要做的就是拿掉微调部分,它想用来直接解决下游任务。

image-20210814103820166

就像我们做题一样,我们会看到题型说明,可能还会有一些有答案的例题,然后我们需要解出剩下的试题。

而GPT系列想要做的就是类似的事情。

image-20210814103733957

它由三种情形,如上图所示。以翻译为例,在Few-shot Learinng中,首先给模型看一个任务说明的句子“Translate English to French”,接下来让模型看几个例子(没有梯度下降),然后问模型“cheese”应该翻译成什么;

而One-shot Learing和上面一样,不过只给一个例子;最牛的是Zero-shot Learing,只给说明,不给例子,直接问模型问题。

image-20210814105337041

横轴是模型大小,纵轴是准确率,可以看到,随着模型越来越大,正确率也越来越高。

image-20210814105521493

接下来看几个GPT-3的神奇之处,Closed Book QA的意思是,直接问训练好的GPT-3模型,比如“喜马拉雅山有多高”,但不提供关于喜马拉雅山的描述资料,让GPT-3回答问题。

上图是GPT-3的表现,可以看到,Few-Shot Learning的结果竟然超过了微调好的SOTA。

image-20210814105849113

上图左边是应用于SuperGLUE任务,随着参数量越来越多,表现越来越好。右边显示在进行Few-Shot Learning时,随着给的例子越来越多,对GPT-3表现的影响。可以看到,只要给到32个,就能超过微调好的BERT Large模型。

image-20210814110130116

因为GPT-3是语言模型,所以也可以用来产生文章(比如新闻)。上图的纵轴代表让人类去判断产生的新闻的真假的正确率,最小面的正确率只有50%,意味着GPT-3产生的新闻太像真的了,真实到人类无法判断到底是真的还是假的。

image-20210814110714106

GPT-3还可以用来造句。

image-20210814110855216

GPT-3还会做数学问题,输入“17减去14是多少”,它会回答“3”。

如果使用参数量最大的模型,可以看到,在两位数的加减法(Two Digit Addition/Subtraction)任务中,可以得到100%的正确率。

上面介绍的都是GPT-3行的地方,下面介绍一下它不太行的地方。

image-20210814111139512

在NLI任务中,GPT-3的表现不太行,除了给定50个例子的Few-Shot Learing还有一丝希望。

image-20210814111330098

还有一个有趣的事情是,训练这个巨大的模型时,数据通常来自于网络,而网络中的数据可能会包含下游任务的数据。作者们希望尽可能排除掉这些下游任务数据,他们看成是一个BUG,但是由于模型的花费太大了,几乎不可能重新训练。 他们把下游任务的数据分成了clean data(GPT-3在训练的时候没有看过)和dirty data(GPT-3在训练的时候已经看过了)。

然后在上图0%横向下面的点(任务),表示看过dirty data的表现比较好,在上面的点,比较没有看到的比较好。

image-20210814111948078

为了检验模型了解人类的语言到什么程度,有一个叫Turing Advice Challenge的比赛。让模型在reddit上面给人类建议。

reddit上面会有很多帖子,比如有个女生说,她处了8个月的男朋友给她准备的生日礼物是,纹了她的名字和脸在她男朋友的背上,并且在生日聚会上,他男朋友把衣服一脱,露出了他的背,让聚会上所有人都看到了。她觉得不太好,然后机器给的回复是:建议分手

image-20210814112451360

让机器给出合理的建议有点难度。

image-20210814112520454

总结来说,这些参数量巨大的模型,给出的建议从语法上来看没啥毛病,但是不知道在说什么。

image-20210814112743370

这是有GPT-3之前,有人实验了不同模型的建议效果,哪怕是T5这个模型,也只有9%的认可率。

说明模型在应用人类语言上面还是有一些欠缺。

参考


  1. Language Models are Few-Shot Learners ↩︎

 

 

原创文章,作者:dweifng,如若转载,请注明出处:https://blog.ytso.com/tech/pnotes/271281.html

(0)
上一篇 2022年7月3日 07:54
下一篇 2022年7月3日 09:31

相关推荐

发表回复

登录后才能评论