变革中的transformers:在LLMs中与Google Titans解锁长期记忆
更好的 Transformers 架构替代方案,适用于 LLM
照片来自 Igor Sporynin 拍摄于 Unsplash
自 2024 年底以来,我一直在观察生成式人工智能领域出现的一种不同趋势,即 Transformers 核心架构的创新,使其更擅长处理更长的上下文并提高效率。Meta 的大型概念模型 (LCMs)、Byte Latent Transformers 或 Mamba。这一次,轮到 Google 了,他们也没有让人失望,推出了 Titans。
什么是 Google 的 Titans?
Google 的 Titans 是一系列新的神经架构,旨在解决现有模型(主要是 Transformers)的局限性,特别是在处理长期依赖关系和大型上下文窗口方面。
Titans 的关键创新在于引入了一个神经长期记忆模块,该模块学习记忆历史上下文,使模型能够在推理过程中有效地利用短期和长期记忆。以下是 Titans 的主要特性和组成部分:
Google 的 Titans 的主要特性:
神经长期记忆模块:
Titans 引入了一个深度神经长期记忆模块,该模块学习在测试时记忆和存储历史数据。该模块的灵感来自于人类的长期记忆系统,旨在更有效地捕捉令人惊讶或意想不到的事件。
记忆模块使用基于神经网络输入梯度的惊喜指标,这有助于确定输入的可记忆程度。
它包含一个衰减机制来管理记忆容量,允许模型随着时间的推移忘记不太相关的信息,这类似于人类如何忘记不太重要的细节。
记忆管理:
记忆模块旨在通过自适应地忘记不再需要的信息来处理大型序列。这是通过权重衰减机制实现的,这相当于现代循环模型中的遗忘门。
记忆更新过程被表述为带有动量的梯度下降,允许模型保留有关过去惊喜的信息并更有效地管理记忆。
Titans 的三种变体:
- Titans 提出了三种将记忆模块整合到架构中的不同方法:
Memory as a Context (MAC):记忆被视为当前信息的上下文,模型从长期记忆中检索历史信息,并使用注意力将其与当前上下文相结合。
Memory as a Gate (MAG):记忆模块与滑动窗口注意力机制并行使用,其中记忆充当模型的衰落记忆。
Memory as a Layer (MAL):记忆模块用作神经网络中的一个层,在将其传递给注意力模块之前压缩过去和当前的上下文。
持久性记忆:
除了长期记忆之外,Titans 还包含持久性记忆,它由可学习的、特定于任务的参数组成,用于存储有关任务的知识。此记忆与输入无关,并有助于模型在不同上下文中维护与任务相关的信息。
效率和可扩展性:
Titans 的设计高效且可扩展,能够处理超过 200 万个 token 的上下文窗口。 记忆模块使用一种快速、可并行化的算法进行训练,该算法利用张量运算和小批量梯度下降。
该架构针对训练和推理进行了优化,使其适用于大规模任务,例如语言建模、时间序列预测和基因组学。
性能:
Titans 在各种任务中优于 Transformers 和现代线性循环模型等最先进的模型,包括语言建模、常识推理和**“needle-in-a-haystack”等长上下文任务。**
与 GPT-4 等大型模型相比,该模型即使在较小的参数规模下也表现出具有竞争力的性能,尤其是在需要长期记忆和推理的任务中。
Google Titans 如何工作?
这是一个非常复杂的架构,但我将尝试用简单的术语来解释它:
想象一下,你正在阅读一本很长的书。在阅读时,你需要记住前面章节中的重要细节,才能理解后面发生的事情。
Titans 通过使用两种类型的记忆来帮助 AI 做类似的事情:
短期记忆:
- 这就像关注你正在阅读的当前页面。Titans 使用一种称为注意力的机制(类似于人类关注段落中最重要单词或句子)来处理即时信息。
长期记忆:
- 这就像记住前面章节中的关键细节。Titans 有一个特殊的记忆模块,它学习存储来自过去的重要信息。它不仅仅存储所有内容——它决定了什么重要要记住,什么可以随着时间的推移被遗忘(就像你可能忘记次要细节但记住主要情节一样)。
简单术语中的主要特性:
基于惊喜的记忆:
- Titans 旨在记住令人惊讶或意想不到的事情。例如,如果故事中发生了不寻常的事情,AI 会更好地记住它,因为它很突出。这类似于人类如何更生动地记住令人惊讶的事件。
忘记不太重要的东西:
- 就像你不会记住一本书的每一个细节一样,Titans 可以忘记不太重要的信息以节省空间。这有助于 AI 更好地管理其记忆,尤其是在处理非常长的数据时。
结合短期和长期记忆:
- Titans 结合了短期注意力(专注于当前文本)和长期记忆(记住过去的信息)。这使得 AI 能够理解即时上下文和更大的图景。
为什么这很重要?
长文档:Titans 可以处理书籍、法律文件或科学论文,在这些文件中,您需要记住很多页面的信息。
时间序列数据:对于天气预报或股票市场预测等,Titans 可以记住过去的模式以做出更好的预测。
更好的推理:Titans 擅长需要理解和推理长序列的任务,例如回答复杂的问题或解决难题。
真实世界的例子:
想象一下,您正在观看一个情节复杂的电视节目。Titans 将:
关注当前场景(短期记忆)。
记住先前剧集中的重要事件(长期记忆)。
忘记不再相关的次要细节(遗忘机制)。
使用所有这些信息来理解正在发生的事情并预测接下来可能发生的事情。
Titans 与 Transformers 有何不同?
在很多方面,
1. 记忆处理:短期 vs 长期
Transformers:
Transformers 擅长关注 * 当前上下文 *(就像您阅读的最后几句话或段落)。它们使用一种称为 * 注意力 * 的机制来查看当前上下文中的所有单词,并找出它们之间的关系。
然而,Transformers 有一个 * 上下文窗口有限 *。如果文本或数据太长,它们就无法记住早期部分的信息,因为它们只关注当前的数据块。
Titans:
Titans 通过添加一个 * 长期记忆模块 * 来改进这一点。这使它们能够记住序列中更早的重要信息,即使它在当前上下文窗口之外。
Titans 结合了 * 短期注意力 *(如 Transformers)和 * 长期记忆 *,因此它们可以理解即时上下文和更大的图景。
2. 可扩展性:处理长序列
Transformers:Transformers 难以处理非常长的序列,因为它们的注意力机制变得 * 计算成本高昂 *。序列越长,处理所需的时间和内存就越多,这限制了它们一次可以处理的数据量。
Titans:Titans 旨在处理 * 更长的序列 *(超过 200 万个 token,就像一本非常长的书)。它们通过使用更有效的内存系统来实现这一点,该系统压缩和存储来自过去的重要信息,而无需一次处理所有内容。
3. 内存管理:忘记不太重要的信息
Transformers:Transformers 没有内置的机制来忘记不太重要的信息。如果您给它们一个长序列,它们要么必须截断它(缩短它),要么处理所有内容,这可能导致效率低下。
Titans:Titans 具有一个 * 遗忘机制 *,可以帮助它们管理内存。它们可以决定要保留哪些重要信息以及可以忘记哪些信息,这使它们对长序列更有效。
4. 基于惊喜的学习
Transformers:Transformers * 同等对待输入序列的所有部分 *(除非另有训练)。它们没有内置的方法来优先处理令人惊讶或意想不到的信息。
Titans:Titans 旨在更好地记住 * 令人惊讶或意想不到的事件 *。这受到人类如何记住突出事物的启发。例如,如果故事中发生了一些不寻常的事情,Titans 会比不太重要的细节更清楚地记住它。
5. 架构:结合注意力和记忆
Transformers:Transformers 完全依赖于 * 注意力机制 * 来处理序列。它们查看当前上下文中的所有单词或数据点,并找出它们之间的关系。
Titans:Titans 将 * 注意力 *(用于短期上下文)与 * 神经记忆模块 *(用于长期上下文)相结合。这种混合方法使它们能够更有效地处理即时和历史信息。
6. 在长上下文任务上的表现
Transformers:Transformers 在上下文较短或中等长度的任务(例如翻译句子或总结段落)上表现良好。但是,它们难以处理需要理解非常长的序列的任务(例如回答关于一本长书的问题或预测多年数据的趋势)。
Titans:由于其长期记忆,Titans 擅长 * 长上下文任务 *。例如,它们可以从非常长的文档中检索特定信息(例如找到“大海捞针”)或推理分布在长序列中的事实。
结论
Google Titans 代表了 AI 架构的重大飞跃,通过引入 * 长期记忆模块 * 来解决 Transformers 的局限性,该模块使模型能够处理更长的序列、更有效地管理内存以及优先处理令人惊讶或重要的信息。通过结合 * 短期注意力 * 和 * 长期记忆 *,Titans 在需要深度上下文理解的任务中表现出色,例如处理长文档、时间序列预测和复杂推理。
虽然 Transformers 对于较短的任务仍然很强大,但 Titans 为长上下文挑战提供了可扩展且有效的替代方案,可能会重塑大型语言模型 (LLM) 的未来。然而,Titans 是否会完全取代 Transformers 还有待观察,因为这两种架构都有其独特的优势和应用。