deepseek-ai/FlashMLA
FlashMLA: Efficient Multi-head Latent Attention Kernels
解決的問題
FlashMLA 提供高度優化的注意力算子,旨在加速大型語言模型的推理與預填充(prefilling)階段,特別是為 DeepSeek-V3 與 V3.2 模型提供支持。它透過為密集(dense)與稀疏(sparse)注意力模式提供專門的實現,解決了 Multi-head Latent Attention (MLA) 的計算瓶頸。
工作原理
該函式庫實現了針對不同 GPU 架構(SM90 與 SM100)及運行模式量身定制的多种注意力算子:
- 稀疏注意力算子 (Sparse Attention Kernels):這些算子實現了 DeepSeek Sparse Attention (DSA),允許模型在預填充與解碼階段僅針對特定 Token(透過
indices張量)計算注意力。解碼算子在進行 bfloat16 計算的同時,利用 FP8 KV cache 來減少記憶體開銷。 - 密集注意力算子 (Dense Attention Kernels):為預填充與解碼提供標準的密集注意力實現。
- 硬體優化:算子針對 NVIDIA H800 與 B200 GPU 進行了優化,利用特定的架構特性實現高 TFlops 性能。
適用對象
本專案面向使用 DeepSeek 模型的 AI 研究人員與工程師,以及需要在高端 NVIDIA GPU 上實現最大硬體利用率與推理速度的 Multi-head Latent Attention (MLA) 實作者。
亮點
- 高吞吐量:在 B200 GPU 上,密集 MLA 解碼可達到高達 660 TFlops,稀疏 MLA 預填充可達到 1450 TFlops。
- FP8 KV Cache 支援:透過使用帶有縮放因子的量化 FP8 格式,減少稀疏解碼期間的記憶體占用。
- Token 級稀疏性:支援選擇性 Token 注意力,以優化預填充與解碼階段的計算。
- 廣泛的硬體支援:針對 SM90 與 SM100 架構進行了優化,並為其他各種 GPU 加速器提供了社群移植版本。
相關
- 專案
- 專案
- 專案
- 專案
- 專案