附录 D 关键节点拆解 Ⅲ:2025–2026,稀疏化、混合化与残差流的重写¶
这一篇的任务:给出截至 2026 年 9 月的前沿架构现状。这是全书时效性最强的一篇,也是最快过期的一篇——所以它的重点不是记住配置表,而是 D.8 那份"怎么读下一份技术报告"的清单。
关于来源:本篇的配置数字优先取自技术报告、模型卡与开源实现;凡是只能从二手报道得到的,会明确标注。厂商声称的加速比一律标注为厂商口径。
D.1 2025:三条线各自成熟¶
2024 年末的局面是:混合架构证明可行,MoE 证明可部署,长上下文靠补丁撑到 128K。2025 年这三条线各自走到了产品级。
MiniMax-01(2025.01,arXiv:2501.08313)——456B 总参数 / 45.9B 激活,线性注意力(lightning attention)与 softmax 注意力按 7:1 交替。它是第一个把"多数层线性"这条路线推到旗舰规模的模型,也把上下文推到了百万级。它验证的正是第 14 章的核心命题:混合比例是可调的工程旋钮,不是二选一。
Qwen3(2025.04,arXiv:2505.09388)——稠密与 MoE 双线并行。架构上两个细节值得记:加了 QK-Norm(对 Q 和 K 分别做归一化后再算注意力,抑制 logits 数值爆炸,第 5.4 节),同时去掉了 Qwen2 里的 QKV bias。这两件事都是纯稳定性改动,说明规模上去之后,第 5 章那些"基础"内容依然是前沿问题。
Llama 4(2025.04)——Meta 转向 MoE,并引入 iRoPE:一部分层不加位置编码(NoPE),与加 RoPE 的层交替。动机是长度泛化——完全不加位置信息的层反而对超长外推更鲁棒。对应第 6 章。
Kimi K2(2025.07,arXiv:2507.20534)——1T 总参数 / 32B 激活,MLA + 384 专家 top-8。它最出名的贡献在训练侧:用 Muon 优化器并配 MuonClip(对注意力的 QK 投影做谱范数裁剪)解决大规模下的 logits 爆炸。优化器的正文在第二册第 8 章,但这里要指出一件事:它是"训练方法的改进反过来允许架构更激进"的第一个清楚例子。
gpt-oss(2025.08)——120B / 5.1B 激活。三个值得看的点:滑动窗口与全注意力交替;给每个注意力头加了可学习的 sink 偏置,把 2023 年 StreamingLLM 发现的经验现象(附录 C.7)直接变成了架构组件;专家权重用 MXFP4 存储,使 120B 模型能装进单张 80GB 卡。最后一条是第二册量化章的内容,但它是"量化格式反过来决定模型尺寸设计"的案例。
原生可训练的稀疏注意力:NSA 与 DSA——NSA(2025.02,arXiv:2502.11089)提出三分支结构(压缩、选择、滑动窗口)并让稀疏模式从预训练开始就参与训练;DeepSeek-V3.2-Exp(2025.09)的 DSA 用一个轻量 indexer 给每个 query 选 top-k 个 token。这两件事共同终结了"稀疏注意力只能事后打补丁"的时代(第 11.4 节)。它们是 2026 年那一批架构的直接前身。
Qwen3-Next(2025.09)——80B 总 / 3B 激活,48 层,3 层 GDN + 1 层门控注意力,512 专家 top-10 + 1 共享,带 MTP,用零中心化的 RMSNorm 权重。这是正文第 16 章那条产品线的起点:按 LMSYS 的说法,Qwen3-Next 之于 Qwen3.5,相当于 Qwen3.8-Flash-Next 之于 Qwen4——都是把下一代架构先放出来试水的预览版。
D.2 2026:四个旗舰放在一起看¶
2026 年 7–8 月,几家实验室在一个月内放出了各自的旗舰权重。把配置并排看,收敛的程度比分歧更引人注目。
| Kimi K3 | Qwen3.8-Flash-Next | DeepSeek-V4-Pro | GLM-5.3-Flash | |
|---|---|---|---|---|
| 总参 / 激活 | 2.8T / 104B | 125B / 6B(另有 51B n-gram 嵌入、4B MTP) | 1.6T / 49B | — |
| 激活比例 | 3.7% | 4.8% | 3.1% | — |
| 上下文 | 1M | 262K 原生,可扩到 1M | 1M | — |
| "便宜"的那一半 | KDA(线性) | GDN(线性) | HCA(重压缩稠密) | 线性注意力 |
| "精确"的那一半 | Gated MLA | QSA(块稀疏) | CSA(压缩 + 稀疏) | DeepSeek 式稀疏注意力 |
| 混合比例 | 3:1 | 3:1 | 交替(前 2 层 HCA 引导) | 约 3:1 |
| MoE | Stable LatentMoE,896 选 16 | 512 选 10 | DeepSeekMoE | — |
| 残差结构 | AttnRes | 常规残差 | mHC | — |
| 多模态 | 原生(MoonViT-V2) | 原生 | — | — |
| 来源 | arXiv:2607.24653 | 官方模型卡 / LMSYS | arXiv:2606.19348 | 二手报道(配置文件) |
三条共同点,下面三节分别讲。
D.3 收敛一:万亿级总参数,个位数百分比激活¶
四个模型的激活比例都在 3%–5%。对比一下这条线的演化:
| 模型 | 年份 | 激活比例 |
|---|---|---|
| Mixtral 8x7B | 2023 | 28% |
| DeepSeek-V3 | 2024 | 5.5% |
| Kimi K2 | 2025 | 3.2% |
| Kimi K3 | 2026 | 3.7%(896 选 16,稀疏度 56) |
稀疏度在三年里提高了一个数量级。 这带来两个第 9 章之外的新问题,Kimi K3 的报告写得最清楚:
- 数值稳定性。LatentMoE 让路由专家在一个压缩的潜空间里工作(共享专家保持全宽),这样才付得起 896 个专家的通信成本;但压缩–专家–还原这条链接近四次连乘,在 2.8T 规模上会导致激活爆炸。K3 的解法是在上投影前插一个 RMSNorm,并把 GLU 的门换成 SiTU-GLU。
- 负载均衡失效。第 9.4 节讲的免辅助损失偏置更新(按
sign(平均负载 − 该专家负载)走固定步长)在接近 1000 个专家时开始震荡。K3 换成了 Quantile Balancing。
给读者的结论:第 9 章讲的 MoE 机制没有过时,但它的那些配套措施在极端稀疏度下会一个个失效。这是"同一个设计在不同尺度下需要不同补丁"的典型。
D.4 收敛二:约 3:1 的混合,但便宜的那一半分成了两派¶
四个模型都是"每 3–4 层里有 1 层做精确的全局交互,其余层用便宜的办法"。这个比例现在可以当作默认值(第 14.2 节)。
但"便宜的办法"分成了两个流派,理解它们的区别是读懂 2026 年架构的关键:
| 线性/递归派(Kimi K3 的 KDA、Qwen 的 GDN、MiniMax 的 lightning) | 稀疏派(DeepSeek 的 CSA/HCA、Qwen 的 QSA、MiniMax 的 MSA) | |
|---|---|---|
| 怎么省 | 把历史压进固定大小的状态,与序列长度无关 | 仍然是 softmax 注意力,但只看被选中的一小部分 |
| KV 开销 | 常数 | 随长度增长,但被压缩/只读子集 |
| 信息损失 | 全局有损压缩 | 未选中的部分完全看不到 |
| 失效模式 | 精确回看远处细节会糊 | 选错了就彻底丢失 |
| 本书章节 | 第 12 章 | 第 11 章 |
DeepSeek-V4 是理解这两派差异的最好样本,因为它两种压缩都用,而且都不是线性注意力:
- CSA(Compressed Sparse Attention):先把每
m=4个 token 的 KV 用重叠的、softmax 门控的窗口池化成一个条目,再用一个 FP4 的 Lightning Indexer 给每个 query 打分,选出 top-512 个压缩条目,核心注意力在这些条目加上一个 128 token 的滑动窗口上做。 - HCA(Heavily Compressed Attention):把每
m'=128个 token 不重叠地压成一个条目,然后做稠密注意力——条目本来就少,不需要再筛。
两种层交替排布(开头两层用 HCA 做引导)。厂商口径:1M 上下文下单 token 推理 FLOPs 降到 V3.2 的 27%,KV 缓存降到 10%。
注意这里的设计哲学:CSA 是"看得细但只看一部分",HCA 是"全都看但看得粗"。把两种有损方式交替使用,让它们的失效模式互相补偿——这和第 14 章讲混合架构的逻辑是同一个,只是这次混的不是线性与注意力,而是两种不同粒度的注意力。
D.5 收敛三:残差流被改写——本书十五章里没有的那根轴¶
这是 2026 年最值得注意的事,因为它动的是 2015 年以来一直没人动过的东西。
从 ResNet 开始(附录 A.2),残差就是 x_{l+1} = x_l + F(x_l):每层把自己的输出无差别地累加到同一条主干上。Kimi K3 的报告把这件事点破了——这条主干在深度方向上就是一个 RNN:所有历史层的信息被压缩进一个状态 h_l,后面的层没法选择性地回看某个特定层的输出。
这正是 2017 年注意力对 RNN 做过的批评,只不过那时是在序列方向上。2026 年有两个模型在深度方向上做了同样的事:
Attention Residuals(AttnRes,Kimi K3):每一层用一组可学习的伪 query,对"嵌入层输出 + 之前各块的输出"算注意力权重,按需取用,而不是统一累加。完整版的开销是 O(L·d);K3 用的是 Block AttnRes——按块聚合,开销降到 O(N·d)(N 为块数),并且给推理时的状态定了上界。
Manifold-Constrained Hyper-Connections(mHC,DeepSeek-V4,[Xie et al., 2026]):把单条残差流扩展成 n_hc 条并行的流,层与层之间用受约束的连接矩阵混合。约束(流形限制)是为了保证深度方向的信号传播稳定。
为什么这件事重要:
- 它是第三根扩展轴。本书的主线是沿序列方向(第 12、13 章)和宽度方向(第 9 章)做文章,深度方向一直只有"堆更多层"。现在它变成了可设计的对象。
- 它同时改变了训练与推理的成本结构。K3 的报告花了很大篇幅讲 Block AttnRes 的核怎么写、在流水并行里怎么只增量传输新块——一个建模改动立刻变成了系统工程问题,和第 7 章 MLA 的故事一模一样。
- 它还没有被验证会不会留下来。两家用了两套完全不同的方案,这是技术还在早期的信号。放进你的观察清单,但不要现在就当成标准配方。
如果这本书再多一章,它会叫「残差流的设计」。现在还不到时候。
D.6 稀疏注意力在 2026 年的两种打法¶
D.4 说了稀疏派整体的逻辑,这里看它内部的分歧:谁来决定"看哪些"。
打法一:训一个专门的选择器(indexer)。 MiniMax Sparse Attention(MSA,arXiv:2606.13392)是最清爽的版本:在 GQA 之上,用一个极轻的 Index Branch 通过 max-pooling 给每个 KV 块打分,每个 GQA 组独立选自己的 top-k 块,然后主分支在选中的块上做精确的块稀疏注意力;为了训练稳定,永远保留最近的那个块。工程上配了 exp-free 的 top-k 和 KV-outer 的核布局来提高 tensor core 利用率。厂商口径:109B 模型在 1M 上下文下注意力计算量降到 1/28.4,H800 上 prefill 快 14.2 倍、decode 快 7.6 倍。
Qwen 的 QSA 走的是同一条路,粒度更粗一些:把序列聚成微块,在块级估重要性,预算是 512 个块或 2048 个 token;indexer 本身是一个 4 query 头 + 1 共享 key 头的 MQA,头维 128。DeepSeek 的 Lightning Indexer 也属于这一派。
打法二:让全注意力层当 oracle。 HySparse(arXiv:2602.03560)指出 indexer 派有两个弱点:需要额外的代理模块来预测重要性,而且稀疏层往往只省计算不省 KV(每层还是要自己的缓存)。它的做法是让每个全注意力层后面跟几个稀疏层,这些稀疏层直接复用前面那个全注意力层选出的 token 索引和它的 KV 缓存。于是重要性判断是精确的(全注意力本来就算出了真实权重),稀疏层也不再产生额外 KV。报告的 80B MoE 模型 49 层里只有 5 层是全注意力,KV 缓存降到约 1/10。后续的 HySparse2(arXiv:2609.26368)进一步引入 YOCO 式的自解码器/交叉解码器两级 KV 共享,让 prefill 可以在自解码器之后直接退出。
怎么看这两派:indexer 派更通用、更容易加到已有架构上;oracle 派省得更彻底但把层与层绑死了。这是典型的"早期技术,两条路都还没分出胜负"的局面——对照 2023 年滑动窗口与线性注意力之争,那一次的答案最后是"两个都要,混着用"。
D.7 架构选择怎么反噬服务系统:一个具体例子¶
Kimi K3 的报告里有一段值得所有做部署的人读(对应第二册第 11 章的前缀缓存):
K3 是 KDA(线性,一个大的循环状态)与 MLA(逐 token 的 KV 条目)的混合,两种缓存的天然粒度完全不同。前缀缓存靠块哈希匹配,要求所有层共用一个块大小;但 KDA 的状态只能在稀疏的边界上做快照(存一次很贵),于是共享块大小被迫定在 1024–6144 token。结果是:比一个块还短的请求永远无法命中缓存,分块 prefill 在跨过整块边界之前也导不出任何可缓存的前缀。
K3 的解法是把 KDA 的定长状态塞进和 MLA KV 同一个分页池里,用同样的页大小、同样一套分配与淘汰逻辑。
为什么把这段放进第一册:因为它是本书最想让你建立的那种直觉的极端案例——你在计算图上做的每一个选择,都会在几个月后变成服务系统里的一个难题。 第 7 章选 GQA 还是 MLA、第 14 章选什么混合比例,都是同一类决策。
D.8 读下一份技术报告的清单¶
配置表会过期,这份清单不会。拿到一份新模型的技术报告或 config.json,按顺序问这 12 个问题:
- 总参数与激活参数各是多少? 比值决定显存与速度的关系(第 9.6 节)。
- 训练了多少 token? 除以参数量,判断它是研究型还是部署型(附录 B.5)。
- 主干是不是那四样? RMSNorm + SwiGLU + RoPE + 无 bias。不是的话,重点看它为什么不是。
- 注意力层分几种? 看
layer_types或等价字段。这是最快看出架构形态的地方。 - 便宜的那一半属于哪派? 线性/递归(固定状态)还是稀疏(选子集)。失效模式完全不同(D.4)。
- 精确的那一层多久出现一次? 3:1 是目前的默认值,偏离越多越要看理由。
- KV 到底怎么算? 只有全注意力/稀疏层产生随长度增长的缓存,线性层是常数。套第 4 章的公式重算一遍。
- 位置编码有没有动手脚? RoPE 的 base、YaRN 的配置、有没有 NoPE 层。
- MoE 的四个数:路由专家数、激活数、共享专家数、均衡机制。极端稀疏度下还要看它换了什么稳定化手段(D.3)。
- 残差是不是常规残差? 2026 年起这一栏不再默认为"是"(D.5)。
- 有没有 MTP / 草稿头? 影响推理加速链路(第 15 章)。
- 报告里的加速比是在什么设定下测的? 上下文长度、硬件、batch、对比基线。没有这四项的加速比不要往心里去。
前四个问题能在五分钟内回答完,通常也就够判断这个模型值不值得你继续读下去了。
核心问答¶
Q1:Qwen3-Next 是"3 层 GDN + 1 层门控注意力",到 Qwen3.8-Flash-Next 怎么变成 QSA 了? 骨架没变,变的是那 1 层的内部实现。GDN + 门控注意力这个组合从 Qwen3-Next 一路用到 Qwen3.5;Flash-Next 这一代把其中的门控注意力换成了 QSA——在门控注意力的基础上加了块级的重要性筛选。层的位置和 3:1 的比例不变,层内从"看全部"变成"看选中的块"。 正文第 16.3 节拆了这一层的完整结构。
Q2:线性派和稀疏派最后会不会分出胜负? 按目前的趋势更可能是都活着。它们省的是不同的东西:线性省的是状态大小,稀疏省的是计算量和访存量,而且稀疏层仍然保留了精确回看的能力。Kimi K3(线性 + MLA)和 DeepSeek-V4(两种压缩注意力)已经是两个不同的答案,Qwen3.8 则是两者都用(GDN + QSA)。
Q3:AttnRes 和 mHC 我现在需要掌握吗? 需要知道它们在解决什么问题(深度方向的信息瓶颈),不需要掌握细节。理由和第 16.9 节对待 Qwen 专属零件的态度一样:两家用了两套不兼容的方案,说明还没定型。 等到第三家跟进并且用了和前两家同一种做法,那时候再学。
Q4:这些万亿模型我根本跑不动,看它们有什么意义? 两个意义。一是架构决策的理由是跨尺度的:3:1 混合比例、免辅助损失均衡、把 KV 压缩,这些在 7B 上同样适用。二是今年的旗舰配方就是明年的中小模型配方——2024 年 DeepSeek-V3 上的那套东西,2025 年已经出现在几十 B 的开源模型里了。
Q5:这一篇多久会过期? 配置表大概半年。D.4 的两派划分、D.5 的第三根轴、D.8 的清单会撑得久一些。如果你读到这里时表里的模型已经换了一代,用 D.8 的十二个问题自己把新表填一遍——那正是这本书希望你具备的能力。