产品一类

当前位置:摩杰平台注册 > 摩杰平台注册娱乐 > 产品一类 >

欢馨人工智能公开课:开放式通用语言模型GPT

作者:佚名 发布时间:2019-03-18 00:55
OpenAI最近似乎成了一个大新闻。 看看它,“最大模型”,“1。 5。 十亿个参数”、“无域数据”等等。 当然,现在是主题派对的时代,为了吸引注意力,外行媒体的夸张也可以理解。。 当然,最大的争议是他们在网站上对为什么只提供小模型的解释:为了防止大模型被用来生成欺骗性和歧视性的文章,我们只发布小模型(由于担心大语言模型被用来大规模生成概念性的、有偏见的或滥用性的语言,我们只发布GPT-2的小得多的版本以及抽样代码)。 当然,这引起了相当大的轰动,许多人在红迪网上抱怨。。 听这口气,人工智能已经实现了,为了保护人类,他们不能把魔鬼赶出去。 实际情况如何? 不要听专家的,最好是我们自己读报纸和运行代码。。

目录

背景简介

伯特的缺点

语言模型

儿童书籍

兰巴达

Winograd模式挑战

阅读理解

摘要

机器翻译

问答

大转弯

密码

背景简介

2018年,深度学习在自然语言处理方面取得了相对较大的突破。 最大的新闻是谷歌的BERT模型横扫各大比赛的排名。。 作者认为自然语言处理的三大突破是:词汇嵌入、RNN / LSTM / GRU + Seq2Seq +注意+自我注意机制和通用词汇嵌入。

单词嵌入解决了传统机器学习方法中特征稀疏的问题。 它将一个词映射到一个低维的密集语义空间,这样相似的词可以共享上下文信息,从而提高泛化能力。此外,可以通过无监督训练获得高质量的单词向量(如单词2和手套),从而将这些语义知识转移到数据较少的特定任务。然而,单词嵌入已经学会了单词的所有语义,例如,银行可以是“银行”或“水边”。如果我们必须使用固定向量来编码它的语义,那么我们只能编码两个单词的语义,但是在一个句子中只有一个语义是合理的,这显然是有问题的。

此时,我们可以通过RNN/LSTM/GRU对上下文的语义进行编码,这样它就可以知道如果钱在身边,那么银行更有可能是“银行”的语义。由于梯度消失和梯度爆炸的问题,最原始的神经网络很难训练。后来,LSTM和GRU模型被引入来解决这个问题。最早的RNN只能用于分类、回归、序列标记等任务。序列的转换可以通过引入由两个RNNs组成的Seq2Seq模型来解决。例如,机器翻译、抽象、问答和对话系统都可以使用这个模型。特别是机器翻译任务的训练数据相对较大,使用深度学习方法的效果超过了传统的机器学习方法,模型结构更简单。到2017年,谷歌提出了变压器模型,并引入了自我关注。自我注意( Self Outtence )的初衷是用注意力代替LSTM,这样可以更好地并行(因为LSTM的定时依赖于特殊效果,很难并行),从而可以处理更大的语料库。变压器问世后,它被广泛应用于以前由RNN/LSTM/GRU占领的地区。谷歌甚至在《变形金刚》的论文中使用了咄咄逼人的标题“注意力是你所需要的一切”。现在变压器已经成为编码器/解码器的霸主。

虽然RNN可以学习上下文信息,但是这些上下文的语义需要通过为特定任务使用标记数据来监控。许多任务训练数据少,获取成本高,因此在实际任务中很难学习复杂的语义关系。当然,通过多任务学习,我们可以使用其他相关任务的数据。例如,如果我们要做文本分类,我们可以使用机器翻译的训练数据来同时优化两个(更多)目标,这样模型就可以同时学习两个任务的语义信息,因为这两个任务必须共享大量的基本语义信息,所以它的效果比单个任务要好。但即便如此,标记数据的数量仍然非常有限。

因此,2018年的研究重点变成了如何使用无监督数据学习上下文单词嵌入(也称为通用句子嵌入),即使模型能够通过无监督方法学习不同上下文中单词的不同语义表示。当然,这种想法已经存在了很长时间,比如2015年的跳过思维向量( Skip Think Vector ),但是它只使用了图书语料库( BookCorpus ),该语料库只有10,000多本书和7,000万个句子,所以效果没有太大的提高。

BERT之前的主要进展是ELMo、ULMFiT和OpenAI GPT。特别是,在BERT出现之前,OpenAI GPT已经横扫了所有的主要排名。当然,谷歌的BERT再次横扫,公关效果更加明显。因此,看到谷歌强势出风头,OpenAI自然会有一些嫉妒、嫉妒和仇恨,今天我们将讨论OpenAI GPT-2。

