这个月,OpenAI公布已久的GPT2终于是在放出了两个能够供研究人员研究的模型,两个模型的大小不同,一个是小型模型,一个是中型模型,其中中型模型包含3。45亿参数。 GPT2是OpenAI最新研究出来的一个在自然语言处理领域迄今为止规模最大的一个通用语言模型,其完整版的参数能达到15亿之多。 迄今为止,OpenAI都不准备公开GPT2的完整版模型,因为他们担心这个强力的AI会对整个社会产生极大的危害。 那么问题来了,这个GPT2到底是什么东西,能够让它的开发者都感到害怕呢?人类是不是已经打开了人工智能这个潘多拉魔盒? GPT2这个通用语言模型的主要用于预测文本,即运行在这一模型上的AI会基于一些现有的文本去猜想它后面会是什么。 这个AI的工作有一些像我们大脑组织语言功能,我们人类在组织语言的时候,往往是基于某一个题目、某一个事件、某一个想法、某一个上文、某一个外界刺激等对语言组织,对于AI,或者对于GPT2这个模型来说,这些就是所谓的输入。 之后我们的大脑会在非常快的时间里基于记忆和掌握的语言处理能力生成一个句子,其中记忆为我们组织语言提供素材,而语言处理能力则能保证生成出来的句子是合乎规则的。 对于GPT2这个模型来说,OpenAI使用了海量的文本对它进行训练,在反复的训练中,AI会对它学习过的文本产生一定程度的记忆,最终这些记忆会被一并保存在模型文件中。 在组织语言的过程中,AI会依据输入的不同基于计算进入神经网络内不同的节点,进而得到不同的输出。 在这个过程中,当神经网络的某一个节点被激活时,其相关的记忆也会被激活。这个记忆实际上是神经网络中节点与节点之间的连接的权值,也就是上文中我们提到的参数。 这样的参数越多,意味着AI将拥有越多的记忆,它能理解、记住的东西也就越多。 然而,对于GPT2这样的模型来说,光有记忆是不够的,要想让AI具有组织语言的能力,它还需要拥有语言组织能力。 这个能力同样也同样是由训练获得的,在训练的过程中,AI的记忆不单单记忆下了那些文本表达的内容,也同步记忆下了文本的规则、特征。 在我们的语言学中,这些规则、特征被归纳总结成了各种语法、文法,在AI领域内,这就是所谓的抽取特征。AI能够自主学习到它能够理解的语法,但是这个语法和我们平时说的语法有很大的区别,因为AI根本就不知道什么主谓宾,它抽取出的特征是基于数学的、融合到整个神经网络模型中的东西。 只要研究人员的训练方式是正确的、他们的训练方式能够引导AI从文本中抽取到正确的特征、学习到正确的规律,那么这个AI在经过长时间、大规模的训练后就能够拥有处理语言、组织语言的能力。 GPT2正是研究人员通过新的训练方式,在扩大训练规模后得到的产物。 上述笔者的描述还是比较表面、笼统的,用人工智能来进行自然语言处理(NLP)是一件非常复杂的事情,为了找到这个正确的训练方式,研究人员需要付出大量的努力,同时由于整个神经网络规模十分庞大,它也需要巨大的算力作为支撑。 GPT2的本质不是一个人工智能,它只是一个静态的、可复制的AI的记忆,但只要我们激活了它,它就是一个具有一定自然语言处理能力的AI。 在OpenAI放出模型之后,有开发者基于这个模型开发了一个网站,在这个网站上,我们可以亲身体会在GPT2上运行的AI有多么强力。 这个网站的地址是: talktotransformer。com 需要注意的是,国内该网站虽然可以正常访问,但想要使用它仍然需要科学上网。这主要是因为AI是比较吃算力的东西,网站的开发者应该是使用了Google的服务器作为计算资源。 TalktoTransformer允许你输入任意长度的某一段文本的开头,然后AI会基于GPT2的中型模型自动为你续写。 举个例子,比如我们在文本框内填入 Todayisasunnyday,Iwenttotheparkwithmyfather 点击CompleteText,AI就会自动开始在这句话的基础上进行续写。 AI直接在我们给出的这一句话的基础上续写了一大段话,这段话放在国内的高中可以算是一篇优秀的作文,这一段短文本身也是一个小故事。 由于这个网站有限制,所以AI并不会无限对这段话进行续写,但是如果你将GPT2模型加载到本地,用Tensorflow调用它运行,你可以对这一句开头进行无限的续写,想让AI写多少,AI就能写多少。 至于AI为什么能够无限续写,其实道理很简单,AI能够给自己反馈新的输入,从而源源不断地产生连续的文本。产生文本这件事并不难,难就难在这一段文本前后都是有关联的,它内在是有逻辑和要表达的内容在里面的,这是GPT2最惊人的一个地方。 接下来我们来测试一下其他的东西,首先我们测试一下OpenAI吹嘘过的编新闻。 我们都知道,特朗普非常喜欢抨击CNN的Fakenews,这里我们用Trumpsaid作为开头,让AI续写一段话: 非常让人惊讶的是,它能够做到,而且它知道我们这里的Trump指的究竟是谁。它续写出来的这段话可能是学习到的某个真新闻的某一段,也可能是它胡编的一个假新闻。 但是这些都不重要,重要的是它知道我们输入的Trump指的是DonaldTrump,可能是在训练的文本中AI认为这个词和他之间是有强烈关联的,所以AI在看到Trump后会和我们一样联想到同一个人。 除此之外,它还知道非常非常多的东西,例如科技圈的内容,这里我们输入这样一个开头: Oneplushasreleasedtheirnewphoneyesterday 很神奇的是,GPT2知道我们输入的Oneplus指代的是一加这个手机品牌,它甚至凭空捏造了一个不存在的一加手机出来,还有一个有模有样的参数表。 虽然这些参数都很乱,有的根本就不存在,有的可能是AI出现了Bug输出了错误内容,但这至少能说明GPT2学习过这一部分的内容,所以它才能够输出这些东西。 OpenAI在训练的过程中使用的训练文本应该是海量的、十分多样化的,这使得GPT2能够达到很强的通用性。 如果你有兴趣,你可以自行前往这个网站来测试它,除了上述笔者测试的内容,它还懂很多其他的内容,包括代码、社会问题、剧本、小说、一些专业领域问题等等,它的表现绝对能够把你震撼到。 原先笔者还不太相信AI能够很快发展到会威胁到人类、威胁到社会的程度,但是现在来看,笔者还是太年轻了一些,在体验过GPT2之后,笔者也开始担忧未来AI这个领域会往什么方向走了,我们人类又是否能够把控住AI的发展。