---
title: "Reference Sliding Window Attention (R-SWA)"
created: 2026-06-24
updated: 2026-06-24
type: concept
tags: ["attention-mechanism", "kv-cache", "long-horizon", "efficient-inference"]
sources:
  - "[[unlimited-ocr-works-2026]]"
---

# Reference Sliding Window Attention (R-SWA)

R-SWA 是 Unlimited OCR 提出的注意力机制，模仿人类解析工作记忆：每个生成 token 关注全部参考 token + 前 n 个输出 token。核心创新在于**将参考 token 排除在状态转移之外**。

## 注意力计算

给定前缀段 P（长度 Lm，含视觉 token + prompt）和因果滑动窗口 Dn(t)（宽度 n）：

- P = {1, ..., Lm}，全局可见
- Dn(t) = {j | max(Lm+1, Lm+t-n) ≤ j ≤ Lm+t-1}，因果滑动
- N(t) = P ∪ Dn(t)

注意力权重：
$$\alpha_{tj} = \frac{\exp(q_t^T k_j / \sqrt{d_k})}{\sum_{i \in N(t)} \exp(q_t^T k_i / \sqrt{d_k})}, \quad j \in N(t)$$

## KV Cache 管理

标准 MHA：$C_{MHA}(T) = L_m + T$（线性增长）

R-SWA：$C_{R\text{-}SWA}(T) = L_m + \min(n, T) \leq L_m + n$（有界常数）

Cache 压缩比：$\rho(T) = \frac{L_m + n}{L_m + T} \to 0$（当 T 足够大时）

## 与标准 SWA 的关键区别

| 维度 | 标准 SWA | R-SWA |
|------|---------|-------|
| 参考 token 状态 | 参与状态转移，逐渐滑出窗口 | 不参与状态转移，永久保留 |
| 视觉特征退化 | 是（逐渐模糊） | 否（静态编码） |
| KV cache | 线性增长 | 有界常数 |

## 认知启发

人类抄写时不回溯全部已写内容，仅关注附近上下文维持空间定向。R-SWA 的 soft forgetting 机制与此一致——历史输出信息通过滑动窗口传递，而非全量保留。

## 参考
- [[unlimited-ocr-works-2026]]
- [[constant-kv-cache]]
- [[kv-cache]]
- [[rolling-kv-cache]]
