# 第 02 章研究账本:注意力与 Transformer > 核验截止:2026-07-29(Asia/Shanghai) > > 原则:只把原论文、正式会议页、作者技术报告与官方实现写入事实层。下文的“教学映射”是本站重组,不冒充论文原话。 ## 0. 本章边界 本章回答的是“Transformer 这个计算骨架如何出现、如何工作、又怎样演化为现代 LLM block”。它与其他章节的边界如下: - 第 01 章负责 N-gram → NPLM → RNN/LSTM → Seq2Seq 的完整前史。 - 第 03 章继续深入 Tokenizer、位置、表示与跨深度路径。 - 第 06 章完整解释 MoE 路由与专家并行。 - 第 07 章完整解释长上下文、线性注意力、MLA / KDA 与缓存成本。 - 第 08 章完整解释并行训练与通信。 - 本章仍必须给出这些机制的“最小闭环”,否则读者无法看懂一个现代 block;但复杂实验数字不在这里无限展开。 ## 1. 十张问题账 | 账 | 核心问题 | 最小结论 | |---|---|---| | 01 信息路径 | 怎样摆脱固定向量瓶颈? | 对每个输出位置按需读取一组源表示。 | | 02 匹配几何 | Q、K、V 究竟在算什么? | 匹配特征与被搬运内容分离;缩放抑制高维点积的幅值增长。 | | 03 可见性 | self / cross / causal 有何区别? | 本质是来源集合和 mask 不同。 | | 04 多头 | 为什么要并行多组投影? | 增加不同表示子空间中的路由容量,但不保证每头有单一人类语义。 | | 05 位置 | Attention 为什么需要位置? | 无位置项时,算子本身不知道序列次序。 | | 06 局部计算 | Attention 之后为什么还要 FFN? | Attention 跨位置混合;FFN / MoE 在每个位置做共享非线性加工。 | | 07 深度 | 怎样堆到几十上百层? | Residual 提供加法捷径;Norm 位置改变优化行为。 | | 08 架构与目标 | BERT、GPT、T5 为什么不同? | 可见性、组件拓扑和训练目标是三条相互关联但不等价的轴。 | | 09 系统成本 | 同一公式为什么快慢差很多? | 训练、prefill、decode 的瓶颈不同;IO、缓存与并行实现必须单独记账。 | | 10 当代映射 | DeepSeek / Kimi 改了哪一轴? | MLA 改 KV 表示,KDA 改序列状态,AttnRes / mHC 改深度路径,MTP 改训练信号。 | ## 2. 已核验主干结论 ### 2.1 从软对齐到 Self-Attention 1. Bahdanau et al. 2014/ICLR 2015 明确把传统 encoder–decoder 的固定长度向量视为瓶颈,并让 decoder 每一步对源端表示做可学习的 soft search。来源:[arXiv 1409.0473](https://arxiv.org/abs/1409.0473)。 2. Luong et al. 2015 系统比较 global / local attention 与 dot / general / concat 打分。它仍是 RNN NMT,不是 Transformer。来源:[arXiv 1508.04025](https://arxiv.org/abs/1508.04025)。 3. Vaswani et al. 2017 的原始 Transformer 是 encoder–decoder 机器翻译架构,使用 encoder self-attention、masked decoder self-attention 与 encoder–decoder attention;论文主张以 attention 取代 recurrence / convolution,并强调训练并行性。来源:[NeurIPS 正式页](https://proceedings.neurips.cc/paper_files/paper/2017/hash/3f5ee243547dee91fbd053c1c4a845aa-Abstract.html)。 4. 原论文在 WMT 2014 英德/英法翻译实验中报告 28.4 / 41.0 BLEU,并称其大模型在 8 个 P100 上训练 3.5 天;这些数字只属于论文设定,不能外推为现代 LLM 的通用速度结论。 ### 2.2 Q / K / V、缩放与 Mask 1. Scaled dot-product attention:`softmax(QKᵀ / √d_k)V`。原论文给出的动机是:若 Q、K 分量独立、均值 0、方差 1,则点积方差为 `d_k`;大幅值把 softmax 推向小梯度区,因此除以 `√d_k`。 2. Q 与 K 决定“从哪里读”,V 决定“读回什么”。Q/K/V 是线性投影的计算角色,不是三份固定词义。 3. Encoder self-attention 允许同一层的全部源位置互见;decoder self-attention 用 subsequent mask 阻止未来信息;cross-attention 的 Q 来自 decoder,K/V 来自 encoder。 4. Causal mask 只规定信息可达性,不意味着模型的内部算法必然以人类的线性“思考步骤”运行。 ### 2.3 Multi-Head 与解释边界 1. Vaswani et al. 的原始主张是:多头允许模型在不同位置、不同表示子空间共同关注信息。 2. Michel et al. 2019 发现测试时移除相当比例的头通常不会显著损害性能,一些 self-attention 层甚至可减到单头;论文没有证明这些头在训练阶段毫无作用。来源:[NeurIPS 正式页](https://papers.neurips.cc/paper_files/paper/2019/hash/2c601ad9d2ff9bc8b282670cdd54f69f-Abstract.html)。 3. Clark et al. 2019 在 BERT 中观察到分隔符、相对偏移、句法和共指等模式;这是后验分析,不是“每个头被指定一种语法功能”。来源:[ACL Anthology](https://aclanthology.org/W19-4828/)。 4. Jain & Wallace 2019 展示 attention 权重与梯度型重要性可能不相关,并可构造不同权重却保持相近预测;Wiegreffe & Pinter 同年指出结论依赖“解释”的定义和测试方法。课程结论采用保守表述:**权重可用于观察与提出假设,但仅凭热力图不能证明因果归因。** 来源:[NAACL](https://aclanthology.org/N19-1357/)、[EMNLP](https://aclanthology.org/D19-1002/)。 ### 2.4 位置 1. 原始 Transformer 把固定 sin/cos 位置编码与 embedding 相加;论文还测试 learned positional embedding。 2. Shaw et al. 2018 把相对距离表示加入 self-attention,并在论文的 WMT 设置中优于只用绝对位置的基线。来源:[NAACL 正式页](https://aclanthology.org/N18-2074/)。 3. Transformer-XL 用 segment-level recurrence 与新相对位置方案解决固定片段和 context fragmentation;论文的速度/依赖长度数字只属于其评测设置。来源:[ACL 正式页](https://aclanthology.org/P19-1285/)。 4. RoPE 用旋转矩阵把绝对位置写进 Q/K,并使点积显式依赖相对位置。来源:[arXiv 2104.09864](https://arxiv.org/abs/2104.09864)。 5. ALiBi 不把位置向量加到 embedding,而是给 attention logits 添加与距离成比例的惩罚;原文在 1.3B、训练长度 1024 / 测试 2048 等设置中验证外推。来源:[arXiv 2108.12409](https://arxiv.org/abs/2108.12409)。 ### 2.5 FFN / GLU 1. 原始 block 不只有 Attention:每个位置还经过共享的两层 FFN(ReLU)。 2. GLU 的门控思想早于 Transformer。Shazeer 2020 在 Transformer FFN 中比较 GLU 变体,报告部分变体优于 ReLU / GELU;这是一组实验结论,不是“证明 SwiGLU 永远最优”。来源:[arXiv 2002.05202](https://arxiv.org/abs/2002.05202)。 3. MoE 把局部 FFN 容量稀疏化;本章只画 token → router → experts 的最小路径,负载均衡和通信留到第 06 章。 ### 2.6 Residual / Norm / Depth 1. Residual shortcut 来自深度视觉网络。ResNet 的原始贡献是把层学习目标改写为残差映射,从而缓解深网优化退化;它不是 Transformer 发明。来源:[CVPR 正式页](https://openaccess.thecvf.com/content_cvpr_2016/html/He_Deep_Residual_Learning_CVPR_2016_paper.html)。 2. LayerNorm 在单个样本内按层输入统计量归一化,训练和测试计算一致,最初尤其强调对 RNN 的适配。来源:[arXiv 1607.06450](https://arxiv.org/abs/1607.06450)。 3. 原始 Transformer 图与正文采用 Post-LN(残差相加后做 LayerNorm)。 4. Xiong et al. 2020 以 mean-field 分析指出:初始化时 Post-LN 输出附近梯度较大,warm-up 有助稳定;Pre-LN 梯度更良好,其实验可在多项设置下去掉 warm-up。不能简化成“Pre-LN 在一切方面更优”。来源:[ICML / PMLR](https://proceedings.mlr.press/v119/xiong20b.html)。 5. RMSNorm 去掉 re-centering,只按 RMS 做 re-scaling;原论文报告在多种模型上的可比性能与运行时间下降,但具体 7%–64% 依赖实验模型。来源:[NeurIPS 正式页](https://papers.neurips.cc/paper_files/paper/2019/hash/1e8a19426224ca89e83cef47f1e7f53b-Abstract.html)。 ### 2.7 架构家族与目标 1. GPT-1 使用 Transformer decoder 做生成式预训练,再在监督任务微调;它把“decoder-only + causal LM + transfer”连成路线。来源:[OpenAI 原始 PDF](https://cdn.openai.com/research-covers/language-unsupervised/language_understanding_paper.pdf)。 2. BERT 是 Transformer encoder,目标是深度双向表示,原文采用 MLM + NSP;其贡献不是新 QKV 公式。来源:[arXiv 1810.04805](https://arxiv.org/abs/1810.04805)。 3. T5 用 encoder–decoder,把任务统一为 text-to-text,并系统比较目标、架构、数据和迁移配方;不能把统一接口误写成“发明 encoder–decoder”。来源:[JMLR 正式页](https://jmlr.org/papers/v21/20-074.html)。 4. UniLM 表明同一个 Transformer 可通过不同 self-attention mask 实现单向、双向与 seq2seq 目标。来源:[arXiv 1905.03197](https://arxiv.org/abs/1905.03197)。 5. 架构拓扑、mask 和预训练目标必须分开画:decoder-only 常配 causal LM,但逻辑上它们不是同义词。 ### 2.8 训练、Prefill、Decode 与 IO 1. 训练用 teacher forcing,可在因果 mask 下并行计算全部位置的损失;生成时新 token 尚不存在,必须自回归逐步解码。 2. KV Cache 用显存换重算:保留旧 token 的 K/V,不改变标准 attention 的数学输出。 3. MQA 让多组 Q 头共享一组 K/V,论文直接把动机写成增量解码反复加载 K/V 的 memory-bandwidth cost。来源:[arXiv 1911.02150](https://arxiv.org/abs/1911.02150)。 4. GQA 在 MHA 与 MQA 之间使用中间数量的 K/V heads,并提出以原训练计算量 5% uptrain checkpoint 的方案;论文报告质量接近 MHA、速度可比 MQA。来源:[EMNLP 正式页](https://aclanthology.org/2023.emnlp-main.298/)。 5. FlashAttention 是 IO-aware 的**精确 attention**:分块并利用在线 softmax,减少 HBM 与片上 SRAM 间读写;不是稀疏近似,也没有改变稠密 attention 的数学定义。来源:[NeurIPS 正式页](https://proceedings.neurips.cc/paper/2022/hash/67d57c32e20fd0a7a302cb81d36e40d5-Abstract-Conference.html)。 6. Megatron-LM 处理 intra-layer model parallel;它是训练系统切分,不是新的 attention 算子。来源:[arXiv 1909.08053](https://arxiv.org/abs/1909.08053)。 ## 3. DeepSeek 重点谱系 ### 3.1 DeepSeek-V2:MLA - 报告模型为 236B total / 21B active,128K context。 - MLA 把每个 token 的 K/V 表示压进低维 latent,再按需上投影,缓存 latent 而非全部 head-specific K/V。 - 报告声称相对 DeepSeek 67B:训练成本降 42.5%、KV Cache 降 93.3%、最大生成吞吐 5.76×。课程引用这些数字时必须带比较对象。 - 来源:[arXiv 2405.04434](https://arxiv.org/abs/2405.04434),本地提取 `research/sources/long-context/2405.04434.txt`。 ### 3.2 DeepSeek-V3:MLA 延续 + MTP - V3 继续采用 MLA 与 DeepSeekMoE。 - MTP 使用顺序模块预测额外未来 token,增加训练信号;主目标仍然是 autoregressive next-token。 - 报告 §2.2 明确:推理时可直接丢弃 MTP 模块,主模型独立运行;也可把模块用于 speculative decoding。 - 来源:[arXiv 2412.19437](https://arxiv.org/abs/2412.19437),本地证据 `research/sources/moe/2412.19437.txt:534-602`。 ### 3.3 DeepSeek-V4:CSA / HCA + mHC - V4 用 CSA 与 HCA 的混合稀疏/压缩 attention 面向 1M context;这不是单纯把 V3 的 MLA 改名。 - 报告同时用 manifold-constrained hyper-connections(mHC)升级相邻层的 residual path。 - 报告称 V4-Pro 在 1M context 的 single-token inference FLOPs / KV cache 分别为 V3.2 的 27% / 10%;V4-Flash 为 10% / 7%。这些是报告内比较,不能外推到不同服务栈。 - 来源:[arXiv 2606.19348](https://arxiv.org/abs/2606.19348),本地证据 `research/sources/long-context/2606.19348.txt:14-26,178-212,473-483`。 ## 4. Kimi K3 映射 1. K3 报告的 backbone 采用 3 个 KDA 层 + 1 个 Gated MLA 层的重复 block,另有额外 Gated MLA;不是纯线性 attention。证据:`research/sources/kimi-k3/k3_tech_report.txt:195-225`。 2. KDA 是带 channel-wise forget gate 的 delta-rule recurrence;长序列解码维护固定大小 recurrent state,区别于随序列增长的 softmax KV Cache。证据:同文件 `:230-256,1161-1177`。 3. K3 的 Gated MLA 沿用 DeepSeek-V2 的 latent KV compression,并增加 input-dependent channel-wise output gate;报告还说明 MLA 层使用 NoPE,而 KDA 提供位置敏感、recency-aware 的混合。证据:`:352-370`。 4. AttnRes 让当前层以 learned pseudo-query 对先前深度表示做选择性聚合;Block AttnRes 降低内存/通信开销。证据:`:377-401`;独立报告:[arXiv 2603.15031](https://arxiv.org/abs/2603.15031)。 5. 每个 attention layer 后接 Stable LatentMoE;额外 RMSNorm 与 SiTU-GLU 用于稳定潜空间与抑制大激活。证据:`:421-501`。 6. 课程问题轴: - KDA:序列长度上的有限状态更新。 - Gated MLA:周期性全局 token-to-token 交互与压缩缓存。 - AttnRes:网络深度上的选择性信息路由。 - Stable LatentMoE:模型宽度上的稀疏局部计算。 ## 5. 正式论文链(40 个教学节点) | # | 年 | 节点 | 主账 | 本章一句话 | |---:|---:|---|---|---| | 01 | 2014 | Bahdanau Attention | 信息路径 | 每个输出步按需软读取源表示。 | | 02 | 2015 | Luong Attention | 匹配几何 | global/local 与多种 score 形成可比较设计空间。 | | 03 | 2015 | Pointer Networks | 信息路径 | 权重本身也可成为指向输入位置的输出分布。 | | 04 | 2016 | ResNet | 深度 | 残差加法高速公路的直接前史。 | | 05 | 2016 | LayerNorm | 深度 | 单样本内按特征归一化。 | | 06 | 2017 | GLU | 局部计算 | 门控前馈的前史。 | | 07 | 2017 | Attention Is All You Need | 全局 | encoder–decoder 的全 attention 机器翻译系统。 | | 08 | 2018 | GPT-1 | 架构目标 | decoder-only 生成预训练 + 迁移。 | | 09 | 2018 | BERT | 架构目标 | encoder-only 双向 MLM 预训练。 | | 10 | 2018 | Relative Position | 位置 | 相对距离进入 self-attention。 | | 11 | 2019 | Transformer-XL | 位置/长程 | 跨段 recurrence + 相对位置。 | | 12 | 2019 | GPT-2 | 架构目标 | decoder-only causal LM 的零样本扩展。 | | 13 | 2019 | T5 | 架构目标 | encoder–decoder + text-to-text + span corruption。 | | 14 | 2019 | UniLM | Mask | 用 mask 统一单向、双向、seq2seq。 | | 15 | 2019 | RMSNorm | 深度 | 去均值中心化的归一化。 | | 16 | 2019 | MQA | 系统 | 多 Q 头共享一组 K/V。 | | 17 | 2019 | Sixteen Heads? | 多头 | 测试时头存在显著可剪枝冗余。 | | 18 | 2019 | What Does BERT Look At? | 多头 | 观察头模式,但不把观察升级为因果。 | | 19 | 2019 | Attention is not Explanation | 边界 | 权重不能自动作为解释。 | | 20 | 2019 | Attention is not not Explanation | 边界 | 解释定义与测试协议也需明确。 | | 21 | 2019 | Megatron-LM | 系统 | 层内张量并行支撑更大 Transformer。 | | 22 | 2020 | Pre-LN analysis | 深度 | Norm 位置改变初始化梯度与 warm-up 需求。 | | 23 | 2020 | GLU Variants | 局部计算 | GEGLU / SwiGLU 等进入 Transformer FFN。 | | 24 | 2020 | GPT-3 | 架构目标 | causal decoder + scale 形成 in-context 接口。 | | 25 | 2020 | Query-Key Normalization | 匹配几何 | 显式控制 Q/K 尺度。 | | 26 | 2021 | RoPE | 位置 | 旋转 Q/K 表达相对位置。 | | 27 | 2021 | ALiBi | 位置 | 直接给 logits 加距离偏置。 | | 28 | 2021 | NormFormer | 深度 | 在 block 内增加归一化改善梯度尺度。 | | 29 | 2022 | DeepNet | 深度 | 深层 Post-LN 的稳定缩放路线。 | | 30 | 2022 | FlashAttention | 系统 | 不写出完整矩阵的 IO-aware 精确实现。 | | 31 | 2023 | LLaMA | 现代配方 | Pre-Norm RMSNorm + SwiGLU + RoPE 的代表组合。 | | 32 | 2023 | GQA | 系统 | MHA 与 MQA 之间的 K/V head 折中。 | | 33 | 2023 | FlashAttention-2 | 系统 | 改进并行和任务划分。 | | 34 | 2024 | DeepSeek-V2 | DeepSeek | MLA 压缩 KV latent。 | | 35 | 2024 | DeepSeek-V3 | DeepSeek | 延续 MLA,并加入 MTP 训练目标。 | | 36 | 2025 | Kimi Linear | Kimi | KDA 与 MLA 的 3:1 混合路线。 | | 37 | 2025 | DeepSeek-V3.2 | DeepSeek | DSA 把稀疏索引带回 MLA 谱系。 | | 38 | 2026 | Attention Residuals | Kimi | 在深度维选择先前层表示。 | | 39 | 2026 | DeepSeek-V4 | DeepSeek | CSA/HCA + mHC 面向 1M context。 | | 40 | 2026 | Kimi K3 | Kimi | KDA/Gated MLA + AttnRes + Stable LatentMoE。 | ## 6. 页面交互验收目标 1. **QKV 手算台**:调 Q/K logits 与 `d_k`,逐步看到 scale → softmax → Value weighted sum。 2. **Mask 矩阵台**:full / causal / cross / prefix 四种可见性,可点位置并读出允许来源。 3. **多头与位置台**:切换 local / syntax-like / long-range 等教学头和 None / absolute / relative / RoPE / ALiBi,明确这是示意。 4. **Block 与成本台**:Original Transformer / BERT / GPT / LLaMA / DeepSeek MLA / K3 hybrid;比较拓扑、Norm、FFN、KV 组织和训练/推理阶段。 5. 所有实验必须支持键盘 tab、移动端无横向溢出,并把“教学模拟”与“论文事实”分开标注。