刚刚,DeepSeek开源FlashMLA,推理加速核心技术,Star量飞涨中
机器之心Pro,2025-02-24 10:41:32
机器之心报道
机器之心编辑部
上周五,DeepSeek 发推说本周将是开源周(OpenSourceWeek),并将连续开源五个软件库。
第一个项目,果然与推理加速有关。
北京时间周一上午 9 点,刚一上班(同时是硅谷即将下班的时候),DeepSeek 兑现了自己的诺言,开源了一款用于 Hopper GPU 的高效型 MLA 解码核:FlashMLA。
该项目上线才 45 分钟就已经收获了超过 400 star!并且在我们截图时,Star 数量正在疯狂飙升。
项目地址:https://github.com/deepseek-ai/FlashMLA
众所周知,MLA是DeepSeek大模型的重要技术创新点,主要就是减少推理过程的KV Cache,从而实现在更少的设备上推理更长的Context,极大地降低推理成本。
此次 DeepSeek 直接开源了该核心技术的改进版本,可以说是诚意满满。
接下来,就让我看下这个开源项目的核心内容。
据介绍,FlashMLA 是适用于 Hopper GPU 的高效 MLA 解码内核,针对可变长度序列服务进行了优化。
目前已发布的内容有:
- BF16
- 块大小为 64 的分页 kvcache
其速度非常快,在 H800 SXM5 GPU 上具有 3000 GB/s 的内存速度上限以及 580 TFLOPS 的计算上限。
在部署这个项目之前,你需要的有:
- Hopper GPU
- CUDA 12.3 及以上版本
- PyTorch 2.0 及以上版本
快速启动
- 安装
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,
该项目发布后也是好评如潮。
甚至有网友打趣地表示:「听说第五天会是 AGI」。
最后,还是那句话:这才是真正的 OpenAI