新架构RNN反超Transformer:每个隐藏状态都是一个模型,一作:从根本上改变语言模型...

梦晨 发自 凹非寺
量子位 | 公众号 QbitAI

新架构,再次向Transformer发起挑战!

核心思想:将RNN中的隐藏状态换成可学习的模型

甚至在测试时都可以学习,所以该方法称为TTT(Test-Time Training)。

共同一作UC伯克利的Karen Dalal表示:我相信这将从根本上改变语言模型

eddd7ef00d9d0c077890b6504739983c.png

一个TTT层拥有比RNN表达能力更强的隐藏状态,可以直接取代Transformer中昂贵的自注意力层。

在实验中,隐藏状态是线性模型的TTT-Linear表现超过了Transformer和Mamba,用更少的算力达到更低的困惑度(左),也能更好利用长上下文(右)。

2f08ff96aaf2b845f8547ff207630bdb.png

此外,隐藏状态是MLP模型的TTT-MLP在32k长上下文时表现还要更好。

b1916db3924be6f4393da287cf20f926.png

Karen Dalel还指出,理论上可学习的隐藏状态可以是任意模型,对于更长上下文来说,可以是CNN、甚至可以是完整的Transformer来套娃。

目前刚刚出炉的TTT论文已经在学术界引起关注和讨论,斯坦福博士生Andrew Gao认为,这篇论文或许能成为下一篇Attention is all you need。

7f70982ca02628796dd4c141d356edb9.png

另外有人表示,众多新架构能否真正击败Transformer,还要看能不能扩展到更大规模。

Karen Dalel透露,马上就会推出7B模型。‍‍‍

44f51d5be4ee54897724266c86dff9aa.jpeg

用机器学习模型来压缩上下文

传统RNN,隐藏状态固定大小表达能力受限,也不好并行训练。

Transformer强大,但自注意力机制随上下文长度呈平方复杂度,非常昂贵。

最近一系列基于RNN的架构创新中:

RWKV,用线性注意力结合RNN和Transformer的优点,在训练时可以并行计算。

Mamba,赋予模型选择性记住或遗忘信息的能力来压缩上下文,同时设计了面向硬件的高效并行算法。

它们的表现在短上下文时追上甚至超越了Transformer,但在32k超长上下文以上,Trasformer依旧称霸。

411f26fe4be75a79338ee655c8ee760f.png

TTT团队的想法来自于:与其让隐藏状态被动地储存信息,不如让它主动学习。

就像Transformer模型作为一个整体在压缩互联网数据到参数中一样,可学习的隐藏状态模型也在少量参数上不断缩上下文信息。

这种“隐藏状态模型”随着时间的推移仍然具有固定的大小(固定的模型参数),但表达能力更强了。

论文的联合指导UCSD助理教授王小龙认为:

Transformer显式地储存所有输入token,如果你认为个神经网络是压缩信息的好方法,那么压缩这些token也将是有意义的。

3ff6b407f5d00d196b3bef2477aa7d2b.png

如此一来,整个框架的时间复杂度还是线性的,

78a2861aaa1dc48e422efc6847519bdc.png

至此,序列建模被拆解为两个嵌套的学习循环,外循环负责整体的语言建模,内循环通过自监督学习压缩上下文信息。

外循环的参数变成了内循环的超参数,也就是元学习的一个变种了。

标准的元学习是训练一个适应不同任务的模型,而TTT是让模型去适应每一个测试样本。单个样本虽然信息量小,但用来训练隐藏状态模型也绰绰有余。

b980400ace5abe1159ffa299dc79849c.png

特别的,在内循环是一个线性模型时,相当于线性注意力。当内循环是一个Nadaraya-Watson estimator时,TTT等价于自注意力。

6736c12acf360a7a28d9524ef65479d5.png

在测试时学习

在TTT层里,使用自监督学习方法将上下文压缩到隐藏状态。

上下文就是未标记的数据集,隐藏状态不再是一个固定的向量,可以是线性模型、小型神经网络或任何机器学习模型,更新规则采用了在自监督损失上的一步梯度下降。

这样一来,隐藏状态模型可以记住产生大梯度的输入,并且可以获得比选择性遗忘机制更强的拟合和泛化能力,并且在测试时仍然为每个输入序列训练不同的参数。

