RMT 突破 LLM 百万 Tokens 上下文长度

Scaling Transformer to 1M tokens and beyond with RMT 这份技术报告展示了循环记忆的应用,以扩展 BERT 的上下文长度,这是自然语言处理中最有效的基于 Transformer 的模型之一。通过利用循环记忆 Transformer 架构,我们成功地将模型的有效上下文长度增加到前所未有的 200 万个标记,同时保持高记忆检索精度。我们的方法允许存储和处理局部和全局信息,并通过使用递归实现输入序列段之间的信息流。我们的实验证明了我们方法的有效性,这具有巨大的潜力来增强自然语言理解和生成任务的长期依赖处理,并为记忆密集型应用程序启用大规模上下文处理。

2304.11062.pdf (arxiv.org)

《 RMT 突破 LLM 百万 Tokens 上下文长度》 有 7 条评论

  1. 1 。我们通过将基于令牌的记忆存储和段级递归与循环记忆 (RMT) 相结合来增强 BERT 。
    2. 我们证明了记忆增强 BERT 可以被训练来处理长度不超过其最初设计的输入长度 (512 个标记) 的序列的任务。
    3. 我们发现了经过训练的 RMT 成功推断不同长度的任务的能力,包括那些超过 100 万个令牌,需要线性计算缩放。
    4. 通过注意力模式分析,我们发现 RMT 与记忆一起使用的操作,使其能够成功处理异常长的序列。

    回复
  2. 1 。我们通过将基于令牌的记忆存储和段级递归与循环记忆 (RMT) 相结合来增强 BERT 。
    2. 我们证明了记忆增强 BERT 可以被训练来处理长度不超过其最初设计的输入长度 (512 个标记) 的序列的任务。
    3. 我们发现了经过训练的 RMT 成功推断不同长度的任务的能力,包括那些超过 100 万个令牌,需要线性计算缩放。
    4. 通过注意力模式分析,我们发现 RMT 与记忆一起使用的操作,使其能够成功处理异常长的序列。

    回复
  3. 从最初的循环记忆转换器 (Bulatov et al., 2022) (RMT) 开始,我们将其改编为即插即用的方法,作为一系列流行的 Transformer 的包装器。这种适应用内存增强了其主干,由 m 个实值可训练向量组成 (图 2) 。冗长的输入被分成段,内存向量被添加到第一个段嵌入中,并与段标记一起处理。对于 BERT 等仅编码器模型,与 (Bulatov et al., 2022) 不同,内存仅在段的开头添加一次,其中仅解码器模型将内存分成读写部分。

    回复
  4. 从最初的循环记忆转换器 (Bulatov et al., 2022) (RMT) 开始,我们将其改编为即插即用的方法,作为一系列流行的 Transformer 的包装器。这种适应用内存增强了其主干,由 m 个实值可训练向量组成 (图 2) 。冗长的输入被分成段,内存向量被添加到第一个段嵌入中,并与段标记一起处理。对于 BERT 等仅编码器模型,与 (Bulatov et al., 2022) 不同,内存仅在段的开头添加一次,其中仅解码器模型将内存分成读写部分。

    回复
  5. 循环记忆机制。记忆沿输入序列嵌入传递给 Transformer,记忆输出被传递到下一个段。在训练期间,梯度通过记忆从当前段流向前一个段。

    回复
  6. 循环记忆机制。记忆沿输入序列嵌入传递给 Transformer,记忆输出被传递到下一个段。在训练期间,梯度通过记忆从当前段流向前一个段。

    回复
  7. 通过检查特定片段上的 RMT 注意,我们观察到记忆操作对应于特定的注意模式。此外,在超长序列上的高外推性能,证明了学习记忆操作的有效性,即使在使用数千次的情况下也是如此。考虑到这些行动的动机不是明确的任务损失,这一点尤其令人印象深刻。

    回复
  8. 通过检查特定片段上的 RMT 注意,我们观察到记忆操作对应于特定的注意模式。此外,在超长序列上的高外推性能,证明了学习记忆操作的有效性,即使在使用数千次的情况下也是如此。考虑到这些行动的动机不是明确的任务损失,这一点尤其令人印象深刻。

    回复
  9. 仅限于管段边界内。由于计算繁重的FFN层(其相对于隐藏大小进行二次缩放),较大的Transformer模型往往显示出相对于序列长度的二次方缩放。然而,在大于32,000的超长序列上,它们会回落到二次缩放。对于具有多个片段的序列(在本研究中>512),RMT 需要的 Flop 比非循环模型少,并且可以将 Flop 的数量减少高达×295 倍。 RMT 为较小的型号提供了更大的相对 FLOP 减少,但在绝对数字上,OPT-175B 型号的×29 倍减少是非常显著的。

    回复
  10. 仅限于管段边界内。由于计算繁重的FFN层(其相对于隐藏大小进行二次缩放),较大的Transformer模型往往显示出相对于序列长度的二次方缩放。然而,在大于32,000的超长序列上,它们会回落到二次缩放。对于具有多个片段的序列(在本研究中>512),RMT 需要的 Flop 比非循环模型少,并且可以将 Flop 的数量减少高达×295 倍。 RMT 为较小的型号提供了更大的相对 FLOP 减少,但在绝对数字上,OPT-175B 型号的×29 倍减少是非常显著的。

    回复
  11. 为了测试记忆能力,我们构建了需要记忆简单事实和基本推理的合成数据集。任务输入由一个或几个事实和一个问题组成,这个问题只能通过使用所有这些事实来回答。为了增加任务难度,我们添加了与问题或答案无关的自然语言文本。这些文本就像噪音一样,所以模型的任务是将事实从不相关的文本中分离出来,并用它们来回答问题。该任务分为 6 个类别,每个类别代表一个单独的答案选项。事实是使用 bAbI 数据集 (Weston 等人,2016) 生成的,而背景文本来自 QuALITY (Pang 等人,2022) 长 QA 数据集中的问题。

    回复
  12. 为了测试记忆能力,我们构建了需要记忆简单事实和基本推理的合成数据集。任务输入由一个或几个事实和一个问题组成,这个问题只能通过使用所有这些事实来回答。为了增加任务难度,我们添加了与问题或答案无关的自然语言文本。这些文本就像噪音一样,所以模型的任务是将事实从不相关的文本中分离出来,并用它们来回答问题。该任务分为 6 个类别,每个类别代表一个单独的答案选项。事实是使用 bAbI 数据集 (Weston 等人,2016) 生成的,而背景文本来自 QuALITY (Pang 等人,2022) 长 QA 数据集中的问题。

    回复
  13. QLoRA 技术非常有趣, 它能有效地降低大型语言模型的内存需求, 实现 65B 模型在单个 48GB GPU 上的微调。这将有助于更广泛地利用和应用这些大模型。

    对于应用到 transformer 中的方法,4 位和 8 位量化确实可以显著减少硬件资源需求。通过限制权重精度, 可以让模型在规模更小的硬件上运行或训练。

    此外, 训练或微调适配器层而不是整个大模型也是一个有效方式。可以将适配器看作是"插在"预训练模型之上的一层。

    让这些大规模、资源密集型的语言模型更易于应用, 以扩展其影响力, 是好事。但需要注意的一点是, 降低精度也会带来性能损失。

    QLoRA 能取得不错的效果是因为它采用了多种技术, 包括新的数据类型 NormalFloat 和双量化。在设计量化方法时, 需要谨慎权衡性能损失与内存效益。

    我认为这个研究方向值得深入探索, 以实现可扩展和易于部署的大模型。同时, 还需要更多实证数据评估不同量化方法的影响。

    回复
  14. QLoRA 技术非常有趣, 它能有效地降低大型语言模型的内存需求, 实现 65B 模型在单个 48GB GPU 上的微调。这将有助于更广泛地利用和应用这些大模型。

    对于应用到 transformer 中的方法,4 位和 8 位量化确实可以显著减少硬件资源需求。通过限制权重精度, 可以让模型在规模更小的硬件上运行或训练。

    此外, 训练或微调适配器层而不是整个大模型也是一个有效方式。可以将适配器看作是"插在"预训练模型之上的一层。

    让这些大规模、资源密集型的语言模型更易于应用, 以扩展其影响力, 是好事。但需要注意的一点是, 降低精度也会带来性能损失。

    QLoRA 能取得不错的效果是因为它采用了多种技术, 包括新的数据类型 NormalFloat 和双量化。在设计量化方法时, 需要谨慎权衡性能损失与内存效益。

    我认为这个研究方向值得深入探索, 以实现可扩展和易于部署的大模型。同时, 还需要更多实证数据评估不同量化方法的影响。

    回复

回复 Halo Master 取消回复