X-GenGroup/Flow-Factory

A unified framework for easy fine-tuning in Flow-Matching models

Flow‑Factory – ディフュージョンおよびフローマッチングモデルの統合RLおよびファインチューニング

何であるか – 一貫した構成言語を使用して、大規模なディフュージョン型生成モデル(テキストから画像、テキストから動画、音声・動画など)の訓練・ファインチューニング・評価を可能にする研究用Pythonフレームワークです。これは、オンライン強化学習スタイルのアルゴリズム(GRPO、DPO、DPPOなど)と従来のオフライン教師ありファインチューニング(SFT)およびオフラインDPOを、Hugging‑Face diffusersライブラリの上に統合しています。

主な機能

機能 詳細
対応モデルファミリー Stable‑Diffusion 3.5、FLUX 1/2、Qwen‑Image(2.1含む)、Z‑Image、BAGEL、SenseNova、Wan2.x(テキストから動画および画像から動画)、LTX‑2、MiniMax H3、および多数の画像編集バージョン。
タスク テキストから画像、画像から画像、マルチ画像から画像、テキストから動画、画像から動画、最初/最後のフレームから動画、テキストから音声・動画、画像から音声・動画、順序付き参照から音声・動画。
アルゴリズム SFT、Offline‑DPO、Online‑DPO、GRPO、DiffusionNFT、AWM、DGPO、GRPO‑Guard、DPPO、CRD、DiffusionOPD、DMD2、TDM、TDM‑R1。
トレーニングバックエンド PyTorch 2.10+、torch.compile、DeepSpeed ZeRO‑2、FSDP2、オプションのflash‑attentionカーネル、カスタムMuonオプティマイザ。
加速 一貫したacceleration:ブロックで、アテンションバックエンド(ネイティブ、xformers、flashバリアント)を選択し、torch.compileと組み合わせることが可能。
実験追跡 Weights & Biases、SwanLab、TensorBoardとの組み込み統合。
データセット形式 教師付きデモンストレーションおよび好みペア用の厳密なJSONL v2スキーマ;純粋なテキストから画像/動画用のシンプルな行またはJSONLプロンプト。
リワードモデル DPO/GRPOパイプラインで使用されるプラグイン可能なリワードシステム(組み込みおよびリモートサーバー)。
Dockerイメージ CUDA対応のトレーニングイメージ(Python 3.12、PyTorch 2.10、cu129、DeepSpeed、WandB)。
拡張性 新しいディフュージョン/フローマッチングモデルおよび新しいデータセットを追加するためのガイド。

使い方

  1. インストール – pip install -e .(Python ≥ 3.10、PyTorch ≥ 2.10)。DeepSpeed、flash‑attention、または特定のアダプタ用のオプション追加。
  2. 設定を選択 – 例:ff-train examples/grpo/lora/flux1/default.yaml はFLUX 1上でGRPO + LoRAを実行。
  3. 実行 – ff-train CLIがYAMLを読み取り、モデルを構築し、データセットをロードし、選択されたアルゴリズム(例:trainer_type: grpo)を作成して分散トレーニングを開始。
  4. ログ – 設定でlogging_backend: wandb(またはswanlab)を指定すると、サンプル画像/動画およびメトリクス曲線をストリーミング可能。
  5. 独自のモデルまたはデータを追加 – guidance/new_model.md および guidance/datasets.md を参照して、新しいDiffusersモデルまたはカスタムJSONLスキーマを登録。

なぜ重要か

  • 統合インターフェース – SFTからRLファインチューニングに移行する際、リポジトリを切り替える必要がありません。同じff-trainコマンドがすべての対応アルゴリズムで動作します。
  • 広範なモダリティ対応 – 画像を超えて同期音声・動画へのディフュージョンファインチューニングを拡張しており、少数のオープンソースツールキットしかカバーしていないニッチ領域をカバー。
  • 研究用に最適化 – 120のモデル/バックエンド/アルゴリズムの組み合わせが検証済みで、再現性に自信を持てる「スモークマトリクス」を提供。
  • モジュール式加速 – acceleration:ブロックにより、モデルコードを変更せずにflash‑attention、xformers、ネイティブカーネルを実験可能。

主なユーザー

  • ディフュージョンモデルのRLベースのアライメントを探索する研究者。
  • 複数のディフュージョンファミリー(Stable‑Diffusion、FLUX、Qwen‑Imageなど)を一度にファインチューニングしたいエンジニア。
  • テキストから画像/動画生成用のカスタムリワードモデルを構築するチーム。

制限事項

  • ディフュージョン/フローマッチングモデルに特化しており、汎用的なLLMトレーナーではない。
  • 大量のGPUリソースを必要とする(多くの例ではマルチGPUまたはDeepSpeed/FSDP設定を想定)。
  • オプションのバックエンド(flash‑attentionバリアント)は追加のシステムレベルのライブラリが必要。

上記のすべての情報はリポジトリのREADMEから直接取得;追加機能は一切作成されていません。

関連

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