OpenAI GPT-2语言模型的文本生成样本
在这篇文章中,我不会谈论更好的语言模型及其含义。
在这里,我将向你展示人类最伟大的文本生成器(至少在撰写本文时)是如何工作的,以及如何用几行代码构建自己的文本生成器。
然而,请注意,我们将要构建的GPT-2模型不会开始产生虚假的Brexit campaigns。最初的模型训练了几个月,利用了100+的GPU的力量。
所以,除非你有那种计算能力,否则如果你的迷你GPT能正确地实现主语和动词的一致,这就已经是一个壮举。
GPT-2实际上是什么
随着深度学习研究的突破,描述OpenAI最新矩阵乘法的流行文章中出现了相当多的imagery accompanying,这已成为常态。所以我想我会从清理一些事情开始。
GPT-2是“Generative Pretrained Transformer 2”的简称:
“生成(Generative)”是指模型被训练为以无监督的方式预测(或“生成”)token序列中的下一个token。换句话说,模型抛出了大量原始文本数据,并被要求找出文本的统计特征来创建更多的文本。
“预训练(Pretrained)”意味着OpenAI创造了一个巨大而强大的语言模型,他们后来为机器翻译等特定任务进行了微调。这有点像Imagenet的迁移学习,除了它是针对自然语言处理的。这种retraining方法在2018年变得相当流行,很可能会持续到2019年。
“Transformer”指的是OpenAI使用的transformer结构,而不是RNN、LSTM、GRU或任何其他你心目中的3/4字母缩略词。我不打算详细讨论transformer架构,因为FloydHub博客上已经有另一篇很棒的文章解释了它是如何工作的。
“2”意味着这不是他们第一次尝试整个GPT的事情。
它是如何工作的
这里有一个关于2018年NLP突破的总结,在进入GPT 2号之前你需要理解。我将用一些疯狂的高等数学来说明:
2018年