AI・機械学習
DiffusionBench: 生成型拡散トランスフォーマーの包括的評価に向けて
DiffusionBench: Towards Holistic Evaluation of Generative Diffusion Transformers (github.com)
要約
DiffusionBenchは、拡散トランスフォーマーの包括的なベンチマークを提供するための統一されたコードベースです。ImageNetの評価だけでは不十分になった現代において、様々な生成タスク(ImageNet、T2Iなど)におけるモデルのトレーニングと評価を単一のインターフェースでサポートします。新しい評価軸、指標、および公開された手法の忠実な再現性を通じて、ベンチマークの成長を呼びかけています。
全文翻訳
diffusion-bench\n##############################################################################\n# # # ____ _ __ __ _ .-----------. # # # | _ \(_)/ _|/ _|_ _ ___(_) ___ _ __ | | # # # | | | | | |_| |_| | | / __| |/ _ \| '_ \ | ░▒▓█▓▒░▒▓ | # # # | |_| | | _| _| |_| \__ \ | (_) | | | | | ▒▓█████▓▒ | # # # |____/|_|_| |_| \__,_|___/_|\___/|_| |_| | ▓███████▓ | # # # | ↓ | # # # ____ _ | █████████ | # # # | __ ) ___ _ __ ___| |__ | ▓███████▓ | # # # | _ \ / _ \ '_ \ / __| '_ \ | ▒▓█████▓▒ | # # # | |_) | __/ | | | (__| | | | | | # # # |____/ \___|_| |_|\___|_| |_| '-----------' # # # # ImageNetの評価だけではもはや十分ではないから! # # # ##############################################################################\n📣 お知らせ投稿:拡散トランスフォーマーのための包括的ベンチマーク、DiffusionBenchの呼びかけです。新しい評価軸、新しい指標、そして公開された手法の忠実な再現性をもって、ベンチマークの成長にご協力ください。このリポジトリにはDiffusionBenchのための統一されたコードベースが含まれています。これは、単一のインターフェースを通じて、異なる生成タスク(ImageNet、T2Iなど)にわたるトレーニングと評価をサポートします。詳細な構造については、以下のセクションをご覧ください。ぜひご参加ください!\nDiffusionBenchを使用して200Kイテレーションでトレーニングされたモデルからの、256×256のテキストから画像へのサンプル。\nクイックスタートセットアップ\n# uvプロジェクトマネージャーをインストールします(まだ持っていない場合)\ncurl -LsSf https://astral.sh/uv/install.sh | sh\n# 依存関係をインストールします\nuv sync\n# データを準備します\nuv run python scripts/prepare.py --data {all,imagenet,t2i,eval}\n# 事前学習済みモデルをダウンロードします\nuv run hf download diffusion-bench/diffusion-bench --local-dir pretrained_models --exclude .gitattributes\nトレーニング再現フロー:ステージ1 → ステージ2。まず、これらの環境変数を設定します(出力ディレクトリとW&Bロギングに使用されます):\nexport EXPERIMENT_NAME=<run-name>\nexport ENTITY=<wandb-entity>\nexport PROJECT=<wandb-project>\nexport WANDB_KEY=<key>\nステージ1. RAEトークナイザーをトレーニングします:\nuv run torchrun --standalone --nproc_per_node=8 \n src/train_stage1.py \n --config [STAGE1_CONFIG_PATH] \n --results-dir results/stage1 --precision bf16 --compile --wandb\nステージ2. VAE/RAE/Pixel空間で拡散モデルをトレーニングします:\nuv run torchrun --standalone --nproc_per_node=8 \n src/train.py \n --config [STAGE2_CONFIG_PATH] \n --results-dir results/stage2 --precision bf16 --compile --wandb\n評価\nステージ2のトレーニング設定は、トレーニング中にオンライン評価(eval:ブロック)を実行します。リリースされたチェックポイントのスタンドアロン評価には、sampling/設定を使用します。これらはそれぞれstage_2.ckpt(pretrained_models/を指す)と評価時のガイダンスを埋め込んでいるため、重みが自動的にロードされます:\nexport EXPERIMENT_NAME=<run-name>\n# ステージ1の再構築 (rFID/PSNR/SSIM/LPIPS)\nuv run torchrun --nproc_per_node=8 src/offline_eval_stage1.py --config [STAGE1_CONFIG_PATH]\n# ステージ2の生成 (FID/IS, GenEval/DPGBench/...)\nuv run torchrun --nproc_per_node=8 src/offline_eval.py --config [STAGE2_CONFIG_PATH]\n利用可能な設定\nconfigs/\n├── stage1/\n└── stage2/\n ├── training/\n │ ├── imagenet/\n │ └── t2i/\n └── sampling/\n ├── imagenet/\n └── t2i/\nステージ2は、VAE(11)、RAE(6)、REG(4)、およびPixel(3)ファミリーにまたがり、ImageNetとT2Iで同一です。単一のパス変更で、タスク間で任意の設定を交換できます。sampling/セットはtraining/をミラーリングしますが、トレーニング済みのチェックポイントと評価時のガイダンスを追加するため、オフライン評価を直接実行します。ImageNetの場合、CFGオフのベースライン([STAGE2_CONFIG_PATH].yaml)またはモデルごとの最適なCFGバリアント([STAGE2_CONFIG_PATH]-cfg<scale>-t0.0-0.9.yaml)を選択してください。\nサポートされている手法\nカテゴリ | 手法\n---|---\n潜在空間 | Pixel空間\nRAE | (30以上の表現エンコーダー): DINOv2 SigLIP2 WebSSL PE LangPE その他\nRAEv2 | (30以上の表現エンコーダー): DINOv2 SigLIP2 WebSSL PE LangPE など\nVAE | (10以上のVAE): FLUX.2 FLUX.1 SD3.5 VA-VAE E2E-VAE その他\n出力予測 | x-prediction v-prediction\nトランスポート | Rectified-Flow MeanFlow Improved-MeanFlow Pixel-MeanFlow Drifting Loss Flow Matching REPA iREPA\nアーキテクチャ | LightningDiT JiT DDT\nタスク | ImageNet: クラス条件付き生成 T2I: テキストから画像への生成\n評価 | ImageNet: FID IS T2I: GenEval DPGBench GenAIBench VQAScore\nトレーニングバックエンド | DDP FSDP [TODO]\n互換性ステータス | 詳細\nコーディングエージェント | はい エージェント対応。セットアップとワークフローのスキルについてはskills/を参照してください。\nAutoResearch | [TODO] AutoResearchとの統合が計画されています(まだ利用できません)。\n貢献\n貢献を歓迎します!詳細については、docs/contributors.mdとdocs/contributing.mdを参照してください。\n謝辞\nこのコードベースは、いくつかの素晴らしいプロジェクトに基づいて構築されています:RAE RAEv2 REPA REPA-E JiT\nこれらの作品を公開してくださった著者の方々に感謝いたします。