InfoQGPT-3,价值460万美元的语言模型


作者 | nostalgebraist
译者 | 王强
策划 | 陈思
本文作者是 GPT-2 的热心用户 , GPT-2 风靡 AI 领域的那段时间里 , 他撰写了不少相关的文章 。 然而当 GPT-3 的论文发布后 , 身为忠实用户的他却感觉到了一些失望 , 本文他将深扒 GPT-3 中那些令人失望的地方 。 另注:这篇文章是作者最近在 tumblr 上发表的两篇文章的汇总 。
利益相关:我一直是 GPT-2 的热心用户 , 也写过很多关于 GPT-2 和 transformer 模型的文章 , 包括 "human psycholinguists: a critical appraisal" 和 "the transformer … “explained?” 。 我还用 GPT-2 作为核心组件做了一个 tumblr bot。
第一部分
这篇论文
https://arxiv.org/pdf/2005.14165.pdf
我还没特别仔细地研究过 , 但下面几点是我可以肯定的:
1.1:GPT-3 有多大开创性
“GPT-3”只是 GPT-2 的放大版 。 换句话说 , 这只是“就让 transformers 变大就行了”这种方法的粗暴延伸 。 自 GPT-2 诞生以来 , 很多研究小组都在使用这种方法 。
论文摘要就这一点讲得很清楚:
有一些工作主要是增加语言模型中的参数数量和 / 或计算量 , 以此作为改进生成或任务性能的手段 。 [……] 一项工作直接增加了 transformer 模型的大小 , 并按接近的比例增加了参数量和每个令牌的 FLOPS 。 这方面的工作让模型大小不断扩张:原始论文中有 2.13 亿个参数 [VSP+17] , 3 亿个参数 [DCLT18] , 15 亿个参数 [RWC+19] , 80 亿参数 [SPP+19] , 110 亿参数 [RSR+19] , 最近更是来到了 170 亿参数 [Tur20] 。
这里提到的前两篇论文分别是机器翻译的原始 transformer(VSP+17)和 BERT(DCLT18) 。 这两篇论文之间的参数量还没膨胀那么多 。
第三篇(RWC+19)是 GPT-2 , 其参数量扩大到了 5 倍 。 GPT-2 论文的重点大概就是“虽然看起来这方法很笨很粗暴 , 但只要你扩大 transformer 就会看到神奇的结果”——而这篇 "GPT-3" 论文的论点还是一样 , 只不过数字变得更大了 。
“GPT-3”是一个拥有 1750 亿个参数的 transformer 。 数字上这又是一次飞跃 , 但是基础架构并没有太大变化 。
从某种意义上说 , 把它叫做 "GPT-3" 也挺合理的:它就是 GPT-2 带起来的这种风气的延续而已 。
但换个角度来说 , 把它叫做“GPT-3”也很碍眼 , 而且会误导人 。 GPT-2(可以说)是一项开创性的进步 , 因为它第一次向人们展示了大规模的 transformer 拥有多大的力量 。 现在大家都知道了这个道理 , 所以 GPT-3 完全称不上什么本质上的进步 。 (既然他们这个新的大模型能叫 "GPT-3" , 那么上一段引文里最后提到的那仨大模型也有资格叫这个名字了 。 )
1.2:“小样本学习”
这篇论文好像要讨好的就是 NLP 社区 , 只不过他们完全走反了方向 。
GPT-2 论文认为 , 语言模型(文本预测器)在用作 NLP 基准测试的一些特定任务上可以做得很好 , 或者在某些场景下“至少不是很糟糕”——即使模型事先并不了解这些任务的细节 。 这主要是为了证明语言模型的能力有多强 。
他们在论文中展示的“零样本(zero-shot)”学习——就是“在文本后添加一句话总结 , 并将 GPT-2 的续写(continuation)当作’摘要’来看待”这种东西——又怪又蠢 , 实践中没人想要这么干 。 这种方法更适合用来证明优秀的语言模型 " 无所不能 " , 就算不是它们设计目标的任务也能搞定;重点不是说它们在这些任务中 " 表现优秀 " , 而是说它们即便没有充分的准备也能获得不错的性能水平 。 这有点像在夸奖一个小神童 。
在 GPT-3 论文中 , 他们为语言模型引入了一种新方法 , 以提升模型在标准测试中的表现 。 现在的关键是根据文本的走向来 " 搞清楚 " 它们应该做什么事情 。 以前是给模型一个提示(prompt) , 比如说: