谷歌Titans模型论文解析,Transformer迎来变革拐点——DeepSeek能否“接招”?

一、引入 Titans 模型

我们将深入探讨谷歌研究院的一篇新论文《Titans: Learning to Memorize at Test Time》,该论文介绍了一种名为 Titans 的新模型架构。
在这里插入图片描述

Titans 在缓解 Transformer 二次方成本问题的同时,展现出了令人期待的成果。Titans 模型的设计灵感来源于人类大脑的记忆运作方式。论文中有一句有趣的话提到,记忆是一种基本的心理过程,是人类学习不可或缺的组成部分。如果没有正常运作的记忆系统,人类和动物将局限于基本的反射和刻板行为

在这里插入图片描述

二、深度神经长期记忆模块

Titans 论文的一个关键贡献是深度神经长期记忆模块(deep neural long-term memory module)。我们先来了解一下它是什么,然后再探讨它是如何融入 Titans 模型的。

与循环神经网络中将记忆编码为固定向量不同,神经长期记忆模块本身就是一个模型,是一个多层神经网络,它将过去的历史抽象编码到自身的参数中。要训练这样一个模型,一种思路是训练它记忆训练数据。然而,众所周知,记忆会限制模型的泛化能力,可能导致性能不佳。

三、避免过拟合的记忆机制

研究人员设计了一种巧妙的方法,来创建一个能够记忆,但又不会在训练数据上过拟合的模型。这种方法的灵感来自人类记忆的一个类比。当我们遇到令人惊讶的事件时,我们更有可能记住它。神经长期记忆模块的学习过程正是基于这一理念设计的。

3.1 对 “惊讶” 进行建模

在这里插入图片描述
Updating the neural memory using a surprise element

通过论文中的上述定义,我们可以了解研究人员是如何对 “惊讶” 进行建模的。 Mt代表时刻t的神经长期记忆模块。它通过上一时刻的参数以及一个被建模为梯度的 “惊讶” 元素进行更新。如果梯度较大,说明模型对输入更 “惊讶”,这会导致模型权重得到更显著的更新。

然而,这个定义仍不理想,因为模型可能会错过 “惊讶” 时刻之后紧接着发生的重要信息。

3.2 对 “过去的惊讶” 进行建模

从人类的角度来看,一个令人惊讶的事件不会在很长一段时间内持续让我们感到惊讶,尽管它仍然令人难忘。我们通常会适应这个令人惊讶的事件。不过,该事件可能足够令人惊讶,从而在很长一段时间内吸引我们的注意力,使我们记住整个时间段。

在这里插入图片描述
Updating the neural memory using both past and momentary surprise

通过论文中的上述定义,我们可以了解到改进后的建模方式,其中包括对 “过去的惊讶” 的建模。现在,我们使用上一时刻的权重状态以及一个 “惊讶” 分量St来更新神经长期记忆的权重。“惊讶” 分量现在是随时间测量的,它由带有衰减因子的上一时刻 “惊讶” 和我们在上一节讨论过的当下 “惊讶” 组成。

还有一个尚未建模的因素是遗忘。

3.3 对遗忘进行建模

在这里插入图片描述
Allowing the model to forget past information

在处理非常长的序列(例如数百万个标记 tokens)时,管理哪些过去的信息应该被遗忘至关重要。通过论文中的上述定义,我们可以看到最终的建模方式。这些定义与上一节的定义相同,只是我们添加了一个自适应遗忘机制,用 alpha 表示,也称为门控机制(gating mechanism)。这使得记忆能够遗忘不再需要的信息。

3.4 损失函数

在这里插入图片描述
Neural memory loss function

损失函数由上述公式定义。该损失旨在通过将过去的数据存储为键值对来模拟联想记忆,并训练模型在键和值之间进行映射。与 Transformer 类似,线性层将输入投影为键和值。然后,损失值loss衡量记忆模块学习键值对之间关联的程度。

需要说明的是,模型不是一次性处理整个序列,而是逐步处理,在其权重中积累记忆信息。

四、Titans 架构

4.1 Titans 架构 1—— 记忆作为上下文(MAC)

论文提出了几种不同的架构。第一种称为记忆作为上下文(MAC)。我们可以通过论文中的下图来了解它。

在这里插入图片描述
Titans Memory as a Context Architecture

该模型由 3 个组件组成:持久记忆、核心和上下文记忆。给定一个长输入序列,我们将其划分为较小的序列。核心组件中显示的序列实际上是一个分块后的序列。

持久记忆

我们首先引入持久记忆,在序列开头添加与数据无关的可学习权重。实际上,这些是可学习的标记,用于存储不受输入影响的全局信息。序列还会经过一个注意力块,在序列开头添加可学习标记有助于避免注意力分散,因为由于偏差,注意力权重往往会过度关注初始标记。英伟达的 Hymba 模型添加可学习元标记的做法也取得了成功,我后续会介绍。

上下文记忆

上下文记忆(Contextual memory)由深度神经长期记忆模块构成,因为它依赖于上下文。我们使用神经长期记忆模块的前向传递,以分块后的输入序列作为输入,从长期记忆中检索记忆标记(memory tokens)。由于即使在测试阶段神经记忆也在不断更新,当我们处理长序列的一个分块时,神经记忆已经更新了同一序列先前分块的信息。检索到的记忆标记会在持久记忆标记之后添加到输入序列中。

核心组件

核心组件将所有信息整合在一起,使用一个注意力块,该注意力块的输入是扩展后的序列,其中包含来自持久记忆、上下文记忆和输入本身的信息。通过这种方式,模型可以利用多种类型的记忆。注意力块的输出用于更新神经记忆。注意力机制有助于根据给定的输入确定是否使用长期记忆。此外,注意力机制有助于长期记忆仅存储当前上下文中有用的信息。最终输出基于注意力块的输出和神经记忆的输出确定。

4.2 Titans 架构 2—— 记忆作为门控(MAG)

Titans 的下一个架构版本称为记忆作为门控(MAG: Memory as a Gate),我们可以通过论文中的下图来了解它。

在这里插入图片描述
Titans Memory as a Gate Architecture

在这个版本中,我们同样有代表持久记忆、核心和上下文记忆的 3 个分支。与前一个版本不同的是,这里的序列没有分块,输入序列是完整的输入序列。这是通过在注意力块中使用滑动窗口注意力实现的。持久记忆的可学习权重同样添加到序列开头。但与之前不同的是,神经记忆不会为注意力块的上下文提供数据。相反,神经记忆根据输入序列进行更新,其输出通过门控机制与核心分支相结合。

4.3 Titans 架构 3—— 记忆作为层(MAL)

Titans 架构的第三个变体称为记忆作为层(MAL)。我们可以通过论文中的下图来了解它。

在这里插入图片描述
Titans Memory as a Layer Architecture

与前一个版本类似,这里的序列也没有分块,并且我们使用滑动窗口注意力。

在这个版本中,我们将神经记忆用作模型的一层,输入序列与可学习权重首先经过神经记忆,然后再经过注意力块。这种设计允许堆叠多个神经记忆模块和注意力块,就像通常堆叠 Transformer 层一样。然而,这种顺序设计使得模型的能力受到每一层能力的限制。这与 Hymba 论文中的观察结果类似,出于同样的原因,Hymba 论文中的不同组件采用并行而非顺序放置。

4.4 Titans 架构 4——LMM

Titans 的最后一个变体称为 LMM,它与前一个版本相同,但没有注意力块,仅依赖于记忆模块。

在这里插入图片描述
Comparison of Titans with baselines on language tasks

在上表中,我们可以看到 Titans 模型与基线模型在语言建模和常识推理任务上的对比。混合模型(同时利用循环和注意力机制)的最佳结果标为蓝色,非混合模型的最佳结果标为黄色。

与其他非混合模型相比,Titan LMM 取得了最佳结果,展示了神经长期记忆模块的强大能力。在混合模型中,MAC Titan 总体表现最佳,MAG Titan 的表现略逊于它。

五、大海捞针任务

在这里插入图片描述
Needle in a Haystack Comparison

另一个有趣的对比是 “大海捞针” 任务。我们可以从论文的上表中看到结果。在这个任务中,模型需要从非常长的文本中检索一条信息,从而衡量模型实际有效的上下文长度。

标题中的数字表示评估序列的长度。在所有三个基准测试中,随着序列长度的增加,Titans 明显优于基线模型。

六、BABILong 基准测试

在这里插入图片描述
Comparison on the BABILong benchmark of Titans MAC with top models

