今天小編分享的科技經驗:一文看懂 DeepSeek 剛剛開源的 FlashMLA,這些細節值得注意,歡迎閲讀。
今天開始,我們正式進入 DeepSeek 開源周。
DeepSeek 開源項目第一彈 FlashMLA,已經在極短的時間内發酵到全網了,短短幾個小時,該項目就已經收獲了超過 3.5K Star,且還在不斷飙升。
雖然 FlashMLA 裏的每個字母都認識,連在一起就看不懂了。别急,我們整理了一份 FlashMLA 速通指南。
▲
由 Grok 3 整理,APPSO 核實
讓 H800 性能暴增,FlashMLA 到底什麼來頭?
據官方介紹,FlashMLA 是一個針對 Hopper GPU 優化的高效 MLA(Multi-Head Latent Attention)解碼内核,支持變長序列處理,現在已經投入生產使用。
FlashMLA 通過優化 MLA 解碼和分頁 KV 緩存,能夠提高 LLM(大語言模型)推理效率,尤其是在 H100 / H800 這樣的高端 GPU 上發揮出極致性能。
説人話就是,FlashMLA 是一種專門為 Hopper 高性能 AI 芯片設計的先進技術——一種「多層注意力解碼内核」。
聽起來很復雜,但簡單來説,它就像是一個超級高效的「翻譯器」,能讓計算機更快地處理語言信息。它能讓計算機處理各種長度的語言信息,而且速度特别快。
比如,你在用聊天機器人的時候,它能讓你的對話更快地得到回復,而且不會卡頓。為了提高效率,它主要通過優化一些復雜的計算過程。這就像是給計算機的「大腦」做了一個更新,讓它在處理語言任務時更聰明、更高效。
DeepSeek 官方特意提到,FlashMLA 的靈感來自 FlashAttention 2&3 和 cutlass 項目。
FlashAttention 是一種高效的注意力計算方法,專門針對 Transformer 模型(如 GPT、BERT)的自注意力機制進行優化。它的核心目标是減少顯存占用并加速計算。cutlass 也是一個優化工具,主要幫助提高計算效率。
DeepSeek 的爆火出圈很大程度上是因為以低成本創造了高性能模型。
而這背後的秘籍主要得益于其在模型架構和訓練技術上的創新,尤其是混合專家(MoE)和多頭潛在注意力(MLA)技術的應用。
Building AI Solutions with DeepSeek: A Hands-On Workshop - Association of Data Scientists
FlashMLA 則是 DeepSeek 公司開發的一種針對多頭潛在注意力(MLA)技術的實現和優化版本。那麼問題來了,什麼是 MLA(多頭潛在注意力)機制?
在傳統的語言模型裏,有一種叫「多頭注意力(MHA)」的技術。它能讓計算機更好地理解語言,就像人用眼睛同時關注多個地方一樣。
不過,這種技術有個缺點,就是需要很大的内存來存儲信息,就像一個很能裝的「倉庫」,但倉庫太大就會浪費空間。
MLA 的更新之處在于一種叫「低秩分解」的方法。
它把那個大倉庫壓縮成一個小倉庫,但功能還是一樣好,就像把一個大冰箱換成一個小冰箱,但裏面的東西還是能放得下。這樣一來,
在處理語言任務的時候,不僅節省了空間,速度還更快了。
不過,雖然 MLA 把倉庫壓縮了,但它的工作效果和原來一樣好,沒有打折扣。
當然,除了 MLA 和 MoE,DeepSeek 還用了其他一些技術來大幅降低了訓練和推理成本,包括但不限于低精度訓練、無輔助損失的負載均衡策略以及多 Token 預測(MTP)。
性能數據表明,FlashMLA 在内存和計算限制下的表現遠超傳統方法,這得益于其線性復雜度的設計和針對 Hopper GPU 的優化。
與标準多頭注意力的對比,更是進一步凸顯 FlashMLA 的優勢:
FlashMLA 的主要應用場景包括:
長序列處理:适合處理數千個标記的文本,如文檔分析或長對話。
實時應用:如聊天機器人、虛拟助手和實時翻譯系統,降低延遲。
資源效率:減少内存和計算需求,便于在邊緣設備上部署。
目前 AI 訓練或推理主要依賴英偉達 H100 / H800,但軟體生态還在完善。
由于 FlashMLA 的開源,未來它可以被集成到 vLLM(高效 LLM 推理框架)、Hugging Face Transformers 或 Llama.cpp(輕量級 LLM 推理) 生态中,從而有望讓開源大語言模型(如 LLaMA、Mistral、Falcon)運行得更高效。
同樣的資源,能幹更多的活,還省錢。
因為 FlashMLA 擁有更高的計算效率(580 TFLOPS)和更好的内存帶寬優化(3000 GB/s),同樣的 GPU 資源就可以處理更多請求,從而降低部門推理成本。
對于 AI 公司或者雲計算服務商來説,使用 FlashMLA 也就意味着更低的成本、更快的推理,讓更多 AI 公司、學術機構、企業用户直接受益,提高 GPU 資源的利用率。
此外,研究人員和開發者還可以基于 FlashMLA 做進一步的優化。
過去,這些高效 AI 推理優化技術通常主要掌握在 OpenAI、英偉達等巨頭手裏,但現在,随着 FlashMLA 的開源,小型 AI 公司或者獨立開發者也能用上,更多人進入 AI 領網域創業,自然也就有望催生更多的 AI 創業項目。
簡言之,如果你是 AI 從業者或者開發者,最近在用 H100 / H800 訓練或推理 LLM,那麼 FlashMLA 可能會是一個值得關注或研究項目。
與春節期間網友扒出 DeepSeek V3 論文具體提到了 PTX 的細節相似,X 網友發現 DeepSeek 發布的 FlashMLA 項目中同樣包含了一行内聯 PTX 代碼。
PTX 是 CUDA 平台的中間指令集架構,處于高級 GPU 編程語言和低級機器代碼之間,通常被視為英偉達的技術護城河之一。
通過内聯 PTX,這使得開發者能夠更精細地控制 GPU 的執行流程,從而可能實現更高效的計算性能。
此外,直接利用英偉達 GPU 的底層功能,而不必完全依賴于 CUDA,也有利于降低英偉達在 GPU 編程領網域的技術壁壘優勢。
換句話説,這或許也意味着 DeepSeek 可能在有意繞開英偉達封閉的生态。
當然,如無意外,根據外媒的爆料,本周接下來預計還有 GPT-4.5、Claude 4 等模型的發布,去年年底沒能看到的 AI 大戰或将在本周上演。
看熱鬧不嫌事大,打起來,打起來。
官方部署指南
FlashMLA 是一種高效的 MLA 解碼内核,專為 Hopper GPU 優化,可用于處理變長序列推理。
當前已發布版本支持:
BF16
分頁 KV 緩存,塊大小為 64
在 H800 SXM5 上運行 CUDA 12.6,FlashMLA 在受内存帶寬限制的配置下可達 3000 GB/s,在受計算能力限制的配置下可達 580 TFLOPS。
項目配備:
Hopper GPU
CUDA 12.3 及以上版本
PyTorch 2.0 及以上版本
附上 GitHub 項目地址:
https://github.com/deepseek-ai/FlashMLA
安裝
python setup.py install
基準
python tests/test_flash_mla.py
python tests/test_flash_mla.py 是一個命令行指令,用于運行 Python 測試檔案 test_flash_mla.py,通常用于測試 flash_mla 相關的功能或模塊。
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,
...