模型架构 入门

Attention

别名:注意力机制 / Self-Attention / 自注意力

让每个 token 按相关性加权聚合其他 token 信息的机制,是 Transformer 的核心。

更新于 2026/11/02
LLMTransformer机制

一句话定义

Attention 是“按相关性查字典”的计算:把当前 token 当成查询 Query,把其他 token 当成键 Key 和值 Value,用 Query 与 Key 的相似度决定从每个 Value 中取多少信息。

怎么工作

对每个 token,模型会生成三个向量:

  • Query(Q):我现在想找什么信息。
  • Key(K):我能提供什么信息,用来和 Query 匹配。
  • Value(V):我实际要传递出去的内容。

计算过程可以概括为:

Attention(Q, K, V) = softmax(QKᵀ / √d_k) V
  1. 用 Q 和 K 做点积,得到两两之间的相关性分数。
  2. 除以 √d_k 控制数值尺度,避免 softmax 进入饱和区。
  3. 用 softmax 把分数变成权重。
  4. 按权重对 V 求和,得到当前 token 的新表示。

Q、K、V 与注意力计算

多头注意力

一次注意力只能学到一种“相关性视角”。多头注意力把 Q、K、V 投影到多组子空间,分别计算后再拼接起来,让模型同时关注语法、指代、位置等不同关系。

在 Decoder-only 模型中,还会使用因果掩码:第 t 个 token 只能看到 1 到 t 的位置,不能偷看未来。

常见误区

  • 注意力权重不是“可解释性”的完整答案。权重高只说明聚合比例大,不代表模型推理过程就完全透明。
  • 多头不是简单地把同一个头复制多份。不同头在训练后会分化出不同的关注模式。
  • 推理时为了避免重复计算历史 Key/Value,会引入 KV Cache;它缓存的是 K 和 V,不是完整注意力输出。

相关概念

  • Transformer:把注意力、前馈网络和残差结构组合起来的完整架构。
  • KV Cache:自回归解码阶段的 Key/Value 缓存。