文章主题:关键词:人类语言,生成,思维过程,ChatGPT,人工神经网络,语言规则,语法,句法结构,逻辑,文本生成。
人类的语言及其生成过程所涉及的思维过程,一直以来都被认为是复杂性的极致。我们的大脑仅仅拥有大约1000亿个神经元,也就是大约100万亿个神经元之间的连接,然而,它却能完成如此之多的任务,这无疑让人感到震惊。有些人可能会有这样的猜测,即大脑中除了神经元网络,还存在着我们尚未发现的具有特殊物理性质的层次。然而,随着ChatGPT的出现,我们获得了一个重要的新的信息,那就是,一个纯粹的人工神经网络,其连接数量与大脑中的神经元数量相当,就有可能产生出优秀的语言生成能力。
这仍然是一个庞大而复杂的系统,其中的神经网络权重几乎与当前世界上可用文本中的词一样多。但在某种程度上,似乎仍然很难相信语言的所有丰富性和它能谈论的事物都可以被封装在这样一个有限的系统中。这里面的部分原理无疑反映了一个普遍现象(这个现象最早在规则30[1]的例子中变得显而易见):即使基础规则很简单,计算过程也可以极大地放大系统的表面复杂性。但是,正如上面讨论的那样,ChatGPT使用的这种神经网络实际上往往是特别构建的,以限制这种现象(以及与之相关的计算不可约性)的影响,从而使它们更易于训练。
ChatGPT之所以在语言领域取得巨大成功,其基本原因在于语言的本质相对于表面现象而言要简单得多。换言之,即使是一个拥有简单神经网络结构的ChatGPT,也能够成功地把握人类语言的“精髓”以及背后的思维模式。这得益于在训练过程中,ChatGPT通过某种方式“隐含地发现了”实现这一切的语言(和思维)规律。
我认为,ChatGPT的崛起为我们提供了一个重要且具有深远的科学证据,即我们仍有可能发掘出具有重大意义的新的“语言法则”,甚至可以说是“思维法则”。在ChatGPT这个案例中,由于其采用了神经网络技术,这些潜在的法则目前还处于隐性的状态。然而,只要我们找到合适的方法论,让这些法则变得明朗,就有可能实现ChatGPT所达到的许多目标,而且这个过程将会更加直接、高效和透明。
作为一篇文章写作高手,我将按照您的要求对原文进行改写。在这篇文章中,我们将探讨一些语言规则,以及它们在组织语言和表达方式方面如何为我们提供指导。稍后,我们将讨论在ChatGPT内部可能寻找相关线索的方法,并基于在构建计算语言方面的经验来展望未来。然而,在此之前,让我们先探讨两个广泛认可的语言规则示例,以及它们与ChatGPT的运行如何相关联。
在我们探讨语言的构成时,首先需要理解的是其语法规则。与简单的词汇拼接不同,语言中的词语遵循着严格的语法规则。举例来说,英语中的名词前方允许形容词修饰,后方则可接动词,然而两个名词的排列则需遵循一定的规范。这些规律可以被视为捕捉“解析树”构建的基本准则,从而定义了词语如何组合成句子。
ChatGPT 在理解这些规则方面并非清晰明了,然而在训练过程中,它却潜在地捕捉到了这些规则,并显示出遵循它们的倾向。这一现象背后的原理尚不明确。尽管如此,为了更深入地了解这个问题,我们可以通过一个更易于理解的实例来进行探讨。
考虑一种由“(”和“)”的序列组成的“语言”,其语法规定括号应始终保持平衡,就像下面的解析树一样。
我们是否能够通过训练神经网络来生成“语法正确”的括号序列呢?在神经网络家族中,存在多种处理序列的方法,然而在这里,我们选择与ChatGPT相似的Transformer网络。首先,我们需要提供一个简单的Transformer网络一个输入样本,这个样本应该是语法正确的括号序列。值得注意的是,与ChatGPT人类语言生成的另一个细微差别在于,除了我们通常的“内容标记”(也就是“(”和“)”)之外,还需要添加一个“End”标记,以表明输出不应该继续下去,也就是说,对于ChatGPT而言,这已经标志着“故事”的结束。
在实际应用中,我们使用单个拥有8个头的注意力块和128维特征向量的模型来设置Transformer网络(如ChatGPT亦采用128维特征向量,但 attention block数量为96个,每块包含96个头),这样的配置似乎很难使其掌握括号语言的使用。然而,当我们将注意力块数量增加到2个时,学习过程似乎更容易收敛,至少在提供1000万个示例之后如此(值得注意的是,这与Transformer网络的设定相同,即展示更多示例通常会导致性能下降)。
通过这个网络,我们可以做类似于ChatGPT所做的事情,询问括号序列中下一个符号是什么的概率。
在特定的情况下,网络能够准确地识别出序列并在此处结束,这可能会导致括号的不平衡。然而,即便有大量经过严格训练的权重,它仍然错误地表示下一个标记是“)”的概率为15%——这种说法是不准确的,因为它肯定会导致括号的不平衡。
如果要求网络以最高概率补全逐渐变长的“(”序列,结果将如下所示。
在一定长度内,网络是可以正常工作的。但是一旦超出这个长度,它就开始出错。这是在神经网络(或广义的机器学习)等“精确”情况下经常出现的典型问题。对于人类“一眼就能解决”的问题,神经网络也可以解决。但对于需要执行“更算法式”操作的问题(例如明确计算括号是否闭合),神经网络往往会“计算过浅”,难以可靠地解决。顺便说一句,即使是当前完整的ChatGPT在长序列中也很难正确地匹配括号。
对于像ChatGPT这样的程序和英语等语言的语法来说,这意味着什么呢?括号语言是“严谨”的,而且是“算法式”的。而在英语中,根据局部选词和其他提示“猜测”语法上合适的内容更为现实。是的,神经网络在这方面做得要好得多——尽管它可能会错过某些“形式上正确”的情况,但这也是人类可能会错过的。重点是,语言存在整体的句法结构,而且它蕴含着规律性。从某种意义上说,这限制了神经网络需要学习的内容“多少”。一个关键的“类自然科学”观察结果是,神经网络的Transformer架构,就像ChatGPT中的这个,好像成功地学会了似乎在所有人类语言中都存在(至少在某种程度上是近似的)的嵌套树状的句法结构。
语法为语言提供了一种约束,但显然还有更多限制。像“Inquisitive electrons eat blue theories for fish”(好奇的电子为了鱼吃蓝色的理论)这样的句子虽然在语法上是正确的,但不是人们通常会说的话。ChatGPT即使生成了它,也不会被认为是成功的——因为用其中的词的正常含义解读的话,它基本上是毫无意义的。
有没有一种通用的方法来判断一个句子是否有意义呢?这方面没有传统的总体理论。但是可以认为,在用来自互联网等处的数十亿个(应该有意义的)句子对ChatGPT进行训练后,它已经隐含地“发展出”了一个这样的“理论”。
这个理论会是什么样的呢?它的冰山一角基本上已经为人所知了2000多年,那就是逻辑。在亚里士多德发现的三段论(syllogistic)形式中,逻辑基本上用来说明遵循一定模式的句子是合理的,而其他句子则不合理。例如,说“所有X都是Y。这不是Y,所以它不是X”(比如“所有的鱼都是蓝色的。这不是蓝色的,所以它不是鱼”)是合理的。就像可以异想天开地想象亚里士多德是通过(“机器学习式”地)研究大量修辞学例子来发现三段论逻辑一样,也可以想象ChatGPT在训练中通过查看来自互联网等的大量文本能够“发现三段论逻辑”。(虽然可以预期ChatGPT会基于三段论逻辑等产生包含“正确推理”的文本,但是当涉及更复杂的形式逻辑时,情况就完全不同了。我认为可以预期它在这里失败,原因与它在括号匹配上失败的原因相同。)
除了逻辑的例子之外,关于如何系统地构建(或识别)有合理意义的文本,还有什么其他可说的吗?有,比如像Mad Libs®这样使用非常具体的“短语模板”的东西。但是,ChatGPT似乎有一种更一般的方法来做到这一点。也许除了“当你拥有1750亿个神经网络权重时就会这样”,就没有什么别的可以说了。但是我强烈怀疑有一个更简单、更有力的故事。
注释
1.规则30是一个由本书作者在1983年提出的单维二进制元胞自动机规则。这个简单、已知的规则能够产生复杂且看上去随机的模式。——编者注
本文摘自《这就是ChatGPT》,澎湃新闻经出版方授权刊载。
《这就是ChatGPT》,【美】斯蒂芬·沃尔弗拉姆/著 WOLFRAM传媒汉化小组/译,人民邮电出版社,2023年7月版
AI时代,拥有个人微信机器人AI助手!AI时代不落人后!
免费ChatGPT问答,办公、写作、生活好得力助手!
搜索微信号aigc666aigc999或上边扫码,即可拥有个人AI助手!