架构与关键技术 核心 约 22 分钟 更新 2026-10-02

自注意力机制:QKV、缩放与多头

学习状态:
未学

一句话定义

自注意力让序列中每个位置用「查询-键-值(QKV)」三组投影计算与所有位置的相关度并加权聚合信息,多头设计则让不同子空间并行关注不同类型的关系。

为什么重要

注意力是 Transformer 中唯一的「跨位置通信」算子,也是 LLM 上下文能力的物理来源——模型「记得前文」「引用指令」都发生在注意力里。它是面试、论文、工程优化(KV 缓存、稀疏化)中出现频率最高的机制,必须掌握到公式级。

前置知识

核心概念

原理与机制

对每个位置 t:其查询向量与所有位置(含自身)的键做点积得到分数,经缩放与掩码后 softmax 归一化成权重,按权重对值向量加权求和得到新表示。复杂度 O(T²·d):长文本下平方项主导,是长上下文难题的根源(见 kp-014)。多头把 d_model 切成 h 份分别投影,参数量不变但表达能力分组增强。因果掩码把未来位置的分数置为负无穷,softmax 后权重为 0。

公式或模型

缩放点积注意力与多头拼接:

Attention(Q,K,V) = softmax(QKᵀ / √d_k + M) · V
MultiHead(X) = Concat(head_1, ..., head_h) · W_O

其中 M 为因果掩码(未来位置为 −∞)。

图示

"它" ←指代→ "猫":  Q("它")·K("猫") 分数高 → softmax 后权重 0.7
                    → 新的 h("它") ≈ 0.7·V("猫") + 0.3·V(其他)
句法头: 关注相邻词     指代头: 关注名词短语     位置头: 关注固定偏移

直观类比

像开卷考试:题目是 Query,书里每段话有标题索引(Key)与正文内容(Value)。你先扫标题判断哪段相关(点积打分),再按相关度把内容「按比例抄进答案」(加权求和)。多头像多位阅卷人,各自关注不同章节。

实例或案例

指代消解:在「猫追老鼠,它钻进了洞」中,指代头的注意力把「它」大量权重分配给「猫」或「老鼠」之一(由语义与语序决定),从而在表示中携带正确指代。工程侧,注意力矩阵是显存大户(T² 量级),催生了 kp-014 的整条优化线。

常见误区

与其他知识点的关系

自测题

  1. 写出缩放点积注意力公式并解释每个成分。
    答案要点:softmax(QKᵀ/√d_k + M)V;Q 找谁、K 被找到、V 给信息、缩放稳方差、M 因果掩码。
  2. 为什么用 √d_k 缩放?
    答案要点:d_k 维独立点积方差随维度累积,除以 √d_k 使分数方差近似为 1,避免 softmax 饱和。
  3. 多头注意力相对单头的收益来源?
    答案要点:不同头在不同表示子空间学习不同关系模式,等于并行多视角。

延伸阅读