问耕 发自雁栖湖
量子位出品 公众号 QbitAI
GPT-2,一个逆天的 AI。
今年 2 月,OpenAI 首次对外公布了这个模型的存在。GPT-2 写起文章来文思泉涌毫无违和感,无需针对性训练就能横扫各种特定领域的语言建模任务,还具备阅读理解、问答、生成文章摘要、翻译等等能力。
但不同寻常的是,这个模型并没有真的开源。OpenAI 给的解释是,它太过强大,我们不敢放出完整模型……尽管因此被外界嘲笑,但 GPT-2 仍然封闭至今。
现在,有人单枪匹马,破解了 OpenAI 不欲人知的秘密。
而且,是一个大三的学生。
来自慕尼黑工业大学的 Connor Leahy 同学,在两个月的时间里,付出了 200 个小时的时间,花费了大约 6000 人民币,复现了 GPT-2 项目。
这件事在推特上引发了众多关注。称赞 Awesome 的有之,深入讨论的有之,甚至连 OpenAI 的几位资深研究员,都赶来沟通。
另外让人佩服的是,Connor Leahy 同学关于机器学习的知识,都是利用空闲时间自学而成。他形容自己是一个充满好奇心的本科生。
“我只是把别人出去撩妹的时间,用来搞 AI 实验了而已。”
一气之下
GPT-2 是 OpenAI 最棒的研究成果。
这个模型是 GPT 的“进化版”,最大区别就在于规模大小。GPT-2 参数达到了 15 亿个,使用了包含 800 万个网页的数据集来训练,共有 40GB。
使用语言建模作为训练信号,以无监督的方式在大型数据集上训练一个 Transformer,然后在更小的监督数据集上微调这个模型,以帮助它解决特定任务。
GPT 模型
OpenAI 的研究人员表示,在各种特定领域数据集的语言建模测试中,GPT-2 都取得了优异的分数。作为一个没有经过任何领域数据专门训练的模型,它的表现,比那些专为特定领域打造的模型还要好。
除了能用于语言建模,GPT-2 在问答、阅读理解、摘要生成、翻译等等任务上,无需微调就能取得非常好的成绩。
GPT-2 发布后,深度学习之父 Hinton 献出了他注册 Twitter 以来的第三次评论:“这应该能让硅谷的独角兽们生成更好的英语了。”
关于这个模型的强大表现,可以参考量子位之前的报道,这里不再赘述。
总之,就是一个字:强。
就是因为强,OpenAI 做了一个艰难的决定:不把完整的模型放出来给大家。他们先是放出了不到十分之一规模、1.17 亿个参数的小型版本,被吐槽几个月后又放出了 3.45 亿参数的中型版本。
毫无疑问,GPT-2 激发了 Connor Leahy 同学的好奇心,同时,OpenAI 私藏这个模型的决定,也让他非常生气。“信息应该是自由的。”
于是他决定自己动手复现出来。
他不只是因为一时冲动。对于为什么要复现 GPT-2,Connor Leahy 同学在自己的博客里有长长的思考,其中包括与其害怕 AI 编造的假新闻,不如积极行动起来,让大家意识到这个问题,勇敢面对然后想办法解决。
当然还有另一个原因,他觉得这么做:
很酷。
复现版 GPT-2
“你怎么知道自己成功复现了 15 亿参数的 GPT-2 模型?”
这个问题,恐怕绝大多数人都想知道答案。
Connor Leahy 同学给出的回应是:两个模型的大小和参数量相同,基于相似的数据源训练,使用了类似的计算资源,而且输出结果质量相仿。
他也给出了两者的一些明确不同,比方:
1、dropout 和 learning rate 官方没有披露,所以设置可能不一样。
2、模型训练使用了 Adafactor 而不是 Adam。Connor Leahy 同学不知道怎么把 15 亿参数 +Adam 塞进 TPU,即便 16bit 精度也不行。
哎?等下……
一个普普通通的大三学生,怎么能用到 TPU 搞这种研究?
感谢 Google。
Google 有一个 Tensorflow Research Cloud(TFRC)计划。这个计划面向研究人员,提供 1000 个 Cloud TPU 组成的集群,完全免费。这个计划用于支持多种需要大量计算并且无法通过其他途径实现的研究项目。
当时 Connor Leahy 同学在研究 GPT-2 复现的时候,遇到了计算资源的瓶颈,然后随口跟 TFRC 团队提了一嘴,结果却得到了 Google 慷慨的支持。
实际上,在推进这个项目之前,Connor Leahy 同学从来没有使用过 TPU。所以,他在博客中热情的对 Google 团队表达了感谢。
不过,他还是在云端花费了大约 600-800 欧元(人民币 6000 元左右),用于创建数据集、测试代码和运行实验。
他用的笔记本是一台旧的 ThinkPad。
Connor Leahy 同学还对降噪耳机表达了感谢:让我保持宁静。
目前,复现版的 GPT-2 已经放在 GitHub 上开源,代码可以在 GPU、TPU 以及 CPU 上跑(不建议)。现在作者放出了两个版本,一个是 1.17 亿参数的小型版本,一个是称为 PrettyBig 的版本,比 3.45 亿参数的官方中型版稍大一点,也是目前公开的最大 GPT-2 模型。
至于 15 亿参数的完整版,作者计划 7 月 1 日发布。
现阶段,Connor Leahy 同学邀请大家下载试用,跟他一起讨论复现版 GPT-2 到底还有什改进空间。在关于这件的博客文章里,他说:我 100% 能接受大家指出的任何错误,如果你发现问题请与我联系。
关于作者和传送门
Connor Leahy 同学 2017 年考入德国慕尼黑工业大学,目前是一名大三的计算机本科学生。在 LinkedIn 上,他说自己对人工智能充满热情。
从 2018 年 9 月迄今,他还在马克思普朗克研究所实习,也在用来自 Google 的 TPU,研究正经的 AI 课题。
最后,放一下传送门。
Connor Leahy 同学充满思考的博客:
https://medium.com/@NPCollapse/gpt2-counting-consciousness-and-the-curious-hacker-323c6639a3a8
与他在 GitHub 相见吧:
https://github.com/ConnorJL/GPT2
— 完 —