🚀 svdq-int4-flux.1-fill-dev
svdq-int4-flux.1-fill-dev
は、テキスト記述に基づいて既存の画像内の領域を埋めることができるFLUX.1-Fill-dev
のINT4量子化バージョンです。元のBF16モデルよりも約4倍のメモリ節約が可能で、2 - 3倍高速に動作します。

🚀 クイックスタート
svdq-int4-flux.1-fill-dev
は、テキスト記述に基づいて既存の画像内の領域を埋めることができるモデルです。元のBF16モデルよりも約4倍のメモリ節約が可能で、2 - 3倍高速に動作します。
✨ 主な機能
- テキスト記述に基づいて画像内の領域を埋めることができます。
- 元のBF16モデルよりも約4倍のメモリ節約が可能です。
- 元のBF16モデルよりも2 - 3倍高速に動作します。
🔧 技術詳細
量子化手法 -- SVDQuant
SVDQuantの概要。ステージ1: もともと、活性化関数Xと重みWの両方に外れ値が含まれており、4ビット量子化が困難です。 ステージ2: 外れ値を活性化関数から重みに移動させ、更新された活性化関数と重みを得ます。活性化関数は量子化しやすくなりますが、重みは量子化が難しくなります。 ステージ3: SVDQuantは、SVDを使用して重みを低ランク成分と残差に分解します。これにより、低ランクブランチが16ビット精度で動作することで、量子化の難易度が軽減されます。
Nunchakuエンジン設計
(a) ランク32の低ランクブランチを単純に実行すると、Down Projectionでの16ビット入力の追加読み取りとUp Projectionでの16ビット出力の追加書き込みにより、57%のレイテンシオーバーヘッドが発生します。Nunchakuは、カーネル融合によってこのオーバーヘッドを最適化します。
(b) Down ProjectionとQuantizeカーネルは同じ入力を使用し、Up Projectionと4-Bit Computeカーネルは同じ出力を共有します。データ移動のオーバーヘッドを削減するために、最初の2つと後の2つのカーネルを融合します。
📚 ドキュメント
モデルの説明
属性 |
詳情 |
開発元 |
MIT、NVIDIA、CMU、Princeton、UC Berkeley、SJTU、Pika Labs |
モデルタイプ |
INT W4A4モデル |
モデルサイズ |
6.64GB |
モデル解像度 |
ピクセル数は65,536の倍数である必要があります。 |
ライセンス |
Apache-2.0 |
💻 使用例
基本的な使用法
import torch
from diffusers import FluxFillPipeline
from diffusers.utils import load_image
from nunchaku.models.transformer_flux import NunchakuFluxTransformer2dModel
image = load_image("https://huggingface.co/mit-han-lab/svdq-int4-flux.1-fill-dev/resolve/main/example.png")
mask = load_image("https://huggingface.co/mit-han-lab/svdq-int4-flux.1-fill-dev/resolve/main/mask.png")
transformer = NunchakuFluxTransformer2dModel.from_pretrained("mit-han-lab/svdq-int4-flux.1-fill-dev")
pipe = FluxFillPipeline.from_pretrained(
"black-forest-labs/FLUX.1-Fill-dev", transformer=transformer, torch_dtype=torch.bfloat16
).to("cuda")
image = pipe(
prompt="A wooden basket of a cat.",
image=image,
mask_image=mask,
height=1024,
width=1024,
guidance_scale=30,
num_inference_steps=50,
max_sequence_length=512,
).images[0]
image.save("flux.1-fill-dev.png")
Comfy UI
開発中です。お楽しみに!
⚠️ 制限事項
- このモデルは、アーキテクチャがsm_86 (Ampere: RTX 3090、A6000)、sm_89 (Ada: RTX 4090)、およびsm_80 (A100)のNVIDIA GPUでのみ実行可能です。詳細はこのissueを参照してください。
- BF16モデルと細部で若干の違いが見られる場合があります。
引用
このモデルが有用であるか、あなたの研究に関連している場合は、以下のように引用してください。
@inproceedings{
li2024svdquant,
title={SVDQuant: Absorbing Outliers by Low-Rank Components for 4-Bit Diffusion Models},
author={Li*, Muyang and Lin*, Yujun and Zhang*, Zhekai and Cai, Tianle and Li, Xiuyu and Guo, Junxian and Xie, Enze and Meng, Chenlin and Zhu, Jun-Yan and Han, Song},
booktitle={The Thirteenth International Conference on Learning Representations},
year={2025}
}
📄 ライセンス
このモデルは、Apache-2.0ライセンスの下で提供されています。