工业界 SOTA 模型架构图谱:Attention、MoE、Norm、Activation、位置编码全景¶
更新日期:2026-04-17
本文目标:回答一个核心问题——工业界的 SOTA 模型都用了什么 Attention、MoE、Norm、Activation、位置编码?为什么这么选? 读完后能对 2020-2026 年主流模型的架构决策有全局认知,并能为自己的模型训练选择合适的配置。
前置知识:A1(Transformer)、A2(KV 压缩 / Sparse Attention)、A3(MoE)、A4(位置编码)、A8(Normalization)、A9(Activation / FFN)。
一、为什么需要工业模型架构图谱¶
A1-A11 讲的是单个组件的原理:RoPE 怎么编码位置、SwiGLU 为什么比 ReLU 好、GQA 如何压缩 KV Cache。但工业模型的架构是多个组件的组合决策,需要回答:
-
组合约束:选了 MLA 还能不能用 RoPE?选了 Sliding Window 如何处理长依赖?
-
规模依赖:7B 用 MHA 就够,70B 才需要 GQA——分界点在哪?
-
工程现实:MoE 的 All-to-All 通信成本、FP8 训练的精度损失、vocab size 对 embedding 层参数量的影响。
-
趋势判断:2024 年还在用 MHA 的模型几乎没有了,2025 年 MLA 是否会替代 GQA?
只读论文原理不够,需要一张全景图才能做出合理的架构决策。
二、Dense 模型架构全景¶
2.1 核心参数对照表¶
| 模型 | 机构 | 参数量 | Attention | \(n_h\) / \(n_{kv}\) | \(d_{model}\) / \(d_h\) | \(n_{layers}\) | FFN 类型 / \(d_{ff}\) | Activation | Norm | 位置编码 | Vocab | 上下文 | 为什么这样选 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| GPT-3 | OpenAI | 175B | MHA | 96 / 96 | 12288 / 128 | 96 | Dense FFN / 49152 | GeLU | LayerNorm Post-Norm | Learned PE | 50257 | 2048 | 2020 年的标准选择;Learned PE 在短上下文下够用;Post-Norm 是原始 Transformer 的默认 |
| LLaMA-1 7B | Meta | 6.7B | MHA | 32 / 32 | 4096 / 128 | 32 | SwiGLU / 11008 | SiLU | RMSNorm Pre-Norm | RoPE | 32000 | 2048 | PaLM 验证了 SwiGLU > GeLU;RMSNorm 比 LayerNorm 快 ~20% 且无精度损失;RoPE 支持长度外推 |
| LLaMA-1 13B | Meta | 13.0B | MHA | 40 / 40 | 5120 / 128 | 40 | SwiGLU / 13824 | SiLU | RMSNorm Pre-Norm | RoPE | 32000 | 2048 | 同 7B,线性扩展 \(d_{model}\) 和 \(n_{layers}\) |
| LLaMA-1 33B | Meta | 32.5B | MHA | 52 / 52 | 6656 / 128 | 60 | SwiGLU / 17920 | SiLU | RMSNorm Pre-Norm | RoPE | 32000 | 2048 | 保持 \(d_h=128\) 不变,增加 head 数和层数 |
| LLaMA-1 65B | Meta | 65.2B | MHA | 64 / 64 | 8192 / 128 | 80 | SwiGLU / 22016 | SiLU | RMSNorm Pre-Norm | RoPE | 32000 | 2048 | 全系列均为 MHA,65B 时 KV Cache = \(2 \times 80 \times 64 \times 128 \times 2 = 2.5\)MB/token |
| LLaMA-2 7B | Meta | 6.7B | MHA | 32 / 32 | 4096 / 128 | 32 | SwiGLU / 11008 | SiLU | RMSNorm Pre-Norm | RoPE | 32000 | 4096 | 架构不变,上下文从 2K 扩到 4K,训练数据从 1T → 2T tokens |
| LLaMA-2 13B | Meta | 13.0B | MHA | 40 / 40 | 5120 / 128 | 40 | SwiGLU / 13824 | SiLU | RMSNorm Pre-Norm | RoPE | 32000 | 4096 | 同 7B |
| LLaMA-2 70B | Meta | 70B | GQA | 64 / 8 | 8192 / 128 | 80 | SwiGLU / 28672 | SiLU | RMSNorm Pre-Norm | RoPE | 32000 | 4096 | 首次在 LLaMA 系列引入 GQA:70B 的 KV Cache 从 MHA 的 2.5MB/token 降到 0.3MB/token(8x 压缩),推理吞吐大幅提升 |
| LLaMA-3 8B | Meta | 8.0B | GQA | 32 / 8 | 4096 / 128 | 32 | SwiGLU / 14336 | SiLU | RMSNorm Pre-Norm | RoPE \(\theta\)=500K | 128256 | 8192→128K | GQA 下沉到 8B 规模;RoPE \(\theta\) 从 10K 提升到 500K 支持 128K 上下文;vocab 扩大到 128K(tiktoken BPE),提升多语言和代码的压缩率 |
| LLaMA-3 70B | Meta | 70.6B | GQA | 64 / 8 | 8192 / 128 | 80 | SwiGLU / 28672 | SiLU | RMSNorm Pre-Norm | RoPE \(\theta\)=500K | 128256 | 128K | 训练数据扩至 15T+ tokens,架构与 LLaMA-2 70B 相同,仅 vocab 和 RoPE \(\theta\) 改变 |
| LLaMA-3.1 405B | Meta | 405B | GQA | 128 / 8 | 16384 / 128 | 126 | SwiGLU / 53248 | SiLU | RMSNorm Pre-Norm | RoPE \(\theta\)=500K | 128256 | 128K | 最大开源 Dense 模型;\(n_{kv}=8\) 意味着 KV Cache 仅为 MHA 的 1/16 |
| Mistral 7B | Mistral AI | 7.3B | GQA + SWA | 32 / 8 | 4096 / 128 | 32 | SwiGLU / 14336 | SiLU | RMSNorm Pre-Norm | RoPE | 32000 | 8K→32K | Sliding Window Attention(\(w=4096\)):每层只看最近 4096 tokens,多层堆叠后有效感受野 = \(w \times n_{layers}\) = 131K;显存占用 \(O(w)\) 而非 \(O(n)\) |
| Gemma-2 9B | 9.2B | GQA + 交替 SWA/Full + QK-Norm + Logit Soft-Cap | 16 / 8 | 3584 / 256 | 42 | GeGLU / 14336 | GeLU | RMSNorm Pre-Norm + Post-Norm | RoPE | 256000 | 8192 | \(d_h=256\)(非标准)配合 QK-Norm 防止注意力爆炸;交替层用 SWA(\(w=4096\))/Full Attention 平衡效率和全局依赖;Logit Soft-Cap 限制 logits 范围提升稳定性;256K vocab 覆盖多语言 | |
| Gemma-2 27B | 27.2B | GQA + 交替 SWA/Full + QK-Norm + Logit Soft-Cap | 32 / 16 | 4608 / 128 | 46 | GeGLU / 36864 | GeLU | RMSNorm Pre-Norm + Post-Norm | RoPE | 256000 | 8192 | 同 9B 架构思路,\(n_{kv}=16\) 比 9B 的 \(n_{kv}=8\) 更多,因为模型更大可以承担更多 KV 存储 | |
| Qwen-2 7B | 阿里 | 7.6B | GQA | 28 / 4 | 3584 / 128 | 28 | SwiGLU / 18944 | SiLU | RMSNorm Pre-Norm | RoPE | 151936 | 32K→128K | \(n_{kv}=4\) 非常激进(KV 压缩 7x),实测质量损失极小;vocab=152K 覆盖中英日韩代码;\(d_{ff}/d_{model} \approx 5.3\)(高于标准的 \(8/3\)) |
| Qwen-2 72B | 阿里 | 72.7B | GQA | 64 / 8 | 8192 / 128 | 80 | SwiGLU / 29568 | SiLU | RMSNorm Pre-Norm | RoPE | 151936 | 32K→128K | 与 LLaMA-3 70B 参数量相近但 FFN 更宽(29568 vs 28672),训练吞吐略低但每层容量更大 |
| Qwen-2.5 7B | 阿里 | 7.6B | GQA | 28 / 4 | 3584 / 128 | 28 | SwiGLU / 18944 | SiLU | RMSNorm Pre-Norm | RoPE | 151936 | 128K | 架构与 Qwen-2 7B 完全相同,主要改进在训练数据(18T tokens)和后训练 |
| Qwen-2.5 72B | 阿里 | 72.7B | GQA | 64 / 8 | 8192 / 128 | 80 | SwiGLU / 29568 | SiLU | RMSNorm Pre-Norm | RoPE | 151936 | 128K | 同上,架构不变,数据和对齐改进 |
| Yi-1.5 6B | 零一万物 | 6B | GQA | 32 / 4 | 4096 / 128 | 32 | SwiGLU / 11008 | SiLU | RMSNorm Pre-Norm | RoPE | 64000 | 4K | LLaMA 架构 + 更大 vocab(64K 覆盖中文);\(n_{kv}=4\) 与 Qwen 类似的激进压缩 |
| Yi-1.5 34B | 零一万物 | 34B | GQA | 56 / 8 | 7168 / 128 | 60 | SwiGLU / 20480 | SiLU | RMSNorm Pre-Norm | RoPE | 64000 | 4K→200K | 34B 是 LLaMA-1 33B 的改进版,加入 GQA 和更大 vocab |
| InternLM-2 7B | 上海AI Lab | 7B | GQA | 32 / 8 | 4096 / 128 | 32 | SwiGLU / 14336 | SiLU | RMSNorm Pre-Norm | RoPE | 92544 | 32K→200K | 92K vocab 精心设计覆盖中英;GQA \(n_{kv}=8\) 是保守选择,确保质量 |
| InternLM-2 20B | 上海AI Lab | 20B | GQA | 48 / 8 | 6144 / 128 | 48 | SwiGLU / 16384 | SiLU | RMSNorm Pre-Norm | RoPE | 92544 | 32K→200K | 同 7B 架构扩展 |
| Phi-3 Mini (3.8B) | Microsoft | 3.8B | GQA | 32 / 8 | 3072 / 96 | 32 | SwiGLU / 8192 | SiLU | RMSNorm Pre-Norm | RoPE (LongRoPE) | 32064 | 4K→128K | \(d_h=96\)(非标准);LongRoPE 支持 128K 上下文;小模型用高质量数据(3.3T tokens)弥补容量不足 |
| Phi-3 Medium (14B) | Microsoft | 14B | GQA | 40 / 10 | 5120 / 128 | 40 | SwiGLU / 17920 | SiLU | RMSNorm Pre-Norm | RoPE (LongRoPE) | 32064 | 4K→128K | \(n_{kv}=10\)(非 2 的幂)说明 GQA 的分组不一定要是 2 的幂 |
| Phi-4 (14B) | Microsoft | 14B | GQA | 40 / 10 | 5120 / 128 | 40 | SwiGLU / 17920 | SiLU | RMSNorm Pre-Norm | RoPE | 100352 | 16K | vocab 扩大到 100K(tiktoken);强调合成数据的质量 > 数据量 |
2.2 关键观察¶
趋同性极强:2024 年之后的 Dense 模型几乎全部收敛到同一个配方:GQA + RMSNorm Pre-Norm + RoPE + SwiGLU + BPE(vocab ≥ 100K)。
少数差异点:
-
Gemma-2:唯一同时使用 QK-Norm + Logit Soft-Capping + 交替 SWA/Full 的模型
-
Qwen:\(n_{kv}\) 最为激进(7B 模型仅用 4 个 KV heads)
-
Phi-3 Mini:\(d_h=96\) 非标准值,可能是超参搜索的结果
GPT-3 → LLaMA-3 的架构演进:
三、MoE 模型架构全景¶
3.1 核心参数对照表¶
| 模型 | 机构 | 总参数 | 激活参数 | Expert 数 | Top-K | 共享 Expert | Attention | Norm | 位置编码 | 路由策略 | 负载均衡 | 为什么 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Mixtral 8x7B | Mistral AI | 46.7B | 12.9B | 8 | 2 | 无 | GQA (\(n_{kv}=8\)) + SWA (\(w=4096\)) | RMSNorm | RoPE | Token-Choice | Aux Loss (\(\alpha=0.01\)) | 8 experts 是最简方案:每个 expert = 完整 FFN,路由简单,EP 分 8 卡刚好;top-2 保证每 token 有冗余 |
| Mixtral 8x22B | Mistral AI | 141B | 39B | 8 | 2 | 无 | GQA (\(n_{kv}=8\)) + SWA (\(w=4096\)) | RMSNorm | RoPE | Token-Choice | Aux Loss | 同 8x7B 架构等比放大,验证了 8-expert MoE 的 scaling |
| DeepSeek-V2 | DeepSeek | 236B | 21B | 160 + 2 shared | 6 | 2 | MLA (\(d_c=512, d_c^R=64\)) | RMSNorm | RoPE (仅对 \(d_h^R\) 维作用) | Token-Choice | Aux Loss + Device-Level Balance | 细粒度 expert(160 个小 expert vs 8 个大 expert)+ shared expert 保底;MLA 将 KV Cache 压缩 57x;\(d_c=512\) 是压缩后的 KV 联合维度 |
| DeepSeek-V3 | DeepSeek | 671B | 37B | 256 + 1 shared | 8 | 1 | MLA | RMSNorm | RoPE | Token-Choice | Aux-Loss-Free (bias term) | 去掉 aux loss 因为它会损害模型质量;改用 bias term 实现免 loss 的负载均衡;FP8 混合精度训练省成本;Multi-Token Prediction 作为额外训练目标 |
| DeepSeek-R1 | DeepSeek | 671B | 37B | 256 + 1 shared | 8 | 1 | MLA | RMSNorm | RoPE | Token-Choice | Aux-Loss-Free | 与 V3 架构完全相同,区别在于 RL 后训练(GRPO)产生 CoT 推理能力 |
| Qwen-3 235B (MoE) | 阿里 | 235B | ~22B | 128 | 8 | 无 | GQA | RMSNorm | RoPE | Token-Choice | Aux Loss | 128 experts 是 DeepSeek 细粒度路线的跟进,但未引入 shared expert;GQA 而非 MLA,工程实现更成熟 |
| Qwen-3 30B (MoE) | 阿里 | 30.5B | ~3.3B | 128 | 8 | 无 | GQA (\(n_{kv}=4\)) | RMSNorm | RoPE | Token-Choice | Aux Loss | 小规模 MoE 验证细粒度路由在小模型上的可行性 |
| Kimi K2 | Moonshot | 1.04T | 32B | 384 | 8 | 1 | MLA (\(n_h=64\), \(d=7168\)) | RMSNorm | RoPE | Token-Choice | Aux-Loss-Free | 384 experts/top-8 实现 48x 稀疏度(超越 DeepSeek-V3 的 32x);MLA 复用 DeepSeek 方案压缩 KV Cache;MuonClip optimizer 首次将 Muon 扩展到万亿参数(QK-Clip 阈值 τ=100 控制注意力 logit 爆炸) |
| Qwen3-Next | 阿里 | 80B | 3B | 512 | 10 | 1 | Gated DeltaNet (线性) + Gated Attention (全) 3:1 混合 | RMSNorm | RoPE (仅 Attention 层) | Token-Choice | Aux Loss | 极致稀疏 MoE(512 expert 仅激活 10)+ 75% 层用线性注意力:DeltaNet 递推替代 softmax,复杂度 \(O(n)\);Gated Attention 的 sigmoid 门控消除 attention sink;仅 Qwen3-32B 10% 训练成本即超越其性能 |
| MiniMax-01 | MiniMax | 456B | 45.9B | 32 | 2 | 无 | Lightning Attention (线性注意力) | RMSNorm | — | Token-Choice | Aux Loss | 唯一使用线性注意力的大规模 MoE:Lightning Attention 去掉 softmax,\(O(nd)\) 复杂度,支持 4M 上下文;代价是短序列质量可能不如 softmax attention |
| Grok-1 | xAI | 314B | ~73B | 8 | 2 | 无 | MHA | RMSNorm | RoPE | Token-Choice | — | 早期 MoE 设计,8 个大 expert,类似 Mixtral 思路但规模更大;MHA 而非 GQA 可能是因为开发较早 |
| DBRX | Databricks | 132B | 36B | 16 | 4 | 无 | GQA (\(n_{kv}=8\)) | LayerNorm | RoPE | Token-Choice | Aux Loss | Fine-grained MoE:16 experts top-4(vs Mixtral 的 8 experts top-2);每 token 激活比例相同(25%)但粒度更细,routing 更灵活 |
| Jamba | AI21 Labs | 52B | 12B | 16 | 2 | 无 | Mamba + Attention 混合 | RMSNorm | RoPE (仅 Attention 层) | Token-Choice | Aux Loss | SSM-Attention 混合架构:大部分层用 Mamba(\(O(n)\)),少数层用 Attention(全局依赖);MoE 仅应用在部分层;目标是长上下文效率 |
| Jamba 1.5 Large | AI21 Labs | 398B | 94B | 16 | 2 | 无 | Mamba-2 + Attention 混合 | RMSNorm | RoPE | Token-Choice | Aux Loss | Mamba-2 替代 Mamba-1,SSD 算法更高效;256K 上下文 |
| Snowflake Arctic | Snowflake | 480B | 17B | 128 | 2 | 无 | — | — | RoPE | Token-Choice | — | Dense-MoE 混合:每层有一个小 Dense FFN(所有 token 共享)+ 128-expert MoE FFN(top-2);Dense 部分保证基线质量,MoE 部分提供容量 |
| LLaMA-4 Scout | Meta | 109B | 17B | 16 | 1 | 无 | GQA | RMSNorm | RoPE | Token-Choice | Aux Loss | top-1 路由:每 token 只激活 1 个 expert,推理极快;16 experts 保持路由简单;10M 上下文窗口(interleaved attention) |
| LLaMA-4 Maverick | Meta | 400B | 17B | 128 | 1 | 无 | GQA + interleaved | RMSNorm | RoPE | Token-Choice | Aux Loss | 128 experts top-1:激活参数仅 17B 但总知识容量 400B;interleaved attention 支持 1M 上下文 |
3.2 关键观察¶
两条技术路线: 趋势:2025 年新模型几乎全部转向细粒度 MoE(128+ experts)。
四、Attention 选型趋势分析¶
4.1 时间线¶
4.2 GQA 的 \(n_{kv}\) 选择¶
各模型的 KV head 数量和压缩比: 经验法则:\(n_{kv} \in [4, 8]\) 是当前甜点区。
五、MoE vs Dense 选型决策¶
5.1 核心权衡¶
5.2 不同实验室的选择¶
5.3 决策树¶
你的训练预算和目标质量是什么?
├── 预算充足,追求部署简单
│ └── Dense(≤ 405B)
├── 预算有限,追求极致性价比
│ └── MoE(激活参数 20-40B,总参数 200-600B)
├── 需要超长上下文(>128K)
│ └── MoE + Sliding Window 或 MoE + Linear Attention
└── 需要在消费级硬件部署
└── Dense ≤ 14B(量化后单卡可跑)
六、独特架构选择深度解析¶
6.1 MiniMax-01:Lightning Attention¶
问题:标准 softmax attention 的 \(O(n^2 d)\) 复杂度使得 4M token 上下文不可行。即使用 FlashAttention,4M 长度的 KV Cache 也无法放入显存。
方案:Lightning Attention 用线性注意力替代 softmax attention:
标准 attention:\(O = \text{softmax}(\frac{QK^T}{\sqrt{d}})V\),复杂度 \(O(n^2 d)\)
线性 attention:\(O = \phi(Q)(\phi(K)^T V)\),复杂度 \(O(nd^2)\)
关键在于计算顺序——先算 \(\phi(K)^T V\)(\(d \times d\) 矩阵),再乘 \(\phi(Q)\),避免 \(n \times n\) 矩阵。
def lightning_attention(Q, K, V):
# Q, K, V: [batch, n, d]
# 线性 attention: 不需要 softmax
# 先计算 KV: [batch, d, d] — O(nd^2)
KV = torch.einsum('bnd,bnv->bdv', K, V)
# 再乘 Q: [batch, n, d] x [batch, d, d] -> [batch, n, d]
O = torch.einsum('bnd,bdv->bnv', Q, KV)
return O
MiniMax-01 架构数据:
-
总参数 456B,激活 45.9B
-
32 个 experts,top-2 routing
-
上下文:4M tokens(最长的公开模型之一)
-
训练:Lightning Attention + FlashAttention 混合(部分层仍用 softmax attention 保证质量)
代价:线性 attention 没有 softmax 的"尖锐"注意力分布,在需要精确检索的任务(如 Needle-in-a-Haystack)上可能不如标准 attention。MiniMax-01 通过混合使用两种 attention 来缓解这一问题。
6.2 DeepSeek MLA:低秩 KV 压缩¶
问题:GQA 的压缩上限是 \(n_h / n_{kv}\),即使 \(n_{kv}=1\)(MQA)也只有 \(n_h\) 倍压缩。DeepSeek 需要更极致的压缩来支持长上下文 + 低成本推理。
方案:Multi-head Latent Attention (MLA) 将 KV 投影到低秩空间。
标准 MHA 缓存 \(K, V \in \mathbb{R}^{n_h \times d_h}\),每 token 缓存 \(2 n_h d_h\) 个值。
MLA 缓存一个 联合压缩向量 \(c_{KV} \in \mathbb{R}^{d_c}\),\(d_c \ll 2 n_h d_h\)。
DeepSeek-V2 的具体数值:\(n_h = 128\),\(d_h = 128\),\(d_c = 512\)。
\(\text{MHA 每 token: } 2 \times 128 \times 128 = 32768 \quad\text{vs}\quad \text{MLA 每 token: } 512\)
压缩比 = \(32768 / 512 = 64\times\)(加上 RoPE 的 \(d_h^R\) 部分约为 57x)。
class MLA(nn.Module):
def __init__(self, d_model, n_heads, d_c, d_head, d_rope):
self.d_c = d_c # 压缩维度, e.g., 512
self.d_rope = d_rope # RoPE 维度, e.g., 64
# 下投影: d_model -> d_c (缓存这个)
self.W_DKV = nn.Linear(d_model, d_c, bias=False)
# 上投影: d_c -> n_heads * d_head (K 和 V 各一个)
self.W_UK = nn.Linear(d_c, n_heads * d_head, bias=False)
self.W_UV = nn.Linear(d_c, n_heads * d_head, bias=False)
# RoPE 用的额外 K 投影
self.W_KR = nn.Linear(d_model, d_rope, bias=False)
def forward(self, x):
# x: [batch, seq, d_model]
c_kv = self.W_DKV(x) # [batch, seq, d_c] — 只缓存这个!
k = self.W_UK(c_kv) # [batch, seq, n_heads * d_head]
v = self.W_UV(c_kv) # [batch, seq, n_heads * d_head]
k_rope = self.W_KR(x) # [batch, seq, d_rope]
k_rope = apply_rope(k_rope) # RoPE 只作用于这个小维度
# k 的最终形式: concat(k_nope, k_rope)
return k, v, k_rope, c_kv
Absorption Trick(推理优化):
推理时不需要显式展开 \(K\) 和 \(V\)。将 \(W_{UK}\) 吸收进 \(W_Q\) 的计算中:
\(Q^T K = Q^T (W_{UK} \cdot c_{KV}) = (W_{UK}^T Q)^T c_{KV}\)
即直接用 \(c_{KV}\)(512 维)计算 attention score,无需展开到 \(n_h \times d_h\)(16384 维)。
为什么其他实验室没有跟进 MLA:
-
工程实现复杂:需要修改整个 attention kernel,包括训练和推理的 CUDA kernel
-
与现有工具链不兼容:vLLM、TensorRT-LLM 等推理框架直到 2025 年才完整支持 MLA
-
GQA 已经足够好:\(n_{kv}=4\) 的 GQA 提供 7-8x 压缩,性价比高且实现简单
-
Absorption trick 与某些量化方案冲突:吸收后的权重矩阵更大,量化效率下降
6.3 Kimi K2:MLA + 极致稀疏 MoE + MuonClip¶
论文:Kimi K2: Open Agentic Intelligence (Moonshot AI, 2025)
架构全貌: MuonClip Optimizer(核心创新):
Muon optimizer 在大规模 MoE 训练时会导致注意力分数爆炸(pre-softmax logits 无限增长),最终引发训练发散。MuonClip 由三部分组成:
-
Muon 基础:Newton-Schulz 迭代正交化梯度矩阵,每个参数维度更新步长一致
-
Weight Decay + RMS Matching:确保不同层/参数组的更新尺度一致
-
QK-Clip(核心):在每次 optimizer step 后校准 Q/K 权重
def qk_clip(W_q, W_k, tau=100.0, alpha=0.5):
max_score = estimate_max_attn_logit(W_q, W_k)
if max_score > tau:
eta = tau / max_score
W_q = eta * alpha
W_k = eta * (1 - alpha)
return W_q, W_k
QK-Clip 的 \(\tau=100\) 阈值使得训练初期 max logits 快速上升到上限后被截断,经过约 30% 训练步数后自然衰减到稳定范围。结果:15.5T tokens 训练全程零 loss spike。
Agent-native 设计:Kimi K2 是首个以 Agent 能力为核心目标训练的模型,使用 3,000+ 真实工具 + ~20,000 合成工具做 SFT 和 RL,Tau2-Bench (Agent) 得分 66.1 为开源最高。
6.4 DeepSeek NSA:Native Sparse Attention¶
问题:即使有 FlashAttention,\(O(n^2)\) 的 FLOPs 在 64K+ 上下文仍是瓶颈。之前的 Sparse Attention(Longformer、BigBird)使用固定的手工稀疏模式,无法适应不同输入。
方案:NSA 将注意力分解为三个并行分支,通过可学习门控融合:
\(o_t = \sum_{c \in \{\text{cmp, slc, win}\}} g_t^c \cdot \text{Attn}(q_t, \tilde{K}_t^c, \tilde{V}_t^c)\) Selection 的工作流程:compression 分支的注意力分数 → 聚合到 selection 块级别 → top-n 选择 → 对选中块做精确 attention。每个 query 实际只激活约 2,560 个 token(在 32K 序列中)。
硬件对齐设计:块级选择(而非单 token)保证了连续内存访问和 Tensor Core 对齐。自研 Triton kernel 实现组级数据加载和共享 KV 获取。
实验结果(27B MoE 模型,72 experts top-6): 关键结论:NSA 不仅不损失质量,在多数基准上反而超越 Full Attention——稀疏性本身是一种正则化。
6.5 Qwen3-Next:Gated DeltaNet 线性注意力混合¶
论文:Gated Attention (NeurIPS 2025 Best Paper)
核心发现(30+ 个模型消融实验验证):在 Scaled Dot-Product Attention 输出后添加一个 逐头 sigmoid 门控,带来系统性改进:
\(\text{GatedAttn}(Q, K, V) = \sigma(g_h) \odot \text{softmax}\!\left(\frac{QK^T}{\sqrt{d}}\right) V\)
效果:消除 attention sink(不再需要将过量注意力分配到初始 token)、增强训练稳定性、允许更大学习率、改善 scaling 特性。
Qwen3-Next 架构:将 Gated Attention 与 Gated DeltaNet(线性注意力)组合为混合架构:
布局:\(12 \times (3 \times (\text{Gated DeltaNet} \to \text{MoE}) \to 1 \times (\text{Gated Attention} \to \text{MoE}))\)
即 48 层中 36 层线性注意力 + 12 层全注意力(3:1 比例)。
Gated DeltaNet(线性注意力层):
\(S_t = \alpha_t \cdot S_{t-1} \cdot (I - \beta_t \cdot k_t k_t^T) + \beta_t \cdot v_t k_t^T\)
-
\(S_t \in \mathbb{R}^{d \times d}\) 为隐藏状态(固定大小记忆矩阵)
-
\(\alpha_t \in (0,1)\) 为数据依赖的指数门控(类似 Mamba)
-
Delta rule 项 \((v_t - S_{t-1}^T k_t)\) 计算预测误差,纠正性更新记忆
-
Q/K 使用 L2 归一化替代 softmax
-
复杂度 \(O(nd^2)\),对序列长度 \(n\) 线性 Qwen3-Next-80B-A3B 完整规格: 效率优势:在 >32K 上下文时提供 10x 推理吞吐量(相比同等质量的全 attention 模型)。
6.6 Gemma 2:QK-Norm + Logit Soft-Capping¶
问题 1:Attention logit 爆炸
当 \(d_h\) 较大或训练后期 \(Q, K\) 的范数增长时,\(QK^T / \sqrt{d_h}\) 的值可能极大,导致 softmax 输出近似 one-hot,梯度消失。
方案:QK-Norm
在计算 attention score 之前,对 \(Q\) 和 \(K\) 做 L2 normalization:
\(\hat{Q} = \frac{Q}{\|Q\|_2}, \quad \hat{K} = \frac{K}{\|K\|_2}\)
\(\text{score} = \hat{Q}\hat{K}^T / \sqrt{d_h}\)
效果:score 的范围被限制在 \([-1/\sqrt{d_h}, 1/\sqrt{d_h}]\),不会爆炸。
Gemma-2 9B 的 \(d_h = 256\)(比常规的 128 大一倍),如果不用 QK-Norm,attention score 的方差会更大,训练不稳定风险更高。
问题 2:Logit 值域过大
在 softmax 之前和 final logits 处,极端值会导致数值不稳定。
方案:Logit Soft-Capping
\(\text{logits} = s \cdot \tanh\left(\frac{\text{logits}}{s}\right)\)
其中 \(s\) 是 soft cap 值。Gemma-2 使用 \(s = 50\) 用于 attention logits,\(s = 30\) 用于 final logits。
def soft_cap(logits, cap):
return cap * torch.tanh(logits / cap)
# Gemma-2 attention
scores = Q @ K.T / math.sqrt(d_head)
scores = soft_cap(scores, cap=50.0) # attention soft-capping
attn = softmax(scores)
# Gemma-2 final layer
logits = lm_head(hidden)
logits = soft_cap(logits, cap=30.0) # output soft-capping
问题 3:效率与全局依赖的平衡
方案:交替 Sliding Window / Full Attention
Layer 0: Sliding Window (w=4096) — 局部
Layer 1: Full Attention — 全局
Layer 2: Sliding Window (w=4096) — 局部
Layer 3: Full Attention — 全局
...
奇数层用 Full Attention 捕捉全局依赖,偶数层用 SWA 节省计算。Full Attention 层的信息会通过残差连接传播到 SWA 层,使 SWA 层也间接获得全局信息。
6.7 Jamba:Mamba-Attention Hybrid¶
动机:纯 Transformer 的 \(O(n^2)\) attention 在长序列上成本过高;纯 Mamba(SSM)缺乏全局"检索"能力(不能精确回忆很远处的具体内容)。
Jamba 的混合策略(以 Jamba 1.5 为例):
将层分为两类:
-
Mamba 层(大部分):使用 Mamba-2 的 SSD(State Space Duality)算法,\(O(n)\) 复杂度
-
Attention 层(少部分):标准 GQA,\(O(n^2)\) 复杂度但提供精确的全局检索
配比:每 8 层中,6 层 Mamba + 2 层 Attention(具体比例因版本而异)。
MoE 仅应用于 部分 Mamba 层的 FFN(不是所有层都用 MoE):
Layer 0: Mamba + Dense FFN
Layer 1: Mamba + MoE FFN (16 experts, top-2)
Layer 2: Mamba + Dense FFN
Layer 3: Attention + Dense FFN
Layer 4: Mamba + Dense FFN
Layer 5: Mamba + MoE FFN
Layer 6: Mamba + Dense FFN
Layer 7: Attention + Dense FFN
...
Jamba 1.5 Large 数据:
-
总参数 398B,激活 94B
-
9 Attention 层 + 其余为 Mamba-2 层(共 ~80 层)
-
上下文:256K tokens
-
16 experts, top-2
为什么没有更多模型跟进 Mamba-Attention 混合:
-
Mamba 的 CUDA kernel 优化远不如 FlashAttention 成熟
-
SSM 的训练并行化比 Attention 更难(Mamba 的 scan 操作本质上是序列的)
-
Mamba-2/SSD 部分解决了这一问题,但生态仍不如 Transformer 成熟
-
在 128K 以内的上下文长度,GQA + SWA + FlashAttention 已经足够高效
七、架构选择 Cheat Sheet¶
7.1 按规模推荐¶
7.2 2026 年的"默认配方"¶
如果你今天开始训练一个新模型,没有特殊需求,选这套:
config = {
"attention": "GQA",
"n_kv_heads": 8,
"norm": "RMSNorm",
"norm_position": "pre",
"activation": "SwiGLU",
"d_ff_ratio": 8/3, # d_ff = 8/3 * d_model, round to multiple of 256
"position_encoding": "RoPE",
"rope_theta": 500_000,
"vocab_size": "≥ 100K, BPE",
"bias": False, # 所有 Linear 层无 bias (LLaMA-3 风格)
"tie_embeddings": False, # 大模型不共享 input/output embedding
}
偏离这个配方的理由:
-
需要极致 KV 压缩 → MLA(但需要自研推理 kernel)
-
需要 4M+ 上下文 → 混入 Linear Attention 层
-
训练预算有限但要高质量 → MoE (128+ experts, top-8)
-
需要极低推理延迟 → MoE top-1 (LLaMA-4 风格) 或 Dense ≤ 14B
八、追问延伸¶
8.1 为什么 MLA 没有被 DeepSeek 以外的实验室广泛采用?¶
核心原因是工程 ROI:
-
GQA 的"足够好"效应:\(n_{kv}=4\) 的 GQA 已经提供 8x KV 压缩,实现成本极低(改一个参数就行)。MLA 提供 57x 压缩,但需要重写 attention kernel、修改推理框架、处理 absorption trick 与量化的兼容性。
-
生态成熟度:GQA 在 vLLM / TGI / TensorRT-LLM 中都有一等支持;MLA 的支持直到 2025 年底仍不完整。
-
训练复杂度:MLA 的低秩投影增加了梯度计算的复杂性,需要仔细调参。
预测:随着推理框架的 MLA 支持成熟,2026-2027 年可能有更多模型采用 MLA,尤其是在需要 256K+ 上下文的场景。
8.2 线性注意力已经成为主流了吗?¶
2025 年的转折点:Qwen3-Next 的 NeurIPS 2025 Best Paper + 80B 模型验证,标志着线性注意力从"实验性"变为"产品化":
-
已验证:Qwen3-Next 证明 75% 层用 DeltaNet + 25% 全 attention 的混合方案,在 1M 上下文时 RULER 91.8%,且推理吞吐量 10x 于纯 attention 模型
-
但不是全面替代:短序列 (<32K) 上全 attention 模型仍有质量优势;精确检索任务(NIAH)需要至少部分全 attention 层
-
共识方向:"混合注意力"(线性 + 全 + 稀疏)是 2026 年新模型的默认思路,不再是纯 attention 或纯 linear 的选择
8.3 NSA vs Sliding Window vs 线性注意力,哪个是长上下文的终极方案?¶
预测:这三者不互斥。未来 SOTA 模型可能同时使用:线性注意力层(大部分)+ NSA 式稀疏 attention(少数关键层)+ Sliding Window(过渡层)。
8.4 MoE + MLA + 稀疏/线性 Attention 之后,下一个架构创新是什么?¶
-
Native Multimodal Architecture:不是在 LLM 上接 vision encoder,而是从第一层就处理多模态 token(Chameleon / Gemini 方向)。
-
Test-Time Compute Scaling:不改架构本身,而是在推理时通过 CoT / Tree Search 动态分配计算量(DeepSeek-R1 / o1 方向)。
-
超极致稀疏 MoE:Qwen3-Next 512 experts / top-10 (51x) 还不是极限——理论上可以 1024+ experts 配合更精确的路由。
-
Hardware-Software Co-design:为特定硬件(Groq LPU、Cerebras WSE、Google TPU)设计的非标准架构。
参考文献¶
-
Brown, T. et al. "Language Models are Few-Shot Learners" (GPT-3), 2020. arXiv:2005.14165
-
Touvron, H. et al. "LLaMA: Open and Efficient Foundation Language Models", 2023. arXiv:2302.13971
-
Touvron, H. et al. "Llama 2: Open Foundation and Fine-Tuned Chat Models", 2023. arXiv:2307.09288
-
Dubey, A. et al. "The Llama 3 Herd of Models", 2024. arXiv:2407.21783
-
Meta. "Llama 4: Maverick and Scout", 2025. Blog
-
Jiang, A. et al. "Mistral 7B", 2023. arXiv:2310.06825
-
Jiang, A. et al. "Mixtral of Experts", 2024. arXiv:2401.04088
-
DeepSeek-AI. "DeepSeek-V2: A Strong, Economical, and Efficient Mixture-of-Experts Language Model", 2024. arXiv:2405.04434
-
DeepSeek-AI. "DeepSeek-V3 Technical Report", 2024. arXiv:2412.19437
-
DeepSeek-AI. "DeepSeek-R1: Incentivizing Reasoning Capability in LLMs via Reinforcement Learning", 2025. arXiv:2501.12948
-
Team, Gemma et al. "Gemma 2: Improving Open Language Models at a Practical Size", 2024. arXiv:2408.00118
-
Yang, A. et al. "Qwen2 Technical Report", 2024. arXiv:2407.10671
-
Qwen Team. "Qwen2.5 Technical Report", 2025. arXiv:2501.15451
-
Qwen Team. "Qwen3 Technical Report", 2025. arXiv:2505.09388
-
01.AI. "Yi: Open Foundation Models by 01.AI", 2024. arXiv:2403.04652
-
Cai, Z. et al. "InternLM2 Technical Report", 2024. arXiv:2403.17297
-
Abdin, M. et al. "Phi-3 Technical Report", 2024. arXiv:2404.14219
-
Abdin, M. et al. "Phi-4 Technical Report", 2024. arXiv:2412.08905
-
MiniMax. "MiniMax-01: Scaling Foundation Models with Lightning Attention", 2025. arXiv:2501.08313
-
xAI. "Grok-1", 2024. Blog
-
Databricks. "Introducing DBRX: A New State-of-the-Art Open LLM", 2024. arXiv:2404.14219
-
Lieber, O. et al. "Jamba: A Hybrid Transformer-Mamba Language Model", 2024. arXiv:2403.19887
-
Lieber, O. et al. "Jamba-1.5: Hybrid Transformer-Mamba Models at Scale", 2024. arXiv:2408.12570
-
Snowflake. "Snowflake Arctic: The Best LLM for Enterprise AI — Efficiently Intelligent, Truly Open", 2024. Blog
-
Ainslie, J. et al. "GQA: Training Generalized Multi-Query Transformer Models from Multi-Head Checkpoints", 2023. arXiv:2305.13245
-
Su, J. et al. "RoFormer: Enhanced Transformer with Rotary Position Embedding", 2021. arXiv:2104.09864
-
Shazeer, N. "GLU Variants Improve Transformer", 2020. arXiv:2002.05202
-
Zhang, B. & Sennrich, R. "Root Mean Square Layer Normalization", 2019. arXiv:1910.07467
-
Moonshot AI. "Kimi K2: Open Agentic Intelligence", 2025. arXiv:2507.20534
-
DeepSeek-AI. "Native Sparse Attention: Hardware-Aligned and Natively Trainable Sparse Attention", 2025. arXiv:2502.11089
-
Qiu, Z. et al. "Gated Attention for Large Language Models" (NeurIPS 2025 Best Paper), 2025. arXiv:2505.06708
-
Qwen Team. "Qwen3-Next-80B-A3B: Hybrid Linear-Attention MoE", 2025. HuggingFace
-
Yang, S. et al. "Gated Delta Networks with Softmax Attention", 2024. arXiv:2412.06464
↑ 上级 · A. 基础理论