OpenAI的GPT-2:用Python构建世界上最先进的文本生成器的简单指南

本文介绍了如何使用OpenAI的GPT-2框架构建文本生成器。GPT-2是一个基于Transformers的预训练模型,能够在各种NLP任务中取得先进成果。通过Python实现,我们可以利用GPT-2生成高质量的文本,同时文章也讨论了模型的潜在误用问题。
摘要由CSDN通过智能技术生成

介绍

“The world’s best economies are directly linked to a culture of encouragement and positive feedback.”

你能猜到上面那句话是谁说的吗?这并不是某位总统或首相,当然也不是像Raghuram Rajan那样的顶尖经济学家说出来的。

这句话是由我们的机器产生的!是的,你没听错,这是一个在OpenAI的GPT-2框架上训练的自然语言处理(NLP)模型训练“说出”了这句话。所以你现在觉得机器学习的状态完全在另一个层次上了吗?

在NLP真正的黄金时代,OpenAI的GPT-2改变了我们处理文本数据的方式。ULMFiT和谷歌的BERT轻松地为NLP爱好者打开了大门,而GPT-2则打破了这一局面,使NLP任务(主要是文本生成)的工作变得更加容易。

在本文中,我们将使用GPT-2构建我们自己的文本生成器。

有没有一点小期待呢?让我们开始进入正文。我们将首先直观理解GPT-2,然后直接进入Python构建文本生成模型。

另外,如果你是一个狂热的NLP追随者,我想你会喜欢下面关于NLP最新发展的指南和教程:

8个优秀的预训练模型:
https://www.analyticsvidhya.com/blog/2019/03/pretrained-models-get-started-nlp/?utm_source=blog&utm_medium=openai-gpt2-text-generator-python
Transformers介绍:
https://www.analyticsvidhya.com/blog/2019/06/understanding-transformers-nlp-state-of-the-art-models/?utm_source=blog&utm_medium=openai-gpt2-text-generator-python
PyTorch-Transformers介绍:
https://www.analyticsvidhya.com/blog/2019/07/pytorch-transformers-nlp-python/?utm_source=blog&utm_medium=openai-gpt2-text-generator-python
StanfordNLP介绍:
https://www.analyticsvidhya.com/blog/2019/02/stanfordnlp-nlp-library-python/?utm_source=blog&utm_medium=openai-gpt2-text-generator-python

OpenAI的GPT-2框架有什么新特性?

自然语言处理(NLP)在过去的几年里以惊人的速度发展,机器现在能够理解句子背后的语境,当你思考这个问题时,你会发现这是一个真正具有里程碑意义的成就。

由OpenAI开发的GPT-2是一个预训练语言模型,我们可以使用它来完成各种NLP任务,比如:

语言模型(LM)是现代自然语言处理的重要任务之一。语言模型是预测文档中下一个单词或字符的概率模型。

640?wx_fmt=png

GPT-2是OpenAI最初的NLP框架GPT的继承者,完整的GPT-2模型有15亿个参数,几乎是GPT参数的10倍。正如你可能已经猜到的那样,GPT-2给出了最先进的结果(稍后我们将会看到)。

这个预训练的模型包含了从Reddit的出站链接中收集的800万个网页的数据。让我们花一分钟来了解一下GPT-2是如何工作的。

架构

GPT-2的架构是基于谷歌在他们的论文“Attention is all you need”中提出的非常著名的Transformers概念。Transformers提供了一种基于编码器和解码器的机制来检测输入输出依赖关系。

在每个步骤中,模型在生成下一个输出时,将前面生成的符号作为额外的输入使用。

640?wx_fmt=png

除了有更多的参数和Transformers层外,GPT-2只有少量架构修改:

"GPT-2在各种领域特定的语言建模任务上取得了最先进的成绩。我们的模型不是针对任何特定于这些任务的数据进行训练的,而是作为最终测试对它们进行评估,这就是所谓的zero-shot设置。当对相同的数据集进行评估时,GPT-2的性能优于针对领域特定数据集(如Wikipedia、news、books)训练的模型。"
                                  --OpenAI团队

训练了四种不同参数的模型,以适应不同的场景:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值