Post

五次排除实验定位 Attention 门控最优解:Sink 无效、RoPE 反噬、小窗口翻车

五次排除实验定位 Attention 门控最优解:Sink 无效、RoPE 反噬、小窗口翻车

开场:一个 3B 模型的 Attention 选型决策

某 3B 端侧模型的架构选型阶段,团队在 Attention 机制上做了 5 轮排除实验。最终结论只有一句话——SWA512 + Elementwise Gated Attention——但排除过程中暴露的反直觉现象,几乎打翻了所有先验假设:

实验预期实际
Sink Token + LowRank Gated应该强于单独 Sink仅 +0.001,机制重叠
SWA128 vs SWA512小窗口 loss 更高小窗口 loss 更但评测掉了 2.3%
SWA + Hybrid RoPE长文应该更好短文 -0.002 但长文 +0.004 反噬
Head Gated vs Elementwise Gated参数更多应该更好Head Gated (1.988) 弱于 Elementwise (1.986)
LowRank Gated + Hybrid RoPE正交收益叠加确实叠加 (-0.005 额外收益)

这篇文章先复盘这 5 次实验,然后把 Attention 变体的全景演进铺开——从 Vanilla MHA 到 2024-2026 的 MLA、Differential Attention、Native Sparse,指出哪些是主流路线、哪些已经被淘汰。


Part 1:五次排除实验的完整数据

实验 1:Gated Attention 变体全面对比

基线:某 3B 模型 + SWA512(loss 1.997@400B)

方案loss @400Bvs baseline
SWA512 (no gate)1.997
SWA512 + Sink Token1.992-0.005
SWA512 + LowRank Gated1.989-0.008
SWA512 + Head Gated1.988-0.009
SWA512 + LowRank128 + Sink1.991-0.006
SWA512 + Elementwise Gated1.986-0.011

关键发现:Sink Token + LowRank Gated 组合(1.991)反而弱于 LowRank 单独(1.989)。

为什么组合无效?因为两者解决的是同一个问题的两种策略:

  • Sink Token:给 attention 一个”垃圾桶”,当 query 找不到 relevant key 时,权重集中在 sink 上,避免被迫分散到无关 token
  • Gated Attention:对 attention 输出做门控过滤,当信息质量差时 gate 接近 0,直接抑制

两者都在处理 “irrelevant attention weight” 问题。叠加后互相抢功——Sink 吸收了低质量权重,Gate 就没什么可过滤的了。

实验 2:SWA128 vs SWA512 — Loss 最优 ≠ 评测最优

指标SWA128 + ElementwiseSWA512 + Elementwise
loss @400B1.9721.975
gsm8k0.19480.1820
mmlu0.40800.4387
bbh0.38520.3899
ceval0.37370.4465
平均0.36800.3914

SWA128 loss 更低 0.003,但评测反而掉了 2.3%

根因:小窗口让模型过度拟合局部 pattern(n-gram 预测),在 perplexity 上表现更好,但丧失了跨句/跨段落的全局理解能力。mmlu 和 ceval 这类需要长距离推理的任务直接暴露了这个问题。

教训:Pretraining loss 不是充分指标。SWA 窗口大小必须在下游评测上验证。

实验 3:SWA + Hybrid RoPE — 短文有效但长文反噬

场景SWA + Hybrid RoPE vs baseline + Hybrid RoPE
短文 PT-0.002(SWA 更好)
长文 FD+0.004(SWA 更差)

机制解释:Hybrid RoPE 的核心价值是让部分 attention 维度不带位置编码,实现纯 content-based 的长距离匹配。但 SWA 把这些维度的感受野截断在窗口内——content-based matching 没有长距离信息可以匹配了。

短文场景窗口够用,所以有微弱收益;长文场景窗口成为瓶颈,Hybrid RoPE 的优势被彻底抵消,反而因为额外的非位置编码维度带来了学习困难。

