Repolode
fla-org

fla-org/flash-linear-attention

線形注意、スパース注意、状態空間モデル、ハイブリッドLLM向けのTritonベースのカーネルと、学習にすぐ使えるレイヤー。

スター
5,952
フォーク
778
未解決の Issue
126
最終コミット
5 時間前

これは何?

Flash Linear Attention(fla)は、標準的なsoftmax attentionを置き換えたり補完したりする、系列モデル向けのハードウェア効率に優れた部品を提供するPythonライブラリです。Tritonカーネルに加え、GatedDeltaNet、RetNet、GLA、Mamba2などの既製レイヤーや、それらを基盤とする🤗 Transformers互換のモデルクラスを備えています。プロジェクトによると、実装はプラットフォームに依存せず、NVIDIA、AMD、Intelのハードウェアで検証されています。

個々のレイヤーに加えて、flaはゲーティング付きRMSNorm、fused linear cross entropy、rotary embeddingsなどの融合モジュールを備えており、メモリ使用量の削減と学習の高速化を目指しています。設定引数を使えば、線形注意モデルに標準的なattentionレイヤーを混在させるハイブリッドモデルを構成でき、レイヤーごとに制御できます。生成には標準のHugging Face APIを利用でき、事前学習済みチェックポイントはfla-hub organizationで公開されています。

このリポジトリでは、torchtitanを基盤とする関連フレームワークflameを使った学習手順のほか、lm-evaluation-harnessとperplexity測定を利用する評価スクリプトも解説しています。

主な機能

  • 01線形注意、スパース注意、状態空間モデルの各種実装向けTritonカーネル。
  • 02MultiScaleRetentionなど、multihead attentionを置き換えるドロップイン型のtoken mixingレイヤー。
  • 03設定をカスタマイズできる、Hugging Face Transformers互換のモデルクラス。
  • 04任意の深さに標準的なattentionレイヤーを挿入できるハイブリッドモデル。
  • 05メモリ使用量を抑え、学習を高速化する融合norm、rotary embedding、cross entropyモジュール。
  • 06CUDA、ROCm、XPU、Ascend NPU、CPU向けのバックエンド追加機能。

ユースケース

  • 長文脈言語モデルの二次計算量のattentionを、線形注意のバリエーションに置き換える。
  • Hugging Face風のワークフローで、劣二次計算量のLLMを事前学習またはファインチューニングする。
  • attentionレイヤーとrecurrentレイヤーを組み合わせたハイブリッドアーキテクチャを試す。
  • 異なるGPUで線形注意カーネルの速度をベンチマークする。

トピック

よくある質問

flash-linear-attention とは?
線形注意、スパース注意、状態空間モデル、ハイブリッドLLM向けのTritonベースのカーネルと、学習にすぐ使えるレイヤー。 Flash Linear Attention(fla)は、標準的なsoftmax attentionを置き換えたり補完したりする、系列モデル向けのハードウェア効率に優れた部品を提供するPythonライブラリです。Tritonカーネルに加え、GatedDeltaNet、RetNet、GLA、Mamba2などの既製レイヤーや、それらを基盤とする🤗 Transformers互換のモデルクラスを備えています。プロジェクトによると、実装はプラットフォームに依存せず、NVIDIA、AMD、Intelのハードウェアで検証されています。
flash-linear-attention は無料で使えますか?ライセンスは?
flash-linear-attention は MIT ライセンスのオープンソースです。商用製品で使う前にライセンス条件を確認してください。
flash-linear-attention は今もメンテナンスされていますか?
活発にメンテナンス中。flash-linear-attention の最終コミットは 2026年10月20日 です。
flash-linear-attention は何に使えますか?
長文脈言語モデルの二次計算量のattentionを、線形注意のバリエーションに置き換える。 Hugging Face風のワークフローで、劣二次計算量のLLMを事前学習またはファインチューニングする。 attentionレイヤーとrecurrentレイヤーを組み合わせたハイブリッドアーキテクチャを試す。 異なるGPUで線形注意カーネルの速度をベンチマークする。
flash-linear-attention はどこで入手できますか?
ソースコードとインストール手順は GitHub にあります:https://github.com/fla-org/flash-linear-attention

概要はプロジェクトの README をもとに AI が生成しています。GitHub の数値は毎日更新されます。

関連プロジェクト