滑动窗口注意力(SWA,如 Mistral 7B 所采用)让每个 token 只关注其之前的固定窗口大小 w 个 token,而非整个历史序列。注意力范围被限制在局部窗口内,不再随序列总长的增长而扩展。
由于只关注最近 w 个 token,KV 缓存每层只需保留最近 w 个 token 的键、值,缓存占用被限定为 w × 单 token 大小,与整段序列的总长度无关,从而为显存设置了一个固定上限。
SWA 通过限制单层的直接注意力范围,用可控的内存代价支持更长的表层序列;超出窗口的历史信息可经由多层堆叠的感知野间接传递。其代价是单层无法直连任意远处 token,需在任务效果与内存上限之间权衡。