🚀 stable-diffusion-xl-base-1.0-GGUF
このモデルは、テキストから画像を生成するStable Diffusion XLベースモデルのGGUF量子化バージョンです。特定の環境でのみサポートされており、多様な量子化オプションが用意されています。
🚀 クイックスタート
!!! この実験的なバージョンは、gpustack/llama-box v0.0.75+ でのみサポートされています !!!
モデル作成者: Stability AI
オリジナルモデル: stable-diffusion-xl-base-1.0
GGUF量子化: stable-diffusion.cpp ac54e をベースに、llama-boxでパッチが適用されています。
VAEソース: madebyollin/sdxl-vae-fp16-fix。
量子化 |
OpenAI CLIP ViT-L/14量子化 |
OpenCLIP ViT-G/14量子化 |
VAE量子化 |
FP16 |
FP16 |
FP16 |
FP16 |
Q8_0 |
FP16 |
FP16 |
FP16 |
Q4_1 |
FP16 |
FP16 |
FP16 |
Q4_0 |
FP16 |
FP16 |
FP16 |
✨ 主な機能
- テキストプロンプトに基づいて画像を生成および変更できます。
- 複数の量子化オプションがあり、メモリ使用量と精度のバランスを調整できます。
- ベースモデルとリファイナーモデルを組み合わせたエンサンブルパイプラインをサポートしています。
📦 インストール
🧨 Diffusers
diffusersを >= 0.19.0にアップグレードしてください:
pip install diffusers --upgrade
さらに、transformers
、safetensors
、accelerate
およびinvisible watermarkをインストールしてください:
pip install invisible_watermark transformers accelerate safetensors
Optimum
OpenVINO
OptimumをOpenVINO用の依存関係と共にインストールするには:
pip install optimum[openvino]
ONNX
OptimumをONNX Runtime推論用の依存関係と共にインストールするには:
pip install optimum[onnxruntime]
💻 使用例
基本的な使用法
ベースモデルのみを使用するには、以下のコードを実行できます:
from diffusers import DiffusionPipeline
import torch
pipe = DiffusionPipeline.from_pretrained("stabilityai/stable-diffusion-xl-base-1.0", torch_dtype=torch.float16, use_safetensors=True, variant="fp16")
pipe.to("cuda")
prompt = "An astronaut riding a green horse"
images = pipe(prompt=prompt).images[0]
高度な使用法
ベースモデルとリファイナーモデルを組み合わせたエンサンブルパイプラインを使用するには:
from diffusers import DiffusionPipeline
import torch
base = DiffusionPipeline.from_pretrained(
"stabilityai/stable-diffusion-xl-base-1.0", torch_dtype=torch.float16, variant="fp16", use_safetensors=True
)
base.to("cuda")
refiner = DiffusionPipeline.from_pretrained(
"stabilityai/stable-diffusion-xl-refiner-1.0",
text_encoder_2=base.text_encoder_2,
vae=base.vae,
torch_dtype=torch.float16,
use_safetensors=True,
variant="fp16",
)
refiner.to("cuda")
n_steps = 40
high_noise_frac = 0.8
prompt = "A majestic lion jumping from a big stone at night"
image = base(
prompt=prompt,
num_inference_steps=n_steps,
denoising_end=high_noise_frac,
output_type="latent",
).images
image = refiner(
prompt=prompt,
num_inference_steps=n_steps,
denoising_start=high_noise_frac,
image=image,
).images[0]
torch >= 2.0
を使用する場合、torch.compile
を使って推論速度を20 - 30%向上させることができます。パイプラインを実行する前に、unet
を torch.compile
でラップします:
pipe.unet = torch.compile(pipe.unet, mode="reduce-overhead", fullgraph=True)
GPU VRAMに制限がある場合、.to("cuda")
の代わりに pipe.enable_model_cpu_offload
を呼び出して cpu offloading を有効にできます:
- pipe.to("cuda")
+ pipe.enable_model_cpu_offload()
Optimumの使用例
OpenVINO
- from diffusers import StableDiffusionXLPipeline
+ from optimum.intel import OVStableDiffusionXLPipeline
model_id = "stabilityai/stable-diffusion-xl-base-1.0"
- pipeline = StableDiffusionXLPipeline.from_pretrained(model_id)
+ pipeline = OVStableDiffusionXLPipeline.from_pretrained(model_id)
prompt = "A majestic lion jumping from a big stone at night"
image = pipeline(prompt).images[0]
ONNX
- from diffusers import StableDiffusionXLPipeline
+ from optimum.onnxruntime import ORTStableDiffusionXLPipeline
model_id = "stabilityai/stable-diffusion-xl-base-1.0"
- pipeline = StableDiffusionXLPipeline.from_pretrained(model_id)
+ pipeline = ORTStableDiffusionXLPipeline.from_pretrained(model_id)
prompt = "A majestic lion jumping from a big stone at night"
image = pipeline(prompt).images[0]
📚 ドキュメント
モデル

