URL
TL;DR
- 本文提出一种名为
GatedDeltaNet
的神经网络架构,其类型属于状态空间模型 SSM
,属于 Mamba2
的改进版本
Algorithms
核心公式
St=St−1(αt(I−βtktktT))+βtvtktT
ot=qtTSt
- 其中:
- t:序列位置,0≤t<L,L 为序列长度,之后统称为时间步
- qt∈Rd:时间步
t
的查询向量
- kt∈Rd:时间步
t
的键向量
- vt∈Rd:时间步
t
的值向量
- St∈Rd×d:时间步
t
的状态矩阵,存储的是历史键值相关性矩阵
- αt∈R:时间步
t
的遗忘因子,0<αt≤1,控制历史信息的遗忘程度
- βt∈R:时间步
t
的更新因子,0≤βt<1,控制当前信息的更新程度
- 对比
Mamba2
的状态更新公式
St=αtSt−1+vtktT
SSM 结构的优势
transformer
的自注意力矩阵是 S∈RL×L,计算和存储成本为 O(L2),其中 L 是序列长度
SSM
的状态矩阵是 S∈RL×d×d,由于 d≪L,计算和存储成本为 O(L),大大降低了计算复杂度
分块加速
- 作者对
GatedDeltaNet
的实现做了数学等价的分块加速,repo
名就是 flash-linear-attention
- 类似
attention
和 flash-attention
的关系
关于 GatedDeltaNet
和 RWKV-7
两位作者互撕的一些看法
- 背景:https://zhuanlan.zhihu.com/p/1915054612559426430
- 省流版本:
GatedDeltaNet
的作者 Songlin Yang
在自己的论文中,把 RWKV-7
的表现压的很低,比原论文低很多,然后 RWKV-7
原作者 Peng Bo
质疑 GatedDeltaNet
对比实验中对 RWKV-7
的实现有问题
GatedDeltaNet
作者 Songlin Yang
在微信群怒喷 RWKV-7
作者 Peng Bo
,让其要么给自己的 fla Repo
提 PR
修复实现,要么闭嘴,随后还将其踢出微信群
- 个人看法:
- 对于论文中引用别人论文做
baseline
常出现的无意的有意压低表现的情况,算是行业通病了,但被指出来立正挨打就完了,作者竟然还怒喷对方,要求其帮自己修复实现,合着你发论文,bug
我帮你修?实验我帮你做?这是什么逻辑
- 虽然
fla
在社区有一些影响力,也有 3.3k
的 star
,但其显然还不是唯一主流的实现库(像 Pytorch
、Transformers
这种级别),写论文必须用 fla
显然不是行业共识,不能要求原作者必须用 fla
去实现自己的算法(who think you are
),竟然还要求要么给 PR
,要么就把把自己 fla
中 RWKV-7
相关实现全删了。原作者也开源了自己的实现库,这个库可以完全复现论文结果,这一点想必 GatedDeltaNet
作者也清楚
- 虽然
GatedDeltaNet
能被 Qwen3-Next
这种大模型用上,说明含金量还是有的,但作者的这种行为,实在让人不齿,世界就是一个大的回旋镖,不能等回旋镖打到自己身上才喊疼