机器之心报导

机器之心编辑部

能包容 50 页文档的输入框不够用,那几千页呢?

一个多月前,OpenAI 的 GPT-4 面世。除了各种超卓的直观演示外,它还完成了一个重要更新:可以处理的上下文 token 长度默以为 8k,但最长可达 32K(大约 50 页文本)。这意味着,在向 GPT-4 发问时,咱们可以输入比之前长得多的文本。这使得 GPT-4 的应用场景大大扩展,能更好地处理长对话、长文本以及文件搜索和分析。

不过,这一记载很快就被打破了:来自谷歌研讨院的 CoLT5 将模型可以处理的上下文 token 长度扩展到了 64k

这样的打破并不简略,因为这些运用 Transformer 架构的模型都要面临一个问题:Transformer 处理长文档在核算上是非常昂贵的,因为留意力成本随输入长度呈二次增加,这使得大型模型越来越难以应用于更长的输入。

尽管如此,研讨者仍然在此方向上不断打破。前几天,一篇来自开源对话 AI 技能栈 DeepPavlov 等组织的研讨表明:经过选用一种名为 Recurrent Memory Transformer(RMT)的架构,他们可以将 BERT 模型的有用上下文长度增加到 200 万个 token(按照 OpenAI 的核算方法,大约相当于 3200 页文本),同时坚持了较高的回忆检索准确性(注:Recurrent Memory Transformer 是 Aydar Bulatov 等人在 NeurIPS 2022 的一篇论文中提出的办法) 。新办法答应存储和处理部分和大局信息,并经过运用 recurrence 使信息在输入序列的各 segment 之间流动。

真量子速读:突破GPT-4一次只能理解50页文本限制,新研究扩展到百万token

作者表示,经过运用 Bulatov 等人在「Recurrent Memory Transformer」一文中介绍的简略的基于 token 的回忆机制,他们可以将 RMT 与 BERT 这样的预练习 Transformer 模型结合起来,用一个 Nvidia GTX 1080Ti GPU 就可以对超越 100 万个 token 的序列进行全留意和全精度操作。

真量子速读:突破GPT-4一次只能理解50页文本限制,新研究扩展到百万token

论文地址:arxiv.org/pdf/2304.11…

不过,也有人提示说,这并不是真实的「免费的午饭」,上述论文的提高是用「更长的推理时刻 + 实质性的质量下降」换来的。因而,它还不能算是一次变革,但它或许成为下一个范式(token 或许无限长)的根底。

真量子速读:突破GPT-4一次只能理解50页文本限制,新研究扩展到百万token

Recurrent Memory Transformer

该研讨选用 Bulatov 等人 2022 年提出的办法 Recurrent Memory Transformer(RMT),并将其改成即插即用的办法,主要机制如下图所示:

真量子速读:突破GPT-4一次只能理解50页文本限制,新研究扩展到百万token

冗长的输入被分成多个 segment,回忆向量(memory vector)被增加到第一个 segment 嵌入之前,并与 segment token 一起处理。关于像 BERT 这样的纯编码器模型,回忆只在 segment 的开头增加一次,这一点与 (Bulatov et al., 2022) 不同,纯解码器模型将回忆分为读取和写入两部分。关于时刻步长 和 segment

真量子速读:突破GPT-4一次只能理解50页文本限制,新研究扩展到百万token

,循环按照如下过程执行:

真量子速读:突破GPT-4一次只能理解50页文本限制,新研究扩展到百万token

其中,N 是 Transformer 的层数。前向传播之后,

真量子速读:突破GPT-4一次只能理解50页文本限制,新研究扩展到百万token

包含 segment 的更新回忆 token。

输入序列的 segment 按照次序处理。为了启用循环连接,该研讨将回忆 token 的输出从当时 segment 传递到下一个 segment 的输入:

真量子速读:突破GPT-4一次只能理解50页文本限制,新研究扩展到百万token

RMT 中的回忆和循环都仅基于大局回忆 token。这答应主干 Transformer 坚持不变,从而使 RMT 的回忆增强才能与任何 Transformer 模型都兼容。

核算效率

该研讨估算了不同巨细和序列长度的 RMT 和 Transformer 模型所需的 FLOP。

如下图 3 所示,假如 segment 的长度固定,RMT 可针对任何模型巨细进行线性扩展。该研讨经过将输入序列分成 segment,并仅在 segment 边界内核算完好的留意力矩阵来完成线性扩展。

