跳转至

Scale-invariant Attention

会议: NeurIPS 2025
arXiv: 2505.17083
代码: 无
领域: LLM效率 / 注意力机制 / 长上下文
关键词: scale invariance, long context, attention logits, zero-shot length generalization, pp-RoPE, entropy control

一句话总结

借鉴自然图像的尺度不变性,提出对 attention logits 做位置相关的乘性缩放和加性偏移变换,使注意力在不同 token 范围上的总权重和稀疏度满足尺度不变性,从而实现从短序列训练到长序列推理的零样本泛化(4k→64k 仅需一个超参数 \(\tau\))。

研究背景与动机

  1. 长上下文是核心挑战:现代 LLM 需要在推理时处理远超训练长度的序列,但标准注意力随上下文增长会变得越来越"散"(高熵),导致局部信息被稀释
  2. 现有位置编码的局限:RoPE 无法开箱即用地泛化到更长序列;YaRN、NTK 等需要在目标长度上进行继续预训练或微调
  3. LogN/SSMax 的问题:LogN 通过乘以 \(s\log N\) 来锐化注意力,确保稀疏性。但它是位置无关的——对局部 token(如前100个)和远端 token 施加相同的缩放,导致局部上下文的注意力权重在长序列中迅速衰减至零
  4. 自然图像的启发:自然图像在所有空间尺度上都有结构(大尺度和小尺度的特征同样重要),文本中的注意力也应类似——对前 10-100 token、100-1000 token、1000-10000 token 的注意力都应被保留
  5. 核心洞察:需要两个性质——(a) 尺度不变总注意力:不同范围的总注意力权重应大致相同;(b) 尺度不变注意力稀疏性:随范围增大,注意力应越来越稀疏(只聚焦少数关键 token)
  6. 研究目标:找到一种简单的 logits 变换,使这两个性质在理论上成立,从而实现零样本长上下文泛化

方法详解

整体框架

在 FlexAttention 框架下,对原始 attention score \(S_t = \frac{1}{\sqrt{d}} \sum_\lambda q_\lambda K_{t\lambda}\) 施加位置相关的仿射变换 \(L_t = a_t S_t + m_t\)(其中 \(t\) 为当前 query 到 key 的距离),用变换后的 logits 计算注意力权重。变换参数 \(a_t\)(乘性)和 \(m_t\)(加性)由尺度不变性条件推导得出。

