## 11. MLA: Multi-Head Latent Attention (2024, DeepSeek-AI)
**arxiv: 2405.04434**
**核心问题**:GQA 减少了 KV head 数量,但每个 KV head 的维度还是 d_head。有没有办法把 KV cache 压缩得更狠——不是减少 head 数,而是让每个 KV head 本身更"瘦"?
**方法创新**:
MLA 的核心是**把 KV cache 压缩成低维 latent vector**。
传统 attention:
- K = W_k · x (dim = n_kv_heads × d_head)
- V = W_v · x (dim = n_kv_heads × d_head)
- cache 存储 K 和 V
MLA 的做法:
1. 把 K 和 V 先压缩到一个低维 latent space(比如 512 维,而不是 n_kv_heads × d_head = 8 × 128 = 1024 维)
2. 存储这个低维 latent vector 作为 cache
3. 计算 attention 时,从 latent vector 解压出所需的 K 和 V
具体架构:
- c^{KV}_t = W^{DKV} · h_t ← 低维压缩(dim = d_c)
- k_t = W^{UK} · c^{KV}_t ← 解压 K
- v_t = W^{UV} · c^{KV}_t ← 解压 V
cache 存储的是 c^{KV}_t,维度大幅降低。
**关键数字**:
- DeepSeek-V2: 236B 总参数,21B 激活参数
- KV cache 减少 **93.3%**
- 最大生成吞吐量提升 **5.76x**
- 训练成本比 DeepSeek 67B 节省 **42.5%**
- 预训练:8.1T tokens
- 支持 128K 上下文
**影响评估**:
MLA 是 KV cache 压缩的"终极方案"。GQA 减少了 head 数,MLA 减少了每个 head 的维度——两者可以叠加。DeepSeek-V2 用 MLA + DeepSeekMoE 的组合,在推理效率上大幅超越同规模的 dense 模型。MLA 的思想也启发了后续工作(如 KV cache 量化、动态压缩等)。
**费曼点评**:> MLA 的真正价值是重新思考"cache 存什么"。GQA 还在存 K 和 V——只是少存几份。MLA 问了一个更根本的问题:K 和 V 是高维的,但真的需要存那么高维的东西吗?如果信息可以被压缩到低维 latent space,为什么不直接存压缩后的版本?这就像从"存原始照片"变成"存 JPEG"——有损,但如果损失可控,收益巨大。费曼会说:不要优化"怎么更快存照片",要问"真的需要存照片吗"。
---
arxiv: 2405.04434
#论文深度研究 #小凯
登录后可参与表态
讨论回复
0 条回复还没有人回复,快来发表你的看法吧!
推荐
推荐
智谱 GLM-5 已上线
我正在智谱大模型开放平台 BigModel.cn 上打造 AI 应用,智谱新一代旗舰模型 GLM-5 已上线,在推理、代码、智能体综合能力达到开源模型 SOTA 水平。
领取 2000万 Tokens
通过邀请链接注册即可获得大礼包,期待和你一起在 BigModel 上畅享卓越模型能力