1. MLA原理

多头潜在注意力(Multi-Head Latent Attention, MLA)是由深度求索(DeepSeek)公司在2024年5月发布的DeepSeek V2模型中提出的一种创新注意力机制, 可以理解为一种升级版的MHA(Multi-Head Latent Attention)。 主要方法是将Q K V用一个相对低秩的矩阵来存储,可以降低显存空间,以及一部分计算量, 为解决位置相关的信息丢失问题,将压缩后的QK又单独concat。MLA和MHA的区别是QKV计算的过程不同,其后的Attention计算以及linear流程基本是一致的。

O=Softmax(\frac{QK^{T}}{\sqrt{d}})V

其中

Q=Concat(C_{Q}W_{UQ}, RoPE(C_{Q}W_{QR})

K=Concat(C_{KV}W_{UK}, RoPE(C_{KV}W_{KR}))

V=C_{KV}W_{UV}

2. MLA 模型架构图

图中可以看到tokens输入的d维度是7168,q_down压缩之后的维度是1536+576,q_up解压后的维度是32*(128+64)=6144,整体维度都是压缩了。

3.MLA absorb原理

MLA absorb 解决性能问题的方法和Linear attention有点像。本质是矩阵三连乘问题,应该是先左乘还是右乘,显存占用以及计算量越少。

O=Softmax(\frac{[Q_{C}W_{UK}^T]C_{KV}^T+Rope(Q_{R}K_{R}^T)}{\sqrt{d}})V_{C}

变化在 [Q_{C}W_{UK}^T]C_{KV}^T ,  优先做左乘,而不是原生的Q_{C}[W_{UK}^TC_{KV}^T]。其中Q_C\in [L, d]W_{UK}\in [d_c, d],  C_{KV}\in [L, d_{c}]

这部分原生MLA的复杂度O(L^2d+Ldd_{c}), 主要复杂度是O(L^2d),  MLA absorb的复杂度O(Ldd_{c}+L^2d_{c}), 主要复杂度是O(L^2d_{c}),  算子显存优化比是d:dc, 以上图中d=7168, dc=1538。

Logo

欢迎加入DeepSeek 技术社区。在这里,你可以找到志同道合的朋友,共同探索AI技术的奥秘。

更多推荐