大模型注意力机制进化史:从全局到稀疏,从标准到线性、滑动窗口、MQA……

🔍 大模型注意力机制进化史:从全局到稀疏,从标准到线性、滑动窗口、MQA......

更新时间:2026年1月12日

如果你关注大模型(LLM)的发展,一定听过这些术语:

  • "上下文长度突破 128K!"
  • "推理速度提升 3 倍!"
  • "显存占用降低 50%!"

而这些突破的背后,往往离不开一个核心组件的革新------注意力机制(Attention Mechanism)

从 2017 年 Transformer 提出 标准自注意力(Vanilla Self-Attention) 开始,研究者们不断对其进行优化,以解决其计算复杂度高、显存占用大、长文本建模弱等痛点。

今天,我们就系统梳理当前主流的大模型注意力变体,包括:

  • ✅ 标准多头注意力(MHA)
  • ✅ 滑动窗口注意力(Sliding Window / Local Attention)
  • ✅ 稀疏注意力(Sparse Attention)
  • ✅ 多查询注意力(MQA)与分组查询注意力(GQA)
  • ✅ 线性注意力(Linear Attention)
  • ✅ 旋转位置编码(RoPE)如何与注意力协同工作

并深入解析它们的原理、优劣与典型应用模型,助你读懂论文、选对架构、优化部署!


🧠 一、起点:标准自注意力(Vanilla Self-Attention)

回顾公式

对于输入序列 X∈Rn×dX∈Rn×d ,标准注意力计算如下:

其中:

  • n = 序列长度, d = 隐藏维度

⚠️ 问题在哪?

  • 时间复杂度: O(n^2) ------ 序列越长,计算爆炸
  • 空间复杂度: O(n^2)------ 注意力矩阵占显存(128K 长度需 ~64GB 显存!)
  • 长程依赖建模效率低:并非所有 token 对都重要

💡 举例:在写一篇万字论文时,第 1 段和第 10000 段几乎无关,但标准注意力仍会计算它们的关联分数------浪费算力

于是,各种"注意力瘦身"方案应运而生。


🪟 二、滑动窗口注意力(Sliding Window Attention)

✅ 核心思想

每个 token 只关注其前后固定窗口内的邻居,忽略远处 token。

例如:窗口大小 = 512,则第 1000 个 token 只看 [744, 1255] 范围内的 token。

📈 优势

  • 计算复杂度降至 O(n⋅w)( w = 窗口大小)
  • 显存占用线性增长
  • 特别适合局部依赖强的文本(如代码、自然语言句子)

🎯 典型应用

  • Longformer(2020):首次提出滑动窗口 + 全局 attention
  • FlashAttention-2:高效实现窗口注意力
  • Qwen、Yi、DeepSeek 等国产大模型均采用此机制支持长上下文

❌ 局限

  • 无法直接建模超长距离依赖(如文档首尾呼应)
  • 解决方案:加少量全局 token (如 CLS、特殊标记)或层次化窗口

🕳️ 三、稀疏注意力(Sparse Attention)

✅ 核心思想

只计算部分 token 对的注意力,其余设为 0。

常见模式:

  • 块稀疏(Block Sparse):将序列分块,只计算块内或特定块间注意力
  • 棋盘模式(Checkerboard):交替关注奇偶位置
  • Top-k 稀疏:每行只保留 k 个最大 attention score

🎯 典型应用

  • BigBird(2020):结合随机注意力 + 滑动窗口 + 全局 token,理论可处理无限长序列
  • Sparse Transformers(OpenAI, 2019):用于生成长音乐、图像

⚖️ 权衡

  • 灵活但实现复杂
  • 需要定制 CUDA kernel(如 Triton)才能高效运行

🧩 四、多查询 vs 分组查询注意力(MQA / GQA)

这不是"稀疏",而是减少 KV 头数量,从而降低显存与计算。

标准 MHA(Multi-Head Attention)

  • Q、K、V 各有 h 个头(如 32 头)
  • 每个头独立计算

MQA(Multi-Query Attention)

  • Q 有 h 个头,但 K 和 V 只有 1 个头
  • 所有 query 头共享同一组 key/value

GQA(Grouped-Query Attention)

  • 折中方案:K/V 头数 = g (如 8),Q 头数 = 32
  • 每 32/8=4 个 Q 头共享一组 K/V

📊 效果对比(以 Llama-2-70B 为例)

类型 Q 头数 K/V 头数 推理显存 解码速度
MHA 64 64
MQA 64 1 极低 极快
GQA 64 8

🎯 典型应用

  • Llama-2 / Llama-3 :全系采用 GQA
  • Falcon :采用 MQA
  • Qwen2、DeepSeek-V2:也已支持 GQA

优势:解码阶段 KV Cache 显存大幅下降(从 2×n×d×h → 2×n×d×g),极大提升长文本生成效率。


📉 五、线性注意力(Linear Attention)

