大模型原理与思维链推理


道生一、一生二、二生三、三生万物,生成式人工智能是如何从人类一步步生成思维中获得帮助?

加法运算:你所需要的只是纸和笔以及一点耐心。从 1 位开始,一步一步向左加,很快你就能轻松堆出五万亿。

像这样的问题对人类来说很容易,但前提是我们必须用正确的方法去解决。
我们人类解决这些问题的方式不是'盯着它看,然后写下答案。
我们实际上是一步步走过来的。

量变导致质变,千里之行始于足下。

这一洞察力启发了研究人员,他们开始研究为 ChatGPT 等聊天机器人提供支持的大型语言模型。虽然这些系统可能会处理涉及几步运算的问题,但它们经常会在涉及许多步骤的问题上出错,比如计算两个大数的和。

但在 2022 年,谷歌的一个研究团队发现,让语言模型一步步生成解决方案,能让模型解决以前似乎无法解决的问题。

他们的技术被称为 "思维链提示"(chain-of-thought prompting),很快就得到了广泛应用,尽管研究人员一直在努力理解它的工作原理。

现在,几个团队利用计算机理论科学的一个神秘分支--计算复杂性理论--的技术,探索了思维链推理的力量。这是利用复杂性理论研究语言模型内在能力和局限性的最新研究成果。这些努力澄清了我们应该在哪些方面预期模型会失败,并为构建模型指出了新的方法。


训练Transformer
大型语言模型是围绕称为人工神经网络的数学结构建立的。

  • 这些网络中的许多 "神经元 "对代表单个单词的长串数字进行简单的数学运算,将通过网络的每个单词转换成另一个单词。
  • 这种数学炼金术的细节取决于另一组称为网络参数的数字,这些参数量化了神经元之间的连接强度。

为了训练语言模型以产生一致的输出结果,研究人员通常会先建立一个参数值都是随机的神经网络,然后向其输入大量来自互联网的数据。每当模型看到一个新的文本块,它就会尝试依次预测每个单词:

  • 它根据第一个词猜测第二个词,根据前两个词猜测第三个词,以此类推。
  • 它将每次预测与实际文本进行比较,然后调整参数以减少差异。
  • 每次调整只会对模型的预测产生微小的变化,但不知何故,这些调整所产生的集体效应却能让模型对从未见过的输入做出一致的反应。

20 年来,研究人员一直在训练神经网络处理语言。但这项工作真正起步是在 2017 年,当时谷歌的研究人员推出了一种名为 "Transformer"的新型网络。

Transformer之所以具有如此大的变革性,是因为它很容易扩展:

  • 增加参数数量和训练数据量
  • 而不会使训练成本过高。

在使用Transformer之前,神经网络最多只有几亿个参数;而如今,基于Transformer的最大模型已超过万亿个参数。

过去五年中,语言模型性能的提升很大程度上来自于简单的扩展。

Transformer之所以能做到这一点,是因为它们使用了名为 "注意头 "的特殊数学结构,这种结构能让Transformer鸟瞰所阅读的文本。

  • Transformer读到一个新的文本块时,它的注意头会快速扫描整个文本,并识别单词之间的相关联系也许注意到第四个和第八个单词可能对预测第十个单词最有用。
  • 然后,注意头将单词传递给一个由神经元组成的巨大网络,这个网络被称为前馈网络,负责进行繁重的数字运算,以生成有助于学习的预测结果。

真正的Transformer有多层注意头,由前馈网络隔开,只有在最后一层之后才会吐出预测结果。

但在每一层,注意头已经识别出每个单词最相关的上下文,因此计算密集型的前馈步骤可以同时针对文本中的每个单词进行。
这就加快了训练过程,使得在越来越大的数据集上训练Transformer成为可能。

更重要的是,它还能让研究人员将训练大规模神经网络的巨大计算负荷分散到多个串联工作的处理器上。

在正常运行过程中,Transformer一次输出一个单词,在生成下一个单词之前,会将每个输出结果粘回到输入上,但它们仍然受限于为并行处理而优化的架构。

随着基于Transformer的模型越来越多,而某些任务不断给它们带来麻烦,一些研究人员开始思考,推动建立更多可并行化模型是否需要付出代价。是否有办法从理论上理解Transformer的行为?

Transformer复杂性
神经网络的理论研究面临诸多困难,尤其是在试图考虑训练问题时。神经网络使用一种众所周知的程序,在训练过程的每一步调整参数。但是,我们很难理解为什么这一简单的程序会收敛到一组好的参数上。

一些研究人员在研究Transformer的内在能力时,并没有考虑训练过程中会发生什么,而是想象可以将其参数调整为任意值。这相当于将Transformer视为一种特殊的可编程计算机。

这些都是计算形式研究的核心问题:这一领域的研究可以追溯到 1936 年,当时阿兰-图灵首次想象出一种奇特的设备,即现在的图灵机,它可以通过在无限长的磁带上读写符号来执行任何计算。后来,计算复杂性理论家们在图灵工作的基础上,证明了计算问题自然分为不同的复杂性类别,这些类别由解决这些问题所需的资源定义。

Transformer仅仅使用几个中间步骤并不会获得太多好处。事实上,Merrill 和 Sabharwal 证明,只有当中间步骤的数量与输入的大小成比例增长时,思想链才真正开始发挥作用,并且许多问题需要中间步骤的数量继续增长。

Transformer递归
Merrill 和 Sabharwal 的研究结果提出了一个自然的问题:当Transformer被允许回收其输出时,它们会变得更强大吗? 

在随后的几年里,研究人员发现了思维链提示,使这个问题有了新的相关性。

Merrill 和 Sabharwal 知道,他们的纯数学方法无法捕捉真实语言模型中思维链推理的所有方面,因为在真实语言模型中,提示语的措辞可能非常重要。但无论提示语的措辞如何,只要它能让语言模型逐步输出解决方案,那么原则上,模型就能在后续的转换过程中重复使用中间步骤的结果。这就为规避并行计算的限制提供了一种方法。

与此同时,北京大学的一个团队也在沿着类似的思路思考,他们的初步结果是积极的。在 2023 年 5 月的一篇论文中,他们发现了一些在Merrill 和 Sabharwal 的框架下普通Transformer不可能解决的数学问题,并证明中间步骤使Transformer能够解决这些问题。

Merrill 和 Sabharwal 最近的工作表明,思想链并不是万能的——原则上,它可以帮助 Transformer 解决更困难的问题,但代价是大量的计算工作。