Skip to content
🔗 分享本题
查看我的学习进度 →

🧠 图解记忆:注意力不再是全局两两交互,而是限制在滑动窗口内,节省计算且支持超长序列。

💡 答案要点

Sliding Window Attention = 限制每个token只能关注前后固定窗口内的token

标准Self-Attention的问题(长序列L很大时):

  • 计算量O(L²×d)、显存O(L²)、KV Cache O(L×d)
  • L=128K时注意力矩阵=1.6×10^10 entries≈32GB仅FP16存储

Sliding Window解决方案:O(L×window_size×d)→从O(L²)降到O(L)

现代实践:交错滑动窗口+全局层 纯滑动窗口缺陷:感受野永远受限。解决:交替使用SW层和全局层。

GEMMA2模式(4B/9B):Layer1-SW(4K)→Layer2-Global→Layer3-SW→Layer4-Global→每两层一次全局交互。 Mistral3系列:Layer1-5-SW(4K)→Layer6-Global→Layer7-11-SW→Layer12-Global→5:1比率。

方案复杂度表达能力代表模型
Full AttentionO(L²)最强小序列场景
Sliding WindowO(L×W)中等,需全局辅助Gemma2,Mistral3
N-Tile/StridedO(L)层越多感受野越大Longformer
SSM/MambaO(L)互补路线Mamba,Jamba

优势:长序列推理成本低、硬件友好。 劣势:无法不经全局层做端到端长程跳跃。

面试加分项: 解释为什么纯SW不够需要全局层、Gemma2奇偶层交替vs Mistral3的5:1分组

面试话术:

"Sliding Window是一种稀疏注意力——每个token只看前后固定数量的前驱token。这让复杂度从O(L²)降到O(L×W),大幅节省了计算和KV Cache。但纯SW感受野永远受限,所以主流做法是每隔若干层插一个全局attention层,比如GEMMA2是奇偶层交替,Mistral3是5层SW后跟1层全局。这样既能控制计算量又保持长程建模能力。"