实验 4:Elementwise Gated vs Head Gated vs LowRank Gated

三种 Gated Attention 的设计差异:

graph TD
    subgraph "Head Gated"
        A1[Attention Output<br/>shape: H×d_head] --> B1[Per-head scalar gate<br/>H parameters]
        B1 --> C1[Gated output]
    end
    subgraph "Elementwise Gated"
        A2[Attention Output<br/>shape: H×d_head] --> B2[Per-dimension sigmoid<br/>H×d_head parameters]
        B2 --> C2[Gated output]
    end
    subgraph "LowRank Gated"
        A3[Attention Output<br/>shape: H×d_head] --> B3[Project to rank-r<br/>then expand back]
        B3 --> C3[Gated output]
    end
变体参数量loss @400B评测平均
Head GatedH=20 参数1.988
LowRank Gated (r=128)2×H×d×r1.9890.3864
Elementwise GatedH×d_head1.9860.3914

Elementwise Gated 胜出的原因:粒度恰好。Head Gated 太粗(一个 head 要么全过要么全关),LowRank 太绕(先压缩再展开,引入信息损失)。Elementwise 直接在每个维度上做独立的 sigmoid 门控,让模型自行决定哪些维度的 attention 信息有价值。

实验 5:LowRank Gated + Hybrid RoPE 的正交叠加

在 LowRank Gated 基础上加入 Hybrid RoPE:额外降低 0.005 loss

这是唯一一个叠加有效的实验。原因:LowRank Gated 处理的是 “attention 输出质量过滤”,Hybrid RoPE 处理的是 “位置编码的长距离适应性”——两者真正正交。

最终选型结论

graph LR
    A[SWA512] --> B{门控选择}
    B -->|最优 loss + eval| C[Elementwise Gated]
    B -->|推理任务偏好| D[LowRank Gated]
    C --> E{位置编码}
    D --> E
    E -->|短文为主| F[标准 RoPE]
    E -->|长文需求| G[+ Hybrid RoPE]
    F --> H[最终方案:<br/>SWA512 + Elementwise Gated]
    G --> I[长文方案:<br/>SWA512 + LowRank128 + Hybrid RoPE]

Part 2:Attention 变体全景演进

2.1 从 MHA 到 GQA/MQA:KV Cache 压缩的第一轴

graph LR
    A["MHA<br/>(2017, Transformer)"] -->|"H个独立KV head<br/>KV大小=H×d"| B["MQA<br/>(2019, Shazeer)"]
    B -->|"极端:1个KV head<br/>质量退化明显"| C["GQA<br/>(2023, Ainslie)"]
    C -->|"折中:G个KV group<br/>4-8 groups 主流"| D["MLA<br/>(2024, DeepSeek-V2)"]
    D -->|"低秩 KV 投影<br/>压缩到 c_kv 维"| E["CSA<br/>(2025, DeepSeek-V4)"]
    E -->|"Token 轴 block 聚合<br/>双轴正交压缩"| F["SwiftKV<br/>(2024)"]
    A -->|"跨层KV预测<br/>消除冗余层"| F

    style A fill:#e1f5fe
    style C fill:#c8e6c9
    style D fill:#c8e6c9
    style E fill:#fff9c4

主流路线(2025-2026 生产部署):

  • GQA (4-8 groups):绝大多数 1B-70B 模型的标配(Llama 3, Qwen3, Gemma 3)
  • MLA:DeepSeek 系列独家,KV cache 压缩率最高但实现复杂
  • CSA + MLA:DeepSeek-V4 的 token×head 双轴压缩,1M context 下 90% KV 缩减

已淘汰

  • MQA:质量退化过大,几乎所有模型都转向了 GQA
  • 纯 MHA:只在教学/小规模实验中使用

2.2 从 Full Attention 到 Sparse/Local:计算复杂度优化

