deepseek-ai/FlashMLA
FlashMLA: Efficient Multi-head Latent Attention Kernels
解決する課題
FlashMLA は、大規模言語モデル(LLM)の推論およびプリフィル段階を加速するために設計された、高度に最適化されたアテンションカーネルを提供し、特に DeepSeek-V3 および V3.2 モデルを強力にサポートします。密な(dense)およびスパースな(sparse)アテンションパターンの両方に対して特化した実装を提供することで、Multi-head Latent Attention (MLA) の計算上のボトルネックを解消します。
仕組み
このライブラリは、異なる GPU アーキテクチャ(SM90 および SM100)と動作モードに合わせて調整された、さまざまなアテンションカーネルを実装しています:
- Sparse Attention Kernels: これらは DeepSeek Sparse Attention (DSA) を実装しており、プリフィルおよびデコーディング段階の両方において、特定のトークン(
indicesテンソル経由)に対してのみアテンションを計算することを可能にします。デコーディングカーネルは、bfloat16 で計算を行いながら、メモリオーバーヘッドを削減するために FP8 KV キャッシュを利用します。 - 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 キャッシュのサポート: スケール係数を用いた量子化 FP8 フォーマットを使用することで、スパースデコーディング中のメモリフットプリントを削減。
- トークンレベルのスパース性: プリフィルおよびデコーディング段階の計算を最適化するために、選択的なトークンアテンションをサポート。
- 幅広いハードウェアサポート: SM90 および SM100 アーキテクチャ向けに最適化されており、その他の様々な GPU アクセラレータ向けのコミュニティポートも提供されています。
関連
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト