feat: deepen attention and transformer chapter
This commit is contained in:
@@ -0,0 +1,182 @@
|
||||
# 第 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、移动端无横向溢出,并把“教学模拟”与“论文事实”分开标注。
|
||||
Reference in New Issue
Block a user