Files
myWiki/concepts/attention-sinks.md

2.7 KiB
Raw Blame History

title, created, updated, type, tags, sources
title created updated type tags sources
注意力汇 (Attention Sinks) 2025-04-15 2026-05-14 concept
attention
llm
streaming
softmax
kv-cache
https://arxiv.org/abs/2309.17453

注意力汇 (Attention Sinks)

定义

注意力汇是 Xiao et al. (2024) 在 ICLR 论文 streaming-llm 中发现的现象:自回归 LLM 中,初始 Token 在所有层和注意力头上吸引不成比例的高注意力分数,即使它们与当前预测任务语义无关。

数学解释

SoftMax 函数的性质导致注意力汇的出现:

\text{SoftMax}(x)_i = \frac{e^{x_i}}{\sum_{j=1}^N e^{x_j}}

关键约束:所有 token 的注意力分数之和必须为 1$\sum_i \text{SoftMax}(x)_i = 1$)。

当当前 query 与大多数上下文 token 没有强语义匹配时,模型仍然需要把这些"多余"的注意力值分配到某处。初始 Token 因自回归建模中对所有后续 token 都可见,被自然训练为注意力的"汇" (sink)

Xiao et al. 的公式表述:

\text{SoftMax}(x)_i = \frac{e^{x_i}}{e^{x_1} + \sum_{j=2}^N e^{x_j}}, \quad x_1 \gg x_j, \, j \in 2, \ldots, N

其中 $x_1$(初始 token 的注意力 logit远大于其他 token。

实验证据

  1. 注意力可视化Llama-2-7B 除底部两层外,几乎所有层和注意力头都严重关注初始 token
  2. 替换实验:将前 4 个 Token 替换为换行符 \n,模型仍大量关注它们,恢复它们后 PPL 恢复——证明是绝对位置而非语义在起作用
  3. 数量研究4 个初始 Token 即可完全恢复性能1-2 个不够,更多边际递减

根因分析

为什么是初始 Token 而不是其他 Token

→ 自回归语言建模中,初始 Token 对所有后续 Token 都可见,而后面的 Token 只对有限集合可见。这使得初始 Token 更容易被训练为注意力的通用"倾倒目标"。

应用

  • streaming-llm:保留 4 个初始 Token 的 KV + 最近 Token 的滑动窗口 → 无限长流式推理
  • H2O:基于累积注意力分数选择性地保留 "Heavy Hitter" Token
  • SinkRouter:汇感知的路由优化策略
  • 预训练改进:在训练样本前添加专用 sink-token,消除对多个初始 Token 的依赖

相关概念