剛剛,DeepSeek開源FlashMLA,推理加速核心技術,Star量飛漲中
上周五,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