如何应对Transformer的计算局限?思维链推理提高神经网络计算

AI行业动态8个月前发布 ainavi
8,248 0
如何应对Transformer的计算局限?思维链推理提高神经网络计算

编辑 | 白菜叶

你的小学老师可能没有教你如何做 20 位数字的加减法。但如果你知道如何加减较小的数字,你所需要的只是纸和铅笔以及一点耐心。从个位开始,一步步向左,很快你就能轻松地积累出千万亿的数字。

像这样的问题对人类来说很容易解决,但前提是我们用正确的方式解决它们。「我们人类解决这些问题的方式并不是『盯着它然后写下答案』。」哈佛大学机器学习研究员 Eran Malach 表示,「我们实际上是走过这些台阶的。」

这一见解启发了研究人员研究为 ChatGPT 等聊天机器人提供支持的大型语言模型。这些系统可以解决涉及少量算术步骤的问题,但它们经常会搞砸涉及多个步骤的问题,例如计算两个大数的总和。

但在 2022 年,谷歌研究人员团队表明,要求语言模型生成逐步解决方案,使模型能够解决以前看似无法解决的问题。他们的技术被称为「思维链推理提示(chain-of-thought prompting)」,很快就得到了广泛应用,虽然研究人员很难理解它的工作原理。

如何应对Transformer的计算局限?思维链推理提高神经网络计算

论文链接:https://arxiv.org/abs/2201.11903

现在,几个团队已经通过使用理论计算机科学的一个神秘分支(称为计算复杂性理论)的技术来探索思维链推理的力量。

这是使用复杂性理论来研究语言模型的内在功能和局限性的一系列研究的最新章节。这些研究阐明了我们应该预期模型会在哪些方面失败,并且它们可能会指出构建模型的新方法。

「它们消除了一些魔力。」威斯康星大学麦迪逊分校的机器学习研究员 Dimitris Papailiopoulos 说,「这是好事情。」

训练 Transformer

大型语言模型是围绕称为人工神经网络的数学结构构建的。这些网络内的许多「神经元」对代表单个单词的长串数字执行简单的数学运算,将通过网络的每个单词转换为另一个单词。这种数学炼金术的细节取决于另一组称为网络参数的数字,它量化神经元之间的连接强度。

为了训练语言模型产生连贯的输出,研究人员通常从参数均具有随机值的神经网络开始,然后向其提供来自互联网的大量数据。每次模型看到一个新的文本块时,它都会尝试依次预测每个单词:它根据第一个单词猜测第二个单词,根据前两个单词猜测第三个单词,依此类推。它将每个预测与实际文本进行比较,然后调整其参数以减少差异。每次调整只会稍微改变模型的预测,但不知何故,它们的集体效应使模型能够对其从未见过的输入做出连贯的响应。

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

如何应对Transformer的计算局限?思维链推理提高神经网络计算

论文链接:https://arxiv.org/abs/1706.03762

智利天主教大学机器学习研究员 Pablo Barceló 表示:「这是七年前提出的,看起来像是史前时代。」

Transformer 之所以如此具有变革性,是因为它很容易扩大规模——增加参数数量和训练数据量——而不会使训练成本过高。

在 Transformer 出现之前,神经网络最多有几亿个参数;如今,最大的基于 Transformer 的模型已超过一万亿。过去五年中语言模型性能的大部分改进都来自简单的扩展。

Transformer 通过使用称为 attention heads 的特殊数学结构使这成为可能,这使它们能够鸟瞰它们正在阅读的文本。当 Transformer 读取一个新的文本块时,它的 attention heads 会快速扫描整个文本并识别单词之间的相关联系——也许会注意到第四个和第八个单词可能对于预测第十个单词最有用。然后,attention heads 将单词传递到一个称为前馈网络的巨大神经元网络,该网络进行大量数字运算,从而生成有助于学习的预测。

真正的 Transformer 具有由前馈网络分隔的多层 attention heads,并且仅在最后一层之后输出预测。但在每一层,attention heads 已经识别出每个单词最相关的上下文,因此计算密集型前馈步骤可以针对文本中的每个单词同时发生。这加快了训练过程,使得利用越来越大的数据集训练 Transformer 成为可能。更重要的是,它允许研究人员将训练大型神经网络的巨大计算负载分散到多个协同工作的处理器上。

为了充分利用海量数据集,「你必须让模型变得非常大。」圣母大学机器学习研究员 David Jiang 表示,「除非并行化,否则训练它们是不切实际的。」

然而,使训练 Transformer 变得如此容易的并行结构在训练后并没有帮助——此时,不需要预测已经存在的单词。在普通操作期间, Transformer 一次输出一个字,在生成下一个字之前将每个输出重新附加到输入上,但它们仍然停留在针对并行处理优化的架构上。

随着基于 Transformer 的模型不断发展,某些任务继续给它们带来麻烦,一些研究人员开始怀疑,推动更可并行化的模型是否需要付出代价。有没有办法从理论上理解 Transformer 的行为?

Transformer 的复杂性

神经网络的理论研究面临许多困难,特别是当它们试图解释训练时。神经网络使用众所周知的程序在训练过程的每一步调整其参数。但很难理解为什么这个简单的过程会收敛于一组良好的参数。

一些研究人员没有考虑训练期间发生的情况,而是通过想象可以将其参数调整为任意值来研究 Transformer 的内在功能。这相当于将 Transformer 视为一种特殊类型的可编程计算机。

「你有一些计算设备,你想知道,『它能做什么?它可以计算哪些类型的函数?』」Chiang 说。

这些是正式计算研究的中心问题。该领域的历史可以追溯到 1936 年,当时 Alan Turing 首次设想了一种奇特的设备,现在称为图灵机,它可以通过在无限磁带上读写符号来执行任何计算。

计算复杂性理论家后来以 Turing 的工作为基础,证明计算问题自然地分为由解决它们所需的资源定义的不同复杂性类别。

2019 年,Barceló 团队证明,具有固定数量参数的理想化 Transformer 版本可以与图灵机一样强大。如果你设置一个 Transformer 来重复将其输出作为输入反馈,并将参数设置为你想要解决的特定问题的适当值,它最终会给出正确的答案。

如何应对Transformer的计算局限?思维链推理提高神经网络计算

论文链接:https://arxiv.org/abs/1901.03429

该结果是一个起点,但它依赖于一些不切实际的假设,这些假设可能会高估 Transformer 的功率。在那以后的几年里,研究人员一直致力于开发更现实的理论框架。

其中一项研究始于 2021 年,当时纽约大学研究生 William Merrill 即将离开西雅图艾伦人工智能研究所。在那里,他使用了似乎不太适合 Transformer 并行架构的技术来分析其他类型的神经网络。离开前不久,他与艾伦人工智能研究所研究员 Ashish Sabharwal 进行了讨论,后者在进入人工智能研究之前曾研究过复杂性理论。他们开始怀疑复杂性理论可能有助于他们理解 Transformer 的局限性。

「这看起来只是一个简单的模型;肯定存在一些可以确定的限制。」Sabharwal 说。

两人使用计算复杂性理论的一个分支(称为电路复杂性)分析 Transformer ,该理论通常用于研究并行计算,最近已应用于简化版本的 Transformer 。在接下来的一年里,他们改进了之前工作中的一些不切实际的假设。

如何应对Transformer的计算局限?思维链推理提高神经网络计算

论文链接:https://arxiv.org/abs/2204.06618

为了研究 Transformer 的并行结构如何限制它们的能力,两人考虑了 Transformer 不将输出反馈到输入的情况,相反,它们的第一个输出必须是最终答案。

他们证明,这个理论框架中的 Transformer 无法解决特定复杂性类别之外的任何计算问题。许多数学问题,包括求解线性方程等相对简单的问题,被认为不属于该课程。

