RNNs vs Transformers vs SSMs:面向持续学习场景下AI记忆应存放于何处?

Reddit r/artificial 新闻

摘要

一篇比较RNNs、Transformers和SSMs中记忆设计的技术分析,主张关键问题在于序列状态应存储于何处,而非哪种架构更优。讨论了压缩隐状态、增长的KV缓存以及模型连接中类突触记忆之间的权衡。

三者间有趣比较并不在于循环与注意力与状态空间,而在于记忆是存在于微小的循环状态、不断增长的KV缓存,还是更接近模型网络自身。RNNs将记忆存储在循环隐状态中,这本身很优雅,因为状态逐步向前传递,但也造成了瓶颈——模型拥有大约O(N^2)参数,却只能携带大约O(N)的状态跨时间步。依我之见,RNNs的没落并非因为循环是个坏主意,而是因为它们的内存与计算比值不佳。Transformers则完全在另一个极端:它们不将过去压缩进单一隐状态,而是将过去的激活存储为键值条目并对其做注意力。这些就像便利贴,每个token留下一个用于查找的键和一个用于记住的值。这非常强大,但有一个尴尬的特性:模型在运行时主要是在管理上下文,而非自然地将经验转化为持久的模型知识。因此产生了固定权重与快速变化的KV缓存记忆之间的分裂。SSMs很有趣,因为它们将显式状态重新带回架构讨论的中心。它们不仅仅是更快的注意力,更是对序列状态应存储于何处这一问题的另一种回答。令我兴奋的部分在于,状态是应存在于压缩的工作维度中,还是更接近模型内部的神经元/连接结构。BDH是后一个方向的一个有前景的例子。一种理解方式是:在GPU实现中类似SSM,但在更一般的解释中基于图。与标准SSM或线性Transformer相比,模型状态存在于更大的神经元空间N中,而不仅仅是较小的工作维度D,其中N>>D。GPU版本并未物化完整的图。它保留图作为解释,但通过压缩的低秩形式运行,因为GPU更喜欢密集矩阵运算而非稀疏图。状态也是稀疏且正的,这使得图解释更为自然。不将记忆仅视为不断增长的KV便条袋,你可以重新解释更新为对连接矩阵的小改动——即如果系统从一种状态转移到另一种状态,那么这种转移会强化图的一部分。这类似于一个中间地带,我称之为既不太少也不太多。RNNs将太多信息压缩进小状态,Transformers随着序列增长不断向KV缓存添加内容,而突触记忆设计则尝试将工作记忆更接近存储长期功能的同一结构。换句话说:记忆或许应该是恒定大小且信息形状化的,而不仅仅是最后n个token的时间缓冲区。我并非声称这能取代Transformers或彻底解决持续学习问题,但我只是认为“记忆应存于何处”比常见的AI前沿竞赛更为重要的一个框架。以网络为中心的架构是AI前沿的重要方向,还是仍然受限于必须将历史压缩进状态?
查看原文

相似文章