现代 LLM 的 Attention 变体全景:从 MHA 到混合架构

2026/4/5
深度学习LLMAttentionTransformer架构设计

为什么 Attention 变体突然变多了

2017 年 Transformer 论文定义了 Multi-Head Attention (MHA),此后五年基本没人动它。变化从 2023 年开始——模型规模到了 70B+、上下文长度从 4K 涨到 128K 甚至 1M,KV cache 的内存开销成了推理的真正瓶颈

以 Llama 3 70B 为例,128K 上下文的 KV cache 需要约 32GB 显存——光缓存就快赶上模型权重了。Attention 变体的核心驱动力就是:在尽量不损失建模质量的前提下,降低推理时 KV cache 的开销

本文梳理了当前主流开源模型中实际使用的 7 种 Attention 变体,每种都回答三个问题:它改了什么、为什么有效、谁在用。

本文主要参考 Sebastian Raschka 的 A Visual Guide to Attention Variants in Modern LLMs 及其 LLM Architecture Gallery,结合各模型论文的消融实验进行分析。


1. Multi-Head Attention (MHA) — 经典标准

核心机制:每个 query head 有独立的 key 和 value 投影。

输入 X → 8 组 (Wq, Wk, Wv) → 8 个独立的 attention head → 拼接 → Wo 输出

每个 head 可以学到不同的 token 关系模式:一个关注局部依赖,一个关注语义关联,一个关注句法结构。8 个 head 并行运行,各算各的 attention 矩阵,最后拼接。

问题在哪:推理时每个 token 的 KV 状态都要缓存。如果模型有 8 个 KV head、每个 head 维度 128,那每个 token 的 KV cache 就是 8 × 128 × 2 × 2 bytes (bf16) = 4KB。看起来不多,但乘以 128K tokens 就是 512MB——每层。一个 32 层的模型就是 16GB,光 KV cache 就比小模型的权重还大。

使用者:GPT-2、OLMo 2、OLMo 3

MHA 在建模质量上是最优的(每个 head 有独立完整的 KV 表征),但在推理效率上代价最高。后续所有变体都是在 “建模质量 vs 推理效率” 这个轴上做取舍。


2. Grouped-Query Attention (GQA) — 新标准

核心改动:多个 query head 共享同一组 key-value 投影。

MHA:  8 query heads → 8 组 KV(每组独立)
GQA:  8 query heads → 2 组 KV(4 个 query 共享 1 组 KV)
MQA:  8 query heads → 1 组 KV(全部共享)

GQA 是 MHA 和 MQA (Multi-Query Attention) 之间的折中。Llama 2 用 MHA,Llama 3 切到了 GQA(8 个 KV head 对 32 个 query head,4:1 共享)。

为什么有效:KV cache 直接缩减到 MHA 的 GKV/GQ。Llama 3 8B 的 KV cache 是 MHA 的 1/4,上下文越长收益越大。而建模质量的损失很小——消融实验表明,适度的 KV head 共享对 perplexity 影响在 1-2% 以内。

关键洞察(来自 Raschka):

GQA is a spectrum. The sweet spot is usually somewhere in between multi-query attention (1 shared group) and MHA (where K/V groups equal the number of queries).

使用者:Llama 3、Qwen3、Gemma 3、Mistral Small 3.1、SmolLM3 — 几乎所有 2024-2025 年的主流 Dense 模型。Llama 4 Maverick、Qwen3 235B-A22B 等 MoE 模型也用 GQA。

GQA 已经成为 MHA 的实际替代品。实现简单、调参少、效果好。Raschka 提到 MiniMax M2.5 和 Nanbeige 4.1 等新模型仍然只用 GQA,不加其他花哨优化——简单可靠。


3. Multi-head Latent Attention (MLA) — 压缩缓存

核心改动:不减少 KV head 数量,而是缓存一个压缩后的潜在表示,需要时再解压。

GQA:  减少 KV head 数量(从 8 组减到 2 组)
MLA:  保持 head 数量,但缓存压缩后的 latent(维度远小于完整 KV)
      推理时: latent → 上投影 → 恢复 KV → 正常 attention

MLA 的思路来自 DeepSeek-V2。本质上是把 cache 压缩嵌入到 attention 机制内部——用一个低秩投影矩阵把 KV 压缩到 latent space,缓存只存 latent。

为什么比 GQA 好:DeepSeek-V2 的消融实验显示,在相同 KV cache 大小下,MLA 的建模质量优于 GQA,甚至略优于 MHA。这是 MLA 的杀手锏——它不只是”也省内存”,而是在省内存的同时保持甚至提升质量。

