SHI-Labs/NATTEN

Fast Multi-dimensional Sparse Attention

What it solves

NATTENは、通常tokenの数に対して二次関数的に増加する標準的な自己注意機構の計算コストの課題を解決します。局所性とスパース性をアテンション・メカニズムに導入することで、イメージ (2D) やボリュームデータ (3D) のような多次元データの処理を効率化します。

How it works

NATTENは、スライディング・ウィンドウ型自己注意機構であるNeighborhood Attention (NA) を実装しています。畳み込み (convolutions) と同様に、kernel_szestridedilation を定義することで、各次元におけるアテンション・スパンをアテンション・メカニズムに制御します。

高いパフォーマンスを実現するため、本プロジェクトは、NVIDIA GPU向けに最適化された Fused Multi-Headed Attention (FMHA) と Fused Neighborhood Attention (FNA) カーネルを提供します。これには、Hopper (SM90) や Blackwell (SM100, SM103) アーキテクチャ向けのネイティブ・カーネルが含まれます。

Who it’s for

多次元特徴マップのための Transformer を構築する研究者や開発者、特にコンピュータビジョンや3Dデータ処理に従事する人々を対象としています。

Highlights

  • Multi-dimensional support: 2Dおよび3Dのtokenレイアウトへのネイティブサポート。
  • High-performance kernels: Maxwell (SM50) から Blackwell (SM100/103) までのすべてのNVIDIAアーキテクチャ向けの最適化された融合カーネル。
  • Flexible configuration: 各次元における kernel_sizestridedilation の制御。
  • Causal masking: 多次元スパース・アテンションにおける因果的アテンションの切り替え機能。

関連

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