8.6 技术创新:MLA 和 MoE
8.6.1 传统注意力的浪费
8.6.2 MLA:多头潜在注意力
核心思想
如何工作?
MLA的工作流程:
输入:序列 [token1, token2, ..., tokenN]
↓
投影到潜在空间:
├─ 将高维的Q,K,V投影到低维潜在空间
├─ 假设原始维度是4096(embed_dim)
├─ 投影到256维的潜在空间
├─ 这一步压缩比 = 4096/256 = 16倍
└─ 节省93%+的KV缓存!(关键:只存储256维的缓存)
↓
注意力计算(在潜在空间中进行):
├─ 在低维空间中计算标准注意力
├─ 复杂度仍然是O(N²),但N是序列长度(较小)
├─ 矩阵维度从4096×4096降到256×256
├─ 内存占用从16MB → 256KB(减少99%)
└─ 计算量相应减少64倍
↓
解压层(投影回原始维度):
├─ 使用学习的映射矩阵将结果恢复
├─ 从256维映射回4096维
├─ 这个映射是在训练中优化的,丢失的信息很少
├─ 关键:解压层很轻量(只是矩阵乘法)
└─ 恢复的质量接近原始注意力
↓
输出:与传统注意力相同的质量
推理优化的关键(KV缓存):
传统Transformer:
├─ 处理1000个token,需要存储1000×4096维的K和V
├─ 总占用内存 = 1000 × 4096 × 4bytes = 16MB(仅KV)
└─ 序列越长,内存爆炸
MLA方式:
├─ 处理1000个token,只需存储1000×256维的压缩K和V
├─ 总占用内存 = 1000 × 256 × 4bytes = 1MB(仅压缩KV)
└─ 节省93%的KV缓存!这正是长序列推理的瓶颈数学直觉(简化版)
KV 缓存压缩的实际影响
8.6.3 MoE:混合专家
第二个创新:不是所有 token 都需要所有参数
具体工作方式:路由器如何工作
MoE 在 DeepSeek-V3 中的实现
稀疏激活的力量
8.6.4 DeepSeek 如何结合 MLA 和 MoE
两大创新的协同
8.6.5 这为什么节省了这么多成本?
训练成本的分解
8.6.6 实际的性能影响
推理成本
8.6.7 本节小结
8.6.8 思考题
最后更新于
