DeepSeek的“开源周”惊喜,FlashMLA闪亮登场!

DeepSeek的“开源周”惊喜

还记得上周DeepSeek那个神秘预告吗?“开源周”要连放五个大招!这不,周一刚上班(美国那边刚下班),第一个惊喜就来了——FlashMLA,一个专为Hopper GPU打造的高效MLA解码核,直接开源!

消息一出,GitHub上的Star量就跟坐火箭似的,45分钟破400,这会儿估计都不知道涨到哪儿去了!DeepSeek这波操作,真是诚意满满,直接把核心技术都拿出来了。

FlashMLA:为啥这么牛?

先来科普一下,MLA(Multi-Layer Attention)可是DeepSeek大模型的看家本领。简单来说,它能大幅减少推理时需要的KV Cache,让大模型在更“小巧”的设备上也能处理更长的文本,直接把推理成本给打下来!

这次开源的FlashMLA,更是这个核心技术的升级版。它针对可变长度序列服务做了优化,特别适合Hopper GPU。目前发布的版本支持:

  • BF16
  • 块大小为64的分页kvcache

速度有多快?在H800 SXM5 GPU上,内存速度上限高达3000 GB/s,计算上限580 TFLOPS!这数据,简直是性能怪兽!

快速上手FlashMLA:安装与使用

想体验FlashMLA的威力?先看看你的“装备”够不够:

  • Hopper GPU:这是必备的“入场券”。
  • CUDA 12.3及以上版本:确保你的CUDA版本够新。
  • PyTorch 2.0及以上版本:PyTorch也得跟上。

准备好了?那就开始吧!

安装:

python setup.py install

基准测试:

python tests/test_flash_mla.py

在H800 SXM5上,使用CUDA 12.6,FlashMLA在内存绑定配置下最高可达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,
    )
    # ... 其他代码 ...

社区反响:这才是真“Open”AI!

社区反响:这才是真“Open”AI!

FlashMLA一发布,社区里就炸开了锅,各种好评如潮。

有网友直接表示:“这才是真正的OpenAI!”还有人开玩笑说:“DeepSeek这是要一路开挂,第五天是不是要开源AGI(通用人工智能)了?”

总结:DeepSeek持续放大招,未来可期

DeepSeek这次开源FlashMLA,不仅展示了其技术实力,更体现了其开放、共享的精神。这对于整个大模型领域来说,无疑是一剂强心针。

而这,仅仅是DeepSeek“开源周”的开始。接下来的四个项目,又会给我们带来怎样的惊喜?让我们拭目以待!

“别让 AI 成为您无法触及的未来!ChatTools 降低 AI 使用门槛,让每个人都能轻松驾驭 AI,发掘 AI 的无限潜力!”

Logo

欢迎加入DeepSeek 技术社区。在这里,你可以找到志同道合的朋友,共同探索AI技术的奥秘。

更多推荐