feat: deepen attention and transformer chapter
This commit is contained in:
+12
-3
@@ -10,7 +10,7 @@
|
|||||||
| 网站设计系统 | 进行中 | 89% | 打印样式与更多通用可视化组件 |
|
| 网站设计系统 | 进行中 | 89% | 打印样式与更多通用可视化组件 |
|
||||||
| Kimi K3 深读 | 进行中 | 66% | 扩写 pre-training / infra 逐图笔记 |
|
| Kimi K3 深读 | 进行中 | 66% | 扩写 pre-training / infra 逐图笔记 |
|
||||||
| 语言模型前史 | 完成首版 | 78% | Kneser–Ney、LSTM、Bahdanau 逐图精读与真实小语料复现 |
|
| 语言模型前史 | 完成首版 | 78% | Kneser–Ney、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 与模型配置对照。
|
||||||
- [ ] 语言模型前史二轮:Kneser–Ney / LSTM / Bahdanau 逐图精读、真实小语料复现与 tokenizer 公平性案例。
|
- [ ] 语言模型前史二轮:Kneser–Ney / 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 layer;MTP 与 speculative draft 都不写成取消自回归 |
|
| 2026-07-29 | K3 / DeepSeek 的 NTP、MTP、多模态与 draft 分角色记账 | 统一视觉/文本 next-token objective 不排斥 one MTP layer;MTP 与 speculative draft 都不写成取消自回归 |
|
||||||
| 2026-07-29 | 论文库扩充到 247 篇 | 新增 Shannon 1951、Good、Katz、Kneser–Ney、LSTM、RNNLM、Seq2Seq 前夜与输出成本等 24 个一手节点 |
|
| 2026-07-29 | 论文库扩充到 247 篇 | 新增 Shannon 1951、Good、Katz、Kneser–Ney、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 个节点 |
|
||||||
|
|
||||||
## 未决问题
|
## 未决问题
|
||||||
|
|
||||||
|
|||||||
@@ -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
@@ -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 → 原始 encoder–decoder 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
@@ -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",
|
||||||
|
|||||||
@@ -0,0 +1,91 @@
|
|||||||
|
# Attention / Transformer:Grok 候选线索
|
||||||
|
|
||||||
|
> 状态:**未核验发现队列,不是正式证据。**
|
||||||
|
>
|
||||||
|
> 生成方式: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、encoder–decoder、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”:原始论文是 encoder–decoder 机器翻译系统。
|
||||||
|
- “FlashAttention 把 Attention 变成线性复杂度”:FlashAttention 是 IO-aware 的精确实现,数学上的稠密注意力仍是二次计算。
|
||||||
|
- “MQA / GQA / MLA 是同一种方法”:它们都影响 KV 成本,但共享、分组与低秩潜变量压缩是不同机制。
|
||||||
|
- “KDA 已全面取代 softmax attention”:Kimi Linear / K3 使用混合层;结论限定于报告实验设置。
|
||||||
|
- “DeepSeek MTP 一定用于多 Token 推理”:V3 明确说推理可丢弃 MTP 模块,也可把它用于 speculative decoding。
|
||||||
@@ -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、移动端无横向溢出,并把“教学模拟”与“论文事实”分开标注。
|
||||||
@@ -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();
|
||||||
|
|||||||
@@ -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();
|
||||||
|
|||||||
@@ -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();
|
||||||
|
|||||||
@@ -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();
|
||||||
|
|||||||
@@ -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();
|
||||||
|
|||||||
@@ -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();
|
||||||
|
|||||||
@@ -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();
|
||||||
+826
-162
File diff suppressed because it is too large
Load Diff
@@ -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>
|
||||||
|
|||||||
@@ -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",
|
||||||
|
|||||||
@@ -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 BERT’s 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",
|
||||||
|
|||||||
+1618
-476
File diff suppressed because it is too large
Load Diff
+28
-1
@@ -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 原始 encoder–decoder,一路走到 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,
|
||||||
|
|||||||
@@ -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: "逐图精读 Kneser–Ney、LSTM 与 Bahdanau,并加入真实小语料复现" },
|
{ label: "语言模型前史", value: 78, next: "逐图精读 Kneser–Ney、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>Kneser–Ney / LSTM / Bahdanau 逐图 → 真实小语料复现 → tokenizer 公平性</p><em>可复现实验 + 逐图笔记</em></div>
|
<div><span>P0</span><strong>语言模型前史二轮</strong><p>Kneser–Ney / 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>
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user