graph TD
    A["Full Attention O(n²)<br/>(2017)"] --> B["Sparse Transformer<br/>(2019, Child et al.)"]
    A --> C["Longformer<br/>(2020, local+global)"]
    A --> D["Flash Attention<br/>(2022, IO-aware exact)"]
    
    B --> E["BigBird<br/>(2020, random+local+global)"]
    C --> F["SWA<br/>(2023, Mistral)"]
    
    F --> G["SWA + Full 交替<br/>(Mistral/Gemma 主流)"]
    D --> H["Flash Attention 2/3<br/>(2023-2024, 标配)"]
    
    E --> I["训练时稀疏<br/>(2025, InfLLM v2)"]
    I --> J["Native Sparse<br/>81% sparsity, -0.48pt, 7x加速"]
    
    G --> K["Hybrid SWA<br/>local层SWA + global层Full"]

    style D fill:#c8e6c9
    style G fill:#c8e6c9
    style H fill:#c8e6c9
    style J fill:#fff9c4

主流路线

  • Flash Attention 2/3:所有生产模型的基础设施,不是”变体”而是”实现”
  • SWA + Full 交替 (Hybrid SWA):Mistral、Gemma 3 等多个主流模型都用此方案。典型配置:奇数层 SWA (w=512-4096),偶数层 Full Attention
  • Native Sparse (训练时稀疏):MiniCPM4/InfLLM v2 路线,81% sparsity 仅掉 0.48 分但加速 7x,2025-2026 最前沿

已淘汰/小众

  • BigBird/Longformer:random attention pattern 在 LLM 中不适用
  • Linear Attention (Performers, RWKV 早期):质量差距过大,主流模型未采用
  • Sparse Transformer (fixed stride):被 learned sparsity 取代

2.3 位置编码演进:从 Sinusoidal 到 Hybrid RoPE

graph LR
    A["Sinusoidal PE<br/>(2017, 固定)"] --> B["Learned PE<br/>(GPT-2, 可学习)"]
    B --> C["ALiBi<br/>(2022, attention bias)"]
    B --> D["RoPE<br/>(2022, Su et al.)"]
    
    D --> E["NTK-aware RoPE<br/>(2023, 长度扩展)"]
    E --> F["YaRN<br/>(2023, 温度+NTK)"]
    D --> G["Hybrid RoPE<br/>(2024, 部分维度无位置)"]
    D --> H["NoPE layers<br/>(2024, SWA层不加RoPE)"]
    
    G --> I["Content-based<br/>长距离匹配"]
    H --> J["与SWA配合<br/>局部层不需位置"]

    style D fill:#c8e6c9
    style E fill:#c8e6c9
    style G fill:#fff9c4
    style H fill:#fff9c4

主流路线

  • RoPE:绝对主流,几乎所有 2023+ 模型的标配
  • NTK-aware / YaRN 扩展:长上下文 (4K→128K+) 的标准做法
  • Hybrid RoPE + NoPE:前沿方向,部分维度不带位置编码以支持纯内容匹配

已淘汰

  • Sinusoidal PE:只在教学中出现
  • ALiBi:曾短暂流行(Bloom),但 RoPE 全面取代
  • Learned PE:外推能力差,不适合变长序列

2.4 Attention 输出处理:从 Vanilla 到 Gated/Differential

graph TD
    A["Vanilla Attention<br/>softmax(QK/√d)V"] --> B["Multi-Head Attention<br/>(2017)"]
    B --> C["Attention Sink<br/>(2023, 虚拟token吸收)"]
    B --> D["Gated Attention<br/>(2024, 输出门控)"]
    B --> E["Differential Attention<br/>(2024, Microsoft)"]
    
    D --> F["Head Gated<br/>(per-head scalar)"]
    D --> G["Elementwise Gated<br/>(per-dim sigmoid)"]
    D --> H["LowRank Gated<br/>(bottleneck gate)"]
    
    E --> I["双 softmax 做差<br/>消除噪声 attention"]
    C --> J["与 Gated 机制重叠<br/>组合无额外收益"]

    G -.->|"我们的实验结论"| K["最优选择"]
    
    style G fill:#c8e6c9
    style E fill:#fff9c4
    style K fill:#c8e6c9