但 MLA 的实现复杂度显著高于 GQA:

  • 需要额外的上/下投影矩阵
  • 解压步骤增加了计算开销
  • 推理框架需要专门支持

Raschka 的观察

Colleagues told me that MLA only works well at a certain size. For smaller models, let’s say <100B, GQA seems to work better, or, is at least easier to tune and get right.

一个有趣的对比案例是 Sarvam:同一个团队发布了 30B(用 GQA)和 105B(用 MLA)两个模型。这不是理论对比,而是实践者自己做了两边之后,按模型规模选了不同方案。

使用者:DeepSeek V3、Kimi K2、GLM-5、Ling 2.5、Mistral Large 3、Sarvam 105B


4. Sliding Window Attention (SWA) — 局部注意力

核心改动:限制每个 token 只能 attend 到固定窗口内的前文,而非全部历史。

标准 Attention:  token t → attend to [0, t]  全部前文
SWA:            token t → attend to [t-W, t]  最近 W 个 token

窗口大小 W 是关键参数。Gemma 2 用 4096,Gemma 3 缩到 1024 但配合更激进的局部/全局层比例(5:1)。

不是完全替代:说一个模型”用 SWA”并不意味着所有层都是局部的。关键配置是 local-to-global 层比例

模型局部:全局窗口大小
Gemma 35:11024
OLMo 3 32B3:1-
Xiaomi MiMo-V25:1128

Xiaomi 用 128 的窗口大小非常激进——每个 token 只看前 128 个。但配合 5:1 比例(每 6 层有 1 层是全局 attention),信息仍然能通过全局层传播到整个序列。

Gemma 3 的关键发现:更激进的 SWA 配置(5:1 + 1024 窗口)只带来轻微的建模质量下降。这意味着大部分 attention 计算确实花在了不太重要的远距离 token 上。

与 GQA 的互补关系:SWA 减少每层需要考虑的上下文量,GQA 减少 token 对 cache 的贡献。两者解决推理瓶颈的不同侧面,经常一起出现。

使用者:Gemma 3、OLMo 3、Xiaomi MiMo-V2、Arcee Trinity、Step 3.5 Flash


5. DeepSeek Sparse Attention — 学习型稀疏模式

核心改动:不硬编码局部窗口,而是让模型自己学哪些前文 token 值得关注

SWA:    固定窗口 [t-W, t]  → 硬编码局部性
DSA:    学习相关性分数 → top-k 选择 → 只 attend 被选中的 token

两阶段工作流程:

  1. Lightning Indexer:利用 MLA 的压缩表征,对每个 query token 计算与前文所有 token 的相关性分数
  2. Token Selector:只保留 top-k 高分位置,形成稀疏 attention mask

与 SWA 的本质区别:SWA 假设”近的 token 更重要”,DSA 让模型自己决定——可能跳过 1000 个不相关的 token,关注 5000 个 token 前的某个关键信息。

DeepSeek V3.2 把 MLA 和 DSA 配合使用:MLA 压缩缓存表征,DSA 优化 attention 模式。一个优化缓存表示,一个优化注意力选择,解决推理瓶颈的两个维度。

现状:DSA 相对较新且实现复杂,采用还不广泛。GLM-5 是第二个使用的模型。

使用者:DeepSeek V3.2、GLM-5


6. Gated Attention — 稳定化的全注意力

核心改动:在标准 scaled dot-product attention 基础上加入门控和归一化,提高混合架构中全注意力层的稳定性。

不是全新的 attention 机制,而是在保留的全注意力层上做了三个调整:

  1. 输出门控:attention 结果在加回残差前先过一个 gate,控制信息流
  2. 零中心 QK-Norm:替代标准 RMSNorm,防止 attention score 偏移
  3. Partial RoPE:只对部分维度应用旋转位置编码

为什么需要:在混合架构(如 Qwen3-Next 的 3:1 DeltaNet/Attention 混合)中,偶尔出现的全注意力层容易不稳定。Gated Attention 让这些层更可控。

使用者:Qwen3-Next、Qwen3.5、Arcee Trinity


7. 混合架构 (Hybrid Attention) — 未来方向

核心模式:大部分层用廉价的线性/状态空间模块,少数层保留全注意力做精确检索。

传统 Transformer:  [Attn] [Attn] [Attn] [Attn] [Attn] [Attn]  ← 全是 attention
混合架构:          [Delta] [Delta] [Delta] [Attn] [Delta] [Delta] [Delta] [Attn]
                   ↑ 廉价的序列建模         ↑ 少量精确检索层

