🚀DeepSeek开源周第一天,发布加速推理的基础设置FlashMLA,DeepSeek为 Hopper GPU 优化高效 MLA 解码内核,支持变长序列,并已投入生产使用。
✅ 支持 BF16 ✅ 分页 KV 缓存(块大小 64) ⚡ 在 H800 上实现 3000 GB/s 内存带宽 和 580 TFLOPS 计算性能!
git clone https://github.com/deepseek-ai/FlashMLA.git
python setup.py install
python tests/test_flash_mla.py
在 H800 SXM5 上,使用 CUDA 12.6,在受内存限制的配置下可实现高达 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 GPUs
CUDA 12.3 and above
PyTorch 2.0 and above