主流路线

  • Elementwise Gated Attention:我们的实验验证为最优,Gemma 3 也采用类似机制
  • Differential Attention:Microsoft 提出,两组 attention 做差消除噪声,理论优雅但工程落地案例有限

已证明无效/冗余

  • Sink Token + Gated 组合:我们的实验证明机制重叠,组合无收益
  • Head Gated:粒度太粗,不如 Elementwise

2.5 深度方向的 Attention:Residual 创新

graph LR
    A["标准残差<br/>h_l = h_{l-1} + f(h_{l-1})"] --> B["Pre-Norm<br/>(2020, 训练稳定性)"]
    B --> C["Value Residual<br/>(2024, V跨层共享)"]
    B --> D["Attention Residuals<br/>(2024, Kimi)"]
    B --> E["Hyperloop<br/>(2025, 循环+门控)"]
    
    D --> F["Full AttnRes<br/>O(L²d), loss -0.025"]
    D --> G["Block AttnRes<br/>分块, +14% overhead"]
    
    E --> H["Loop Gate<br/>35K params > 7.5M LoRA"]

    style B fill:#c8e6c9
    style G fill:#c8e6c9
    style E fill:#fff9c4

主流路线

  • Pre-Norm + 标准残差:绝对主流
  • Block Attention Residuals:Kimi 系列验证 loss -0.025,已有 Triton kernel 实现(我们验证 +14% overhead 可接受)

前沿/待验证

  • Hyperloop (循环 Transformer):3 loops 最优,Loop Gate 35K 参数击败 7.5M LoRA
  • Value Residual:收益小于 Attention Residuals,但实现更简单

Part 3:2024-2026 Attention 技术栈的选型决策树

面对一个新模型的 Attention 选型,以下是基于我们实验和行业实践的推荐决策流程:

graph TD
    START[新模型 Attention 选型] --> Q1{模型规模?}
    
    Q1 -->|"<3B 端侧"| A1[GQA 4-8 groups<br/>+ SWA512 hybrid<br/>+ Elementwise Gated]
    Q1 -->|"3B-14B"| A2[GQA 4-8 groups<br/>+ Flash Attention<br/>± SWA hybrid]
    Q1 -->|">14B / MoE"| A3[MLA 或 GQA<br/>+ Flash Attention<br/>+ Native Sparse 可选]
    
    A1 --> Q2{长文需求?}
    A2 --> Q2
    A3 --> Q2
    
    Q2 -->|"<8K"| B1[标准 RoPE]
    Q2 -->|"8K-128K"| B2[RoPE + YaRN 扩展<br/>+ Hybrid RoPE]
    Q2 -->|">128K"| B3[RoPE + NTK<br/>+ Native Sparse<br/>+ CSA token压缩]
    
    B1 --> Q3{推理预算?}
    B2 --> Q3
    B3 --> Q3
    
    Q3 -->|"不限"| C1[Full attention 全层]
    Q3 -->|"端侧受限"| C2[SwiftKV 跨层预测<br/>+ Block AttnRes]
    Q3 -->|"极致压缩"| C3[SwiftKV + CSA<br/>90% KV 压缩]

选型原则总结

原则解释我们的实验验证
Loss ≠ 评测小窗口/局部优化能降 loss 但伤全局理解SWA128 loss -0.003 但 eval -2.3%
正交才能叠加解决同一问题的两个机制叠加无效Sink + Gated = 0.001 收益
粒度决定效果门控粒度太粗或太细都不好Elementwise > Head > LowRank
位置编码要匹配感受野无位置维度需要全局感受野支撑Hybrid RoPE + SWA = 长文反噬
训练时引入 > 后验近似推理时的稀疏/压缩,训练时就要学Native Sparse 0.48pt vs post-hoc 2-5pt

