自从有了GPT-2,妈妈再也不用担心我的学习

2019.09.04 20 Views 20 MachineLearning

今年二月,GOOGLE发布了最新的语言模型GPT-2以及配套的论文。论文的主要思想是,只要有足够大的语料库以及模型,无监督的语言模型(Language Model)能够自发地推断(infer)和学习各种语言任务,比如文本生成,问答系统,翻译,代写作业......也就是说,只要预训练的数据集和模型体量(层数,参数量)够大,在完成预训练后,我们只要在输入的数据中提供一些目标任务的范式,比如用问答的形式来表示输入,那么GPT-2就能猜测到我们的目的是建立问答关系,并输出答案。

简单介绍了理论,说回本文重点GPT-2模型。GPT-2是在GPT的基础上扩建而成,而GPT的基础,就是变形金刚,错了,是Transformer。

Image

Transformer是一个完全基于Attention的转换模型(Transduction Model)。而Attention机制,就是模仿人类的注意力模式,正如人类对一句话的不同单词的注意力是不同,通过将一句话各个单词进行加权平均,就可以表示出重点所在。

有了Attention机制,我们就可以解决long distance dependency的问题,也就是所谓的“看了后面忘了前面”,以此来保证输出可以更好地包含句子的结构信息。

Image

搞清楚Transformer之后,再来谈一谈GPT-2的前身GPT。GPT采用了Transformer中的Decoder,并外接了一个分类器,因此可以更好地完成一些监督学习任务。在开发了GPT后不久,Google就又放出了GPT-2。GPT-2与GPT在架构上并没有太大变化,但是模型体量大大增大。GPT-2最小的模型有117 million个参数,光chekpoint文件就要500m,不得不说一句壕可怕。

Image

但严肃地讲,现在的深度学习有种趋势,就是它正在变成几个大厂之间的军备竞争。这种竞争短期内当然效果良好,但从长期上究竟有何影响,还需要研究者仔细分析。

在详细介绍GPT-2前,再说一句题外话,做机器学习的人毁童年真是一把好手,除了这个叫“变形金刚”(Transformer)的模型以外,科学家们还开发了Elmo, Bert这种来自美国卡通片芝麻街的名字。

Image
虚假的Bert,面色蜡黄,眼睛无神,皮肤褶皱。

Image
真正的Bert,结构复杂,体型壮硕,准确度惊人。


GPT-2最基本的功能就是根据输入预测生成下一个词,然后再根据下一个词生成下下个词,如果没有限制,就子子孙孙无穷尽也,直到生成了结束的标志符。

在GOOGLE的官网上给出的例子是让GPT-2生成了一个关于独角兽的故事,我看了以后是颇为惭愧,这个英语水平比我不知道高到哪里去了。

所以说看到这个GPT-2真是相见恨晚,要是早几年见到,我的英语写作作业,就不会那么费劲了。

在生成下一个词的基础功能上,GPT-2还有许多延伸用法,比如常见的机器翻译(Machine Translation)以及问答系统(Question&Answer)。以问答系统为例,在输入端用户输入一段问答的背景(context)并输入若干个问答对话,最后用一个回答开始的标志(通常是一个"A:")作为输入的结尾,GPT-2就可以理解任务是问答,并输出答案。

当然这是模型的理想逻辑,在实际应用中,GPT-2也经常答非所问。

除了这些常规应用,GPT-2还有许多骚操作。比如谷歌有一个Musenet,可以自动生成四分钟长度的乐曲,还可以使用多种乐器,选择多种音乐风格,就是基于GPT-2类似的构架。在商业化方向上,在英文写作中饱受好评的Grammarly语法错误修复软件,也有GPT-2的一份功劳。

一些中国科学家甚至用GPT来生成汉语古体诗歌(见paper),从我的审美趣味来说,写的相当好。刘慈欣的《诗云》里曾经说宇宙间更高级的文明在阅读了中国的古诗之后如痴如醉,大概就是这个感觉。我在这里摘录一首。

乐游西湖
西湖万顷清秋月,
酒客重来独自游。
好事长宜勤载酒,
青山何必待人愁。

这句“好事长宜勤载酒,青山何必待人愁。”就很有放浪形骸的诗人味道了。


读到这里,有些朋友一定会问,这个GPT-2好是好呀,可是和我的学习有什么关系呢?

你想想看,未来的一天,当你要完成一项英文写作作业,你只需要把教授布置的题目输入GPT-2,几秒钟之后GPT-2就能自己生成你的文章;当你要完成一项编程作业,你只需要提供GPT-2作业要求以及若干代码示例(最好是你自己的,这样GPT-2能模仿得更像你的风格),GPT-2就能自己写出完整的代码。

读到这里,有些朋友一定又要问了。

Image

这位朋友你运气真好,我这里刚好有GPT-2在GITHUB上的仓库地址和在GOOGLE COLAB上的GPT-2 Playground。 至于它到底有多厉害,各位可以自己玩玩看噢!

Comments
Write a Comment