UMLFiT更复杂,效果也不是特别好。让我们暂时不提它。ELMo和OpenAI GPT的想法其实非常非常简单。他们使用大量未标记的数据来学习语言模型,并在学习语言模型的过程中自然地学习上下文的语义关系。他们都使用Transformer来学习语言模型,但是在处理下游任务时会有所不同。埃尔莫认为这是一个特征。。以分类任务为例。输入一个句子并用ELMo扫描一次,这样你就可以得到每个单词的表示。这种表示是上下文相关的。因此,“他把钱存入银行”和“他的士兵沿河岸排列”这两种说法的载体是不同的。下游任务被这些向量分类,这将增加一些网络层,但是ELMo语言模型的参数是固定的。另一方面,OpenAI GPT直接使用特定的任务来微调变压器的参数。由于Transformer的参数是根据特定任务的数据进行调整的,因此更有可能学习特定于该任务的上下文语义关系,因此效果更好。

BERT的方法类似于OpenAI GPT的方法,这也是微调的思路,但它解决了OpenAI GPT (包括ELMo )的单向信息流问题,其模型和语料库也比较大。依靠谷歌强大的计算和工程能力,BERT横扫OpenAI GPT,并在后者的霸主地位还未达到顶峰时将其驱逐出去。很少有人记得OpenAI GPT由于成功和失败以及谷歌的公关能力而做出的贡献。说BERT的学术贡献是利用掩码LM (这个模型存在于上个世纪)和预测下一句,这是一个多任务学习。其他方法完全遵循开放人工智能图形处理技术。因此,OpenAI的沮丧是可以理解的。这一次,他想出了一个GPT-2来展示他的脸,刷刷他的存在。

更多的技术细节,感兴趣的读者可以参考BERT,谷歌最强的自然语言处理模型,或者参加作者的BERT课程。地址: http : / / fancy eri。git hub。io / 2019 / 03 / 05 / Bert -先决条件/

伯特的缺点

如果你是OpenAI GPT的科学家,你会怎么做当然,如果我们能提出一个更具突破性的模型,然后在重大比赛中横扫BERT,这自然是最理想的。然而,随着媒体的宣传,学术研究不可能每天都有突破(作者订阅的各种公开数字每天都能看到突破,所以他们经常会感到震惊)。很明显,谷歌无法与资源和计算能力竞争。事实上,除了OpenAI,其他公司也想制造一些新闻。例如,微软最近制作了一个机器翻译域名,据说比伯特更好(一点点)。然而,由于源代码甚至模型的有限质量和可用性,谁知道是否使用了技巧来过度拟合这些数据集

当我们回到OpenAI时,很明显短期课程无法摩杰BERT,谷歌的开源BERT模型横扫了其他更多的列表,就好像挑衅地对其他竞争对手说:“如果你不接受,跑一分。“。面对面被打显然很令人沮丧。下步怎么办? OpenAI科学家突然发现BERT模型的一个弱点——它不是一个“正常”的语言模型,因此不能生成句子。伯特的面具只能用于完形填空。抓住这一点后,OpenAI写了一篇很棒的文章。它用1训练了一个“最大模型”。50亿( 1.542亿)参数,使用800万篇普通爬网文章(总共40GB,我不知道它是否已被压缩)。然而,虽然有许多参数,但是训练数据确实有点小。作者需要数千万篇百科全书文章来训练一个中文单词向量。谷歌的数据应该以结核病为单位。因此,作者在文章中强调了该模型的不适用性。),参数多,数据少,自然不能训练太久,否则过度拟合后效果会更差(但生成的句子是否过度拟合并不重要,直接背诵莎士比亚全集的句子肯定会让很多人震惊)。这个模型被训练来刷列表。? 我想作者尝试了,结果是什么自然,没有必要说,否则,我们就不会看到当前的新闻。

但是没关系,他们的目标是BERT的弱点——他不能生成句子(段落和章节肯定不够)。让我们看看论文中的实验是如何设计的:

语言模型

伯特不是一个普通的语言模型,对吧,让我们来PK它(你是零)。然而,使用Transformer来运行语言模型,例如灌溉文章,已经被其他人发表的较早,这是没有意义的。因此,我们必须想出一个零镜头的概念:你在一个小语料库中训练一个语言模型,然后我们竞争。我不像那样和你玩。我用一个大语料库来训练一个模型,然后不使用你的数据,这种效果也可能超过你对小数据的效果。

当然,这个概念仍然是好的,结果如下图所示。

图:语言模型在不同数据集上的应用,越小越好

