Mistral滑动窗口
滑动窗口注意力(Sliding Window Attention,SWA)利用了变压器(Transformer)堆叠层的特性,以关注超出窗口大小W的信息。位于层k的位置i的隐藏状态hi,会关注到前一层中从i-W到i之间的所有隐藏状态。递归地,能够访问到输入层上距离高达W×k个令牌的位置,如图1所示。在最后一层,使用窗口大小为W=4096时,我们理论上的注意力范围大约为131K个令牌。实际上,对于一个长度为16K的序列和W=4096的情况,对FlashAttention [11] 和 xFormers [18] 所做的修改带来了与普通注意力基线相比2倍的速度提升。

滚动缓冲缓存。固定的注意力范围意味着我们可以使用滚动来限制我们的缓存大小缓冲区缓存。缓
本文详细解读了PAI-Megatron中Mistral的滑动窗口注意力机制,该机制通过限制注意力范围减少计算复杂度,提升长序列处理效率。文中还分析了代码实现,包括上三角矩阵的计算和注意力掩码的构造,以及解决在模型转换过程中遇到的报错问题,如4D掩码维度调整和内存溢出问题。
订阅专栏 解锁全文
545






