共计 2420 个字符,预计需要花费 7 分钟才能阅读完成。
「这相当于在理论上,两层神经网络在理论上可以拟合任何数据,我们就盲目相信并应用在所有场景中。」
大模型新范式 OpenAI o1 一经发布,如何「复刻」出 o1 便成为了 AI 圈最热的话题。
由于 OpenAI 对技术细节守口如瓶,想从 AI 那里「套话」,让它复述完整的内部推理过程,多问几句,OpenAI 直接发邮件警告要撤销你的使用资格。想从技术报告中想找出点蛛丝马迹,也同样困难。于是,大家将目光转向了以往类似的研究成果,希望从中找到些线索。
比如,Google Brain 推理团队创建者 Denny Zhou 立刻拿出了他在今年 5 月份发表的论文:《Chain of Thought Empowers Transformers to Solve Inherently Serial Problems》。这篇论文的作者阵容也很豪华,除了 Denny Zhou,还有斯隆奖得主马腾宇以及他的两位学生。
Denny Zhou 表示,他们已经在数学上证明,只要允许 Transformer 模型生成足够多的中间推理 tokens,它们就能解决任何问题,让 LLM 的推理没有上限。
概括起来,这篇论文主要证明了引入思维链(CoT)能够显著提升 Transformer 的表达能力,使其能处理更加复杂的问题。
加入 CoT
1 层的 Transformer 也能做复杂推理题
一直以来,大家都在寻找突破 Transformer 架构的方法。Transformer 虽擅长并行计算,却难以处理串行推理。并行计算意味着模型可以同时处理多个步骤,对于需要逐步推理的问题尤为重要。
对此,论文作者们提出了一个假设:CoT 可以帮助 Transformer 完成原本无法做到的串行计算。
论文作者们采用了电路复杂性(circuit complexity)来讨论 Transformer 的能力。
电路复杂性按复杂程度分为不同类别,如:
此前的研究已经表明,仅解码器架构的 Transformer 能够高效并行计算,但它们的计算能力有限,只能解决通过 TC⁰类电路能够计算的问题。如果限制条件更加严格,不允许使用多数决定门时,Transformer 的计算能力只能解决 AC⁰类问题。
论文指出,没有 CoT 时,Transformer 的串行计算次数受到模型深度的限制,深度越大,能处理的串行计算步数越多。但深度是固定的,无法随任务增加而增长。引入 CoT,则解决了这个问题,能让 Transformer 生成 T 步的中间步骤,增加串行计算的次数到 T。
论文进一步证明,如果 Transformer 的嵌入维度与输入序列长度的对数成比例,并且配备 T 步的中间步骤,那么该 Transformer 能够模拟大小为 T 的布尔电路,进而解决 P/poly 类问题。如果 T 值线性增长,Transformer 可以处理所有正规语言的问题,包括S₅这样的复杂群组合问题
为了验证上述理论分析,作者通过实验比较了引入 CoT 前后,Transformer 在解决模加法、排列组合、迭代平方和电路值问题这四个核心任务上的表现。实验分别在三种设置下进行:
模加法(Modular Addition)
给定任意正整数 p,这个任务的目标是通过模运算来计算一个词表的和。论文作者按照以下方式生成序列 x = (x₁, …, xₙ):对于每个 i ∈ [n − 1],从 {0, 1, …, p − 1} 中独立采样 xᵢ,并将 xₙ设为 '='。模运算结果为:
;引入 CoT 后为,
。
如下图所示,当 p=7 时,浅层 Transformer 在有提示的情况下能够很好地解决输入序列较短时的问题,但使用 CoT 时,尤其是在较长的输入序列中,模型的表现要好得多。
排列组合(Permutation Composition)
给定一个自然数 p,该任务的目标是对词表 {1, . . . , p,(,), =} 中的所有元素进行排列组合,得到
。最终输出是将所有排列组合整合在一起的结果:
。
对于 CoT 模式,Transformer 不直接计算最终结果,而是逐步地、部分地进行计算。
下图展示了排列组合(S₅)在 Hint 模式和 CoT 模式两种不同模式下的表现,其中横轴表示输入序列的长度,纵轴表示模型的层数,颜色代表准确率。
在 Hint 模式下,即使 Transformer 有 12 层,准确率仍然非常低,基本维持在 20% 左右,几乎是在 1-5 之间随机猜测的水平。只有当输入序列长度非常短(长度为 3)且层数较多时,准确率才能有所提高,但仍然不超过 56%。
在 CoT 模式下,Transformer 表现显著提高。无论序列长度多长,准确率都接近 100%。当序列长度增加至 33 和 36 时,层数为 1 的模型准确率有所下降,分别为 54% 和 46%,但这仍然远高于 Hint 模式的表现。
迭代平方(Iterated Squaring)
迭代平方问题在密码学中被广泛用于构造加密算法。它之所以重要,是因为该问题被认为计算难度很高,即使使用非常强大的并行处理器,也无法在合理时间内找到有效的解决方法。具体来说,给定三个整数 r、n、p,Transformer需要计算 :
。
如下图所示,随着模型层数和输入长度的增加,Hint 模式下,Transformer 的表现逐渐变差。对于较短的输入长度(如 6 和 14),即使层数较少,Transformer 仍然能保持相对较高的准确率(分别为 94% 和 89%),但当输入长度增加到 30 或更长时,准确率显著下降,尤其是模型层数较少时。
而在 CoT 模式下,无论序列长度和模型层数如何,Transformer 的表现都保持了 100% 的准确率。
电路值问题(Circuit Value Problem)
要计算电路值问题,模型需要根据输入:
,计算出电路最后的逻辑门 m 的值。
如下图所示,在 Hint 模式下,在序列长度较短时,准确率还能保持 100%,但当长度较长时,准确率有大幅下降。使用 CoT 后,即使 Transformer 只有 1 层,就能达到接近 100% 的准确率。