feat: deepen attention and transformer chapter

This commit is contained in:
wuyang
2026-07-29 05:26:59 +08:00
parent 266eac8fd6
commit 252e7d6b63
20 changed files with 3131 additions and 666 deletions
+91
View File
@@ -0,0 +1,91 @@
# Attention / TransformerGrok 候选线索
> 状态:**未核验发现队列,不是正式证据。**
>
> 生成方式:2026-07-29 使用本机 Grok CLI Headless 检索;主代理只保留可回查的候选节点,正文、数字、年份和归因不得直接引用本文件。
## Grok 建议的十张问题账
1. 信息路径与可微检索:固定向量瓶颈怎样变成按需读取。
2. Q / K / V 匹配几何:加性打分、点积、缩放与 softmax。
3. 信息可见性:encoder self-attention、causal self-attention、cross-attention 与 prefix mask。
4. Multi-Head:多子空间表达、头冗余与后验电路分析。
5. 位置:绝对、相对、RoPE、ALiBi 与跨段记忆。
6. 局部计算:FFN、GLU、SwiGLU 与 MoE。
7. 深度路径:Residual、LayerNorm、Pre/Post-Norm、RMSNorm 与 AttnRes。
8. 架构与目标:encoder-only、decoder-only、encoderdecoder、MLM、causal LM、span corruption。
9. 系统成本:训练并行、Attention IO、KV Cache、MQA / GQA。
10. 当代映射:DeepSeek MLA / MTP / CSA-HCA 与 Kimi KDA / Gated MLA / AttnRes。
## 候选节点(进入正式账本前必须回到原文)
### 信息路径
- Bahdanau et al. — *Neural Machine Translation by Jointly Learning to Align and Translate*
- Luong et al. — *Effective Approaches to Attention-based Neural Machine Translation*
- Graves et al. — *Neural Turing Machines*
- Sukhbaatar et al. — *End-To-End Memory Networks*
- Xu et al. — *Show, Attend and Tell*
- Vinyals et al. — *Pointer Networks*
### QKV、Mask 与架构家族
- Vaswani et al. — *Attention Is All You Need*
- Radford et al. — GPT-1 / GPT-2 technical reports
- Devlin et al. — BERT
- Raffel et al. — T5
- Dong et al. — UniLM
- Child et al. — Sparse Transformer
### 多头与解释边界
- Michel et al. — *Are Sixteen Heads Really Better than One?*
- Clark et al. — *What Does BERT Look at?*
- Voita et al. — *Analyzing Multi-Head Self-Attention*
- Jain & Wallace — *Attention is not Explanation*
- Wiegreffe & Pinter — *Attention is not not Explanation*
- Elhage et al. — *A Mathematical Framework for Transformer Circuits*
### 位置
- Shaw et al. — relative position representations
- Dai et al. — Transformer-XL
- Su et al. — RoFormer / RoPE
- Press et al. — ALiBi
### FFN、残差与归一化
- He et al. — ResNet
- Ba et al. — Layer Normalization
- Xiong et al. — Pre-LN / Post-LN analysis
- Zhang & Sennrich — RMSNorm
- Dauphin et al. — GLU
- Shazeer — GLU Variants / SwiGLU
- Shazeer et al. — sparsely-gated MoE
- Fedus et al. — Switch Transformer
### 系统效率
- Shazeer — Multi-Query Attention
- Ainslie et al. — Grouped-Query Attention
- Dao et al. — FlashAttention / FlashAttention-2
- Shoeybi et al. — Megatron-LM
- Rajbhandari et al. — ZeRO
### DeepSeek / Kimi
- DeepSeek-V2 — MLA + DeepSeekMoE
- DeepSeek-V3 — MLA + MTP + auxiliary-loss-free balancing
- DeepSeek-V4 — CSA / HCA + mHC
- Kimi Linear — KDA + MLA hybrid
- Attention Residuals — Full / Block AttnRes
- Kimi K3 — 3:1 KDA / Gated MLA + AttnRes + Stable LatentMoE
## 明确拒绝直接采信的 Grok 表述
- “Attention 权重就是解释”:只可作为一个中间变量或诊断线索,不能自动升级为因果归因。
- “Transformer 就是 GPT”:原始论文是 encoderdecoder 机器翻译系统。
- “FlashAttention 把 Attention 变成线性复杂度”:FlashAttention 是 IO-aware 的精确实现,数学上的稠密注意力仍是二次计算。
- “MQA / GQA / MLA 是同一种方法”:它们都影响 KV 成本,但共享、分组与低秩潜变量压缩是不同机制。
- “KDA 已全面取代 softmax attention”:Kimi Linear / K3 使用混合层;结论限定于报告实验设置。
- “DeepSeek MTP 一定用于多 Token 推理”:V3 明确说推理可丢弃 MTP 模块,也可把它用于 speculative decoding。
+182
View File
@@ -0,0 +1,182 @@
# 第 02 章研究账本:注意力与 Transformer
> 核验截止:2026-07-29Asia/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 明确把传统 encoderdecoder 的固定长度向量视为瓶颈,并让 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 是 encoderdecoder 机器翻译架构,使用 encoder self-attention、masked decoder self-attention 与 encoderdecoder 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 来自 decoderK/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 用 encoderdecoder,把任务统一为 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-V2MLA
- 报告模型为 236B total / 21B active128K 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-V3MLA 延续 + 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-V4CSA / HCA + mHC
- V4 用 CSA 与 HCA 的混合稀疏/压缩 attention 面向 1M context;这不是单纯把 V3 的 MLA 改名。
- 报告同时用 manifold-constrained hyper-connectionsmHC)升级相邻层的 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 | 全局 | encoderdecoder 的全 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 | 架构目标 | encoderdecoder + 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、移动端无横向溢出,并把“教学模拟”与“论文事实”分开标注。