在上面的图中可以看到另一个有趣的结果,该图展示了 Titans 与顶尖模型在 BABILong 基准测试上的对比。这是一个针对长序列的更具挑战性的基准测试,在这个测试中,模型需要对分布在极长文档中的事实进行推理。

在 x 轴上,我们看到的是序列长度,y 轴衡量的是每个模型的准确率。MAC Titan 的结果用红线表示,在处理极长序列时,它的表现明显优于其他模型!

参考

  1. [1706.03762] Attention Is All You Need
  2. [2501.00663] Titans: Learning to Memorize at Test Time
  3. [2411.13676] Hymba: A Hybrid-head Architecture for Small Language Models
  4. AI Papers Academy: Titans by Google: The Era of AI After Transformers?

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/67880.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

新春贺岁,共赴AGI之旅

点击蓝字 关注我们 AI TIME欢迎每一位AI爱好者的加入! 往期精彩文章推荐 季姮教授独家文字版干货 | 面向知识渊博的大语言模型 关于AI TIME AI TIME源起于2019年,旨在发扬科学思辨精神,邀请各界人士对人工智能理论、算法和场景应用的本质问题…

Baklib推动数字化内容管理解决方案助力企业数字化转型

内容概要 在当今信息爆炸的时代,数字化内容管理成为企业提升效率和竞争力的关键。企业在面对大量数据时,如何高效地存储、分类与检索信息,直接关系到其经营的成败。数字化内容管理不仅限于简单的文档存储,更是整合了文档、图像、…

【memgpt】letta 课程4:基于latta框架构建MemGpt代理并与之交互

Lab 3: Building Agents with memory 基于latta框架构建MemGpt代理并与之交互理解代理状态,例如作为系统提示符、工具和agent的内存查看和编辑代理存档内存MemGPT 代理是有状态的 agents的设计思路 每个步骤都要定义代理行为 Letta agents persist information over time and…

FPGA|例化生成的PLL功能IP核