SDXL は、潜在拡散のためのエンサンブルエキスパートパイプラインで構成されています。最初のステップでは、ベースモデルを使用して(ノイズのある)潜在変数を生成し、その後、最終的なノイズ除去ステップに特化したリファイナーモデル(https://huggingface.co/stabilityai/stable-diffusion-xl-refiner-1.0/ で入手可能)でさらに処理されます。ベースモデルは、スタンドアロンモジュールとしても使用できます。
あるいは、以下のような2段階のパイプラインを使用することもできます。まず、ベースモデルを使用して目的の出力サイズの潜在変数を生成します。次のステップでは、特殊な高解像度モデルを使用し、SDEdit(https://arxiv.org/abs/2108.01073、「img2img」とも呼ばれる)と呼ばれる手法を、同じプロンプトを使用して最初のステップで生成された潜在変数に適用します。この手法は、より多くの関数評価を必要とするため、最初の手法よりも少し遅くなります。
ソースコードは、https://github.com/Stability-AI/generative-models で入手できます。
モデルの説明
モデルのソース
研究目的では、最も人気のある拡散フレームワーク(トレーニングと推論の両方)を実装し、蒸留などの新機能が随時追加される generative-models
のGithubリポジトリ(https://github.com/Stability-AI/generative-models)をお勧めします。
Clipdrop は、無料のSDXL推論を提供しています。
- リポジトリ: https://github.com/Stability-AI/generative-models
- デモ: https://clipdrop.co/stable-diffusion
評価
上のグラフは、SDXL(リファイン有りおよび無し)に対するユーザーの好みを、SDXL 0.9 およびStable Diffusion 1.5と2.1と比較して評価しています。SDXLベースモデルは、以前のバリアントよりも大幅に優れた性能を発揮し、リファイナーモジュールと組み合わせたモデルは全体的に最良の性能を達成しています。
使用方法
直接使用
このモデルは研究目的のみを意図しています。考えられる研究分野とタスクには以下が含まれます。
- アートワークの生成とデザインやその他の芸術的なプロセスでの使用。
- 教育または創造的なツールでのアプリケーション。
- 生成モデルに関する研究。
- 有害なコンテンツを生成する可能性のあるモデルの安全なデプロイ。
- 生成モデルの制限とバイアスの調査と理解。
以下に記載されている使用方法は除外されています。
想定外の使用
このモデルは、人やイベントの事実的または真実の表現を生成するように訓練されていないため、そのようなコンテンツを生成するためにモデルを使用することは、このモデルの能力範囲外です。
🔧 技術詳細
制限事項
- モデルは完全な写実感を達成しません。
- モデルは読み取り可能なテキストをレンダリングできません。
- モデルは、「青い球体の上に赤い立方体」のような構成性を伴うより難しいタスクに苦労します。
- 顔や人全体が適切に生成されない場合があります。
- モデルの自動符号化部分は損失があります。
バイアス
画像生成モデルの能力は印象的ですが、社会的なバイアスを強化または悪化させる可能性もあります。
📄 ライセンス
このモデルは CreativeML Open RAIL++-M License の下で提供されています。