モデル概要
モデル特徴
モデル能力
使用事例
🚀 Segmind Stable Diffusion 1B (SSD-1B) モデルカード
Segmind Stable Diffusion モデル (SSD-1B) は、Stable Diffusion XL (SDXL) を知識蒸留したモデルで、モデルサイズが 50% 削減され、高速化が実現されています。高品質なテキストから画像への生成能力を維持しながら、60% の高速化を達成しています。
📣 蒸留方法の詳細については、技術レポート をご覧ください。
AUTOMATIC1111 互換性が追加されました。サポートファイルは こちら から取得できます。
デモ
このモデルは Segmind SSD-1B で試すことができ、⚡ 最速の推論が可能です。また、🤗 Spaces でも試すことができます。
🚀 クイックスタート
モデルの説明
Segmind Stable Diffusion モデル (SSD-1B) は、Stable Diffusion XL (SDXL) の 知識蒸留により50% 小さくなった バージョンで、60% の高速化 を実現しながら、高品質なテキストから画像への生成能力を維持しています。Grit や Midjourney のスクレイピングデータなど、多様なデータセットで学習されており、テキストプロンプトに基づいて幅広い視覚コンテンツを作成する能力が向上しています。
このモデルは、知識蒸留戦略を採用しており、SDXL、ZavyChromaXL、JuggernautXL などの複数のエキスパートモデルの教えを順次活用し、それらの強みを組み合わせて印象的な視覚出力を生成します。
この取り組みに協力し、指導してくれた HF チーム 🤗、特に Sayak、Patrick、Poli に特別な感謝を申し上げます。
画像比較 (SDXL-1.0 vs SSD-1B)
使い方
このモデルは 🧨 Diffusers ライブラリを介して使用できます。
まず、以下のコマンドを実行して、Diffusers をソースからインストールしてください。
pip install git+https://github.com/huggingface/diffusers
さらに、transformers
、safetensors
、accelerate
をインストールしてください。
pip install transformers accelerate safetensors
モデルを使用するには、以下のコードを実行します。
from diffusers import StableDiffusionXLPipeline
import torch
pipe = StableDiffusionXLPipeline.from_pretrained("segmind/SSD-1B", torch_dtype=torch.float16, use_safetensors=True, variant="fp16")
pipe.to("cuda")
# if using torch < 2.0
# pipe.enable_xformers_memory_efficient_attention()
prompt = "An astronaut riding a green horse" # ここにあなたのプロンプトを入力
neg_prompt = "ugly, blurry, poor quality" # ここにネガティブプロンプトを入力
image = pipe(prompt=prompt, negative_prompt=neg_prompt).images[0]
更新情報: このモデルは現在、ComfyUI で使用可能になりました。
最高の品質を得るために、ネガティブプロンプトを使用し、CFG を 9.0 程度に設定してください!
モデルの詳細
属性 | 詳情 |
---|---|
開発者 | Segmind |
開発者 | Yatharth Gupta と Vishnu Jaddipal |
モデルタイプ | 拡散ベースのテキストから画像への生成モデル |
ライセンス | Apache 2.0 |
蒸留元 | stabilityai/stable-diffusion-xl-base-1.0 |
✨ 主な機能
- テキストから画像への生成: テキストプロンプトから画像を生成する能力に優れており、幅広い創造的なアプリケーションに適しています。
- 高速化のための蒸留: 効率性を重視して設計されており、60% の高速化を実現しているため、リアルタイムアプリケーションや迅速な画像生成が必要なシナリオに最適です。
- 多様な学習データ: 多様なデータセットで学習されているため、さまざまなテキストプロンプトを処理し、対応する画像を効果的に生成することができます。
- 知識蒸留: 複数のエキスパートモデルから知識を蒸留することで、それらの強みを組み合わせ、制限を最小限に抑え、性能を向上させています。
モデルアーキテクチャ
SSD-1B モデルは 13 億パラメータのモデルで、ベースの SDXL モデルからいくつかのレイヤーが削除されています。
学習情報
学習中に使用された主要なハイパーパラメータは以下の通りです。
- ステップ数: 251000
- 学習率: 1e-5
- バッチサイズ: 32
- 勾配累積ステップ数: 4
- 画像解像度: 1024
- 混合精度: fp16
マルチ解像度サポート
SSD-1B は以下の出力解像度をサポートしています。
- 1024 x 1024 (1:1 正方形)
- 1152 x 896 (9:7)
- 896 x 1152 (7:9)
- 1216 x 832 (19:13)
- 832 x 1216 (13:19)
- 1344 x 768 (7:4 横長)
- 768 x 1344 (4:7 縦長)
- 1536 x 640 (12:5 横長)
- 640 x 1536 (5:12 縦長)
速度比較
SSD-1B は、ベースの SDXL モデルより最大 60% 高速であることが観察されています。以下は A100 80GB での比較です。
以下は RTX 4090 GPU での速度向上メトリクスです。
モデルの入手先
SSD-1B モデルは、研究開発目的で Segmind AI プラットフォームを介してアクセスできます。詳細情報とアクセス方法については、Segmind をご覧ください。
📚 ドキュメント
直接利用
Segmind Stable Diffusion モデルは、さまざまな分野での研究や実用アプリケーションに適しています。
- アートとデザイン: アートワーク、デザイン、その他の創造的なコンテンツを生成するために使用でき、創造的なプロセスにインスピレーションを与え、向上させます。
- 教育: 教育ツールに適用して、教えるためや学ぶための視覚コンテンツを作成することができます。
- 研究: 研究員は、生成モデルを探索し、その性能を評価し、テキストから画像への生成の限界を広げるためにこのモデルを使用できます。
- 安全なコンテンツ生成: 安全で管理された方法でコンテンツを生成することができ、有害または不適切な出力のリスクを低減します。
- バイアスと制限分析: 研究員や開発者は、このモデルを使用してその制限とバイアスを調査し、生成モデルの動作についてより深い理解に貢献することができます。
下流利用
Segmind Stable Diffusion モデルは、🧨 Diffusers ライブラリのトレーニングスクリプトを使用して、さらなるトレーニングに直接使用することもできます。
- LoRA:
export MODEL_NAME="segmind/SSD-1B"
export VAE_NAME="madebyollin/sdxl-vae-fp16-fix"
export DATASET_NAME="lambdalabs/pokemon-blip-captions"
accelerate launch train_text_to_image_lora_sdxl.py \
--pretrained_model_name_or_path=$MODEL_NAME \
--pretrained_vae_model_name_or_path=$VAE_NAME \
--dataset_name=$DATASET_NAME --caption_column="text" \
--resolution=1024 --random_flip \
--train_batch_size=1 \
--num_train_epochs=2 --checkpointing_steps=500 \
--learning_rate=1e-04 --lr_scheduler="constant" --lr_warmup_steps=0 \
--mixed_precision="fp16" \
--seed=42 \
--output_dir="sd-pokemon-model-lora-ssd" \
--validation_prompt="cute dragon creature" --report_to="wandb" \
--push_to_hub
export MODEL_NAME="segmind/SSD-1B"
export VAE_NAME="madebyollin/sdxl-vae-fp16-fix"
export DATASET_NAME="lambdalabs/pokemon-blip-captions"
accelerate launch train_text_to_image_sdxl.py \
--pretrained_model_name_or_path=$MODEL_NAME \
--pretrained_vae_model_name_or_path=$VAE_NAME \
--dataset_name=$DATASET_NAME \
--enable_xformers_memory_efficient_attention \
--resolution=512 --center_crop --random_flip \
--proportion_empty_prompts=0.2 \
--train_batch_size=1 \
--gradient_accumulation_steps=4 --gradient_checkpointing \
--max_train_steps=10000 \
--use_8bit_adam \
--learning_rate=1e-06 --lr_scheduler="constant" --lr_warmup_steps=0 \
--mixed_precision="fp16" \
--report_to="wandb" \
--validation_prompt="a cute Sundar Pichai creature" --validation_epochs 5 \
--checkpointing_steps=5000 \
--output_dir="ssd-pokemon-model" \
--push_to_hub
export MODEL_NAME="segmind/SSD-1B"
export INSTANCE_DIR="dog"
export OUTPUT_DIR="lora-trained-xl"
export VAE_PATH="madebyollin/sdxl-vae-fp16-fix"
accelerate launch train_dreambooth_lora_sdxl.py \
--pretrained_model_name_or_path=$MODEL_NAME \
--instance_data_dir=$INSTANCE_DIR \
--pretrained_vae_model_name_or_path=$VAE_PATH \
--output_dir=$OUTPUT_DIR \
--mixed_precision="fp16" \
--instance_prompt="a photo of sks dog" \
--resolution=1024 \
--train_batch_size=1 \
--gradient_accumulation_steps=4 \
--learning_rate=1e-5 \
--report_to="wandb" \
--lr_scheduler="constant" \
--lr_warmup_steps=0 \
--max_train_steps=500 \
--validation_prompt="A photo of sks dog in a bucket" \
--validation_epochs=25 \
--seed="0" \
--push_to_hub
適用範囲外の利用
SSD-1B モデルは、人、イベント、または現実世界の情報の事実的または正確な表現を作成するのに適していません。高精度と正確性が必要なタスクには意図されていません。
制限とバイアス
SSD-1B モデルは、特に人物描写において、完全な写真的リアリズムを実現する上でいくつかの課題があります。オートエンコーディングアプローチのため、明確なテキストの組み込みや複雑な構成の忠実度の維持に苦労する場合がありますが、これらの課題は将来的な改善の糸口となります。重要なことは、このモデルが多様なデータセットにさらされていることで、根深い社会的およびデジタルバイアスの万能薬ではありませんが、より公平な技術への基礎的な一歩を表しています。ユーザーは、この革新的なツールを現在の制限を理解した上で利用し、意識的な関与の環境を育み、その継続的な進化を期待することが推奨されます。
引用
@misc{gupta2024progressive,
title={Progressive Knowledge Distillation Of Stable Diffusion XL Using Layer Level Loss},
author={Yatharth Gupta and Vishnu V. Jaddipal and Harish Prabhala and Sayak Paul and Patrick Von Platen},
year={2024},
eprint={2401.02677},
archivePrefix={arXiv},
primaryClass={cs.CV}
}
📄 ライセンス
このモデルは Apache 2.0 ライセンスの下で提供されています。

