HKUSTDial/flash-sparse-attention

Trainable fast and memory-efficient sparse attention

何を解決するか

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

動作方法

FSAは高性能なトレーナブルスパースアテンションカーネルを実装しています。最適なパフォーマンスを実現するためにCuTeバックエンドを使用し、因果的、局所ウィンドウ、ゲート付きアテンションなど、さまざまなアテンションパターンをサポートしています。ワークロードのバランスと精度を最適化するために、Split-KV(フォワード/デコード用)とSplit-QO(バックワードパス用)の技術を採用しており、また、ネイティブなFP8サポートがないハードウェア向けに統合された量子化を提供しています。

対象ユーザー

長文コンテキスト窓の効率的な処理と、高性能なトレーニングおよび推論(デコード)ワークロードを必要とする大規模Transformerモデルを開発している研究者や開発者。

主な特徴

  • 多様なアテンションサポート: デンス、スパース、ゲート付きアテンション、およびGrouped Query Attention (GQA)、Multi Query Attention (MQA) をサポート。
  • メモリと計算効率: Flash Attentionのメモリ効率とスパース計算、Paged Attentionを統合。
  • 柔軟な設定: Flex Local Window Attentionにより、ヘッドごとに任意のウィンドウサイズと局所範囲を設定可能。
  • ハードウェア最適化: 統合量子化とワークロードバランス(Split-KV/Split-QO)を備え、GPU/XPU/NPU/PPUのパフォーマンスを最大化。

関連

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