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)。 |
| 拡張性 | 新しいディフュージョン/フローマッチングモデルおよび新しいデータセットを追加するためのガイド。 |
使い方
- インストール –
pip install -e .(Python ≥ 3.10、PyTorch ≥ 2.10)。DeepSpeed、flash‑attention、または特定のアダプタ用のオプション追加。 - 設定を選択 – 例:
ff-train examples/grpo/lora/flux1/default.yamlはFLUX 1上でGRPO + LoRAを実行。 - 実行 –
ff-trainCLIがYAMLを読み取り、モデルを構築し、データセットをロードし、選択されたアルゴリズム(例:trainer_type: grpo)を作成して分散トレーニングを開始。 - ログ – 設定で
logging_backend: wandb(またはswanlab)を指定すると、サンプル画像/動画およびメトリクス曲線をストリーミング可能。 - 独自のモデルまたはデータを追加 –
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から直接取得;追加機能は一切作成されていません。
関連
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト