SuperAPI AI 工具集

mla-analysis

通用与其它

查看项目

更新于 10-16 09:50

技能介绍

该技能围绕 MLA(Multi-Latent Attention)的成本建模与内核选型,帮助在给定参数与序列长度下判断采用哪种注意力内核方案。

用途与场景:推理规划与内核选择。按序列长度 s 划分三个 regime:Decode(s=1)推荐 FlashMLA,相比 FlashAttention 可带来约 16 倍延迟降低(压缩 KV);Speculative(s=2-32)推荐 MLAvar6+ 或 FlashMLA,资料称 MLAvar6+ 有望优于 FlashMLA 与 FlashAttention;Prefill(s>128)推荐 FlashAttention,以避免潜在空间计算的 4 倍 FLOP 惩罚。资料称在 DeepSeek-V3 参数下,FlashAttention 约在 s=16-32 处开始快于 FlashMLA。

主要能力:提供三类内核的成本模型。FlashAttention 的 FLOPs 为 2bhst(2d+p),字节为 w*bh(s+t)(2d+p);MLAvar6+ 拆分潜在(latent)KV 缓存与解压后的 K、V,其中 o 个旧 token 用 latent Z、n 个新 token 用解压 K/V,t=o+n,通过选择 n 调节运算强度接近 roofline 拐点;FlashMLA 采用吸收技巧在 latent 空间计算注意力和值。

使用方式:按参数与序列长度套用成本公式估算算术强度(AI),再据 regime 表选择内核,必要时用 src/mla_var3/conf/devices.json 中的设备参数重做分析。

限制:给出的是 RTX 5090、b=32、t=4096、bfloat16 的历史基线,需在当前设备上重新 profile 后再作为优化目标;拐点与带宽、算力上限因设备而异。FlashMLA 在 s=1 时 AI 约 228 FLOP/byte,但 FLOPs 随 s 线性增长、每 token 约多 3.4 倍。更多推导见 docs/cost-analysis.md。官方文本未提供。