注意力机制的进化:MHA → GQA → MLA → CSA → HCA

本文梳理大语言模型(LLM)核心组件"注意力机制"的演进主线:

复制代码
MHA  (Multi-Head Attention)           多头注意力
 └─ GQA (Grouped-Query Attention)     分组查询注意力
     └─ MLA (Multi-head Latent Attention)  多头潜在注意力
         ├─ CSA (Compressed Sparse Attention)   压缩稀疏注意力
         └─ HCA (Heavily Compressed Attention)  重度压缩注意力

前三个阶段(MHA → GQA → MLA)的核心问题是:如何让每个 token 的 KV 表示更窄、更省缓存------即沿着"宽度/特征维度"压缩。

后两个阶段(CSA / HCA)的思路发生了跃迁:如何让上下文在"长度/时间维度"上更短------把连续多个 token 的 KV 合并为一条,从而支撑百万级上下文。

理解这条路线,本质上是理解大模型在"表达能力"与"推理成本(显存 + 带宽 + 计算)"之间的持续博弈。


目录

  1. [背景:注意力与 KV Cache 问题](#背景:注意力与 KV Cache 问题)
  2. MHA:多头注意力(基线)
  3. GQA:分组查询注意力
  4. MLA:多头潜在注意力
  5. CSA:压缩稀疏注意力
  6. HCA:重度压缩注意力
  7. 综合对比
  8. 演进逻辑总结
  9. 延伸:后续趋势

1. 背景:注意力与 KV Cache 问题

1.1 缩放点积注意力

Transformer 的核心是缩放点积注意力(Scaled Dot-Product Attention):

Attention ( Q , K , V ) = s o f t m a x  ⁣ ( Q K T d k ) V \text{Attention}(Q, K, V) = \mathrm{softmax}\!\left(\frac{Q K^{T}}{\sqrt{d_k}}\right) V Attention(Q,K,V)=softmax(dk QKT)V

其中 Q , K , V Q, K, V Q,K,V 分别是查询(Query)、键(Key)、值(Value)矩阵, d k d_k dk 是每个头的维度。softmax 对每一行的所有位置进行归一化,使每个查询 token 能够"按照相关性"聚合所有位置的 value。

多头注意力(MHA)将其重复 h h h 次并拼接:

MultiHead ( Q , K , V ) = C o n c a t ( head 1 , ... , head h )   W O \text{MultiHead}(Q, K, V) = \mathrm{Concat}(\text{head}_1, \dots, \text{head}_h)\, W^{O} MultiHead(Q,K,V)=Concat(head1,...,headh)WO

head i = Attention ( Q W i Q ,    K W i K ,    V W i V ) \text{head}_i = \text{Attention}(Q W_i^{Q},\; K W_i^{K},\; V W_i^{V}) headi=Attention(QWiQ,KWiK,VWiV)

设模型隐层维度为 d model d_{\text{model}} dmodel、注意力头数为 h h h、每个头维度 d h = d model / h d_h = d_{\text{model}} / h dh=dmodel/h。

1.2 推理中的 KV Cache

自回归解码时,模型逐 token 生成。为了避免每个新 token 都重新计算历史位置的 K、V,推理框架会把每层、每个历史 token 的 K、V 缓存起来,即 KV Cache

  • 对标准 MHA,每个 token、每一层 需要缓存 2 ⋅ h ⋅ d h = 2 ⋅ d model 2 \cdot h \cdot d_h = 2 \cdot d_{\text{model}} 2⋅h⋅dh=2⋅dmodel 个元素(K、V 各一半)。
  • 对 L L L 层、上下文长度 N N N,单 batch 的 KV Cache 为 2 L N d model 2 L N d_{\text{model}} 2LNdmodel 个元素(以 bf16 计,每个元素 2 字节,再乘 2)。

推理分两个阶段:

  • Prefill(预填充):一次性输入全部 prompt,计算规模大,处于算力(compute)瓶颈。
  • Decode(逐 token 解码) :每生成一个 token,都要读取整份 KV Cache 并做一次注意力,处于显存带宽(memory bandwidth)瓶颈 。每 token 的计算量约为 O ( N ) O(N) O(N)。

因此在长上下文场景下,KV Cache 的显存占用和每次解码的内存搬运,成为首要瓶颈。围绕它的优化由此形成两条主线。

1.3 两条优化主线

主线 思路 代表
宽度压缩:让每个 token 的 KV 更小 共享头(MQA/GQA)、低秩压缩(MLA) MQA → GQA → MLA
长度压缩:让上下文的 token 数更少 滑动窗口、稀疏、按块压缩 CSA → HCA

下文的演进正是沿着这两条主线展开。


2. MHA:多头注意力(基线)

出处 :Vaswani et al., Attention Is All You Need(2017)。

结构

  • 把 d model d_{\text{model}} dmodel 维的 Q、K、V 投影成 h h h 组,每组维度 d h d_h dh,各自独立计算注意力,再拼接、投影回 d model d_{\text{model}} dmodel。
  • 每个头学习不同的内容子空间(例如有的头关注语法、有的关注位置、有的关注实体),提高表达能力。

KV Cache 与复杂度

  • 每 token 每层缓存: 2 h d h = 2 d model 2 h d_h = 2 d_{\text{model}} 2hdh=2dmodel。
  • 单 token 注意力计算: O ( h ⋅ d h ⋅ N ) = O ( d model N ) O(h \cdot d_h \cdot N) = O(d_{\text{model}} N) O(h⋅dh⋅N)=O(dmodelN)。

优点

  • 表达力最强,多个子空间并行捕获不同关系。
  • 是后续一切变体的"对照基线"。

问题

  • KV Cache 与头数成正比,长上下文时显存线性爆炸。
  • Decode 阶段内存带宽受限,头数越多、读写越多,速度越慢。

MHA 本身没有做任何压缩,是最"贵"但也最"准"的上限参考。


3. GQA:分组查询注意力

出处 :Ainslie et al., GQA: Training Generalized Multi-Query Transformer Models from Multi-Head Checkpoints (2023);其前身是 MQA(Multi-Query Attention)(Shazeer, 2019)。

3.1 铺垫:MQA

MQA 的思路非常直接------所有查询头共享同一份 K 和 V

  • 每 token 每层只需缓存 2 d h 2 d_h 2dh(只有 1 个 KV 头)。
  • 解码时读取的 KV 数据量大幅下降,速度更快、显存更省。
  • 代价是注意力多样性受损,训练可能不稳定,质量相对 MHA 略有下降。

3.2 GQA:在 MHA 与 MQA 之间取折中

GQA 把 h h h 个查询头分成 G G G 组,每组共享一个 K、V 头 ,得到 n k v = G n_{kv} = G nkv=G 个 KV 头:

  • Query 头个数: h h h(保持不变,表达力依旧丰富)。
  • KV 头个数: G G G,满足 1 ≤ G ≤ h 1 \le G \le h 1≤G≤h。
  • 当 G = 1 G = 1 G=1 时退化为 MQA;当 G = h G = h G=h 时退化为 MHA。

head i = Attention  ⁣ ( Q W i Q ,    K W ⌊ i ⋅ G / h ⌋ K ,    V W ⌊ i ⋅ G / h ⌋ V ) \text{head}i = \text{Attention}\!\left(Q W_i^{Q},\; K W{\lfloor i \cdot G / h \rfloor}^{K},\; V W_{\lfloor i \cdot G / h \rfloor}^{V}\right) headi=Attention(QWiQ,KW⌊i⋅G/h⌋K,VW⌊i⋅G/h⌋V)

即第 i i i 个查询头复用其所属分组的共享 K、V。

3.3 缓存与复杂度

  • 每 token 每层缓存: 2 G d h = 2 n k v d h 2 G d_h = 2 n_{kv} d_h 2Gdh=2nkvdh。
  • 相比 MHA 缩小到 G / h = n k v / h G / h = n_{kv} / h G/h=nkv/h 倍。
  • 注意力计算量渐进相同( O ( d model N ) O(d_{\text{model}} N) O(dmodelN)),但内存读写量下降,解码吞吐显著提升。

3.4 从 MHA 检查点快速迁移

GQA 论文给出了实用的 uptraining 方案:从已训好的 MHA 检查点出发,对同组的多个 K、V 头做均值池化作为共享头的初始化,再用原始预训练量的很小比例继续训练,即可接近全量训练质量,显著降低迁移成本。

3.5 典型配置与权衡

  • Llama-3/3.1 8B: G = 4 G=4 G=4;Llama-2/3 70B: G = 8 G=8 G=8( n k v = 8 n_{kv}=8 nkv=8)。
  • Qwen、Mistral 等大量开源模型也采用 GQA。
  • 结论: G G G 越小越省缓存、越快,但质量下降越明显;实践中 n k v ∈ 1 , 8 n_{kv} \in 1,8 nkv∈1,8 时通常质量损失很小。

局限 :GQA 的本质只是"少存几个 KV 头",上下文长度没有变,KV Cache 依旧随 N N N 线性增长。


4. MLA:多头潜在注意力

出处 :DeepSeek-V2(2024),论文 DeepSeek-V2: A Strong, Economical, and Efficient Mixture-of-Experts Language Model。后被 DeepSeek-V3 / R1 沿用。

4.1 动机

MQA / GQA 通过"共享 KV 头"减少缓存,但会损失多头之间的多样性,且压缩程度受头数限制。MLA 换了一个更根本的思路:

与其共享头,不如把"所有头的 K、V 联合起来"做低秩压缩,只缓存一个很小的潜在向量(latent),需要时再即时还原。

由于 K、V 都来自同一输入 token 的线性投影,它们之间高度冗余,完全可以被一个远小于 2 h d h 2 h d_h 2hdh 的潜在向量近似表示。MLA 正是利用这一点,把 KV Cache 的体积压缩到原来的百分之几。

4.2 低秩联合压缩

对第 t t t 个 token 的隐状态 h t h_t ht,先下投影到一个 d c d_c dc 维的潜在向量:

c t K V = W D K V h t ∈ R d c , d c ≪ h ⋅ d h c_t^{KV} = W^{DKV} h_t \in \mathbb{R}^{d_c}, \qquad d_c \ll h \cdot d_h ctKV=WDKVht∈Rdc,dc≪h⋅dh

对每个头 i i i,再通过上投影矩阵即时还原 K、V:

k t , i C = W i U K c t K V , v t , i C = W i U V c t K V k_{t,i}^{C} = W_i^{UK} c_t^{KV}, \qquad v_{t,i}^{C} = W_i^{UV} c_t^{KV} kt,iC=WiUKctKV,vt,iC=WiUVctKV

关键点 :推理时只需要缓存 c t K V c_t^{KV} ctKV,各头的 k t , i C k_{t,i}^{C} kt,iC、 v t , i C v_{t,i}^{C} vt,iC 在计算注意力时临时解压,用完即弃。

4.3 解耦 RoPE(Decoupled RoPE)

RoPE(旋转位置编码)不满足"先投影再施加位置编码"的交换律:

W i U K   R o P E ( c t K V ) ≠ R o P E  ⁣ ( W i U K c t K V ) W_i^{UK}\,\mathrm{RoPE}(c_t^{KV}) \neq \mathrm{RoPE}\!\left(W_i^{UK} c_t^{KV}\right) WiUKRoPE(ctKV)=RoPE(WiUKctKV)

因此不能直接把位置编码叠加在低秩 latent 上。MLA 的解法是把位置信息解耦:额外维护一条独立的、低维的 RoPE key:

k t R = R o P E  ⁣ ( W K R h t ) ∈ R d h R k_t^{R} = \mathrm{RoPE}\!\left(W^{KR} h_t\right) \in \mathbb{R}^{d_h^R} ktR=RoPE(WKRht)∈RdhR

查询也相应拆分,构成共享的 RoPE 部分:

q t , i C = W i U Q q t , i q t , i R = R o P E  ⁣ ( W i Q R q t , i ) q_{t,i}^{C} = W_i^{UQ} q_{t,i} \qquad q_{t,i}^{R} = \mathrm{RoPE}\!\left(W_i^{QR} q_{t,i}\right) qt,iC=WiUQqt,iqt,iR=RoPE(WiQRqt,i)

最终拼接:

k t , i = k t , i C k t R q t , i = q t , i C q t , i R k_{t,i} = \begin{bmatrix} k_{t,i}^{C} \\ k_t^{R} \end{bmatrix} \qquad q_{t,i} = \begin{bmatrix} q_{t,i}^{C} \\ q_{t,i}^{R} \end{bmatrix} kt,i=kt,iCktRqt,i=qt,iCqt,iR

注意力输出:

o t , i = ∑ j s o f t m a x j  ⁣ ( q t , i ⊤ k j , i d h + d h R ) v j , i C o_{t,i} = \sum_j \mathrm{softmax}j\!\left(\frac{q{t,i}^{\top} k_{j,i}}{\sqrt{d_h + d_h^R}}\right) v_{j,i}^{C} ot,i=j∑softmaxj dh+dhR qt,i⊤kj,i vj,iC

4.4 KV Cache 变化

MLA 每 token、每层只需缓存:

c t K V ⏟ d c 维 + k t R ⏟ d h R 维 \underbrace{c_t^{KV}}{d_c \text{ 维}} + \underbrace{k_t^{R}}{d_h^R \text{ 维}} dc 维 ctKV+dhR 维 ktR

对比 MHA 的 2 h d h 2 h d_h 2hdh:

  • DeepSeek-V2 中, h = 128 h=128 h=128、 d h = 128 d_h=128 dh=128,完整 K、V 为 2 × 128 × 128 = 32768 2 \times 128 \times 128 = 32768 2×128×128=32768 维;
  • MLA 的 d c = 512 d_c = 512 dc=512,RoPE key d h R = 64 d_h^R = 64 dhR=64,缓存仅约 576 576 576 维;
  • 官方报告给出的口径是 KV Cache 减少约 93.3%(相对常用 MHA 配置),这也是"DeepSeek 把 KV Cache 干掉 93%"说法的来源。

4.5 工程优化

MLA 在部署侧还有两个关键技巧:

  1. 吸收上投影矩阵 : W U K W^{UK} WUK 可吸收进 W U Q W^{UQ} WUQ, W U V W^{UV} WUV 可吸收进 W O W^{O} WO,推理时无需真正还原高维 K、V,进一步节省激活值显存与带宽。
  2. 算子级联合优化:由于 MLA 的"缓存压缩态 + 即时解压",催生了专门的融合内核(如 FlashMLA),把解压、注意力、softmax、写回合并为一条流水线,大幅提升 decode 吞吐。

4.6 优点与局限

优点

  • 缓存大幅下降且几乎不损失质量(优于同缓存量级的 GQA)。
  • 保持了所有查询头的多样性。
  • 与 MoE、FP8、长上下文结合良好,支撑了 DeepSeek-V3 / R1 的高效推理。

局限

  • 实现复杂:低秩投影 + 解耦 RoPE + 吸收投影,工程难度高于 GQA。
  • RoPE 部分仍需单独缓存,压缩并非"零剩余"。
  • 最关键的一点:MLA 仍为每个历史 token 各存一份表示,token 数量并不减少。当上下文进一步膨胀到百万级时,即便单个缓存很小,token 数量本身仍会构成瓶颈。

这直接引出了下一阶段的思路跃迁。


5. CSA:压缩稀疏注意力

出处 :DeepSeek-V4(2026-04)。全称 Compressed Sparse Attention(压缩稀疏注意力)

5.1 从"宽度压缩"到"长度压缩"

MHA → GQA → MLA 都在回答"每个 token 的 KV 能有多小"。但 DeepSeek-V4 要支撑 1M(百万)token 上下文,此时瓶颈已经不只是"单个 token 的宽度",而是"token 数量本身"。

CSA 因此第一次把压缩施加在序列长度维度

把连续多个 token 的 K、V 合并成一条 KV entry,使上下文的"有效条目数"变少。

5.2 总体结构

CSA 由三大组件构成:

  1. Sliding Window(滑动窗口)

    • 对最近的若干 token 保持未压缩的原始 KV,做精确的局部注意力。
    • 负责捕获近程依赖与语法/局部细节,保证"近距离"分辨率不损失。
  2. Compressor(压缩器)

    • 对更早的历史 token,以固定步长 m m m 分块(CSA 取 m = 4 m = 4 m=4,即 4:1 压缩)。
    • 可学习的权重 把块内 m m m 条 KV 聚合为 1 条压缩 KV:

K ~ b = ∑ t ∈ block b α b , t   K t , V ~ b = ∑ t ∈ block b α b , t   V t \widetilde{K}b = \sum{t \in \text{block}b} \alpha{b,t}\, K_t, \qquad \widetilde{V}b = \sum{t \in \text{block}b} \alpha{b,t}\, V_t K b=t∈blockb∑αb,tKt,V b=t∈blockb∑αb,tVt

  • 其中 α b , t \alpha_{b,t} αb,t 由压缩器学习(可理解为块内的加权池化 / 轻量块内注意力)。压缩 KV 会被写入独立的缓存。
  1. Lightning Indexer(闪电索引器,稀疏选择)
    • 压缩后条目仍然很多(1M token → 250k 个压缩块),全看仍然昂贵。
    • 索引器对每个 query 与各压缩块计算打分,只挑选 top-k 个最相关的压缩块参与真正的注意力(类似"检索增强的注意力",把选择做成可训练模块)。

5.3 注意力计算

查询 q q q 的注意力范围是"窗口内未压缩 KV ∪ 被选中的 top-k 压缩块":

S ( q ) = Window ( q ) ∪ T o p K b  ⁣ ( score ( q , K ~ b ) ) \mathcal{S}(q) = \text{Window}(q)\ \cup\ \mathrm{TopK}_b\!\left(\text{score}(q, \widetilde{K}_b)\right) S(q)=Window(q) ∪ TopKb(score(q,K b))

o = ∑ j ∈ S ( q ) s o f t m a x j  ⁣ ( q ⊤ k j d ) v j o = \sum_{j \in \mathcal{S}(q)} \mathrm{softmax}_j\!\left(\frac{q^{\top} k_j}{\sqrt{d}}\right) v_j o=j∈S(q)∑softmaxj(d q⊤kj)vj

每个压缩块只作为一个 KV entry 参与点乘,因此:

  • 单 token 注意力计算量 ≈ O ( W + k ) O(W + k) O(W+k),其中 W W W 为窗口长度, k k k 为 top-k 块数。
  • 相比全量注意力的 O ( N ) O(N) O(N),在长上下文下有数量级下降。

5.4 复杂度与收益

以 1M 上下文为例(示意):

  • 全量 MHA/GQA/MLA:每生成一个 token 都要看 ~100 万条 KV。
  • CSA:仅看窗口(未压缩近端) + 从 25 万压缩块中索引器选出的 top-k 块。
  • 显存上,历史 KV 被压缩到约 1 / 4 1/4 1/4,再加索引器的小型辅助状态,整体 KV Cache 与单 token 解码 FLOPs 都大幅下降。

5.5 与 NSA 的关系

CSA 的"窗口 + 选择 + 压缩"结构,延续了 DeepSeek 2025 年 NSA(Native Sparse Attention,原生稀疏注意力) 的设计脉络。NSA 使用"压缩 token、选择 token、滑动窗口"三路并行的稀疏模式;CSA 则更强调结构化压缩块 + 索引器 top-k 选择,把稀疏检索做得更工程化、更适合超长上下文。

5.6 在 DeepSeek-V4 中的用法

  • CSA 与下文 HCA 交替堆叠,形成混合注意力(Hybrid Attention)。
  • V4-Flash:前 2 层使用纯滑动窗口注意力(不压缩),其后交替 CSA / HCA;V4-Pro:前 2 层使用 HCA,第 2--60 层交替 CSA / HCA。
  • 具体窗口大小、top-k 数值、辅助状态布局以官方技术报告与推理内核实现(vLLM、TensorRT-LLM)为准。

6. HCA:重度压缩注意力

出处 :DeepSeek-V4(2026-04)。全称 Heavily Compressed Attention(重度压缩注意力) 。注意:部分资料误写为 "Hierarchical Compressed Attention",官方名称以 Heavily(重度)为准。

6.1 动机

CSA 用 4:1 压缩 + 索引器 top-k 选择,既降低了长度,又保留了中粒度。但它有两个代价:

  1. 索引器本身需要额外的参数、打分与状态缓存。
  2. top-k 选择丢弃了未选中的长尾信息,可能丢失分散在远处的重要线索。

HCA 反其道而行之:

压缩得足够狠,让"全部历史"都能被放进注意力,这样就不需要索引器,也不丢弃任何 token。

6.2 结构

HCA 同样有两部分:

  1. Sliding Window:最近的 token 保持未压缩,提供局部高分辨率。
  2. Compressor(重度压缩) :以 m ′ = 128 m' = 128 m′=128(128:1) 的激进比例压缩历史 KV,一条压缩 entry 是 128 个连续 token 的加权聚合。

由于压缩比极高,压缩后的条目数很少(1M token → 约 7813 条),全部压缩块 都可以参与注意力,因此无需索引器

S ( q ) = Window ( q ) ∪ { K ~ b ∣ ∀ b } \mathcal{S}(q) = \text{Window}(q)\ \cup\ \{\widetilde{K}_b \mid \forall b\} S(q)=Window(q) ∪ {K b∣∀b}

单 token 注意力计算量 ≈ O ( W + N / 128 ) O(W + N/128) O(W+N/128)。

6.3 与 CSA 的对比

CSA HCA
压缩比 m = 4 m = 4 m=4(4:1,温和) m ′ = 128 m' = 128 m′=128(128:1,激进)
是否索引选择 是(Lightning Indexer,top-k) 否(全量浏览压缩块)
历史覆盖 部分(只保留 top-k) 全部(不漏信息)
分辨率 中粒度(4 token/块) 粗粒度(128 token/块)
额外开销 索引器打分/状态 几乎无(压缩器本身)
定位能力强项 中程检索式聚焦 全局完整覆盖

一句话:

  • CSA = 温和压缩 + 稀疏检索,用"选择"换取更细粒度与更短注意力。
  • HCA = 激进压缩 + 全量浏览,用"高压缩比"换取简单实现与全局不漏信息。

6.4 为什么两者要"混用"

在 DeepSeek-V4 中,CSA 与 HCA 交织出现在不同层

  • HCA 层提供"全局背景":每个 token 都能看到整个历史的粗粒度概貌,保证上下文不丢、主题一致。
  • CSA 层负责"精确检索":在中等粒度上通过索引器聚焦到相关区域,捕捉关键证据与长程依赖。
  • **滑动窗口(部分作为前两层或窗口分支)**提供"局部细节":近距离句法、语义细节不因压缩而模糊。

三者构成"全局粗粒度 ⟵ 中程检索 ⟵ 局部高精度"的分层信息流,是 DeepSeek-V4 支撑百万上下文、同时控制单 token 推理 FLOPs 的核心。


7. 综合对比

维度 MHA GQA MLA CSA HCA
全称 Multi-Head Attention Grouped-Query Attention Multi-head Latent Attention Compressed Sparse Attention Heavily Compressed Attention
出处/时间 2017 2023(MQA 2019) 2024 2026 2026
优化维度 基线 宽度(共享头) 宽度(低秩压缩) 长度(块压缩 + 稀疏) 长度(激进块压缩)
每 token 每层 KV 2 h d h 2 h d_h 2hdh 2 G d h 2 G d_h 2Gdh d c + d h R d_c + d_h^R dc+dhR 窗口 + N / 4 N/4 N/4 压缩块 + 索引状态 窗口 + N / 128 N/128 N/128 压缩块
单 token 注意力 O ( N ) O(N) O(N) O ( N ) O(N) O(N) O ( N ) O(N) O(N) O ( W + k ) O(W + k) O(W+k) O ( W + N / 128 ) O(W + N/128) O(W+N/128)
稀疏/选择 top-k(索引器) 无(全量压缩块)
代表模型 原始 Transformer、早期 GPT Llama-2/3 70B、Qwen、Mistral DeepSeek-V2/V3/R1、Kimi、GLM DeepSeek-V4 DeepSeek-V4

几点解读

  • MHA → GQA → MLA 的"缓存数字"是在每个 token 内做文章,token 总数不变。
  • CSA / HCA 的"缓存数字"是在序列长度上做文章,token 的表示粒度变粗。
  • 两条路并不互斥:实践中完全可以"MLA 式宽度压缩 + CSA/HCA 式长度压缩"叠加使用。

8. 演进逻辑总结

整条主线可以浓缩为四句话:

  • MHA:表达能力优先,缓存最贵。
  • GQA:用"共享 KV 头"换内存带宽,几乎不掉点。
  • MLA:用"低秩潜在向量"换缓存,宽度压缩的集大成者。
  • CSA / HCA:用"块压缩 + (可选的)稀疏检索"换上下文长度,开启百万上下文。

演进的两个阶段:

复制代码
阶段一(每 token 的 KV 变窄)
  MHA ──共享头──▶ MQA ──分组折中──▶ GQA
                          └──低秩联合压缩──▶ MLA

阶段二(上下文条目变短)
  全量注意力 ──▶ 稀疏注意力(NSA)
     └──▶ CSA(4:1 压缩 + 索引器 top-k)
     └──▶ HCA(128:1 压缩 + 全量浏览)

一句话总结这条进化脉络:

注意力演进的核心,是在"看到多少信息"与"花多大代价"之间持续寻找更优的帕累托点,而压缩(宽度压缩或长度压缩)是贯穿始终的主线。


9. 延伸:后续趋势

在 CSA / HCA 之后,业界继续沿"压缩 + 稀疏 + 软硬件协同"方向推进:

  • NSA(Native Sparse Attention,2025):DeepSeek 的硬件友好稀疏注意力,采用"压缩 + 选择 + 窗口"三级路由,是 CSA 结构思想的重要前身。
  • MLRA(Multi-Head Low-Rank Attention,2026):修复 MLA 在张量并行(TP)下的瓶颈,把 latent 切成可分块并行的小头,兼顾低秩缓存与 TP 友好。
  • CCA(Compressed Convolutional Attention,2026):把 Q、K、V 都下投影到一个压缩潜在空间后再做注意力,进一步压缩缓存与计算。
  • 方向:稀疏与压缩的融合、可训练的路由/索引器、专门的融合内核(FlashMLA、vLLM / TensorRT-LLM 对 DeepSeek-V4 的定制算子)将成为主流。
相关推荐
广慈新医知1 小时前
当健康问题越来越复杂,AI更适合先帮我们“把问题问清楚”
人工智能·python
驱动小百科2 小时前
GPT-6 Astra正式亮相 OpenAI为何称其开启AGI时代?
人工智能·gpt·agi·gpt-6·gpt-6 astra
法正智能2 小时前
AI编标赛道的终局:法正智能用“编+检+数据资产”构建企业级护城河
人工智能
龙亘川2 小时前
数智赋能退役军人服务:V1.0 系统搭建全生命周期闭环服务体系
大数据·数据库·人工智能
阳明山水2 小时前
销量预测2025—2026:从模型竞赛到系统融合的范式转型
人工智能·深度学习·算法·机器学习·架构
阿雄不会写代码2 小时前
【AI Agent】自学笔记
人工智能
克里斯蒂亚诺更新2 小时前
Transformer(注意力机制)不按顺序-全盘扫描
人工智能·深度学习·transformer
呆呆槑_Xiong2 小时前
国内GEO生成式引擎优化公司对比 2026
人工智能
Dawson Zhu2 小时前
大语言模型的本质:从条件概率预测到能力涌现的技术剖析
人工智能·语言模型·架构·aigc·agi