DeepSeek“开源周”第一天开源项目—FlashMLA
DeepSeek AI 开启了为期一周的开源周活动(Day 1 of #OpenSourceWeek: FlashMLA),首日推出了 FlashMLA 项目。
DeepSeek AI(深度求索)开启了为期一周的开源周活动#OpenSourceWeek,首日推出了 FlashMLA 项目,这是一个专为 Hopper GPU 设计的高效 MLA 解码内核,现已投入生产使用。


01.
开源项目介绍
Flash MLA Decoding Kernel
项目亮点
BF16 精度支持:FlashMLA 当前已发布对 BF16 精度的支持,满足了深度学习中对高精度计算的需求。
分页 kvcache:采用分页 kvcache 机制,块大小为 64,有效管理内存,提高缓存利用率。
卓越性能:在 H800 SXM5 GPU 上,使用 CUDA 12.6 时,FlashMLA 在内存受限配置下可达到高达 3000 GB/s 的内存带宽,在计算受限配置下可实现 580 TFLOPS 的计算性能,展现出强大的处理能力。
02.
开源地址及使用
开源地址:https://github.com/deepseek-ai/FlashMLA
开源协议:MIT license
安装
要开始使用 FlashMLA,首先需要确保你的环境满足以下要求:
Hopper GPU
CUDA 12.3 及以上版本
PyTorch 2.0 及以上版本
安装过程简单便捷,只需按照项目文档中的指引进行操作,即可轻松完成环境配置。
基准测试
通过运行以下命令,你可以对 FlashMLA 的性能进行基准测试:
python tests/test_flash_mla.py
这将帮助你了解在不同配置下 FlashMLA 的实际表现,为你的项目优化提供有力的数据支持。
使用示例
在实际应用中,FlashMLA 提供了简洁易用的 API 接口。以下是一个简单的使用示例:
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 inrange(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,
)
...
通过上述代码,你可以轻松地将 FlashMLA 集成到你的项目中,享受高效解码带来的性能提升。
结束
入群联系|加微信89931668
免费DeepSeek教程与学习资料
请先 登录后发表评论 ~