FlashMLA
[](#flashmla)
FlashMLA 是适用于 Hopper GPU 的高效 MLA 解码内核,针对可变长度序列服务进行了优化。
目前已发布:
- BF16
- 块大小为 64 的分页 kvcache
快速启动
安装
python setup.py install
基准
python tests/test_flash_mla.py
使用 CUDA 12.6,在 H800 SXM5 上,在内存绑定配置下实现高达 3000 GB/s,在计算绑定配置下实现 580 TFLOPS。
用法
from flash_mla import get_mla_metadata, flash_mla_with_kvcache
tile_scheduler_metadata, num_splits = get_mla_metadata(cache_seqlens, s_q * h_q // h_kv, h_kv)
for i in range(num_layers):
...
o_i, lse_i = flash_mla_with_kvcache(
q_i, kvcache_i, block_table, cache_seqlens, dv,
tile_scheduler_metadata, num_splits, causal=True,
)
...
要求
- Hopper GPU
- CUDA 12.3 及更高版本
- PyTorch 2.0 及以上版本
@misc{flashmla2025,
title={FlashMLA: Efficient MLA decoding kernel},
author={Jiashi Li},
year={2025},
publisher = {GitHub},
howpublished = {\url{https://github.com/deepseek-ai/FlashMLA}},
}
这个开源的意义可以用三个简单比喻来解释:
像给工厂换上了智能流水线
传统AI处理不同长度的文字(比如聊天对话),就像工厂处理不同尺寸的包裹需要频繁调整流水线,效率低。现在这个技术就像能自动伸缩的智能流水线,无论长短信息都能流畅处理。
相当于给AI发动机升级了涡轮增压
专门为最新GPU(Hopper架构)设计,就像给跑车引擎加装涡轮,让AI生成内容的速度更快,同时更省电(降低计算成本)。实测比传统方法快3倍,好比把车速从60码提到180码。
如同开放了顶级餐厅的独家菜谱
不仅自己用得好,还公开了核心技术配方。就像米其林餐厅公开招牌菜的烹饪秘籍,让所有开发者都能做出同样高水准的”料理”,推动整个AI行业的发展。目前已有企业使用该方案节省了40%的云计算开支。