但最终,最了不起的是,所有这些操作 —— 它们各自都很简单 —— 能够以某种方式共同完成如此出色的 “类似人类” 的文本生成工作。必须再次强调的是,(至少到目前为止,我们知道)没有任何 “最终的理论理由” 来解释这样的工作。事实上,正如我们将要讨论的那样,我认为我们必须把这看作是一个潜在的令人惊讶的科学发现:在像 ChatGPT 这样的神经网络中,有可能捕捉到人类大脑在生成语言方面的本质。
好了,现在我们已经给出了 ChatGPT 建立后的工作概要。但它是如何建立的呢?其神经网络中的 1750 亿个权重是如何确定的?基本上,它们是非常大规模的训练的结果,基于一个巨大的文本语料库 —— 网络上的、书中的等等 —— 由人类写的。
正如我们所说的,即使考虑到所有的训练数据,神经网络是否能够成功地产生 “类似人类” 的文本,这一点也不明显。而且,再一次,似乎需要详细的工程来实现这一目标。但 ChatGPT 的最大惊喜和发现是,它是可能的。实际上,一个 “只有”1750 亿个权重的神经网络可以对人类所写的文本做出一个 “合理的模型”。
在现代,有很多人类写的文本是以数字形式存在的。公共网络至少有几十亿人写的网页,总共可能有一万亿字的文本。如果包括非公开网页,这些数字可能至少要大 100 倍。到目前为止,已经有超过 500 万本数字化书籍可供使用(在曾经出版过的 1 亿本左右的书籍中),又有 1000 亿左右的文字。
作为个人比较,我一生中发表的材料总字数不到 300 万字,在过去 30 年中,我写了大约 1500 万字的电子邮件,总共打了大约 5000 万字,在过去几年中,我在直播中说了 1000 多万字。而且,是的,我将从所有这些中训练一个机器人)。
但是,好吧,鉴于所有这些数据,我们如何从中训练出一个神经网络呢?基本过程与我们在上面的简单例子中讨论的非常相似。你提出一批例子,然后你调整网络中的权重,使网络在这些例子上的误差(“损失”)最小。从错误中 “反向传播” 的主要问题是,每次你这样做,网络中的每个权重通常至少会有微小的变化,而且有大量的权重需要处理。(实际的 “反向计算” 通常只比正向计算难一个小常数)。
有了现代的 GPU 硬件,从成千上万的例子中并行计算出结果是很简单的。但是,当涉及到实际更新神经网络中的权重时,目前的方法要求我们基本上是一批一批地做。(是的,这可能是实际的大脑 —— 其计算和记忆元素的结合 —— 目前至少有一个架构上的优势)。
服务热线
1391-024-6332