1、例化上一篇文章中调用的IP核,新建文件PLL_test.v 2、代码如图 timescale 1ns / 1ps module PLL_test(input clk,input rst_n,output clkout0,output clkout1,output clkout2,output clkout3,output clkout4);wire locked;PLL pll_inst(.inclk0(clk),.c0(clkout0)…

【C++】P5734 【深基6.例6】文字处理软件

博客主页: [小ᶻ☡꙳ᵃⁱᵍᶜ꙳] 本文专栏: C 文章目录 💯前言💯题目描述💯题目描述输入格式输出格式示例输入与输出输入:输出: 💯我的做法操作1:在文档末尾插入字符串操作2&…

后盾人JS -- 原型

没有原型的对象 也有没有原型的对象 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>Document<…

洛谷 P1130 红牌 C语言

题目描述 某地临时居民想获得长期居住权就必须申请拿到红牌。获得红牌的过程是相当复杂&#xff0c;一共包括 N 个步骤。每一步骤都由政府的某个工作人员负责检查你所提交的材料是否符合条件。为了加快进程&#xff0c;每一步政府都派了 M 个工作人员来检查材料。不幸的是&…

【线程】基于环形队列的生产者消费者模型

1 环形队列 环形队列采用数组来模拟&#xff0c;用取模运算来模拟环状特性。 1.如何判断环形队列为空或者为满? 当环形队列为空时&#xff0c;头和尾都指向同一个位置。当环形队列为满时&#xff0c;头和尾也都指向同一个位置。 因此&#xff0c; 可以通过加计数器或者标记…

商品列表及商品详情展示

前言 本文将展示一段结合 HTML、CSS 和 JavaScript 的代码&#xff0c;实现了一个简单的商品展示页面及商品详情&#xff0c;涵盖数据获取、渲染、搜索及排序等功能。 效果展示 点击不同的商品会展示对应的商品详情。 代码部分 代码总体实现 <!DOCTYPE html> <htm…

大模型综述一镜到底(全文八万字) ——《Large Language Models: A Survey》

论文链接&#xff1a;https://arxiv.org/abs/2402.06196 摘要&#xff1a;自2022年11月ChatGPT发布以来&#xff0c;大语言模型&#xff08;LLMs&#xff09;因其在广泛的自然语言任务上的强大性能而备受关注。正如缩放定律所预测的那样&#xff0c;大语言模型通过在大量文本数…

【C++】B2124 判断字符串是否为回文

博客主页&#xff1a; [小ᶻ☡꙳ᵃⁱᵍᶜ꙳] 本文专栏: C 文章目录 &#x1f4af;前言&#x1f4af;题目描述输入格式&#xff1a;输出格式&#xff1a;样例&#xff1a; &#x1f4af;方法一&#xff1a;我的第一种做法思路代码实现解析 &#x1f4af;方法二&#xff1a;我…

ubuntuCUDA安装

系列文章目录 移动硬盘制作Ubuntu系统盘 前言 根据前篇“移动硬盘制作Ubuntu系统盘”安装系统后&#xff0c;还不能够使用显卡。 如果需要使用显卡&#xff0c;还需要进行相关驱动的安装&#xff08;如使用的为Nvidia显卡&#xff0c;就需要安装相关的Nvidia显卡驱动&#xff…

Sqoop导入MySQL中含有回车换行符的数据

个人博客地址&#xff1a;Sqoop导入MySQL中含有回车换行符的数据 MySQL中的数据如下图&#xff1a; 检查HDFS上的目标文件内容可以看出&#xff0c;回车换行符位置的数据被截断了&#xff0c;导致数据列错位。 Sqoop提供了配置参数&#xff0c;在导入时丢弃掉数据的分隔符&…

掌握API和控制点(从Java到JNI接口)_36 JNI开发与NDK 04

4、 *.so的入口函数&#xff1a;JNI_OnLoad() VM (virtual machine)的角色 Java代码在VM上执行。在执行Java代码的过程中&#xff0c;如果Java需要与本地代码(*.so)沟通时&#xff0c; VM就会把*.so視为插件<Tn>而加载到VM里。然后让Java函数呼叫到这插件<Tn>里的…

[MRCTF2020]Ez_bypass1(md5绕过)

[MRCTF2020]Ez_bypass1(md5绕过) ​​ 这道题就是要绕过md5强类型比较&#xff0c;但是本身又不相等&#xff1a; md5无法处理数组&#xff0c;如果传入的是数组进行md5加密&#xff0c;会直接放回NULL&#xff0c;两个NuLL相比较会等于true&#xff1b; 所以?id[]1&gg…

90,【6】攻防世界 WEB Web_php_unserialize

进入靶场 进入靶场 <?php // 定义一个名为 Demo 的类 class Demo { // 定义一个私有属性 $file&#xff0c;默认值为 index.phpprivate $file index.php;// 构造函数&#xff0c;当创建类的实例时会自动调用// 接收一个参数 $file&#xff0c;用于初始化对象的 $file 属…

Jenkins安装部署(以及常见报错解决方案),jdk版本控制器sdkman

目录 零、环境介绍 一、Jenkins安装 1、插件安装以及更换插件源 2、修改jenkins时区 二、sdkman安装&#xff08;可选&#xff09; 1、sdkman常用方法 2、sdkman常用方法演示 2.1、查看可用的jdk 2.2、下载jdk并切换版本 三、jenkins报错解决 1、下载sdkman后systemc…

c语言练习题【数据类型、递归、双向链表快速排序】

练习1&#xff1a;数据类型 请写出以下几个数据的数据类型 整数 a a 的地址 存放a的数组 b 存放a的地址的数组 b的地址 c的地址 指向 printf 函数的指针 d 存放 d的数组 整数 a 的类型 数据类型是 int a 的地址 数据类型是 int*&#xff08;指向 int 类型的指针&#xff09; …

联想拯救者Y9000P IRX8 2023 (82WK) 原厂Win11 家庭中文版系统 带一键还原功能 安装教程

安装完重建winre一键还原功能&#xff0c;和电脑出厂时的系统状态一模一样。自动机型专用软件&#xff0c;全部驱动&#xff0c;主题壁纸&#xff0c;自动激活&#xff0c;oem信息等。将电脑系统完全恢复到出厂时状态。 支持机型 (MTM) : 82WK 系统版本&#xff1a;Windows 1…

深入解析“legit”的地道用法——从俚语到正式表达:Sam Altman用来形容DeepSeek: legit invigorating(真的令人振奋)

深入解析“legit”的地道用法——从俚语到正式表达 一、引言 在社交媒体、科技圈甚至日常对话中&#xff0c;我们经常会看到或听到“legit”这个词。比如最近 Sam Altman 在 X&#xff08;原 Twitter&#xff09;上发的一条帖子中写道&#xff1a; we will obviously deliver …