Part 4:主流模型的 Attention 配置对照

模型 (2024-2026)KV 压缩窗口策略位置编码门控/特殊机制
Llama 3 (8B/70B)GQA 8 groupsFull attentionRoPE
Qwen 3 (0.6B-235B)GQA 4-8 groupsFull attentionRoPEThinking mode
Gemma 3 (1B-27B)GQA + SWA hybridlocal/global 交替RoPEPer-layer embedding
Mistral (7B-Large)GQA + SWASWA w=4096RoPE
DeepSeek-V3/V4MLAFull + CSARoPENative Sparse
MiniCPM4GQAFull + InfLLM v2RoPE训练时 81% sparse
Kimi (Moonshot)GQAFullRoPEBlock AttnRes
某 3B 端侧模型 (ours)GQA 4 groups + SwiftKVSWA512 hybridRoPE + NoPEElementwise Gated

可以看到:

  1. GQA 是绝对共识——没有 2024+ 模型用 MHA/MQA
  2. SWA hybrid 是端侧/长文趋势——Gemma、Mistral、我们都用
  3. MLA 是 DeepSeek 独家——效果最好但工程实现复杂
  4. Gated Attention 还未成为行业标配——但 Gemma 3 和我们的实验都证明有效

写在最后

Attention 机制的演进不是线性的”一代比一代好”,而是多个正交轴上各自推进:

  • KV 压缩轴:MHA → GQA → MLA → CSA(越来越小的 KV cache)
  • 计算复杂度轴:O(n²) → Flash IO-aware → SWA hybrid → Native Sparse(越来越快)
  • 位置编码轴:固定 → 旋转 → 扩展 → 部分无位置(越来越灵活)
  • 输出质量轴:Vanilla → Sink → Gated → Differential(越来越 selective)
  • 深度连接轴:标准残差 → Value Residual → Attention Residuals(越来越 expressive)

选型的核心不是”用最新的”,而是在正交轴上各选一个适合部署场景的方案,然后验证它们真的正交(组合有效)。我们的五次实验反复证明:看起来正交的组合(Sink+Gated)可能是重叠的,看起来有效的优化(小窗口降 loss)可能在评测上翻车。

唯一可靠的方法是:每个组合都要在下游评测上验证,不能只看 loss。


参考文献

  • [1] Vaswani et al. “Attention Is All You Need”, NeurIPS 2017
  • [2] Shazeer, “Fast Transformer Decoding: One Write-Head is All You Need”, 2019 (MQA)
  • [3] Ainslie et al. “GQA: Training Generalized Multi-Query Transformer Models”, EMNLP 2023
  • [4] DeepSeek-V2 Technical Report, 2024 — MLA architecture
  • [5] DeepSeek-V4 Technical Report, 2026 — CSA token-axis compression
  • [6] Dao, “FlashAttention-2: Faster Attention with Better Parallelism”, 2023
  • [7] Jiang et al. “Mistral 7B”, 2023 — SWA in production
  • [8] Gemma 3 Technical Report, Google, 2025
  • [9] Ye et al. “Differential Transformer”, Microsoft, 2024
  • [10] Kimi Attention Residuals, Moonshot AI, 2024
  • [11] MiniCPM4, OpenBMB, arXiv:2506.07900 — InfLLM v2 训练时稀疏
  • [12] Su et al. “RoFormer: Enhanced Transformer with Rotary Position Embedding”, 2022

核心结论:Attention 选型不是追新,而是在 5 个正交轴(KV 压缩、计算复杂度、位置编码、输出质量、深度连接)上各选一个与部署场景匹配的方案,然后用下游评测验证组合的正交性。我们的教训:Sink+Gated 不正交,SWA+Hybrid RoPE 在长文冲突,小窗口低 loss 是假信号。

This post is licensed under CC BY 4.0 by the author.