第 14 章 混合架构¶
14.1 架构间的互补性¶
| 计算 | KV 显存 | 精确召回 | 局部建模 | |
|---|---|---|---|---|
| 标准注意力 | 平方 | 线性增长 | 强 | 强 |
| 稀疏注意力 | 近线性 | 视模式而定 | 中(选中才行) | 强 |
| 线性 / 状态 | 线性 | 常数 | 弱 | 强 |
线性层用于控制成本,少数标准注意力层负责精确度。
14.2 层间混合¶
最主流的做法是按层交替:每隔几层线性层插入一层标准注意力。
- 比例:常见 3:1 到 7:1。线性层占比越高越快越省,但精确召回能力下降。这个比例是各家做消融实验试出来的,没有理论最优值,是本书最典型的"工程权衡"案例。
- 位置:常见做法是周期性、近似均匀地插入精确注意力层,便于让压缩状态定期接触可精确检索的表示,也让 kernel 调度规则。不能笼统断言浅层“用不上全局”;有的模型从第一组就保留精确层,有的前若干层采用特殊 bootstrap,位置应看消融而不是套固定口诀。
- 哪些必须保留:至少要有几层能看到完整历史,否则大海捞针类任务会直接失效。
14.3 另外两种混法¶
- 局部与全局交替(Gemma 一类):不引入线性层,只是让多数层用滑动窗口、少数层用全注意力。改动最小,KV 显存大幅下降,是稠密模型里性价比很高的做法。
- 层内混合:同一层里一部分头做线性、一部分头做标准注意力。灵活但实现复杂、硬件利用率不佳,目前不是主流。
顺带说明,混合还可以和第 9 章的 MoE 叠加——注意力侧和 FFN 侧的选择完全正交,现在的旗舰模型基本都是"混合注意力 + MoE FFN"的组合。
14.4 模型对比¶
- Jamba:Mamba 层 + 少量注意力层 + MoE,第一个大规模验证混合可行的开源模型。
- MiniMax-01:大比例线性注意力 + 周期性全注意力,把上下文推到百万级。
- Gemma 系列:滑窗与全注意力按比例交替,稠密路线里的代表。
- Qwen3-Next / Qwen3.8:门控线性层(GDN)与标准注意力按 3:1 交替,配合细粒度 MoE。到 Qwen3.8-Flash-Next,交替中的标准注意力进一步换成了块稀疏的 QSA,比例不变。
核心问答¶
Q1:为什么不能全用线性层? 因为精确召回能力会塌(12.6 节)。保留少数全注意力层是当前公认的最低成本解法,去掉它们省不了多少,但大海捞针类任务会直接失效。
Q2:3:1 这个比例是怎么定的? 消融实验试出来的,不是推导出来的。各家结论在 3:1 到 7:1 之间浮动,取决于目标场景对召回的敏感程度。读论文时应该去找它的消融表。
Q3:全注意力层放在哪一层有讲究吗? 有,但没有“浅层一定不要放”的统一结论。周期性均匀分布便于实现,也让信息能定期进入精确检索通路;前置 bootstrap、中后段加密等安排也存在。最终应看长检索、语言建模质量和吞吐的联合消融。
Q4:混合架构和 MoE 能一起用吗? 能,而且现在的旗舰模型基本都是这么做的。注意力侧解决"长度"问题,FFN 侧解决"容量"问题,两者互不干扰。
Q5:混合模型的 KV 显存怎么估? 只数还在用标准注意力的那些层,套第 4 章的公式即可,线性层那部分是常数级的固定状态,可以忽略。3:1 混合大约降到 1/4。