DeepSeek開源放大招:FlashMLA讓H800算力狂飆!曝光低成本秘笈
就在剛剛,DeepSeek放出了開源周首日的重磅炸彈——FlashMLA。
這是DeepSeek專為英偉達Hopper GPU打造的高效MLA解碼內核,特別針對變長序列進行了優化,目前已正式投產使用。
經實測,FlashMLA在H800 SXM5平臺上(CUDA 12.6),在內存受限配置下可達最高3000GB/s,在計算受限配置下可達峰值580 TFLOPS。。
圖片
圖片
開源地址:https://github.com/deepseek-ai/FlashMLA
當前已經發布的內容為:
- 對BF16精度的支持
- 塊大小為64的分頁KV緩存
團隊在致謝部分表示,FlashMLA的設計參考了FlashAttention-2、FlashAttention-3以及CUTLASS的技術實現。
有網友對此表示,「DeepSeek王炸開局,FlashMLA是真正能加速AGI進程的」。
圖片
快速入門
首先,需要打開終端,輸入下面代碼安裝setup.py文件:
這是一個基于Python的安裝命令,用于編譯和安裝FlashMLA模塊,確保其高效運行于特定硬件。
python setup.py install
基準測試:
這段代碼是一個測試腳本,用于驗證FlashMLA的功能和性能,并與PyTorch的基準實現進行對比。
python tests/test_flash_mla.py
使用方法:
下面是一段使用的示例代碼。
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,
)
...
DeepSeek訓練成本如此之低的兩大關鍵
DeepSeek的成本涉及兩項關鍵的技術:一個是MoE,一個就是MLA(多頭潛注意力)。
其中,MLA的開發耗時數月,可將每個查詢KV緩存量減少93.3%,顯著減少了推理過程中的內存占用(在訓練過程也是如此)。
圖片
MLA架構需要一些巧妙的設計,因此實現的復雜性大大增加。而DeepSeek成功地將這些技術整合在一起,表明他們在高效語言模型訓練方面走在了前沿
多頭潛注意力(MLA)
KV緩存是Transforme模型中的一種內存機制,用于存儲表示對話上下文的數據,從而減少不必要的計算開銷。
隨著對話上下文的增長,KV緩存會不斷擴大,從而造成顯著的內存限制。
通過大幅減少每次查詢所需的KV緩存量,可以相應減少每次查詢所需的硬件資源,從而降低運營成本。
與標準注意力機制相比,MLA將每次查詢所需的KV緩存減少了約93.3%。
圖片
MLA這種全新多頭潛注意力,可以將注意力機制的內存占用減少大約80%到90%,尤其有助于處理長上下文
此外,由于H20芯片比H100具有更高的內存帶寬和容量,DeepSeek在推理工作負載方面獲得了更多效率提升。
除了MLA,DeepSeek其他突破性進展還有哪些?
訓練(前期和后期)
不是「下一個token預測」,而是「多token預測」
DeepSeek V3以前所未見的規模實現了多Token預測(MTP)技術,這些新增的注意力模塊可以預測接下來的多個Token,而不是傳統的單個Token。
這顯著提高了訓練階段的模型性能,且這些模塊可以在推理階段移除。
這是一個典型的算法創新案例,實現了在更低計算資源消耗下的性能提升。
其他方面,雖然DeepSeek在訓練中采用了FP8精度,但像全球一些頂尖的實驗室已經采用這項技術相當長時間了。
DeepSeek V3采用了我們常見的「混合專家模型」(MoE)架構,個由多個專門處理不同任務的小型專家模型組成的大模型,展現出強大的涌現能力。
MoE模型面臨的主要挑戰是,如何確定將哪個Token分配給哪個子模型(即「專家」)。
DeepSeek創新性地采用了一個「門控網絡」(gating network),能夠高效且平衡地將Token路由到相應的專家,同時保持模型性能不受影響。
這意味著路由過程非常高效,在訓練過程中每個Token只需要調整小量參數(相較于模型整體規模)。
這既提高了訓練效率,又降低了推理成本。
盡管有人擔心MoE帶來的效率提升,可能降低投資意愿,但Dario指出,更強大的AI模型帶來的經濟效益非常可觀,任何節省的成本都會立即被投入到開發更大規模的模型中。
因此,MoE效率提升不會減少總體投資,反而會加速模型Scaling的進程。
當前,包括OpenAI、谷歌、Anthropic等一些公司正專注于擴大模型的計算規模,并提高算法效率。
V3打好了基礎,RL立大功
對于R1而言,它極大地受益于其強大的基礎模型——V3,這在很大程度上要歸功于強化學習(RL)。
RL主要關注兩個方面:格式化(確保輸出連貫性)以及有用性與安全性(確保模型實用且無害)。
模型的推理能力,是在對合成數據集進行微調過程中自然涌現的,這與o1的情況類似。
值得注意的是,R1論文中并沒有提及具體的計算量,因為披露使用的計算資源,會暴露DeepSeek實際擁有的GPU數量遠超過其對外宣稱的規模。
這種規模的強化學習需要龐大的計算資源,特別是在生成合成數據時。
談到蒸餾,R1論文最引人注目的發現可能是,通過具有推理能力的模型輸出來微調較小的非推理模型,使其獲得推理能力。
數據集包含了約80萬個樣本,現在研究人員可以利用R1的思維鏈(CoT)輸出創建自己的數據集,并借此開發具有推理能力的模型。
未來,我們可能會看到更多小模型展現出推理能力,從而提升小模型的整體性能。
參考資料: