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
+12 -3
View File
@@ -10,7 +10,7 @@
| 网站设计系统 | 进行中 | 89% | 打印样式与更多通用可视化组件 | | 网站设计系统 | 进行中 | 89% | 打印样式与更多通用可视化组件 |
| Kimi K3 深读 | 进行中 | 66% | 扩写 pre-training / infra 逐图笔记 | | Kimi K3 深读 | 进行中 | 66% | 扩写 pre-training / infra 逐图笔记 |
| 语言模型前史 | 完成首版 | 78% | KneserNey、LSTM、Bahdanau 逐图精读与真实小语料复现 | | 语言模型前史 | 完成首版 | 78% | KneserNey、LSTM、Bahdanau 逐图精读与真实小语料复现 |
| Transformer 基础 | 进行中 | 52% | 矩阵形状动画与手算练习 | | Transformer 基础 | 完成首版 | 79% | 多头电路、归一化 traces 与真实 kernel / KV 配置 |
| Scaling Laws | 完成首版 | 74% | 真实拟合复现、置信区间与更多模型族对照 | | Scaling Laws | 完成首版 | 74% | 真实拟合复现、置信区间与更多模型族对照 |
| 数据工程与预训练配方 | 完成首版 | 73% | FineWeb / DCLM 逐图精读、真实去重误伤与 mixture traces | | 数据工程与预训练配方 | 完成首版 | 73% | FineWeb / DCLM 逐图精读、真实去重误伤与 mixture traces |
| DeepSeek 专题 | 进行中 | 71% | 补 R1 / DAPO 的逐图训练轨迹与复现对照 | | DeepSeek 专题 | 进行中 | 71% | 补 R1 / DAPO 的逐图训练轨迹与复现对照 |
@@ -32,10 +32,10 @@
- [x] 提炼参考网站的编辑设计语言。 - [x] 提炼参考网站的编辑设计语言。
- [x] 确认 `git.k1412.top` 为 Gitea/Forgejo 兼容服务且本机 HTTPS 凭据可用于既有仓库。 - [x] 确认 `git.k1412.top` 为 Gitea/Forgejo 兼容服务且本机 HTTPS 凭据可用于既有仓库。
- [x] 使用 Grok CLI 检索并形成约 95 篇一手论文的补充路线,主代理已回查关键来源。 - [x] 使用 Grok CLI 检索并形成约 95 篇一手论文的补充路线,主代理已回查关键来源。
- [x] 完成 247 篇关键论文索引,覆盖 14 个标签专题与 Kimi/DeepSeek 聚光主线。 - [x] 完成 258 篇关键论文索引,覆盖 14 个标签专题与 Kimi/DeepSeek 聚光主线。
- [x] 完成可检索、可按专题筛选的论文库页面。 - [x] 完成可检索、可按专题筛选的论文库页面。
- [x] 完成 K3、语言模型前史、Transformer 基础、DeepSeek 谱系、Scaling Laws、数据工程、长上下文、MoE、推理、训练系统与数值优化十一篇首版长文。 - [x] 完成 K3、语言模型前史、Transformer 基础、DeepSeek 谱系、Scaling Laws、数据工程、长上下文、MoE、推理、训练系统与数值优化十一篇首版长文。
- [x] 完成 K3 三轴架构、语言模型前史四联实验、Self-Attention、DeepSeek 谱系、长上下文、MoE 路由、推理三页签,以及训练系统、Scaling、数据工程与数值专题各四页签等二十八个原创交互视图。 - [x] 完成 K3 三轴架构、语言模型前史四联实验、Transformer 四联实验、DeepSeek 谱系、长上下文、MoE 路由、推理三页签,以及训练系统、Scaling、数据工程与数值专题各四页签等三十一个原创交互视图。
- [x] 完成长上下文首版:五张成本账、26 篇一手论文、10+ 机制图与 8 策略交互实验室。 - [x] 完成长上下文首版:五张成本账、26 篇一手论文、10+ 机制图与 8 策略交互实验室。
- [x] 核验 FlashAttention、DeepSeek-V2/V3.2/V4、Kimi Linear/K3 等六份论文原文,并建立长上下文研究账本。 - [x] 核验 FlashAttention、DeepSeek-V2/V3.2/V4、Kimi Linear/K3 等六份论文原文,并建立长上下文研究账本。
- [x] 核验 Switch、ST-MoE、DeepSeekMoE、Loss-Free、V3、LatentMoE 与 K3 原文,并建立 MoE 研究账本。 - [x] 核验 Switch、ST-MoE、DeepSeekMoE、Loss-Free、V3、LatentMoE 与 K3 原文,并建立 MoE 研究账本。
@@ -85,9 +85,15 @@
- [x] 论文库新增 24 个语言模型前史节点,从 223 篇扩充至 247 篇;DeepSeek-V3/V4 与 K3 补充「基础」映射。 - [x] 论文库新增 24 个语言模型前史节点,从 223 篇扩充至 247 篇;DeepSeek-V3/V4 与 K3 补充「基础」映射。
- [x] 语言模型前史真实 Chrome 断言通过:零概率/平滑、one-hot 选择、指数记忆衰减、Attention 对齐、键盘 tabs 与 390px 移动端均正确响应。 - [x] 语言模型前史真实 Chrome 断言通过:零概率/平滑、one-hot 选择、指数记忆衰减、Attention 对齐、键盘 tabs 与 390px 移动端均正确响应。
- [x] 语言模型前史首版以源提交 `a54152d`、不可变镜像 `20260728T204916Z-a54152d` 发布;NAS、VPS/Tailscale、NPM、DNS、HTTPS、证书、15 路由、门户、公开 Forgejo 与七套生产 Chrome 回归全链路通过。 - [x] 语言模型前史首版以源提交 `a54152d`、不可变镜像 `20260728T204916Z-a54152d` 发布;NAS、VPS/Tailscale、NPM、DNS、HTTPS、证书、15 路由、门户、公开 Forgejo 与七套生产 Chrome 回归全链路通过。
- [x] 启动 Transformer 深度专题:以十张问题账拆开信息路径、匹配几何、可见性、多头、位置、局部计算、深度、架构目标、系统成本与当代映射。
- [x] 使用 Grok Headless 扩展 50 个候选节点;候选元数据与过强归因永久隔离在 `TRANSFORMER_GROK_LEADS.md`
- [x] 建立 Transformer 正式研究账本:40 个节点、DeepSeek V2→V4 与 Kimi Linear→K3 双谱系、四实验合同与解释边界。
- [x] 完成 Transformer 深度首版:21 段正文与 QKV—Mask—多头位置—Block 成本四联实验。
- [x] 论文库补齐 Residual/Norm、相对位置、UniLM、多头冗余与解释争论等 11 个节点,从 247 篇扩充至 258 篇。
## 正在进行 ## 正在进行
- [ ] Transformer 二轮:多头电路逐图、Pre/Post-LN 真实 traces、Flash/KV kernel 与模型配置对照。
- [ ] 语言模型前史二轮:KneserNey / LSTM / Bahdanau 逐图精读、真实小语料复现与 tokenizer 公平性案例。 - [ ] 语言模型前史二轮:KneserNey / LSTM / Bahdanau 逐图精读、真实小语料复现与 tokenizer 公平性案例。
- [ ] Scaling Laws 二轮精读:真实拟合复现、逐篇图表、置信区间、外推失败与更多模型族对照。 - [ ] Scaling Laws 二轮精读:真实拟合复现、逐篇图表、置信区间、外推失败与更多模型族对照。
- [ ] 数据工程二轮:FineWeb / DCLM / Dolma / ROOTS 逐图精读、真实去重误伤、mixture traces 与污染案例。 - [ ] 数据工程二轮:FineWeb / DCLM / Dolma / ROOTS 逐图精读、真实去重误伤、mixture traces 与污染案例。
@@ -145,6 +151,9 @@
| 2026-07-29 | K3 / DeepSeek 的 NTP、MTP、多模态与 draft 分角色记账 | 统一视觉/文本 next-token objective 不排斥 one MTP layerMTP 与 speculative draft 都不写成取消自回归 | | 2026-07-29 | K3 / DeepSeek 的 NTP、MTP、多模态与 draft 分角色记账 | 统一视觉/文本 next-token objective 不排斥 one MTP layerMTP 与 speculative draft 都不写成取消自回归 |
| 2026-07-29 | 论文库扩充到 247 篇 | 新增 Shannon 1951、Good、Katz、KneserNey、LSTM、RNNLM、Seq2Seq 前夜与输出成本等 24 个一手节点 | | 2026-07-29 | 论文库扩充到 247 篇 | 新增 Shannon 1951、Good、Katz、KneserNey、LSTM、RNNLM、Seq2Seq 前夜与输出成本等 24 个一手节点 |
| 2026-07-29 | 语言模型前史首版用不可变镜像 `20260728T204916Z-a54152d` 发布 | OCI digest `sha256:fb646aba…fe923`;复用 `12010→8080`、NPM host 31 / cert 41、门户 order 180 与公开 Forgejo | | 2026-07-29 | 语言模型前史首版用不可变镜像 `20260728T204916Z-a54152d` 发布 | OCI digest `sha256:fb646aba…fe923`;复用 `12010→8080`、NPM host 31 / cert 41、门户 order 180 与公开 Forgejo |
| 2026-07-29 | Transformer 按十张问题账组织 | 不再把 QKV、Mask、位置、Norm、训练目标、KV Cache、Flash 与当代架构压成一个“Block” |
| 2026-07-29 | Attention 权重与因果解释永久分离 | 热力图只描述中间计算和提出假设;因果结论需要消融、patching 或反事实干预 |
| 2026-07-29 | 论文库扩充到 258 篇 | 新增 Residual/Norm、relative position、UniLM、多头冗余、解释争论与 NormFormer 等 11 个节点 |
## 未决问题 ## 未决问题
+2 -2
View File
@@ -17,9 +17,9 @@
- 持续进度:[PROGRESS.md](./PROGRESS.md) - 持续进度:[PROGRESS.md](./PROGRESS.md)
- 证据与写作规范:[research/METHODOLOGY.md](./research/METHODOLOGY.md) - 证据与写作规范:[research/METHODOLOGY.md](./research/METHODOLOGY.md)
当前里程碑包含 16 专题学习地图、247 篇关键论文索引、Kimi K3 完整导读、 当前里程碑包含 16 专题学习地图、258 篇关键论文索引、Kimi K3 完整导读、
语言模型前史、Transformer 基础、DeepSeek 技术谱系、Scaling Laws、数据工程、长上下文、MoE、推理、训练系统与数值优化深度专题, 语言模型前史、Transformer 基础、DeepSeek 技术谱系、Scaling Laws、数据工程、长上下文、MoE、推理、训练系统与数值优化深度专题,
以及 28 个覆盖核心机制的原创交互视图。 以及 31 个覆盖核心机制的原创交互视图。
其余专题按进度账本持续扩建。 其余专题按进度账本持续扩建。
## 本地开发 ## 本地开发
+7 -1
View File
@@ -33,7 +33,13 @@ one MTP layer 与 EAGLE-3 draft bridge,并与 DeepSeek-V3/V4 的顺序 MTP 对
### 02. 注意力与 Transformer ### 02. 注意力与 Transformer
Bahdanau Attention → Self-Attention → Transformer → decoder-only GPT。逐项拆解 Q/K/V、因果掩码、多头、残差、归一化、FFN。 Bahdanau Attention → Self-Attention → 原始 encoderdecoder Transformer → BERT/GPT/T5 家族 →
KV/IO 效率 → DeepSeek MLA/CSA-HCA 与 Kimi KDA/AttnRes。逐项拆解 Q/K/V、缩放、Mask、
多头、位置、Residual/Norm、FFN/MoE、训练目标与推理状态。
首版已发布:十张独立问题账、40 个正式一手节点、21 段正文,以及 QKV 手算、Mask 矩阵、
多头/位置、Block/KV 成本四个独立实验。正文明确区分 2017 原作与 decoder-only LLM
也把 Attention 权重观察与因果解释永久分开。
### 03. 表示层、位置与残差高速公路 ### 03. 表示层、位置与残差高速公路
+2 -1
View File
@@ -16,7 +16,8 @@
"check:scaling-browser": "node scripts/check-scaling-browser.mjs", "check:scaling-browser": "node scripts/check-scaling-browser.mjs",
"check:data-browser": "node scripts/check-data-browser.mjs", "check:data-browser": "node scripts/check-data-browser.mjs",
"check:numerics-browser": "node scripts/check-numerics-browser.mjs", "check:numerics-browser": "node scripts/check-numerics-browser.mjs",
"check:language-model-history-browser": "node scripts/check-language-model-history-browser.mjs" "check:language-model-history-browser": "node scripts/check-language-model-history-browser.mjs",
"check:transformer-browser": "node scripts/check-transformer-browser.mjs"
}, },
"dependencies": { "dependencies": {
"@astrojs/sitemap": "3.7.3", "@astrojs/sitemap": "3.7.3",
+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、移动端无横向溢出,并把“教学模拟”与“论文事实”分开标注。
+4 -4
View File
@@ -234,11 +234,11 @@ if (layout.navLinks !== 14 || mobile.mobileLinks !== 14 || home.navLinks !== 14)
if (layout.documentOverflow > 0 || mobile.documentOverflow > 0 || home.documentOverflow > 0) failures.push("页面存在横向溢出"); if (layout.documentOverflow > 0 || mobile.documentOverflow > 0 || home.documentOverflow > 0) failures.push("页面存在横向溢出");
if (layout.navGap < 0) failures.push(`桌面导航碰撞:${layout.navGap}px`); if (layout.navGap < 0) failures.push(`桌面导航碰撞:${layout.navGap}px`);
if (!mobile.menuVisible || mobile.menuOpen !== "true") failures.push("移动端菜单不可用"); if (!mobile.menuVisible || mobile.menuOpen !== "true") failures.push("移动端菜单不可用");
if (home.releaseCards !== 8 || !home.firstRelease.includes("预测下一个 Token") || home.firstHref !== "/foundations/language-models/") { if (home.releaseCards !== 9 || !home.firstRelease.includes("Attention 不只是") || home.firstHref !== "/foundations/") {
failures.push("首页语言模型前史新章入口异常"); failures.push("首页 Transformer 新章入口异常");
} }
if (home.paperCount !== "247") failures.push(`首页论文总数异常:${home.paperCount}`); if (home.paperCount !== "258") failures.push(`首页论文总数异常:${home.paperCount}`);
if (!papers.hasDataFilter || papers.total !== 247 || papers.visible < 25) failures.push("论文库数据标签或论文总数异常"); if (!papers.hasDataFilter || papers.total !== 258 || papers.visible < 25) failures.push("论文库数据标签或论文总数异常");
if (exceptions.length) failures.push(`浏览器脚本异常:${exceptions.join("; ")}`); if (exceptions.length) failures.push(`浏览器脚本异常:${exceptions.join("; ")}`);
socket.close(); socket.close();
+1 -1
View File
@@ -177,7 +177,7 @@ if (layout.documentOverflow > 0 || mobile.documentOverflow > 0 || home.documentO
} }
if (layout.navGap < 0) failures.push(`桌面导航碰撞:${layout.navGap}px`); if (layout.navGap < 0) failures.push(`桌面导航碰撞:${layout.navGap}px`);
if (!mobile.menuVisible) failures.push("移动端菜单按钮未显示"); if (!mobile.menuVisible) failures.push("移动端菜单按钮未显示");
if (home.releaseCards !== 8) failures.push(`首页新章卡数量异常:${home.releaseCards}`); if (home.releaseCards !== 9) failures.push(`首页新章卡数量异常:${home.releaseCards}`);
if (exceptions.length) failures.push(`浏览器脚本异常:${exceptions.join("; ")}`); if (exceptions.length) failures.push(`浏览器脚本异常:${exceptions.join("; ")}`);
socket.close(); socket.close();
+4 -4
View File
@@ -277,11 +277,11 @@ if (layout.navLinks !== 14 || mobile.mobileLinks !== 14 || home.navLinks !== 14)
if (layout.documentOverflow > 0 || mobile.documentOverflow > 0 || home.documentOverflow > 0) failures.push("页面存在横向溢出"); if (layout.documentOverflow > 0 || mobile.documentOverflow > 0 || home.documentOverflow > 0) failures.push("页面存在横向溢出");
if (layout.navGap < 0) failures.push(`桌面导航碰撞:${layout.navGap}px`); if (layout.navGap < 0) failures.push(`桌面导航碰撞:${layout.navGap}px`);
if (!mobile.menuVisible || mobile.menuOpen !== "true") failures.push("移动端菜单不可用"); if (!mobile.menuVisible || mobile.menuOpen !== "true") failures.push("移动端菜单不可用");
if (home.releaseCards !== 8 || !home.firstRelease.includes("预测下一个 Token") || home.firstHref !== "/foundations/language-models/") { if (home.releaseCards !== 9 || !home.firstRelease.includes("Attention 不只是") || home.firstHref !== "/foundations/") {
failures.push("首页语言模型前史新章入口异常"); failures.push("首页 Transformer 新章入口异常");
} }
if (home.paperCount !== "247") failures.push(`首页论文总数异常:${home.paperCount}`); if (home.paperCount !== "258") failures.push(`首页论文总数异常:${home.paperCount}`);
if (!papers.hasOptimizerFilter || papers.total !== 247 || papers.visible < 8) failures.push("论文库优化器标签或论文总数异常"); if (!papers.hasOptimizerFilter || papers.total !== 258 || papers.visible < 8) failures.push("论文库优化器标签或论文总数异常");
if (exceptions.length) failures.push(`浏览器脚本异常:${exceptions.join("; ")}`); if (exceptions.length) failures.push(`浏览器脚本异常:${exceptions.join("; ")}`);
socket.close(); socket.close();
+1 -1
View File
@@ -289,7 +289,7 @@ if (layout.documentOverflow > 0 || mobile.documentOverflow > 0 || home.documentO
} }
if (layout.navGap < 0) failures.push(`桌面导航碰撞:${layout.navGap}px`); if (layout.navGap < 0) failures.push(`桌面导航碰撞:${layout.navGap}px`);
if (!mobile.menuVisible || mobile.menuOpen !== "true") failures.push("移动端菜单不可用"); if (!mobile.menuVisible || mobile.menuOpen !== "true") failures.push("移动端菜单不可用");
if (home.releaseCards !== 8 || !home.firstRelease.includes("预测下一个 Token")) failures.push("首页语言模型前史新章入口异常"); if (home.releaseCards !== 9 || !home.firstRelease.includes("Attention 不只是")) failures.push("首页 Transformer 新章入口异常");
if (exceptions.length) failures.push(`浏览器脚本异常:${exceptions.join("; ")}`); if (exceptions.length) failures.push(`浏览器脚本异常:${exceptions.join("; ")}`);
socket.close(); socket.close();
+3 -3
View File
@@ -273,10 +273,10 @@ if (layout.navLinks !== 14 || mobile.mobileLinks !== 14 || home.navLinks !== 14)
if (layout.documentOverflow > 0 || mobile.documentOverflow > 0 || home.documentOverflow > 0) failures.push("页面存在横向溢出"); if (layout.documentOverflow > 0 || mobile.documentOverflow > 0 || home.documentOverflow > 0) failures.push("页面存在横向溢出");
if (layout.navGap < 0) failures.push(`桌面导航碰撞:${layout.navGap}px`); if (layout.navGap < 0) failures.push(`桌面导航碰撞:${layout.navGap}px`);
if (!mobile.menuVisible || mobile.menuOpen !== "true") failures.push("移动端菜单不可用"); if (!mobile.menuVisible || mobile.menuOpen !== "true") failures.push("移动端菜单不可用");
if (home.releaseCards !== 8 || !home.firstRelease.includes("预测下一个 Token") || home.firstHref !== "/foundations/language-models/") { if (home.releaseCards !== 9 || !home.firstRelease.includes("Attention 不只是") || home.firstHref !== "/foundations/") {
failures.push("首页语言模型前史新章入口异常"); failures.push("首页 Transformer 新章入口异常");
} }
if (home.paperCount !== "247") failures.push(`首页论文总数异常:${home.paperCount}`); if (home.paperCount !== "258") failures.push(`首页论文总数异常:${home.paperCount}`);
if (exceptions.length) failures.push(`浏览器脚本异常:${exceptions.join("; ")}`); if (exceptions.length) failures.push(`浏览器脚本异常:${exceptions.join("; ")}`);
socket.close(); socket.close();
+1 -1
View File
@@ -233,7 +233,7 @@ if (layout.articleSections !== 16 || layout.paperLinks !== 37 || layout.labTabs
if (layout.documentOverflow > 0 || mobile.documentOverflow > 0 || home.documentOverflow > 0) failures.push("页面存在横向溢出"); if (layout.documentOverflow > 0 || mobile.documentOverflow > 0 || home.documentOverflow > 0) failures.push("页面存在横向溢出");
if (layout.navGap < 0) failures.push(`桌面导航碰撞:${layout.navGap}px`); if (layout.navGap < 0) failures.push(`桌面导航碰撞:${layout.navGap}px`);
if (!mobile.menuVisible || mobile.menuOpen !== "true") failures.push("移动端菜单不可用"); if (!mobile.menuVisible || mobile.menuOpen !== "true") failures.push("移动端菜单不可用");
if (home.releaseCards !== 8 || !home.firstRelease.includes("预测下一个 Token")) failures.push("首页语言模型前史新章入口异常"); if (home.releaseCards !== 9 || !home.firstRelease.includes("Attention 不只是")) failures.push("首页 Transformer 新章入口异常");
if (exceptions.length) failures.push(`浏览器脚本异常:${exceptions.join("; ")}`); if (exceptions.length) failures.push(`浏览器脚本异常:${exceptions.join("; ")}`);
socket.close(); socket.close();
+251
View File
@@ -0,0 +1,251 @@
import { writeFileSync } from "node:fs";
const cdpPort = process.env.CDP_PORT ?? "9224";
const baseUrl = process.env.SITE_URL ?? "http://127.0.0.1:4323";
const pages = await fetch(`http://127.0.0.1:${cdpPort}/json/list`).then((response) => response.json());
const page = pages.find((entry) => entry.type === "page");
if (!page) throw new Error(`CDP ${cdpPort} 没有可用页面`);
const socket = new WebSocket(page.webSocketDebuggerUrl);
await new Promise((resolve, reject) => {
socket.addEventListener("open", resolve, { once: true });
socket.addEventListener("error", reject, { once: true });
});
let nextId = 0;
const pending = new Map();
const exceptions = [];
socket.addEventListener("message", (event) => {
const message = JSON.parse(event.data);
if (message.id && pending.has(message.id)) {
const { resolve, reject } = pending.get(message.id);
pending.delete(message.id);
if (message.error) reject(new Error(message.error.message));
else resolve(message.result);
}
if (message.method === "Runtime.exceptionThrown") {
exceptions.push(message.params.exceptionDetails.exception?.description ?? message.params.exceptionDetails.text);
}
});
const command = (method, params = {}) => new Promise((resolve, reject) => {
const id = ++nextId;
pending.set(id, { resolve, reject });
socket.send(JSON.stringify({ id, method, params }));
});
const pause = (milliseconds) => new Promise((resolve) => setTimeout(resolve, milliseconds));
const evaluate = async (expression) => {
const result = await command("Runtime.evaluate", { expression, returnByValue: true, awaitPromise: true });
if (result.exceptionDetails) throw new Error(result.exceptionDetails.exception?.description ?? result.exceptionDetails.text);
return result.result.value;
};
const navigate = async (path) => {
await command("Page.navigate", { url: `${baseUrl}${path}` });
for (let attempt = 0; attempt < 70; attempt += 1) {
await pause(100);
if (await evaluate("document.readyState === 'complete'")) return;
}
throw new Error(`${path} 加载超时`);
};
const screenshot = async (path, full = false) => {
const params = { format: "png", captureBeyondViewport: full };
if (full) {
const metrics = await command("Page.getLayoutMetrics");
params.clip = {
x: 0,
y: 0,
width: metrics.cssContentSize.width,
height: metrics.cssContentSize.height,
scale: 1,
};
}
const result = await command("Page.captureScreenshot", params);
writeFileSync(path, Buffer.from(result.data, "base64"));
};
await command("Page.enable");
await command("Runtime.enable");
await command("Emulation.setDeviceMetricsOverride", {
width: 1440,
height: 1100,
deviceScaleFactor: 1,
mobile: false,
});
await navigate("/foundations/");
await screenshot("/tmp/llm-atlas-transformer-desktop.png");
const overview = await evaluate(`(() => ({
title: document.querySelector("h1")?.textContent.trim(),
sections: document.querySelectorAll(".article-section").length,
tocLinks: document.querySelectorAll(".side-rail a").length,
paperLinks: document.querySelectorAll(".paper-chain a").length,
labTabs: document.querySelectorAll("[data-attention-tab]").length,
labPanels: document.querySelectorAll("[data-attention-panel]").length,
documentOverflow: document.documentElement.scrollWidth - document.documentElement.clientWidth,
}))()`);
const qkv = await evaluate(`(() => {
const root = document.querySelector("[data-transformer-lab]");
const read = () => ({
output: root.querySelector("[data-qkv-output]").textContent,
dimension: root.querySelector("[data-qkv-dimension-label]").textContent,
temperature: root.querySelector("[data-qkv-temperature-label]").textContent,
weights: [...root.querySelectorAll("[data-qkv-weight]")].map((node) => node.textContent),
});
const initial = read();
const dimension = root.querySelector("[data-qkv-dimension]");
dimension.value = "4";
dimension.dispatchEvent(new Event("input", { bubbles: true }));
const temperature = root.querySelector("[data-qkv-temperature]");
temperature.value = "250";
temperature.dispatchEvent(new Event("input", { bubbles: true }));
const sharp = read();
return { initial, sharp };
})()`);
const mask = await evaluate(`(() => {
const root = document.querySelector("[data-transformer-lab]");
root.querySelector('[data-attention-tab="mask"]').click();
root.querySelector('[data-mask-mode="prefix"]').click();
root.querySelector('[data-mask-query="0"]').click();
const prefix = {
label: root.querySelector("[data-mask-label]").textContent,
sources: root.querySelector("[data-mask-sources]").textContent,
allowed: root.querySelectorAll(".mask-grid i.allowed.selected-row").length,
};
root.querySelector('[data-mask-mode="causal"]').click();
root.querySelector('[data-mask-query="2"]').click();
const causal = {
sources: root.querySelector("[data-mask-sources]").textContent,
allowed: root.querySelectorAll(".mask-grid i.allowed.selected-row").length,
visiblePanel: root.querySelector("[data-attention-panel]:not([hidden])").dataset.attentionPanel,
};
return { prefix, causal };
})()`);
const heads = await evaluate(`(() => {
const root = document.querySelector("[data-transformer-lab]");
root.querySelector('[data-attention-tab="heads"]').click();
const select = root.querySelector("[data-position-mode]");
select.value = "alibi";
select.dispatchEvent(new Event("change", { bubbles: true }));
return {
kicker: root.querySelector("[data-position-kicker]").textContent,
title: root.querySelector("[data-position-title]").textContent,
mode: root.querySelector("[data-position-visual]").dataset.mode,
localHeights: [...root.querySelectorAll('[data-head-bar^="local-"]')].map((node) => node.style.height),
};
})()`);
const block = await evaluate(`(() => {
const root = document.querySelector("[data-transformer-lab]");
root.querySelector('[data-attention-tab="block"]').click();
root.querySelector('[data-block-id="k3"]').click();
const context = root.querySelector("[data-context-length]");
context.value = "131072";
context.dispatchEvent(new Event("input", { bubbles: true }));
const selected = {
family: root.querySelector("[data-block-family]").textContent,
kv: root.querySelector("[data-block-kv]").textContent,
path: [...root.querySelectorAll("[data-block-path] b")].map((node) => node.textContent),
note: root.querySelector("[data-block-note]").textContent,
context: root.querySelector("[data-context-label]").textContent,
mha: root.querySelector('[data-cost-value="mha"]').textContent,
kda: root.querySelector('[data-cost-value="kda"]').textContent,
};
const firstTab = root.querySelector('[data-attention-tab="qkv"]');
firstTab.focus();
firstTab.dispatchEvent(new KeyboardEvent("keydown", { key: "End", bubbles: true }));
return {
...selected,
keyboardSelected: root.querySelector('[data-attention-tab][aria-selected="true"]').dataset.attentionTab,
keyboardVisible: root.querySelector("[data-attention-panel]:not([hidden])").dataset.attentionPanel,
};
})()`);
await evaluate(`document.querySelector("[data-transformer-lab]").scrollIntoView({ block: "start", behavior: "instant" })`);
await pause(180);
await screenshot("/tmp/llm-atlas-transformer-lab-desktop.png");
await navigate("/");
const home = await evaluate(`(() => ({
releaseCards: document.querySelectorAll(".release-card").length,
firstRelease: document.querySelector(".release-card h2").textContent,
firstHref: document.querySelector(".release-card").getAttribute("href"),
paperCount: [...document.querySelectorAll(".hero-stats b")].map((node) => node.textContent.trim()).find((value) => value === "258"),
}))()`);
await navigate("/papers/");
const papers = await evaluate(`(() => ({
total: document.querySelectorAll("[data-paper]").length,
transformerVisible: (() => {
const button = [...document.querySelectorAll("[data-filter]")].find((node) => node.textContent.includes("Transformer"));
button?.click();
return document.querySelectorAll("[data-paper]:not([hidden])").length;
})(),
}))()`);
await command("Emulation.setDeviceMetricsOverride", {
width: 390,
height: 844,
deviceScaleFactor: 1,
mobile: true,
});
await navigate("/foundations/");
const mobile = await evaluate(`(() => {
const root = document.querySelector("[data-transformer-lab]");
root.scrollIntoView({ block: "start", behavior: "instant" });
const toggle = document.querySelector("#menu-toggle");
toggle?.click();
return {
documentOverflow: document.documentElement.scrollWidth - document.documentElement.clientWidth,
menuVisible: getComputedStyle(toggle).display !== "none",
menuOpen: toggle.getAttribute("aria-expanded"),
tabs: root.querySelectorAll("[data-attention-tab]").length,
offenders: [...document.querySelectorAll("body *")]
.filter((node) => node.getBoundingClientRect().right > document.documentElement.clientWidth + 1)
.slice(0, 12)
.map((node) => ({
tag: node.tagName,
className: typeof node.className === "string" ? node.className : "",
right: Math.round(node.getBoundingClientRect().right),
width: Math.round(node.getBoundingClientRect().width),
})),
};
})()`);
await pause(180);
await screenshot("/tmp/llm-atlas-transformer-mobile.png");
const report = { overview, qkv, mask, heads, block, home, papers, mobile, exceptions };
console.log(JSON.stringify(report, null, 2));
const numeric = (value) => Number.parseFloat(value);
const failures = [];
if (!overview.title.includes("按需取信息")) failures.push("章节标题异常");
if (overview.sections !== 22 || overview.tocLinks !== 22) failures.push("章节/目录数量异常");
if (overview.paperLinks !== 40) failures.push("正式论文链不是 40 个节点");
if (overview.labTabs !== 4 || overview.labPanels !== 4) failures.push("四联实验结构异常");
if (overview.documentOverflow > 1 || mobile.documentOverflow > 1) failures.push("桌面或移动端存在横向溢出");
if (qkv.initial.dimension.trim() !== "64" || qkv.sharp.dimension.trim() !== "4") failures.push("QKV 维度交互异常");
if (qkv.sharp.temperature.trim() !== "2.5×" || Math.max(...qkv.sharp.weights.map(numeric)) < 60) failures.push("QKV softmax 尖锐度没有响应");
if (mask.prefix.allowed !== 3 || !mask.prefix.sources.includes("那只")) failures.push("Prefix mask 前缀区异常");
if (mask.causal.allowed !== 3 || mask.causal.visiblePanel !== "mask") failures.push("Causal mask 可见性异常");
if (heads.mode !== "alibi" || !heads.kicker.includes("LINEAR BIASES")) failures.push("位置方案切换异常");
if (new Set(heads.localHeights).size < 2) failures.push("多头权重视图没有分化");
if (block.family.trim() !== "Hybrid MoE" || !block.kv.includes("3 KDA : 1 Gated MLA")) failures.push("K3 Block 合同异常");
if (!block.path.some((step) => step.includes("KDA × 3")) || !block.note.includes("AttnRes")) failures.push("K3 Block 路径异常");
if (block.context.trim() !== "128K" || numeric(block.mha) !== 400 || numeric(block.kda) !== 1) failures.push("KV 成本缩放异常");
if (block.keyboardSelected !== "block" || block.keyboardVisible !== "block") failures.push("实验 tab 键盘导航异常");
if (home.releaseCards !== 9 || !home.firstRelease.includes("Attention 不只是") || home.firstHref !== "/foundations/") failures.push("首页 Transformer 首发入口异常");
if (home.paperCount !== "258" || papers.total !== 258 || papers.transformerVisible < 30) failures.push("论文库或首页论文数量异常");
if (!mobile.menuVisible || mobile.menuOpen !== "true" || mobile.tabs !== 4) failures.push("移动端导航或实验异常");
if (exceptions.length) failures.push(`浏览器异常:${exceptions.join(" | ")}`);
if (failures.length) {
console.error(`\nFAIL\n- ${failures.join("\n- ")}`);
process.exitCode = 1;
} else {
console.log("\nPASS transformer browser regression");
}
socket.close();
File diff suppressed because it is too large Load Diff
+1 -1
View File
@@ -12,5 +12,5 @@
<a href="https://git.k1412.top/wuyang/llm-atlas" rel="noreferrer">开放源码</a> <a href="https://git.k1412.top/wuyang/llm-atlas" rel="noreferrer">开放源码</a>
<a href="https://github.com/MoonshotAI/Kimi-K3" rel="noreferrer">K3 官方报告</a> <a href="https://github.com/MoonshotAI/Kimi-K3" rel="noreferrer">K3 官方报告</a>
</div> </div>
<p class="footer-legal">代码 MIT · 原创内容 CC BY-SA 4.0 · 研究截止 2026-07-28</p> <p class="footer-legal">代码 MIT · 原创内容 CC BY-SA 4.0 · 研究截止 2026-07-29</p>
</footer> </footer>
+4 -4
View File
@@ -47,12 +47,12 @@ export const chapters: Chapter[] = [
title: "注意力与 Transformer", title: "注意力与 Transformer",
kicker: "TRANSFORMER", kicker: "TRANSFORMER",
question: "一句话里的每个词,怎样直接找到真正相关的词?", question: "一句话里的每个词,怎样直接找到真正相关的词?",
summary: "用可操作的小例子拆开 Q、K、V、自注意力、多头、因果掩码、残差与前馈网络。", summary: "用十张问题账与四联实验拆开 Q/K/V、Mask、多头、位置、深度、架构目标、KV/IO,并映射 DeepSeek 与 K3。",
status: "published", status: "published",
progress: 45, progress: 79,
papers: 12, papers: 40,
prerequisites: ["01"], prerequisites: ["01"],
highlights: ["Q / K / V", "交互实验", "张量形状"], highlights: ["十张问题账", "四联实验", "DeepSeek / K3"],
}, },
{ {
number: "03", number: "03",
+88
View File
@@ -273,6 +273,30 @@ export const papers: Paper[] = [
contribution: "以门控网络让多个局部专家竞争分工,是现代 MoE 的概念起点。", contribution: "以门控网络让多个局部专家竞争分工,是现代 MoE 的概念起点。",
verified: true, verified: true,
}, },
{
year: 2015,
title: "Pointer Networks",
url: "https://arxiv.org/abs/1506.03134",
topics: ["Transformer"],
contribution: "让 Attention 分布直接指向输入位置,展示软路由不仅能混合表示,也能定义可变输出字典。",
verified: true,
},
{
year: 2016,
title: "Deep Residual Learning for Image Recognition",
url: "https://openaccess.thecvf.com/content_cvpr_2016/html/He_Deep_Residual_Learning_CVPR_2016_paper.html",
topics: ["Transformer"],
contribution: "以加法捷径学习残差映射,是 Transformer 深度信息高速公路的视觉前史。",
verified: true,
},
{
year: 2016,
title: "Layer Normalization",
url: "https://arxiv.org/abs/1607.06450",
topics: ["Transformer"],
contribution: "在单个样本内按层输入统计量归一化,为序列模型提供训练/推理一致的尺度控制。",
verified: true,
},
{ {
year: 2017, year: 2017,
title: "Attention Is All You Need", title: "Attention Is All You Need",
@@ -281,6 +305,14 @@ export const papers: Paper[] = [
contribution: "用多头自注意力与 FFN 取代循环,开启高度并行预训练。", contribution: "用多头自注意力与 FFN 取代循环,开启高度并行预训练。",
verified: true, verified: true,
}, },
{
year: 2018,
title: "Self-Attention with Relative Position Representations",
url: "https://aclanthology.org/N18-2074/",
topics: ["Transformer", "长上下文"],
contribution: "把相对距离表示引入 Self-Attention,并把方法扩展为 relation-aware attention。",
verified: true,
},
{ {
year: 2018, year: 2018,
title: "SentencePiece: A simple and language independent subword tokenizer", title: "SentencePiece: A simple and language independent subword tokenizer",
@@ -321,6 +353,14 @@ export const papers: Paper[] = [
contribution: "T5 统一 text-to-text 接口,并以 C4 建立现代 Common Crawl 清洗基线。", contribution: "T5 统一 text-to-text 接口,并以 C4 建立现代 Common Crawl 清洗基线。",
verified: true, verified: true,
}, },
{
year: 2019,
title: "Unified Language Model Pre-training for Natural Language Understanding and Generation",
url: "https://arxiv.org/abs/1905.03197",
topics: ["Transformer"],
contribution: "用 Attention mask 在同一 Transformer 中切换单向、双向与序列到序列预训练。",
verified: true,
},
{ {
year: 2019, year: 2019,
title: "Transformer-XL: Attentive Language Models Beyond a Fixed-Length Context", title: "Transformer-XL: Attentive Language Models Beyond a Fixed-Length Context",
@@ -337,6 +377,38 @@ export const papers: Paper[] = [
contribution: "不做均值中心化的轻量归一化,成为现代 LLM 常用组件。", contribution: "不做均值中心化的轻量归一化,成为现代 LLM 常用组件。",
verified: true, verified: true,
}, },
{
year: 2019,
title: "Are Sixteen Heads Really Better than One?",
url: "https://papers.neurips.cc/paper_files/paper/2019/hash/2c601ad9d2ff9bc8b282670cdd54f69f-Abstract.html",
topics: ["Transformer", "评测"],
contribution: "测试时剪枝显示大量 Attention heads 存在冗余,但不证明这些 head 在训练阶段无用。",
verified: true,
},
{
year: 2019,
title: "What Does BERT Look at? An Analysis of BERTs Attention",
url: "https://aclanthology.org/W19-4828/",
topics: ["Transformer", "评测"],
contribution: "在 BERT heads 中观察位置、分隔符、句法和共指模式,为后验分析提供系统案例。",
verified: true,
},
{
year: 2019,
title: "Attention is not Explanation",
url: "https://aclanthology.org/N19-1357/",
topics: ["Transformer", "评测"],
contribution: "展示 Attention 权重与特征重要性可能不相关,且不同权重可产生近似预测,划定解释边界。",
verified: true,
},
{
year: 2019,
title: "Attention is not not Explanation",
url: "https://aclanthology.org/D19-1002/",
topics: ["Transformer", "评测"],
contribution: "指出解释结论依赖定义、模型整体、基线与测试协议,为 Attention 解释争论补充对照。",
verified: true,
},
{ {
year: 2020, year: 2020,
title: "Language Models are Few-Shot Learners", title: "Language Models are Few-Shot Learners",
@@ -353,6 +425,22 @@ export const papers: Paper[] = [
contribution: "系统比较 GLU 变体,SwiGLU 进入现代 FFN 配方。", contribution: "系统比较 GLU 变体,SwiGLU 进入现代 FFN 配方。",
verified: true, verified: true,
}, },
{
year: 2020,
title: "On Layer Normalization in the Transformer Architecture",
url: "https://proceedings.mlr.press/v119/xiong20b.html",
topics: ["Transformer", "训练系统"],
contribution: "从初始化梯度分析 Post-LN 的 warm-up 需求与 Pre-LN 的优化差异。",
verified: true,
},
{
year: 2021,
title: "NormFormer: Improved Transformer Pretraining with Extra Normalization",
url: "https://arxiv.org/abs/2110.09456",
topics: ["Transformer", "训练系统"],
contribution: "在 Pre-LN block 内增加归一化以改善层间梯度尺度与预训练稳定性。",
verified: true,
},
{ {
year: 2020, year: 2020,
title: "Longformer: The Long-Document Transformer", title: "Longformer: The Long-Document Transformer",
File diff suppressed because it is too large Load Diff
+28 -1
View File
@@ -81,6 +81,7 @@ const paths = [
<div class="hero-actions"> <div class="hero-actions">
<a class="button primary" href="/roadmap/">选择学习路径 <span aria-hidden="true">↓</span></a> <a class="button primary" href="/roadmap/">选择学习路径 <span aria-hidden="true">↓</span></a>
<a class="button" href="/foundations/language-models/">语言模型从哪里来</a> <a class="button" href="/foundations/language-models/">语言模型从哪里来</a>
<a class="button" href="/foundations/">注意力与 Transformer</a>
<a class="button" href="/k3/">直接解剖 K3</a> <a class="button" href="/k3/">直接解剖 K3</a>
<a class="button" href="/deepseek/">DeepSeek 专题</a> <a class="button" href="/deepseek/">DeepSeek 专题</a>
<a class="button" href="/scaling/">Scaling Laws 专题</a> <a class="button" href="/scaling/">Scaling Laws 专题</a>
@@ -99,7 +100,7 @@ const paths = [
<div class="hero-stats"> <div class="hero-stats">
<div><b>16</b><span>核心专题</span></div> <div><b>16</b><span>核心专题</span></div>
<div><b>151</b><span>K3 报告来源</span></div> <div><b>151</b><span>K3 报告来源</span></div>
<div><b>247</b><span>关键论文索引</span></div> <div><b>258</b><span>关键论文索引</span></div>
<div><b>47p</b><span>K3 技术报告</span></div> <div><b>47p</b><span>K3 技术报告</span></div>
</div> </div>
</aside> </aside>
@@ -113,6 +114,22 @@ const paths = [
<section class="section compact release-section" id="new-chapters"> <section class="section compact release-section" id="new-chapters">
<div class="release-grid"> <div class="release-grid">
<a class="release-card transformer-release" href="/foundations/">
<div>
<p class="eyebrow"><span>NEW / CHAPTER 02</span> ATTENTION · TRANSFORMER</p>
<h2>Attention 不只是“看哪里”,Transformer 也不只有一种 Block</h2>
<p>
用信息路径、匹配几何、可见性、多头、位置、局部计算、深度、架构目标、系统成本与当代映射十张账,
从 Bahdanau 软对齐和 2017 原始 encoderdecoder,一路走到 FlashAttention、DeepSeek MLA 与 Kimi K3。
</p>
</div>
<dl>
<div><dt>LINEAGE</dt><dd>2014 → 2026</dd></div>
<div><dt>PAPERS</dt><dd>40 个一手节点</dd></div>
<div><dt>LAB</dt><dd>QKV · Mask · 多头位置 · Block 成本</dd></div>
</dl>
<span class="release-arrow" aria-hidden="true">从软对齐进入现代 LLM 骨架 →</span>
</a>
<a class="release-card foundation-release" href="/foundations/language-models/"> <a class="release-card foundation-release" href="/foundations/language-models/">
<div> <div>
<p class="eyebrow"><span>NEW / CHAPTER 01</span> LANGUAGE MODELING ORIGINS</p> <p class="eyebrow"><span>NEW / CHAPTER 01</span> LANGUAGE MODELING ORIGINS</p>
@@ -474,6 +491,7 @@ const paths = [
transition: transform 180ms ease, border-color 180ms ease; transition: transform 180ms ease, border-color 180ms ease;
} }
.transformer-release,
.foundation-release, .foundation-release,
.numerics-release, .numerics-release,
.data-release, .data-release,
@@ -500,6 +518,14 @@ const paths = [
var(--paper-raised); var(--paper-raised);
} }
.transformer-release {
background:
radial-gradient(circle at 82% 18%, rgba(56, 91, 128, 0.21), transparent 30%),
radial-gradient(circle at 60% 74%, rgba(159, 91, 52, 0.12), transparent 26%),
repeating-linear-gradient(90deg, transparent 0 64px, rgba(56, 91, 128, 0.04) 64px 65px),
var(--paper-raised);
}
.data-release { .data-release {
background: background:
radial-gradient(circle at 82% 18%, rgba(76, 118, 112, 0.2), transparent 30%), radial-gradient(circle at 82% 18%, rgba(76, 118, 112, 0.2), transparent 30%),
@@ -590,6 +616,7 @@ const paths = [
padding-bottom: 76px; padding-bottom: 76px;
} }
.transformer-release,
.foundation-release, .foundation-release,
.numerics-release, .numerics-release,
.data-release, .data-release,
+8 -4
View File
@@ -11,7 +11,7 @@ const workstreams = [
{ label: "网站设计系统", value: 89, next: "打印样式与更多通用可视化组件" }, { label: "网站设计系统", value: 89, next: "打印样式与更多通用可视化组件" },
{ label: "Kimi K3 深读", value: 66, next: "扩写 pre-training / infra 逐图笔记" }, { label: "Kimi K3 深读", value: 66, next: "扩写 pre-training / infra 逐图笔记" },
{ label: "语言模型前史", value: 78, next: "逐图精读 KneserNey、LSTM 与 Bahdanau,并加入真实小语料复现" }, { label: "语言模型前史", value: 78, next: "逐图精读 KneserNey、LSTM 与 Bahdanau,并加入真实小语料复现" },
{ label: "Transformer 基础", value: 52, next: "加入矩阵形状动画与手算练习" }, { label: "Transformer 基础", value: 79, next: "逐图精读多头电路、Pre/Post-LN 与真实 kernel / KV 配置" },
{ label: "Scaling Laws", value: 74, next: "加入真实拟合复现、置信区间与更多模型族对照" }, { label: "Scaling Laws", value: 74, next: "加入真实拟合复现、置信区间与更多模型族对照" },
{ label: "数据工程与预训练配方", value: 73, next: "逐图精读 FineWeb / DCLM,加入真实去重与 mixture traces" }, { label: "数据工程与预训练配方", value: 73, next: "逐图精读 FineWeb / DCLM,加入真实去重与 mixture traces" },
{ label: "DeepSeek 专题", value: 71, next: "补 R1 / DAPO 的逐图训练轨迹与复现对照" }, { label: "DeepSeek 专题", value: 71, next: "补 R1 / DAPO 的逐图训练轨迹与复现对照" },
@@ -44,7 +44,7 @@ const workstreams = [
<div><dt>OVERALL</dt><dd>专题平均 {average}%</dd></div> <div><dt>OVERALL</dt><dd>专题平均 {average}%</dd></div>
<div><dt>READABLE</dt><dd>{published} 个首版可读专题</dd></div> <div><dt>READABLE</dt><dd>{published} 个首版可读专题</dd></div>
<div><dt>ACTIVE</dt><dd>{researching} 个研究/写作中</dd></div> <div><dt>ACTIVE</dt><dd>{researching} 个研究/写作中</dd></div>
<div><dt>UPDATED</dt><dd>2026-07-29 04:48 CST</dd></div> <div><dt>UPDATED</dt><dd>2026-07-29 05:20 CST</dd></div>
<div><dt>MODE</dt><dd>持续迭代,不锁死版本</dd></div> <div><dt>MODE</dt><dd>持续迭代,不锁死版本</dd></div>
</dl> </dl>
</div> </div>
@@ -91,9 +91,10 @@ const workstreams = [
<article><span>✓</span><h3>K3 报告已结构化拆解</h3><p>47 页报告目录、151 条参考来源和架构/后训练/系统主线已经提取。</p></article> <article><span>✓</span><h3>K3 报告已结构化拆解</h3><p>47 页报告目录、151 条参考来源和架构/后训练/系统主线已经提取。</p></article>
<article><span>✓</span><h3>16 专题知识图</h3><p>从语言模型基础到评测安全,包含先修依赖和三条贯穿案例。</p></article> <article><span>✓</span><h3>16 专题知识图</h3><p>从语言模型基础到评测安全,包含先修依赖和三条贯穿案例。</p></article>
<article><span>✓</span><h3>编辑式网站系统</h3><p>响应式导航、章节模板、侧栏、进度、论文链和证据提示组件。</p></article> <article><span>✓</span><h3>编辑式网站系统</h3><p>响应式导航、章节模板、侧栏、进度、论文链和证据提示组件。</p></article>
<article><span>✓</span><h3>二十八个原创交互视图</h3><p>K3、语言模型前史、注意力、DeepSeek、长上下文、MoE、推理,以及训练系统、Scaling、数据工程和数值专题的多页签实验。</p></article> <article><span>✓</span><h3>三十一个原创交互视图</h3><p>K3、语言模型前史、Transformer 四联实验、DeepSeek、长上下文、MoE、推理,以及训练系统、Scaling、数据工程和数值专题。</p></article>
<article><span>✓</span><h3>十一篇首版长文</h3><p>K3、语言模型前史、Transformer、DeepSeek、Scaling、数据工程、长上下文、MoE、推理、训练系统与数值优化专题。</p></article> <article><span>✓</span><h3>十一篇首版长文</h3><p>K3、语言模型前史、Transformer、DeepSeek、Scaling、数据工程、长上下文、MoE、推理、训练系统与数值优化专题。</p></article>
<article><span>✓</span><h3>语言模型前史深度专题</h3><p>八张独立问题账、33 个正式节点、20 段长文与概率—向量—记忆—对齐四联实验。</p></article> <article><span>✓</span><h3>语言模型前史深度专题</h3><p>八张独立问题账、33 个正式节点、20 段长文与概率—向量—记忆—对齐四联实验。</p></article>
<article><span>✓</span><h3>Transformer 深度专题</h3><p>十张独立问题账、40 个正式节点、21 段正文与 QKV—Mask—多头位置—Block 成本四联实验。</p></article>
<article><span>✓</span><h3>Scaling Laws 深度专题</h3><p>九张账、29 个一手节点、DeepSeek/Kimi 双谱系与曲面—部署—复用—涌现四联实验。</p></article> <article><span>✓</span><h3>Scaling Laws 深度专题</h3><p>九张账、29 个一手节点、DeepSeek/Kimi 双谱系与曲面—部署—复用—涌现四联实验。</p></article>
<article><span>✓</span><h3>数据工程深度专题</h3><p>十二张账、31 个一手节点、DeepSeek/Kimi 双谱系与流水线—去重—混合—改写四联实验。</p></article> <article><span>✓</span><h3>数据工程深度专题</h3><p>十二张账、31 个一手节点、DeepSeek/Kimi 双谱系与流水线—去重—混合—改写四联实验。</p></article>
<article><span>✓</span><h3>长上下文深度专题</h3><p>五张成本账、26 篇一手论文、10+ 机制图与 8 策略交互实验室。</p></article> <article><span>✓</span><h3>长上下文深度专题</h3><p>五张成本账、26 篇一手论文、10+ 机制图与 8 策略交互实验室。</p></article>
@@ -101,7 +102,7 @@ const workstreams = [
<article><span>✓</span><h3>推理深度专题</h3><p>八张账、30 篇一手论文链、DeepSeek/Kimi 双主线与三页签互动实验室。</p></article> <article><span>✓</span><h3>推理深度专题</h3><p>八张账、30 篇一手论文链、DeepSeek/Kimi 双主线与三页签互动实验室。</p></article>
<article><span>✓</span><h3>训练系统深度专题</h3><p>九张账、37 个一手节点、DeepSeek/Kimi 双谱系与显存—网格—气泡—通信实验室。</p></article> <article><span>✓</span><h3>训练系统深度专题</h3><p>九张账、37 个一手节点、DeepSeek/Kimi 双谱系与显存—网格—气泡—通信实验室。</p></article>
<article><span>✓</span><h3>数值、优化器与稳定性深度专题</h3><p>十张账、36 个一手节点、K2/K3 与 DeepSeek-V3/V4 双谱系,以及格式—状态—更新—失稳四联实验。</p></article> <article><span>✓</span><h3>数值、优化器与稳定性深度专题</h3><p>十张账、36 个一手节点、K2/K3 与 DeepSeek-V3/V4 双谱系,以及格式—状态—更新—失稳四联实验。</p></article>
<article><span>✓</span><h3>247 篇关键论文索引</h3><p>新增 24 个语言模型前史节点,并把 DeepSeek-V3/V4 与 K3 映射回 next-token 主线。</p></article> <article><span>✓</span><h3>258 篇关键论文索引</h3><p>补齐 Residual/Norm、相对位置、UniLM、多头冗余、Attention 解释争论与 NormFormer 等 11 个节点。</p></article>
<article><span>✓</span><h3>公开仓库与自托管发布</h3><p>源码公开到 git.k1412.top,网站由不可变镜像、Compose Manager 与 HTTPS 交付。</p></article> <article><span>✓</span><h3>公开仓库与自托管发布</h3><p>源码公开到 git.k1412.top,网站由不可变镜像、Compose Manager 与 HTTPS 交付。</p></article>
</div> </div>
</section> </section>
@@ -116,6 +117,7 @@ const workstreams = [
</div> </div>
<div class="queue-table"> <div class="queue-table">
<div class="head"><b>优先级</b><b>专题</b><b>本轮交付</b><b>完成闸门</b></div> <div class="head"><b>优先级</b><b>专题</b><b>本轮交付</b><b>完成闸门</b></div>
<div><span>P0</span><strong>Transformer 二轮</strong><p>多头电路逐图 → Pre/Post-LN 真实 traces → Flash/KV 配置与 kernel 对照</p><em>逐图笔记 + 实测边界</em></div>
<div><span>P0</span><strong>语言模型前史二轮</strong><p>KneserNey / LSTM / Bahdanau 逐图 → 真实小语料复现 → tokenizer 公平性</p><em>可复现实验 + 逐图笔记</em></div> <div><span>P0</span><strong>语言模型前史二轮</strong><p>KneserNey / LSTM / Bahdanau 逐图 → 真实小语料复现 → tokenizer 公平性</p><em>可复现实验 + 逐图笔记</em></div>
<div><span>P0</span><strong>Scaling Laws 二轮</strong><p>真实拟合复现 → 置信区间 → 更多模型族与下游任务外推</p><em>可复现实验 + 逐图笔记</em></div> <div><span>P0</span><strong>Scaling Laws 二轮</strong><p>真实拟合复现 → 置信区间 → 更多模型族与下游任务外推</p><em>可复现实验 + 逐图笔记</em></div>
<div><span>P1</span><strong>数据工程二轮</strong><p>FineWeb / DCLM 逐图 → 真实去重误伤 → mixture traces 与污染案例</p><em>逐图笔记 + 案例库</em></div> <div><span>P1</span><strong>数据工程二轮</strong><p>FineWeb / DCLM 逐图 → 真实去重误伤 → mixture traces 与污染案例</p><em>逐图笔记 + 案例库</em></div>
@@ -172,6 +174,8 @@ const workstreams = [
<div><time>2026-07-29</time><b>低精度结论必须写完整角色合同</b><p>对象、格式、scale 粒度、accumulator、输出与硬件不再被压缩成一个 dtype 标签。</p></div> <div><time>2026-07-29</time><b>低精度结论必须写完整角色合同</b><p>对象、格式、scale 粒度、accumulator、输出与硬件不再被压缩成一个 dtype 标签。</p></div>
<div><time>2026-07-29</time><b>语言模型前史按八张账组织</b><p>预测单位、概率信息、上下文、稀疏性、分布式表示、循环记忆、序列转导与系统成本不再混成单一架构年表。</p></div> <div><time>2026-07-29</time><b>语言模型前史按八张账组织</b><p>预测单位、概率信息、上下文、稀疏性、分布式表示、循环记忆、序列转导与系统成本不再混成单一架构年表。</p></div>
<div><time>2026-07-29</time><b>NTP、MTP 与多模态永久分角色</b><p>K3 的统一视觉/文本 next-token objective、one MTP layer 与 EAGLE-3 draft bridge 分开记账;DeepSeek MTP 也不写成取代自回归。</p></div> <div><time>2026-07-29</time><b>NTP、MTP 与多模态永久分角色</b><p>K3 的统一视觉/文本 next-token objective、one MTP layer 与 EAGLE-3 draft bridge 分开记账;DeepSeek MTP 也不写成取代自回归。</p></div>
<div><time>2026-07-29</time><b>Transformer 按十张账组织</b><p>信息路径、几何、可见性、多头、位置、局部计算、深度、目标、系统成本与当代映射不再混成一个 Block。</p></div>
<div><time>2026-07-29</time><b>Attention 权重与因果解释永久分离</b><p>热力图可描述中间权重和提出假设;因果结论必须补消融、patching 或反事实干预。</p></div>
</div> </div>
</section> </section>