Files
myWiki/concepts/sink-token.md

2.4 KiB
Raw Permalink Blame History

title, created, updated, type, tags, sources
title created updated type tags sources
汇 Token (Sink Token) 2026-05-14 2026-05-14 concept
llm
pre-training
attention
streaming
https://arxiv.org/abs/2309.17453

汇 Token (Sink Token)

定义

汇 TokenSink Token是 Xiao et al. (2024) 在 streaming-llm 论文中提出的预训练改进:在所有训练样本开头添加一个可学习的专用 Token使其成为唯一的注意力汇。

动机

Vanilla LLM如 Llama-2在预训练时没有统一的起始 Token<s> 位置因文本分块而随机),因此模型被迫使用多个初始 Token 作为 attention-sinks。StreamingLLM 推理时需要保留 4 个初始 Token 的 KV 才能恢复性能。

→ 如果有一个专用 Token 从一开始就被训练为"注意力垃圾桶",推理时只需保留这一个 Token。

预训练实验

Xiao et al. 从头预训练了三个 1.6 亿参数模型,使用相同设置对比:

模型 方法 仅 Sink Token 时 PPL 结论
Vanilla 标准 SoftMax 27.87 需多个初始 Token
Zero Sink SoftMax₁ (off-by-one) 29,214 部分改善,仍需其他 Token
Learnable Sink 前置可学习 Token 18.01 仅需 1 个 Sink Token
  • Zero Sink = SoftMax₁(x)_i = e^{x_i} / (1 + Σ_j e^{x_j}),等价于前置一个全零 Key/Value 的虚拟 Token
  • Learnable Sink Token 在所有训练样本前添加,成为稳定且唯一的注意力汇

效果

  • 推理时仅需 Sink Token + 最近 Token 即可稳定
  • 性能甚至略优于 Vanilla 模型配合 4 个初始 Token
  • 注意力可视化显示,预训练后的 Sink Token 模型不再依赖初始 Token

实践建议

论文建议未来的 LLM 预训练应统一在所有训练样本前添加一个可学习的 Sink Token以优化流式部署。

与 SoftMax-off-by-One 的关系

softmax-off-by-one 是另一种消除注意力汇依赖的方案——修改 SoftMax 函数使其不强制求和为 1。但实验表明它不够充分Learnable Sink Token 更有效。

相关概念