1 引言
上一篇推导了VLA与GLA的chunkwise form。本文沿用同一套符号,推导DeltaNet的chunkwise form。不熟悉deltanet的同学可以先看前置阅读。
DeltaNet与前两者的区别在于state转移矩阵的差异。VLA的转移矩阵是单位阵,scalar gate GLA是标量 ,vector gate GLA是对角阵。但不论是单位阵还是对角阵都有一个特点,这些矩阵只对state的各个元素做独立的缩放,state的元素之间没有交互。并且缩放比例也只由gate决定,与的取值无关。因此,在推导中,这个缩放可以直接并进的mask里(vector gate则拆到两侧)。
DeltaNet的转移矩阵是,它沿着的方向擦除state,擦掉多少取决于已有内容与的重合程度。所以第个token的写入,会被后面每个与相似的擦掉一部分。这导致token之间出现耦合,难以并到causal mask。
下面看,这种情形下,如何推导出deltanet的chunkwise form。
符号约定
本文依旧以行向量为视角。
是标量(writing strength)。chunk size为,序列长度。第个chunk 覆盖token 。chunk内第个token 对应的量,用下标标明所属chunk,用上标标明chunk内的位置,进一步定义:
与同理。显然,,就是的第行,同理
表示。是下三角causal mask(含对角线),是严格下三角mask(不含对角线)。是单位阵,维度由上下文决定。
3 DeltaNet的recursive form
DeltaNet的核心思想见Linear Attention系列解读2。其递推公式为:
从online SGD的视角看,是时刻写入state的增量。是state对的预测,是预测误差,控制修正力度。
不妨令:
沿用式2的记法,令,为各行堆叠而成。式4在第个chunk内写作
4 DeltaNet的chunkwise form推导
4.1 chunkwise form初探
设第个chunk从出发,用式3展开前两步
为了简化符号,不妨记:
因此上式可写作:
根据规律,可以写成一般形式:
为了计算效率,我们期望将一个chunk的所有并行计算。但是一个dense matrix,难以像VLA,GLA那样被吸收。强行走似乎走不通。
4.2 第一个chunk
我们回到式5,来写一下第一个chunk
设,第一个chunk 覆盖token 1~4,初始状态。根据式5有
我们很容易将写成并行化形式
难点在于如何算出。我们将式7的所有有关的方程整合在一起
把含的项移到左边
可以很方便的将其写成矩阵形式
的行列式为1,是可逆的,定义:
虽然这里涉及求逆运算,但它是单位下三角矩阵的求逆,且size不大,求解复杂度不大。
从而有:
从而的并行化形式进一步可以写作:
根据输出的计算公式
4.3 第二个chunk
再来看第二个chunk,第二个chunk从非零state 出发,覆盖token 5~8。同样逐步应用式5,其中
先看状态的更新
与第一个chunk相比,唯一的差别是每个里多了一项。这一项是新token 对chunk开始时的state的预测,它不依赖chunk内其他token。移项后
系数矩阵与式9的形式相同,整理得
其状态更新公式为:
输出为:
4.4 chunkwise form的一般形式
根据上面的规律,不难写出chunk wise form的一般形式
对比VLA的chunkwise form,Deltanet只是把换成了。的含义可以这样理解:是chunk内所有token相对于chunk开始时state的预测误差。但chunk内靠后的token看到的其实是已经被前面token修改过的state,就是用一个的三角方程把这个修正一次性算出来。
4.5 与WY representation的关系
只依赖本chunk内的,与无关。令
则,式19可以改写为
式21的第二行和式3比较:就是整个chunk内个转移矩阵的连乘
就是广义Householder变换,这些广义householder变换矩阵的连乘可以写成一个单位阵减去两个低秩矩阵的乘积,即,这就是WY representation。
在实践中,虽然式(19)和式(21)都是deltanet的chunkwise-form,但式(21)更有优势。因为、、 的计算不依赖 ,chunkwise之间也能并行计算,计算效率更高。
小结
本文相对系统推导了DeltaNet的Chunkwise并行形式。与VLA和GLA不同,DeltaNet的状态转移矩阵 依赖于具体的,导致不同步的token之间产生耦合,无法简单地将衰减项放入causal mask中。
为了解决这一问题,我们从增量的视角出发,Chunk内部的增量本质上构成了一个的下三角线性方程组,通过求解该方程组,构造,并行计算矩阵。
进一步将推导的chunkwise-form与WY representation进行联系起来。得到最终的chunkwise-form形式。
汇总如下:
ㅤ | ||
VLA | ||
GLA(scalar gate) | ||
DeltaNet(形式1) | ||
DeltaNet(形式2) |
如有疏漏之处,敬请指出~
- 作者:莫叶何竹🍀
- 链接:http://www.myhz0606.com/article/linear_attention_p6
- 声明:本文采用 CC BY-NC-SA 4.0 许可协议,转载请注明出处。
相关文章











