Deepseek的openweek, day1的来了来了。
项目地址:https://github.com/deepseek-ai/FlashMLA
FlashMLA 是一款高效的 MLA 解码内核,专为 Hopper GPU 优化,适用于变长序列服务。
在 H800 SXM5 上,使用 CUDA 12.6 时,内存受限配置下可实现高达 3000 GB/s 的带宽,计算受限配置下可达 580 TFLOPS 的算力。
用起来的形式上跟flash-attention 差不多。
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
,
)
...