要说整个19年自然语言处理界,不,应该说深度学习界的流量巨星,都不得不提OpenAI的GPT-2模型。
它一放出就在7个Zero-Shot任务上取得SOTA,其强大的文本生成能力让人震惊,直接弥补了BERT文本生成的缺陷,甚至连它的创造者们OpenAI也发言表示“Too Dangerous To Release”,结果在社交媒体上引起了一片争论:有挺OpenAI派表示应该对这种模型进行限制,也有反OpenAI派表示就是炒作,“放出来估计也没啥事”。
当然,这一系列的争论最终的受益者无疑是OpenAI,可算是一整年出尽了风头,从二月到去年十一月都有GPT-2的持续报道。
消停了半年,上周,OpenAI又放了个大招:GPT-3突然放出。文摘菌的朋友圈瞬间被刷爆,reddit上也进行了激烈讨论。GPT-3之所以能引起这么大关注,首先当然是爸爸GPT-2的功劳。炒作了整个19年,就那几个模型还悄咪咪地一点点放出来,从年初一直放到年末。
GPT-2本身在生成式的效果也是毋庸置疑的,所以大家也拿着GPT-2搞出了各种脑洞大开的应用,比如用它下棋,还有人把它做成一款文字冒险游戏等等。
第二,也是GPT-3自身特点有异于正常模型的地方,它非常非常非常大,训练非常非常非常烧钱。
大到什么地步呢,相对于之前最大的T-NLG直接提高了一个量级,其参数量达到1750亿,相当于1600个它爷爷GPT-1的大小,光把它用fp16半精度载入内存都得300GB,这还不包括实际训练中需要存储的梯度等中间变量。因此这也导致它训练起来非常昂贵,大概要花1200万美金,按现在汇率折合成人民币相当于8500多万元!!
甚至因为过于昂贵,导致实验过程中即使因为数据处理出现bug,却也没办法重新训,只能在最后评估时进行一些处理。
其实我想知道最后数据处理的同学心理压力有多大。读到这,一些细心读者会注意到,怎么提GPT-3不是提它爸爸就是提它尺寸提它多么壕,都不提它自身特点。就好比相亲,只看对方爸爸看对方尺寸(大雾)看对方多壕,却不关心这人到底怎样。那是因为虽然论文长达72页,但得出的结论几句话就能概括,尤其是,The Bigger The Better。
下面我们再来细细介绍这个豪横的GPT-3模型。首先来简单介绍一下GPT-3模型和训练的一些细节。形式的话,之前有看到一篇《如果BERT系列模型是一个git提交史的话》的博客,非常有意思。于是,咱们也照猫画虎来给GPT系列做一个这样的提交史,不光能回顾一下GPT的发展史,还能更好理解GPT-3模型的细节。
可以看到GPT-3相比起GPT-2的变化可能就是给模型增大,数据增多,这和GPT-1到GPT-2的变化差不多。而从GPT-1到GPT-2时发生这样的变化还是很值得关注的,因为之前没人知道给单向Transformer语言模型量级提高很大,再用高质量语料来训,就能获得很好的生成模型。
这也是为什么GPT都没啥人关注,直到被BERT点名出来吊打,才有人知道有GPT这东西,一看还就只是一个Transformer解码器。
那么GPT-3值得关注的地方到底在什么地方呢,那就在它厚厚的实验分析和细节内容里了。总结一下目前对于GPT-3持赞同和反对态度的两方意见,接下来文摘菌带大家详细看看这个模型的优劣势。正方:整体表现出的泛化性很有价值,对于GPT-3全面的实验分析,大部分人还是买账的。
特别GPT-3主要在三个设定下进行的大量NLP实验,其中包括Zero-Shot(没有样本,只是在上下文给出一段自然语言描述),One-shot(在上下文中给出一个样本),还有Few-Shot(在上下文中给出一些样本)。而一般大家比较关心的预训练模型精调,论文里根本都没怎么做,直接留给未来研究了。
论文中一个最关键的结论就是,开篇说的那句,大家都知道的,The Bigger The Better。
对于所有的测试评估,几乎都是越大模型表现越好,而且随着模型的大小连续跨越几个量级都还没有停下来的趋势。而对比起,精调只在一个任务上有提高,甚至会导致过拟合和灾难性遗忘。之后一个很有意思的点是,GPT-2就已经有提到过的,生成虚假文本的实验。论文中发现当模型参数量提高到175B这个量级时,人们基本上就不太能分别出是一条新闻是GPT-3生成的还是真正的新闻了。
这样的结论无疑让之前就引起的GPT-2生成虚假信息担心更加剧,因此文中也对GPT-2放出一年后,其被用于散播虚假信息相关进行了分析。结果发现当然不是最早说的“Too Dangerous Too Release”,即使放出来也没发生什么大事,因为GPT-2可控生成太难了。
反方:没给AI底层技术带来任何推动。
当然,既然有看完浮想联翩的,也有看完GPT-3失望无比的:什么玩意儿,又没有什么大的创新,得出的结论也都是大家差不多都知道的,简直味如嚼蜡。其中最重要的一点,GPT-3相比起GPT-2没有什么本质上的突破,模型架构还是一样,训练目标也都一样。变化的只是模型大小,数据多少,而这些在这个后BERT时代并不是什么新奇创举。当然在GPT-2的时候还是很让人感到很新鲜,因为没什么人这么做。
GPT-3这样并没有给AI底层技术带来任何推动,毫无疑问让人看得很乏味。打个比方就是,比如某些石油大国很有钱,可以投入很多钱和工程能力去修超级高楼,虽然刷新了最高楼记录,但对于修楼技术可能并没带来什么推动,也没有人会质疑没有修出这个高楼的美国就没有能力去修。这种单纯的堆量级而带来的所谓SOTA提高,意义不大,反而会让人忽视很多更底层值得去研究的问题。
整体来说,我个人对GPT-3持有的观点还是比较正向,因为研究有很多方向,而GPT-3相当于给模型大小这个方向推到了极致,而且它也在验证The Bitter Lesson里提到的观点,一个简单可放大的算法,加上大量算力就可以产生不一样的效果。事实上,它在这篇论文中展示的泛化能力分析,就可以看到这样一种将语言模型推到极致后带来的不同。让人不禁想,再推下去,是否能够真正到达人类级别的泛化力。