关键设计

  1. 尺度不变总注意力(Def 3.1)

    • 做什么:要求在任意范围 \([t, t\Delta)\) 上的总非归一化注意力 \(\mathbb{E}[\sum_{t'=t}^{t\Delta-1} \exp(L_{t'})]\)\(\Theta(1)\)
    • 核心思路:若 \(\mathbb{E}[\tilde{A}_t] = \alpha / (t/\tau + 1)\),则范围 \([t, t\Delta)\) 的总注意力为 \(\sum \alpha/(t'/\tau+1) \approx \alpha\tau \log\Delta\),与 \(t\) 无关
    • 设计动机:确保模型同时关注局部和全局上下文,注意力不会因序列变长而完全偏向远端
  2. 尺度不变注意力稀疏性(Def 3.3/3.4)

    • 做什么:弱版本要求范围内的熵 \(\mathbb{E}[H_t^{t\Delta}] = o(\log t)\);强版本要求 \(\Theta(1)\)
    • 核心思路:通过控制非归一化负熵 \(\mathbb{E}[\tilde{A}_t \log\tilde{A}_t] = \beta/(t/\tau+1)\) 来实现
    • 设计动机:确保在远端范围内注意力集中在少数关键 token 上,而非均匀分布
  3. 高斯假设下的闭式解

    • 做什么:假设基础 logits \(\bar{L}_t \sim \mathcal{N}(0,1)\),变换为 \(L_t = a_t \bar{L}_t + m_t\)
    • 核心思路:由两个条件联立求解得 \(a_t = \sqrt{2[\log(t/\tau+1) - \log\alpha + \beta/\alpha]}\)\(m_t = -a_t^2 + \beta/\alpha\)
    • 设计动机\(a_t^2\)\(\log t\) 增长(增大方差以锐化远端注意力),\(m_t\)\(\log t\) 减小(降低均值以抑制远端总权重)
  4. 超参数简化:仅一个时间尺度 \(\tau\)

    • 做什么:通过边界条件 \(a_0^2 = 1, m_0 = 0\)(不改变局部 token 的缩放),将三个参数 \(\alpha, \beta, \tau\) 减少到一个
    • 核心思路:求解得 \(\alpha = \beta = e^{0.5}\),仅剩 \(\tau\) 需要调节。\(\tau\) 设定了"局部区域"的大小——在 \(t \ll \tau\) 时注意力几乎不被修改
    • 设计动机:减少调参负担,\(\tau = 10\) 在实验中表现最佳
  5. 与 pp-RoPE 结合

    • 做什么:将尺度不变变换应用于 pp-RoPE(去除低频/长波长分量的 RoPE 变体)
    • 核心思路:标准 RoPE 的低频分量可能干扰位置相关的 logits 变换,pp-RoPE 去除这些分量后效果更好
    • 设计动机:实验发现 scale-invariant RoPE 效果不好,但 scale-invariant pp-RoPE 效果优异

训练策略

  • 使用 FlexAttention 实现 logits 变换,无需修改模型结构
  • 从头预训练 GPT-2 风格模型(含 QK-norm、ReLU² 激活)
  • Muon 优化器用于线性层,Adam 用于其余参数
  • FineWeb 数据集,固定训练数据顺序

实验关键数据

主实验:验证损失(162M 参数,训练@4k)

方法 Val@4k Val@16k Val@64k
RoPE 3.261 3.936 5.260
pp-RoPE 3.260 3.984 5.735
RoPE+NTK 3.261 3.703 5.430
LogN+RoPE 3.260 3.273 3.378
LogN+pp-RoPE 3.256 3.262 3.317
ALiBi 3.281 3.272 3.270
Scale-inv pp-RoPE 3.244 3.235 3.247

Needle-in-a-Haystack 检索(训练@4k,微调300步)

方法 Acc@4k Acc@16k Acc@64k
RoPE 0.962 0.000 0.000
LogN+pp-RoPE 0.969 0.962 0.939
ALiBi 0.957 0.020 0.003
Scale-inv pp-RoPE 0.965 0.969 0.969

消融实验

  • \(\tau \in \{10^{-2}, 10^{-1}, 1, 10, 100\}\)\(\tau=10\) 最优
  • 304M 模型上同样保持优势,且在更长训练(10B tokens)后优势更明显

关键发现

  1. Scale-invariant pp-RoPE 在所有训练长度(4k/16k/64k)上的 in-distribution 验证损失都优于所有基线——不仅改善泛化,还改善标准性能
  2. 在 Train@4k → Val@64k 的 16× 零样本泛化中,验证损失仅 3.247(vs RoPE 的 5.260),几乎无退化
  3. Needle-in-a-haystack 检索中,@64k 准确率 0.969,与 LogN+pp-RoPE(0.939)持平或更优——说明增强局部注意力不会牺牲远端检索能力
  4. ALiBi 在验证损失上泛化好但在 needle-in-a-haystack@64k 上几乎完全失败(0.003)

亮点与洞察

  • 理论优雅:从自然图像的尺度不变性出发,提出两条清晰的数学原则,在高斯假设下得到闭式解,仅引入一个超参数
  • 实用价值强:99% 的工作量是推导 \(a_t\)\(m_t\) 的公式,实现只需在 FlexAttention 里加一行——极低的工程门槛
  • 思路差异化:LogN/SSMax 是位置无关的全局缩放,而本文是位置相关的——局部 token 基本不变,远端 token 方差增大+均值降低,完美平衡局部和全局
  • 零样本泛化能力突出:4k→64k 几乎无性能损失,这在不做长上下文继续预训练的方案中非常罕见

局限性 / 可改进方向

  1. 实验规模有限:仅在 162M 和 304M 参数上从头训练验证;7B 规模仅做了附录中的继续预训练实验,尚未验证大规模预训练
  2. 高斯假设的偏差:理论推导依赖 logits 边缘分布为高斯的假设,实际中 attention logits 可能偏斜或有重尾
  3. 仅关注密集注意力:未探索与稀疏注意力(如滑动窗口+全局)的结合
  4. pp-RoPE 依赖性:标准 RoPE 下效果不佳,需要去除低频分量——限制了在已有 RoPE 模型上的直接应用
  5. 与其他长上下文技术的组合:是否能与 KV cache 压缩、环形注意力等技术叠加使用有待探索

相关工作与启发

  • LogN/SSMax(Nakanishi et al.):位置无关的乘性缩放,本文的直接改进对象——证明了位置相关性的重要性
  • pp-RoPE(Barbero et al.):去除 RoPE 低频分量的位置编码,是本文的最佳搭档
  • ALiBi(Press et al.):静态因果偏置,泛化好但检索差——揭示了不同长上下文策略的 trade-off
  • 启发:在注意力机制设计中,应该分开考虑局部和全局上下文的行为,而非用同一策略处理所有位置

评分

  • 新颖性: ⭐⭐⭐⭐ 尺度不变性视角新颖,从自然图像的先验出发推导注意力变换是独特的思路
  • 实验充分度: ⭐⭐⭐⭐ 多个基线对比、消融实验、needle-in-a-haystack 评估全面;扣分在于模型规模有限
  • 写作质量: ⭐⭐⭐⭐⭐ 理论推导清晰自洽,从定义到定理到实现的逻辑链完整
  • 价值: ⭐⭐⭐⭐ 实现极简(一行代码)但效果显著的长上下文方案,工程落地门槛极低

会议: NEURIPS2025
arXiv: 2505.17083
代码: 无
领域: llm_efficiency
关键词: scale invariance, attention logits, long context, zero-shot length generalization, pp-RoPE, entropy control