由于 FFN 层的核算量很大,较大的 Transformer 模型往往会体现出较慢的随序列长度的二次扩展(quadratic scaling)。然而,关于大于 32000 的超长序列,它们会退回到二次扩展。关于多于一个 segment 的序列(本研讨中 > 512),RMT 比非循环模型需求更少的 FLOP,而且可以将 FLOP 的数量削减多达 295 倍。RMT 为较小的模型供给了更大的 FLOP 相对削减,但在肯定数量上,OPT-175B 模型的 FLOP 削减了 29 倍是非常明显的。

真量子速读:突破GPT-4一次只能理解50页文本限制,新研究扩展到百万token

回忆使命

为了测验回忆才能,该研讨构建了需求回忆简略现实和基本推理的组成数据集。使命输入由一个或多个现实和一个只要运用一切现实才能答复的问题组成。为了增加使命难度,该研讨还增加了与问题或答案无关的自然语言文本来充当噪声,因而模型的使命是将现实与不相关的文本分开,并运用现实来答复问题。

真量子速读:突破GPT-4一次只能理解50页文本限制,新研究扩展到百万token

现实回忆

第一项使命是检测 RMT 在回忆中长时刻写入和存储信息的才能,如下图 4 顶部所示。在最简略的情况下,现实往往坐落输入开头,而问题总是在结尾。问题和答案之间不相关文本的数量逐渐增加,以至于整个输入不适合单个模型输入。

真量子速读:突破GPT-4一次只能理解50页文本限制,新研究扩展到百万token
真量子速读:突破GPT-4一次只能理解50页文本限制,新研究扩展到百万token

现实检测与回忆

现实检测经过将一个现实移动到输入中的随机方位来增加使命难度,如上图 4 中部所示。这需求模型首先将现实与不相关文本区别开来,把现实写入回忆中,然后用它答复坐落结尾的问题。

运用回忆现实进行推理

回忆的另一个操作是运用回忆现实和当时上下文进行推理。为了评价这一功用,研讨者运用了一个更杂乱的使命,其中生成了两个现实并将它们放置在了输入序列之中,如上图 4 底部所示。在序列结尾提出的问题是以一种「有必要运用恣意现实来正确答复问题」的方法来描述。

真量子速读:突破GPT-4一次只能理解50页文本限制,新研究扩展到百万token

试验结果

研讨者运用 4 到 8 块英伟达 1080ti GPU 来练习和评价模型。关于更长的序列,他们则运用单个 40GB 的英伟达 A100 来加速评价速度。

课程学习

研讨者调查到,运用练习计划可以明显提高处理方案的准确性和稳定性。最开端,RMT 在较短版别的使命上进行练习,并在练习收敛时经过增加另一个 segment 来增加使命长度。课程学习过程一直持续,直到达到所需的输入长度。

在试验中,研讨者首先从适合单个 segment 的序列开端。实际 segment 的巨细为 499,但由于 BERT 的 3 个特殊 token 和 10 个回忆占位符从模型输入中保留下来,巨细为 512。他们留意到, 在较短使命上练习后,RMT 更简略处理更长版别使命,这得益于它运用更少练习步收敛到完美的处理方案。

外推才能

RMT 对不同序列长度的泛化才能如何呢?为了答复这个问题,研讨者评价了在不同数量 segment 上练习的模型,以处理更长的使命,详细如下图 5 所示。

他们调查到,模型往往在较短使命上体现更好,唯一的例外是单 segment 推理使命,一旦模型在更长序列上练习,则该使命变得很难处理。一个或许的解说是:由于使命巨细超越了一个 segment,则模型不再「等待」第一个 segment 中的问题,导致质量下降。

真量子速读:突破GPT-4一次只能理解50页文本限制,新研究扩展到百万token

有趣的是,RMT 泛化到更长序列的才能也跟着练习 segment 的增加而出现。在 5 个或更多 segment 上练习后,RMT 可以近乎完美地泛化到两倍长的使命。

为了测验泛化的局限性,研讨者将验证使命巨细增至 4096 个 segment 或 2,043,904 个 token(如上图 1 所示),RMT 在如此长的序列上体现得出奇的好。检测和回忆使命最简略,推理使命最杂乱。

回忆操作的留意力形式

在下图 6 中,经过检查特定 segment 上的 RMT 留意力,研讨者调查到了回忆操作对应特定的留意力形式。此外 5.2 节中极长序列上的高外推性能证明了学得回忆操作的有用性,即便运用数千次也是如此。

真量子速读:突破GPT-4一次只能理解50页文本限制,新研究扩展到百万token

更多技能与试验细节请参阅原论文。