HKUSTDial/flash-sparse-attention

Trainable fast and memory-efficient sparse attention

何を解決するか

Flash-Sparse-Attention (FSA) は、Transformer モデルにおける極めて長いシーケンスの処理に関連する計算およびメモリのボトルネックを解決します。Flash Attention のメモリ効率とスパース計算を組み合わせることで、学習および推論中のアテンション機構のオーバーヘッドを削減します。

動作方法

FSA は、高性能でトレーナブルなスパースアテンション機構を実装しています。因果的、局所ウィンドウ、ゲート付きアテンションなどのさまざまなアテンションパターンをサポートし、Split-KV および Split-QO といったワークロードバランス技術を活用しています。また、FP8 をネイティブにサポートしないハードウェア向けの低精度計算用に融合型量子化を備え、デコード時の効率的なメモリ管理を実現する Paged Attention もサポートしています。

対象ユーザー

GPU、XPUs、NPUs、PPUs 上で長文コンテキストを効率的に処理し、高性能な学習およびデコードを必要とする大規模な Transformer モデルを開発する研究者および開発者。

主な特徴

  • 包括的なアテンションサポート: 高密度、スパース、ゲート付きアテンションを前向きおよび逆向きのパスでサポート。
  • 柔軟な設定: ヘッドごとの任意のウィンドウサイズ、Grouped Query Attention (GQA)、Multi Query Attention (MQA) を提供。
  • ワークロードバランス: Forward/Decode 用の Split-KV および Backward 用の Split-QO を使用してパフォーマンスを最適化。
  • ハードウェア互換性: 統合量子化により、旧式ハードウェアでも低精度計算を可能に。
  • デコード最適化: Top-k gather KV-cache デコードと Paged Attention を含む。

関連

  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト
  • Dispatch