e50fa9e0e89bafa8d35e1cb886f9ad06.png

到目前为止,朴素的TTT层已经有效了,但还无法并行化。

团队提出的解决方案为mini-batch梯度下降,把一个batch内的梯度计算并行化。

再通过Dual form方法,只在mini-batch结束时计算权重以及输出token,避免冗余计算。在JAX版实现中快了5倍以上。

416d487c18279ed529d5be0ba83c666b.png

TTT能否成为“Transformer杀手”?

理论上都走的通了,那么TTT在实验中表现到底如何?

最简单干净的测试方法,应该是直接替换掉Transformer中的自注意力层。

但是在研究过程中,团队发现Mamba等现代RNN的骨干中在RNN层之前还包含时间卷积,对TTT也有帮助。

所以实验中TTT-Linear和TTT-MLP主要应用到Mamba骨干上,其他训练细节也严格遵照Mamba论文中的设置。

最终在Pile数据集短上下文测试中:

  • 2k上下文时,TTT-Linear、Mamba和Transform具有相当的性能,TTT-MLP的表现略差。

  • 8k上下文时,TTT-Linear和TTT-MLP都优于Mamba和Transformer,应用在Transformer骨干的TTT-MLP(T)在1.3B参数左右也略好与Mamba。

总的来说,随着上下文长度的增长,TTT层相对于Mamba的优势也会扩大。

另外团队猜测,线性模型比MLP表达能力差,因此从Mamba骨干的卷积中受益更多。

c27e8cb1135aa92fa54c712b9669ef32.png

长上下文实验使用Pile的子集Books3:

  • 32k上下文,TTT-Linear和TTT-MLP的表现都优于曼巴,类似于Pile 8k的观察。即使是带有Transformer骨干的TTT-MLP(T)表现也略好于曼巴。

  • 1.3B参数尺度上,TTT-MLP(T)仅比TTT-MLP(M)稍差,Transformer骨干可能更适合论文评估范围之外的更大模型和更长的上下文。

3930c052ee84f9f6bf83dfaa02d13cd6.png

在A100上测试速度,TTT-Linear在预填充阶段比Mamba稍快,解码阶段几乎与Mamba速度相同。TTT-MLP相比Transformer整体上也有线性复杂度的优势。

b4ebd1893f8e82fcaf1164b7d56a8fcd.png

共同一作Karan Dala表示:我一直被问到的一个问题是,我们是否相信TTT就是“Transformer杀手”,我仍然认为我们需要继续努力。

隐藏状态可以是任意模型,但目前的研究只涉及了线性模型和小型MLP,更复杂的还有待研究。

隐藏状态模型的学习可以用Adam代替普通的梯度下降等等。

还可用于视频建模

三位共同一作中:

Yu Sun博士毕业于UC Berkeley,目前是斯坦福大学博士后。

d20099928905355222aa9a84ee21e7fe.png

Xinhao Li是电子科技大学校友,硕士毕业于UCSD。

54c95b0eb4bd0e3d7b8082c495324c21.png

Karan Dalel本科毕业于UC Berkley,正在机器人初创公司1X实习。

6ca603a6f2709ebeabe6b20ad5359489.png

最后,联合指导UCSD助理教授王小龙还透露,TTT方法除了语言模型,还适用于视频

TTT是否就是“Transformer杀手”,我仍然认为我们需要继续努力。

将来在对长视频进行建模时,我们可以密集地采样帧而不是采样1 FPS,这些密集帧对Transformer来说是一种负担,但对TTT层来说是一种福音。

279e4006d116b84336f1cb2b11f4057b.png

论文地址:
https://arxiv.org/abs/2407.04620

参考链接:
[1]https://x.com/karansdalal/status/1810338845659131940
[2]https://x.com/xiaolonw/status/1810387662060269668

量子位年度AI主题策划正在征集中!

欢迎投稿专题 一千零一个AI应365行AI落地方案

或与我们分享你在寻找的AI产品,或发现的AI新动向

aa2854ce0b1434dcb08428a2fb338ee5.png

点这里👇关注我,记得标星哦~

  • 9
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值