✅ 核心思想

绕过 softmax,用核函数近似注意力,使复杂度从 O(n^2)降至 O(n)。

经典方法:

  • Performer(2020):用随机傅里叶特征(RFF)近似 softmax kernel
  • Linformer:将 K、V 投影到低维(n→k),再计算注意力
  • Favor+:改进的正交随机特征,保证数值稳定

公式示意(Performer):

其中 ϕ 是可线性化的核映射。

⚖️ 现状

  • 训练快、推理快 ,但精度通常略低于标准注意力
  • 目前尚未被主流大模型采用(如 Llama、Qwen、Claude 仍用标准或窗口注意力)
  • 更多用于视觉 Transformer生物序列建模

💡 原因:大模型靠 scale 出奇迹,宁可多花显存也要保精度;而线性注意力的近似误差在超大模型中可能被放大。


🌀 六、位置编码与注意力的协同:RoPE 的胜利

虽然 RoPE(Rotary Position Embedding)本身不是注意力机制,但它深刻影响了注意力的设计

为什么重要?

  • 标准 Transformer 用绝对位置编码(如 sinusoidal),难以泛化到更长序列
  • RoPE 将位置信息编码到 query/key 的旋转中 ,使得:
    • 注意力分数天然具有相对位置感知
    • 支持外推(extrapolation):训练 4K,推理 32K 仍有效

与注意力机制的配合

  • 滑动窗口 + RoPE:成为当前长上下文模型的标配(如 Qwen、Yi、DeepSeek)
  • RoPE 的旋转特性天然适配局部注意力,因为相邻位置旋转角度小,相似度高

📌 几乎所有现代开源大模型(Llama、Qwen、ChatGLM、Baichuan)都采用 RoPE。


🧪 七、横向对比:一张表看懂所有注意力机制

机制 时间复杂度 显存复杂度 长文本支持 是否主流 典型模型
标准 MHA O(n^2) O(n^2) ✅(短文本) BERT, GPT-2
滑动窗口 O(nw) O(nw) ✅✅✅ Qwen, Yi, Longformer
稀疏注意力 O(nlog⁡n) O(nlog⁡n) 极强 ⚠️(小众) BigBird
MQA/GQA O(n^2) O(ng) ✅✅ Llama-3, Falcon
线性注意力 O(n) O(n) Performer (研究向)
FlashAttention O(n^2) O(n) ✅(加速器) 所有支持 FA 的模型

💡 注:FlashAttention 不是新注意力机制,而是标准注意力的高效实现(通过 I/O 优化降低显存占用)。


🌟 八、未来趋势

  1. 混合注意力:局部窗口 + 少量全局 token(如 Gemma 2 的"局部+跨层注意力")
  2. 动态稀疏:根据输入内容自适应选择关注区域(如 Mixture of Attention Heads)
  3. 状态空间模型(SSM)挑战者:如 Mamba,用 SSM 替代注意力,实现 O(n)O(n) 且更强长程建模
  4. 硬件感知设计:注意力结构适配 GPU/TPU 内存层级(如 Ring Attention 支持百万长度)

💬 结语:没有银弹,只有权衡

注意力机制的演进,本质是在"建模能力"、"计算效率"、"工程可行性"之间寻找最优平衡点。

  • 要极致速度?→ 试试 MQA + 滑动窗口
  • 要超长上下文?→ 窗口 + RoPE + FlashAttention
  • 要理论创新?→ 探索线性或 SSM

理解这些机制,不仅能帮你读懂论文,更能在部署时做出明智选择 ------比如:

"我的应用场景是客服对话(平均 500 字),其实不需要 128K 上下文,用标准注意力 + GQA 就够了。"

而这,正是工程师的智慧所在。


🔗 延伸阅读

相关推荐
数说星榆1812 小时前
可信AI:透明度、公平性与问责制
人工智能
实战项目2 小时前
基于深度学习的音乐分类算法研究
人工智能·深度学习·分类
才兄说2 小时前
机器人租赁中的现场确认痛点
人工智能·机器人
传说故事2 小时前
【论文自动阅读】Stable Language Guidance for Vision-Language-Action Models
人工智能·具身智能
打破砂锅问到底0072 小时前
Claude--AI领域的安全优等生
大数据·人工智能·机器学习·ai
老米_专讲AIGC2 小时前
2026年学术降AI工具深度评测:如何在严苛检测时代安全过关
人工智能·深度学习·chatgpt·aigc·ai写作
谷哥的小弟2 小时前
SQLite MCP服务器安装以及客户端连接配置
服务器·数据库·人工智能·sqlite·大模型·源码·mcp
工藤学编程2 小时前
零基础学AI大模型之旅游规划智能体之react_agent实战
人工智能·react.js·旅游
好奇龙猫2 小时前
【人工智能学习-AI入试相关题目练习-第一次】
人工智能·学习