我们可以看到,除了最后一个大的1BW语料库,OpenAI已经超过了它们。事实上,这也表明,如果有大量的领域数据,领域数据仍然是好的,这也已经在机器翻译系统中得到验证。如果训练数据较少,我们通常使用预先训练的单词向量作为模型单词向量的初始值。如果训练数据很少,我们通常会修正预先训练的单词向量。 如果训练数据正常,微调。如果有大量的训练数据,例如,在机器翻译任务中,预先训练的单词向量与随机初始化效果没有区别(在开始时更好,因为比较是相对较好的初始值)。

儿童书籍

与完形填空相似,BERT实际上可以做到。但是有这么多的自然语言处理匹配,谷歌不可能完成所有的匹配。中国的许多人工智能公司每天都发布公关草案:我们又一次赢得了世界第一。事实上,许多外行读者并不知道这次比赛只有五个参数,也许其中两个是某个学生在周末制作的。

照片:儿童图书任务

效果似乎不错,离人类的水平不远。

兰巴达

99年起的PPL。8到8岁。6、测试的准确性从19 %提高到52 %。66 %。作者不理解比赛,也不评论比赛。

Winograd模式挑战

63 %至70 %。7 %,似乎还不错。提交人也不了解竞争情况,也没有对此发表评论。

阅读理解

这是最近最流行的比赛类型。有许多数据集。这里使用COQA。伯特的底线是89 F1分(越大越好),GPT-2分是55分。这似乎太遥远了,但作者有一个很大的解释: BERT用于监控数据,我们不需要训练数据。有点像一个考试不及格的学生,他对学巴说,虽然你得了89分,但你每天都熬夜记住这个话题。我几乎每天都在课间休息时通过考试,这表明我比你更有天赋。雪芭说:然后你也每天熬夜回到这个话题,看看你能不能从我身边跑过去。? 学习渣说:我们从事的是素质教育,而不是涉海战术。

摘要

对于任务,分数越高越好。成绩单如下:

照片:儿童图书任务

机器翻译

恒耀娱乐登录

SOTA的BLEU分数(越高越好) 33。5。我没学习就得了11分。5。

问答

无人监管的影响是灾难性的。

大转弯

这是最后一个大杀手,让我们PK生成文章。论文的附录选择了许多生成的“故事”。作者的英语相对较差,他分不清好坏。近年来,学术界对生成模型非常感兴趣,尤其是在图像和视觉领域。然而,作者对此不感兴趣。作者是一个实用主义者,创造新奇的事物不能解决实际问题。如果你随便在网上搜索,你可以找到各种各样的写诗机器人、对联机器人或一些著名的人物。规章制度看似严格对立,但实际上毫无意义。当然,这并不是说生成的模型完全无用。例如,Gmail使用该模型自动生成电子邮件回复。作者试了一下,还不错。无论如何,OpenAI已经带回了一座城市,所以有大量的新闻。

密码

由于没有中国模式,我只能用英语跑步,作者的英语水平仍然很差,所以我不会对此发表评论。读者可以自己尝试。

git克隆https : / / git hub。com / openai / GPT - 2。git & & CD GPT - 2

需要安装张量流1。 twelve。0 (作者尝试了1。11也是可能的,因为BERT的正式实现需要1。11 + ) :

pip3安装tensorflow==1。twelve。0

安装其他依赖项:

pip3安装-r要求。txt

下载模式:

python3下载_模型。py 117 m

因为模型在仓库里。 googleapi。所以你需要科学的互联网接入,你可以这样修改代码,请把“127.0。0。1 : 1080”给自己的代理人:

$ git diff diff - git a / download _ model。py b / download _ model。pyindex 2a 38294。83d 6 FB 8 100644 - a / download _ model。py++ + b / download _ model。py@@ -15,7 + 15,11 @ @如果不是os。小路。存在(子磁盘) :对于[“检查点”中的文件名,“编码器”。json ‘,’ hparams。json ‘,’模型。 ckpt。data - 00000 - of - 00001 ‘,’型号。ckpt。索引‘,’模型。ckpt。meta ‘,’ vocab。bpe‘]: - r =请求。获取(“https : / / storage。googleapi。http://127.0。0。1 : 1080 ’,+ ‘ https ’ : ‘ http : / / 127.0。0。1 : 1080 ’,+ }+ r =请求。获取(“https : / / storage。googleapi。com/gpt-2/” +子文件+ “ / ” +文件名,流=真,代理=代理)打开(操作系统。小路。将(子文件、文件名)、“wb”)连接为f :

您需要在使用前设置编码:

export PETHONIONECODING = UTF - 8

原始链接。soyuit。com / contents / itnews / 2019 - 3 - 12 - 81153。html


第28届首席信息官班级注册
法国布列斯特商学院工商管理硕士项目注册
法国布列斯特商学院硕士项目注册
法国布列斯特商学院数据库管理员班级注册