1. MLA原理多头潜在注意力Multi-Head Latent AttentionMLA是由深度求索DeepSeek公司在2024年5月发布的DeepSeek V2模型中提出的一种创新注意力机制, 可以理解为一种升级版的MHAMulti-Head Latent Attention。 主要方法是将Q K V用一个相对低秩的矩阵来存储可以降低显存空间以及一部分计算量 为解决位置相关的信息丢失问题将压缩后的QK又单独concat。MLA和MHA的区别是QKV计算的过程不同其后的Attention计算以及linear流程基本是一致的。其中2. MLA 模型架构图图中可以看到tokens输入的d维度是7168q_down压缩之后的维度是1536q_up解压后的维度是32*128646144。kv_down压缩之后的维度是576K解压之后的维度是32*(12864)6144V解压之后的维度是32*1284,096 QK和V维度的差别是QK需要加RoPE部分V不需要RoPE。整体维度都是压缩了。MLA 并行结构图3.MLA absorb原理MLA absorb 解决性能问题的方法和Linear attention有点像。本质是矩阵三连乘问题应该是先左乘还是右乘显存占用以及计算量越少。变化在, 优先做左乘而不是原生的。其中,,其中这部分原生MLA的复杂度, 主要复杂度是, MLA absorb的复杂度, 主要复杂度是, 算子显存优化比是d:dc 以上图中d7168, dc1538。注意RoPE部分不能被吸收RoPE算子里包含一个位置旋转矩阵Rt(随时间/位置动态变化。如果强行代入公式因为Rt和Rj夹在中间且随着每个token的位置不同而实时变化导致和在空间上被隔开无法提前相乘合并。 NoPE可以合并是因为和都是常量矩阵要以先直接合并。