稀疏注意力是 Mistral、Mixtral 和其他高效模型在不承担密集注意力全部成本的情况下处理长序列的方式。它是“关注所有内容”(昂贵但全面)和“不关注任何远距离内容”(便宜但有限)之间的实用折衷。理解稀疏注意力有助于你评估关于上下文长度的声明,并预测在哪里可能出现质量下降。
滑动窗口注意力:每个 token 只关注固定窗口内的 token(如 4096 个 token)。来自较早 token 的信息通过层传播——第 1 层看到 4096 个 token,第 2 层实际上看到 8192 个(两个窗口的量),到最后一层时,完整序列的信息已有机会传播。Mistral-7B 在其 32 层中使用 4096 个 token 的滑动窗口。
Longformer 将滑动窗口(局部)注意力与选定 token(如 [CLS] 或用户定义位置)的全局注意力相结合。BigBird 在局部和全局模式之上添加随机注意力连接。这些混合方法让模型以亚二次方成本处理 4K–16K 个 token,同时通过全局位置保持连接远距离 token 的能力。
稀疏注意力在许多任务上效果良好,但在需要精确长距离依赖的任务上可能会退化——引用长文档开头的特定事实、在长对话中保持一致性,或遵循跨越多个 token 的复杂指令。使用 Flash Attention 的密集注意力(完全二次方)在这些情况下仍然更稳健,这就是为什么大多数前沿模型仍使用密集注意力并依赖 Flash Attention 来提高效率,而非依赖稀疏性。