MLA 多头潜在注意力
定义
MLA(Multi-head Latent Attention,多头潜在注意力) 是 DeepSeek 在 V2(2024.05)中首次引入的核心注意力机制创新。它通过将 KV cache 压缩到低维潜在空间,在几乎不损失模型质量的前提下,将推理时的 KV cache 内存减少 93.3%,解决了 MoE 大模型推理效率的核心瓶颈。
为什么需要 MLA
MoE 推理的 KV Cache 困境
- MoE 模型的参数总量很大(DeepSeek-V2: 236B,V3: 671B),但每次推理只激活部分专家
- 计算是稀疏的,但 KV cache 是稠密的:每层每个 token 都要存储完整的 K 和 V
- KV cache 内存成为推理吞吐量的首要瓶颈
- 常规的 KV cache 压缩方法(如 Grouped Query Attention, GQA)压缩率有限(4-8x)
MLA 的解决方案:从源头压缩
MLA 不在推理后压缩 KV cache,而是在注意力计算本身中引入低秩结构:
- 低秩联合压缩:将 Key 和 Value 投影到一个共享的低维潜在空间
- 上投影恢复:从潜在向量上投影恢复完整的 K 和 V 用于注意力计算
- 推理时只缓存潜在向量:而非完整的 KV 矩阵
技术细节
标准 Multi-Head Attention (MHA)
Q = W_Q * x // d -> d_q * n_heads
K = W_K * x // d -> d_k * n_heads
V = W_V * x // d -> d_v * n_heads
O = softmax(Q @ K.T / sqrt(d)) @ V
KV cache 大小:2 * n_layers * d_head * n_heads * seq_len
MLA 的改进
C_KV = W_DKV * x // 压缩:d -> d_c(d_c << d_k*n_heads)
K = W_UK * C_KV // 上投影恢复 K
V = W_UV * C_KV // 上投影恢复 V
推理时只缓存 C_KV(d_c 维),而非完整的 K 和 V。
与 RoPE 的兼容性
MLA 的一个关键工程挑战是 RoPE 与低秩压缩的冲突:
- RoPE 在 Q 和 K 上分别施加旋转位置编码
- 如果 Q 和 K 都来自压缩潜在空间,RoPE 会使低秩结构退化
- DeepSeek 的解决方案:解耦 RoPE——在压缩的 K 之外,额外计算一个小的 RoPE 分量(decoupled RoPE),将位置信息与内容信息分开处理
压缩比
- V2 配置:KV 潜在维度 d_c ≈ 512,原始 KV 维度 = d_head × n_heads ≈ 128 × 128
- 压缩比:~128× 的 KV 维度 → ~1/128 的 KV cache
- 实际端到端:推理总内存减少至原来的 1/15(约 93.3% 减少),因为其他组件仍占内存
MLA 的价值链
直接影响
- 推理吞吐量大幅提升:更小的 KV cache → 更大 batch size → 更高吞吐
- 长上下文支持:KV cache 内存不再是限制,可以支持更长的序列
- 训练成本降低 42.5%(V2 paper 报告):MoE 训练中通信减少
间接影响
- 使 DeepSeek 的 MoE 架构在经济上可行:没有 MLA,MoE 的显存优势会被 KV cache 拖累
- 让 128K+ 长上下文成为可能:Kimi k1.5 的 128K 上下文 + Kimi K2 的 MoE 也有类似的效率考量
- 启发了后续的注意力效率研究(NSA、MLA-v2 等)
MLA 的局限
- 训练时有额外开销:上投影和下投影增加了计算,但 V2 paper 报告通过层融合等优化补偿了大部分
- 压缩率的天花板:潜在维度 d_c 不能无限缩小,需要在质量和压缩之间 trade off
- 与某些注意力变体不兼容:与 FlashAttention 的集成需要额外适配
与已有 Wiki 的连接
- 关联概念:NSA 原生稀疏注意力(DeepSeek 的另一个注意力创新)、RoPE 旋转位置编码(MLA 的特殊适配)、MoE 混合专家模型(MLA 解决了 MoE 的推理瓶颈)
- 关联实体:DeepSeek 系列模型(MLA 的起源和主线)
- 所在主题:大语言模型基础、国产大模型演进
深度分析
MLA 的策略意义:让 MoE 从”训练经济”走向”推理经济”
在 MLA 之前,MoE 的叙事是”训练便宜但推理贵”(因为 KV cache 稠密)。MLA 补上了 MoE 推理效率这块短板,使”训练用 MoE 最大化参数效率 + 推理用 MLA 最大化吞吐”成为完整的成本最优策略。
这也是为什么在 DeepSeek 之后,Kimi K2、Qwen3-MoE 等几乎所有国产大模型都采用了 MoE 架构——MLA 让 MoE 推理不再是问题。
MLA 是一个”设计妥协”的胜利
MLA 最巧妙的地方不是低秩压缩本身(这并不新鲜),而是解耦 RoPE 的设计。它表明:不是所有信息都适合放进低秩空间——位置信息天生是结构化的,强制压缩只会破坏它。将内容信息(语义)和位置信息(结构)分离处理,是一个深思熟虑的工程决策。
一个开放问题:MLA 的通用性
MLA 当前主要在 DeepSeek 内部使用。它能否在非 MoE 架构中带来同等收益?能否应用到视觉 Transformer(ViT)的多模态模型中?如果 MLA 的思想可以跨模态迁移——比如压缩视觉 token 的 attention cache——其价值将远超当前范围。