FLUX.3 Image Klein リリース:Diffusers における統合テキストから画像、マルチリファレンス画像から画像、およびレイアウト制御モデル
TL;DR
FLUX.3 Image Klein は、テキストから画像、マルチリファレンス画像から画像、境界ボックスレイアウト編集を処理する統合画像生成モデルであり、Hugging Face Diffusers で、高速蒸留チェックポイント(H100 上で 1024×1024 あたり約 2 秒)と、ファインチューニング用のベースチェックポイントを備えて提供されます。
はじめに
最新の Diffusers と Transformers(Qwen3-VL テキストエンコーダ用)をインストールし、蒸留チェックポイントを読み込みます:
pip install -U diffusers transformers
import torch
from diffusers import ModularPipeline
pipe = ModularPipeline.from_pretrained("black-forest-labs/flux-3-image-klein")
pipe.load_components(dtype=torch.bfloat16)
pipe.to("cuda")
pipe(prompt="a red fox", output="images")[0].save("fox.png")
ベースチェックポイント(black-forest-labs/flux-3-image-klein-base)は、分類子フリーガイダンスを使用して 50 ステップの推論を実行し、LoRA ファインチューニングの推奨開始点です。
FLUX.3 でできること
テキストから画像
モデルは、詳細なシーン記述を期待します。蒸留チェックポイントは、デフォルトで 16 ステップで 1024×1024 の画像を生成します。プロンプトとコードの例はアナウンスに記載されています。
画像から画像
image 引数で 1 つ以上のリファレンス画像を渡し、プロンプトで希望する変更を説明します。複数のリファレンスは <ref_image_0>、<ref_image_1>、… として扱われます。
レイアウト制御
境界ボックスレイアウト編集は、キャプションに追加される JSON リージョンのリストとして表現されます。各リージョンには、id、正規化された bbox(y 優先、0〜1000 スケール)、およびテキストの desc が含まれます。モデルは各説明をそのボックス内に描画します。編集の場合、src_bbox と tgt_bbox は、コンテンツの取得元と配置先を指定します。
モデルチェックポイントと量子化
| チェックポイント | 説明 | デフォルト推論 |
|---|---|---|
black-forest-labs/flux-3-image-klein |
タイムステップ蒸留、高速推論 | 16 ステップ、CFG なし |
black-forest-labs/flux-3-image-klein-base |
ファインチューニング用ベースモデル | 50 ステップ、CFG |
両方のチェックポイントは、単一ファイルの safetensors として利用可能です。2 つの量子化バリアント(fp8r および nvfp4)は、Flux3Transformer2DModel.from_single_file と BFLQuantizationConfig で読み込むことができます。fp8r バリアントは、コンピュートケイパビリティ 8.9 以降(Ada、Hopper、Blackwell)の GPU で動作します。nvfp4 は、FlashInfer カーネルを備えた Blackwell GPU を対象としています。
LoRA ファインチューニング
FLUX.3 は、テキストから画像および画像から画像の両方の DreamBooth LoRA スクリプトをサポートしています。サンプルコマンドは、パブリックドメインの multimodalart/1920-raider-waite-tarot-public-domain データセットでタロットカードスタイルの LoRA をファインチューニングします。推奨されるメモリ節約フラグには、--gradient_checkpointing、--cache_latents、および --use_8bit_adam が含まれます。
トレーニングされたアダプターは diffusers-modular/flux3-tarot-lora でホストされています。画像から画像の LoRA スクリプト(train_dreambooth_lora_flux3_klein_img2img.py)は、(参照、ターゲット、命令) トリプルでトレーニングし、プロンプトで <ref_image_0> プレースホルダーを使用します。
リソース使用量とパフォーマンス
メモリフットプリント
| バリアント | ロード後のピーク(GiB) | 推論後のピーク(GiB) |
|---|---|---|
nvfp4(RTX 6000) |
13.4 | 15.3 |
fp8r(H100) |
14.35 | 16.27 |
bf16(H100) |
18.80 | 20.72 |
量子化チェックポイントはメモリを削減します。テキストエンコーダは一度実行して解放できます。また、ComponentsManager による自動 CPU オフロードもサポートされています。
速度(単一 NVIDIA H100 80 GB、オフロードなし)
| ワークフロー | 出力サイズ | 時間 | ピークメモリ |
|---|---|---|---|
| テキストから画像 | 1024×1024 | 1.93 秒 | 23.8 GiB |
| 画像から画像(リファレンス 1 つ) | 1024×1024 | 3.87 秒 | 23.8 GiB |
| レイアウト編集(騎士の例) | 1360×768 | 4.10 秒 | 23.8 GiB |
リファレンス画像は、そのトークンがテキストシーケンスに連結されるため、レイテンシがほぼ 2 倍になります(1024×1024 リファレンスあたり約 4,000 トークン追加)。
アーキテクチャ概要
- トークンタイプ – テキスト、ノイズ付き画像潜在変数、およびオプションのリファレンス潜在変数。
- ピクセルからトークンへの変換 – VAE は 1024×1024 ピクセルを 64×64 の潜在グリッド(4,096 トークン)に圧縮し、各トークンが 16×16 ピクセルのパッチをカバーします。
- テキストエンコーディング – Qwen3-VL は 36 層のうち 8 層からの隠れ状態を提供し、各トークンは 20,480 次元のベクトルになり、トランスフォーマー幅 3072 に投影されます。
- 2 段階トランスフォーマー – ステージ 1 は各モダリティを独自の 5 ブロックで処理します。ステージ 2 はすべてのストリームを 28 のジョイントブロックにマージし、クロスモーダルアテンションを可能にします。
- 変調 – タイムステップ埋め込みがトークンを変調します。画像トークンは現在のタイムステップを使用し、テキストおよびリファレンストークンは常にタイムステップ 0(クリーンなコンテキストとして扱われる)で変調されます。
- アテンション – 回転位置埋め込みは 4 つの軸(タイムステップ、高さ、幅、シーケンス長)に及び、リファレンスベースの編集に正確な空間的グラウンディングを提供します。
- デノイジングループ – フローマッチングスケジューラが各ステップで速度ベクトルを予測します。蒸留チェックポイントはより大きなジャンプ(16 ステップフローマップ)を使用します。
モジュラー Diffusers 統合
FLUX.3 は ModularPipeline として公開されています。ユーザーは次のことができます:
- 利用可能なワークフローを一覧表示(
text2image、image_conditioned)。 - テキストエンコーダを削除してプロンプトを一度エンコードし、再エンコードせずに複数の画像を生成。
ModularPipelineBlocksを拡張してカスタムブロック(例:中間デノイズ潜在変数を記録するプレビューステップ)を挿入。
自分で試す
- モデルハブ – FLUX.3 Image Klein コレクション:https://huggingface.co/collections/black-forest-labs/flux-3-image-klein
- ドキュメント – FLUX.3 用 Diffusers API:https://huggingface.co/docs/diffusers/main/en/api/pipelines/flux3
- ファインチューニング – DreamBooth LoRA スクリプト:https://github.com/huggingface/diffusers/blob/main/examples/dreambooth/README_flux3_klein.md
- プロンプトガイド – Black Forest Labs プロンプトガイド:https://docs.bfl.ai/guides/prompting_summary
Hub で独自の FLUX.3 パイプラインと LoRA を構築、共有、反復しましょう!