如何应对Transformer的计算局限?思维链推理提高神经网络计算

论文链接:https://arxiv.org/abs/2207.00729

基本上,他们表明并行性确实是有代价的——至少当 Transformer 必须立即给出答案时是这样。Merrill 说:「如果你使用 Transformer 的方式是提供输入,然后只期望立即得到答案,那么 Transformer 就非常弱了。」

思想实验

Merrill 和 Sabharwal 的研究结果自然而然地提出了一个问题:当 Transformer 被允许回收其输出时,它们的能力会增强多少?Barceló 团队在 2019 年对理想化 Transformer 的分析中研究了这个案例,但有了更现实的假设,这个问题仍然悬而未决。在随后的几年里,研究人员发现了思维链提示,使这个问题有了新的相关性。

Merrill 和 Sabharwal 知道,他们的纯数学方法无法捕捉真实语言模型中思维链提示的所有信息,其中提示中的措辞可能非常重要。

如何应对Transformer的计算局限?思维链推理提高神经网络计算

论文链接:https://arxiv.org/abs/2212.10001

但无论提示如何措辞,只要它使语言模型输出逐步解决方案,该模型原则上就可以在后续通过 Transformer 时重用中间步骤的结果。这可以提供一种规避并行计算限制的方法。

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

如何应对Transformer的计算局限?思维链推理提高神经网络计算

论文链接:https://arxiv.org/abs/2305.15408

10 月份,Merrill 和 Sabharwal 继续他们早期的工作,对思维链的计算能力进行了详细的理论研究。他们量化了额外的计算能力如何取决于 Transformer 在必须给出最终答案之前允许使用的中间步骤的数量。

如何应对Transformer的计算局限?思维链推理提高神经网络计算

论文链接:https://arxiv.org/abs/2310.07923

一般来说,研究人员期望解决任何问题的中间步骤的适当数量取决于问题输入的大小。例如,将两个 20 位数字相加的最简单策略所需的中间加法步骤是用相同方法将两个 10 位数字相加所需的中间加法步骤的两倍。

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

结果的彻底性给研究人员留下了深刻的印象。「他们确实确定了这一点。」哥伦比亚大学机器学习研究员 Daniel Hsu 说。Merrill 和 Sabharwal 最近的研究表明,思维链并不是万能的——原则上,它可以帮助 Transformer 解决更困难的问题,但代价是大量的计算工作。

「我们对一次性解决 Transformer 局限性的不同方法感兴趣。」Merrill 说,「思维链是一种方法,但本文表明这可能不是最经济的方法。」

Back to Reality

尽管如此,研究人员提醒,这种理论分析只能揭示有限的真实语言模型。积极的结果——证明 Transformer 原则上可以解决某些问题——并不意味着语言模型实际上会在训练过程中学习这些解决方案。

即使解决 Transformer 局限性的结果也应注意:它们表明没有 Transformer 可以在所有情况下完美解决某些问题。当然,这是一个相当高的门槛。「可能有一些特殊情况的问题它可以很好地处理。」Hsu 说。

尽管如此,这项新工作还是提供了一个模板,用于分析不同类型的神经网络架构,这些架构最终可能会取代 Transformer。如果复杂性理论分析表明某些类型的网络比其他类型的网络更强大,那么这将证明这些网络在现实世界中也可能表现得更好。

Chiang 还强调,随着语言模型越来越广泛地应用于现实世界的应用中,对 Transformer 局限性的研究就更有价值,很容易高估它们的能力。

「实际上有很多事情他们做得不太好,我们需要非常非常认识到局限性。」Chiang 说,「这就是为什么这种工作非常重要。」

相关报道:https://www.quantamagazine.org/how-chain-of-thought-reasoning-helps-neural-networks-compute-20240321/

© 版权声明

关注公众号,免费获取chatgpt账号
免费获取chatgpt

相关文章

暂无评论

暂无评论...