为什么:Full attention 对序列长度是 O(T²) 的。128K 上下文时,大部分层的 attention 矩阵大到不实用。但完全去掉 attention 又会损害精确检索能力。混合架构是折中——大部分工作由廉价模块完成,偶尔用 attention 做精确回忆。

当前实例

模型廉价模块重型模块比例
Qwen3-Next / Qwen3.5Gated DeltaNetGated Attention3:1
Kimi LinearKimi Delta AttentionGated MLA3:1
Ling 2.5Lightning AttentionMLA混合
Nemotron 3Mamba-2稀疏 MoE + 少量 Attention激进混合

Gated DeltaNet 的工作方式:不是 token-to-token 的 attention 矩阵,而是维护一个小的 fast-weight memory,用 delta rule 更新。两个 gate(α, β)控制新信息写入和旧状态保留。本质上是一个线性时间的循环模块。

关键趋势:Qwen3.5 把 Qwen3-Next 的混合架构推进了主线产品线——这信号很强,说明团队认为混合策略已经成熟。

Raschka 的个人判断

Hybrid architectures are still a novelty, and the main selling point is mainly (long-context) efficiency versus just modeling performance. Hence, I think they are a great candidate for agent contexts (like OpenClaw).

Personally, I think the problem with hybrid architectures is also that the inference stacks are not quite as optimized, yet, and I find that I get better tok/sec throughput when running LLMs locally using more classic setups with grouped-query attention.


全景对比

变体优化目标实现复杂度适用规模代表模型
MHA建模质量最优最低小模型GPT-2, OLMo 2/3
GQA减少 KV head 数量通用Llama 3, Qwen3, Gemma 3
MLA压缩 KV 缓存100B+DeepSeek V3, Kimi K2, GLM-5
SWA限制 attention 范围通用Gemma 3, OLMo 3
DSA学习稀疏 attention很高大模型DeepSeek V3.2, GLM-5
Gated Attn稳定化全注意力混合架构Qwen3.5, Trinity
Hybrid长上下文效率最高前沿Qwen3.5, Kimi Linear, Ling 2.5

选模型时 Attention 架构意味着什么

上面这些变体是模型训练时的设计选择。对于做私有部署的人来说,你不需要在它们之间做取舍——你只需要理解,选定的开源模型用了什么 attention,对你的部署有什么实际影响

影响主要在两个维度:

1. 显存:上下文越长,KV cache 差异越大

同样 70B 级别的模型,128K 上下文的 KV cache 开销可以差几倍:

模型Attention 类型KV cache 大小(128K ctx, bf16)说明
OLMo 3 7BMHA较大每个 head 独立 KV
Llama 3 8BGQA (4:1)~1/4 MHA最主流,vLLM/SGLang 支持最好
Qwen3 4BGQA~1/4 MHA同上
DeepSeek V3 671BMLA远小于同规模 MHA但模型本身太大,不适合单机
Gemma 3 27BGQA + SWA更小(SWA 层只缓存窗口内)长上下文优势明显

实际意义:如果你的任务需要 32K+ 上下文(RAG、长文档分析),模型的 attention 类型直接影响你需要多少张卡。GQA 模型在同等上下文下显存压力小得多。

2. 推理框架兼容性

Attention 类型vLLMSGLangllama.cppOllama
MHA
GQA
MLA✅ (较新版本)✅ (较新版本)⚠️ 有限⚠️ 有限
SWA
Gated DeltaNet / Hybrid❌ 或有限❌ 或有限

实际意义:选 GQA 模型(如 Qwen3、Llama 3)意味着所有主流推理框架都能用,生态成熟。选 MLA 或混合架构的模型,可能需要用特定的推理引擎,或者等框架更新。

简单决策

  1. 大多数文本类任务(RAG、对话、文档处理)→ 选 GQA 模型(Qwen3、Llama 3),生态最成熟,4×L40S 就能跑 70B 量化
  2. 需要超长上下文(128K+)且对精度敏感→ 选带 SWA 的 GQA 模型(Gemma 3),或 MLA 模型(DeepSeek V3 量化版),注意框架兼容性
  3. 追求最前沿的推理效率→ 关注混合架构(Qwen3.5、Kimi Linear),但推理栈还在成熟中,生产环境慎用

展望:Mamba-3 刚发布,可能替代混合架构中的 Gated DeltaNet;Attention Residuals 也值得关注。DeepSeek V4 的架构选择会是下一个风向标。


参考来源

📝 文章反馈