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

2024年03月22日,19时26分47秒 OpenAI 阅读 7 views 次
如何应对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 进行了讨论,后者在(来源:机器之心)

标签:


用户登录