🚀 Stable Diffusion v2-1 モデルカード
このモデルカードは、Stable Diffusion v2-1 モデルに関連するモデルに焦点を当てています。コードベースはこちらで入手できます。
この stable-diffusion-2-1
モデルは、stable-diffusion-2 (768-v-ema.ckpt
) をベースに、同じデータセットで追加の 55k ステップ(punsafe=0.1
)でファインチューニングされ、さらに punsafe=0.98
で 155k ステップ追加でファインチューニングされています。
🚀 クイックスタート
このモデルを使って画像生成を始めるには、以下の手順に従ってください。
✨ 主な機能
- テキストプロンプトに基づいて画像を生成および修正できます。
- 固定された事前学習済みのテキストエンコーダを使用した潜在拡散モデルです。
📦 インストール
🤗's Diffusers library を使用して Stable Diffusion 2 を簡単かつ効率的に実行するには、まず必要なライブラリをインストールします。
pip install diffusers transformers accelerate scipy safetensors
💻 使用例
基本的な使用法
以下のコードは、Stable Diffusion 2 を使用して画像を生成する基本的な例です。
from diffusers import StableDiffusionPipeline, DPMSolverMultistepScheduler
import torch
model_id = "stabilityai/stable-diffusion-2-1"
pipe = StableDiffusionPipeline.from_pretrained(model_id, torch_dtype=torch.float16)
pipe.scheduler = DPMSolverMultistepScheduler.from_config(pipe.scheduler.config)
pipe = pipe.to("cuda")
prompt = "a photo of an astronaut riding a horse on mars"
image = pipe(prompt).images[0]
image.save("astronaut_rides_horse.png")
高度な使用法
- メモリ効率の良いアテンションを使用するために、xformers をインストールすることをおすすめします。
- GPU の RAM が少ない場合は、
cuda
に送信した後に pipe.enable_attention_slicing()
を追加すると、VRAM 使用量を減らすことができます(ただし速度が低下します)。
from diffusers import StableDiffusionPipeline, DPMSolverMultistepScheduler
import torch
model_id = "stabilityai/stable-diffusion-2-1"
pipe = StableDiffusionPipeline.from_pretrained(model_id, torch_dtype=torch.float16)
pipe.scheduler = DPMSolverMultistepScheduler.from_config(pipe.scheduler.config)
pipe = pipe.to("cuda")
pipe.enable_attention_slicing()
prompt = "a photo of an astronaut riding a horse on mars"
image = pipe(prompt).images[0]
image.save("astronaut_rides_horse.png")
📚 ドキュメント
モデル詳細
属性 |
详情 |
開発者 |
Robin Rombach, Patrick Esser |
モデルタイプ |
拡散ベースのテキストから画像生成モデル |
言語 |
英語 |
ライセンス |
CreativeML Open RAIL++-M License |
モデル説明 |
このモデルは、テキストプロンプトに基づいて画像を生成および修正するために使用できます。固定された事前学習済みのテキストエンコーダ (OpenCLIP-ViT/H) を使用した Latent Diffusion Model です。 |
詳細情報リソース |
GitHub Repository |
引用形式 |
bibtex<br>@InProceedings{Rombach_2022_CVPR,<br> author = {Rombach, Robin and Blattmann, Andreas and Lorenz, Dominik and Esser, Patrick and Ommer, Bj\"orn},<br> title = {High-Resolution Image Synthesis With Latent Diffusion Models},<br> booktitle = {Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR)},<br> month = {June},<br> year = {2022},<br> pages = {10684-10695}<br>}<br> |
使用方法
直接使用
このモデルは研究目的のみを対象としています。可能な研究分野やタスクには以下が含まれます。
- 有害なコンテンツを生成する可能性のあるモデルの安全な展開。
- 生成モデルの制限とバイアスの調査と理解。
- アートワークの生成とデザインや他のアートプロセスでの使用。
- 教育または創造的なツールでの応用。
- 生成モデルの研究。
以下に除外される使用方法を説明します。
誤用、悪意のある使用、および範囲外の使用
このモデルは、人々に敵意や疎外感を与える環境を作り出す画像を意図的に作成または拡散するために使用してはなりません。これには、人々が不快、苦痛、または不快感を感じると予想される画像や、歴史的または現在のステレオタイプを広めるコンテンツの生成が含まれます。
範囲外の使用
このモデルは、人やイベントの事実的または真実の表現として訓練されていないため、このようなコンテンツを生成するためにモデルを使用することは、このモデルの能力範囲外です。
誤用と悪意のある使用
このモデルを個人に残酷なコンテンツを生成するために使用することは、このモデルの誤用です。これには、以下が含まれますが、これらに限定されません。
- 人やその環境、文化、宗教などの侮辱的、非人間的、またはその他有害な表現の生成。
- 差別的なコンテンツや有害なステレオタイプを意図的に宣伝または拡散すること。
- 本人の同意なしでの個人のなりすまし。
- 見る人の同意なしの性的コンテンツ。
- 誤情報と偽情報
- 重大な暴力やグロテスクな表現
- 著作権またはライセンスされた素材の使用条件に違反した共有。
- 著作権またはライセンスされた素材の改変コンテンツの使用条件に違反した共有。
制限とバイアス
制限
- 完全な写実性を達成できません。
- 読み取り可能なテキストをレンダリングできません。
- 「青い球体の上に赤い立方体」のような構成性を伴う難しいタスクではうまく機能しません。
- 顔や人物全体が適切に生成されない場合があります。
- 主に英語のキャプションで訓練されており、他の言語ではうまく機能しません。
- モデルのオートエンコーダ部分は損失があります。
- モデルは大規模データセット LAION-5B のサブセットで訓練されており、成人向け、暴力的、性的なコンテンツが含まれています。これを部分的に軽減するために、LAION の NFSW 検出器を使用してデータセットをフィルタリングしています(訓練セクションを参照)。
バイアス
画像生成モデルの能力は印象的ですが、社会的バイアスを強化または悪化させる可能性もあります。Stable Diffusion は主に LAION-2B(en) のサブセットで訓練されており、英語の説明に限定された画像で構成されています。他の言語を使用するコミュニティや文化のテキストや画像は、十分に考慮されていない可能性があります。これは、モデルの全体的な出力に影響を与え、白人や西洋文化がしばしばデフォルトとして設定されます。さらに、英語以外のプロンプトでコンテンツを生成するモデルの能力は、英語のプロンプトと比較して大幅に劣ります。Stable Diffusion v2 はバイアスを反映し、悪化させる程度が高いため、入力やその意図に関係なく、閲覧者の裁量が必要です。
訓練
訓練データ
モデル開発者は、以下のデータセットをモデルの訓練に使用しました。
- LAION-5B とそのサブセット(詳細は以下)。訓練データは、LAION の NSFW 検出器を使用してさらにフィルタリングされ、「p_unsafe」スコアが 0.1(保守的)です。詳細については、LAION-5B の NeurIPS 2022 論文とこのトピックに関するレビューアの議論を参照してください。
訓練手順
Stable Diffusion v2 は、オートエンコーダとオートエンコーダの潜在空間で訓練された拡散モデルを組み合わせた潜在拡散モデルです。訓練中は、以下の手順が行われます。
- 画像はエンコーダを介してエンコードされ、画像が潜在表現に変換されます。オートエンコーダは相対的なダウンサンプリング係数 8 を使用し、形状 H x W x 3 の画像を形状 H/f x W/f x 4 の潜在表現にマッピングします。
- テキストプロンプトは OpenCLIP-ViT/H テキストエンコーダを介してエンコードされます。
- テキストエンコーダの出力は、クロスアテンションを介して潜在拡散モデルの UNet バックボーンに入力されます。
- 損失は、潜在表現に追加されたノイズと UNet による予測の間の再構成目的です。また、いわゆる v-objective も使用します(https://arxiv.org/abs/2202.00512 を参照)。
現在、以下のチェックポイントを提供しています。
-
512-base-ema.ckpt
: LAION-5B のサブセットで、明示的なポルノグラフィック素材をフィルタリングしたものを使用して、解像度 256x256
で 550k ステップ訓練し、LAION-NSFW 分類器 を使用して punsafe=0.1
および 美学スコア >= 4.5
です。同じデータセットで解像度 >= 512x512
で 850k ステップ訓練しました。
-
768-v-ema.ckpt
: 512-base-ema.ckpt
から再開し、同じデータセットで v-objective を使用して 150k ステップ訓練しました。データセットの 768x768
サブセットでさらに 140k ステップ訓練しました。
-
512-depth-ema.ckpt
: 512-base-ema.ckpt
から再開し、200k ステップファインチューニングしました。MiDaS (dpt_hybrid
) によって生成された(相対的な)深度予測を処理するための追加の入力チャネルを追加し、追加の条件付けとして使用します。この追加情報を処理する U-Net の追加入力チャネルはゼロ初期化されました。
-
512-inpainting-ema.ckpt
: 512-base-ema.ckpt
から再開し、さらに 200k ステップ訓練しました。LAMA で提示されたマスク生成戦略に従い、マスクされた画像の潜在 VAE 表現と組み合わせて、追加の条件付けとして使用します。この追加情報を処理する U-Net の追加入力チャネルはゼロ初期化されました。同じ戦略を使用して、1.5-inpainting チェックポイント を訓練しました。
-
x4-upscaling-ema.ckpt
: LAION の 10M サブセット(画像 >2048x2048
を含む)で 1.25M ステップ訓練しました。モデルはサイズ 512x512
のクロップで訓練され、テキストガイド付きの 潜在アップスケーリング拡散モデル です。テキスト入力に加えて、noise_level
を入力パラメータとして受け取り、事前定義された拡散スケジュール に従って低解像度入力にノイズを追加するために使用できます。
-
ハードウェア: 32 x 8 x A100 GPUs
-
オプティマイザ: AdamW
-
勾配蓄積: 1
-
バッチ: 32 x 8 x 2 x 4 = 2048
-
学習率: 10,000 ステップで 0.0001 までウォームアップし、その後一定に保ちます。
評価結果
異なる分類器フリーガイダンススケール(1.5、2.0、3.0、4.0、5.0、6.0、7.0、8.0)と 50 ステップの DDIM サンプリングステップを使用した評価は、チェックポイントの相対的な改善を示しています。

COCO2017 検証セットからの 10000 個のランダムなプロンプトを使用して、50 ステップの DDIM で評価し、解像度 512x512 で評価しました。FID スコアには最適化されていません。
環境への影響
Stable Diffusion v1 推定排出量
この情報に基づいて、Lacoste et al. (2019) で提示された Machine Learning Impact calculator を使用して、以下の CO2 排出量を推定します。ハードウェア、ランタイム、クラウドプロバイダー、およびコンピュートリージョンを使用して、炭素排出量を推定しました。
- ハードウェアタイプ: A100 PCIe 40GB
- 使用時間: 200000 時間
- クラウドプロバイダー: AWS
- コンピュートリージョン: US-east
- 排出された炭素(電力消費 x 時間 x 電力網の位置に基づいて生成された炭素): 15000 kg CO2 eq.
引用
@InProceedings{Rombach_2022_CVPR,
author = {Rombach, Robin and Blattmann, Andreas and Lorenz, Dominik and Esser, Patrick and Ommer, Bj\"orn},
title = {High-Resolution Image Synthesis With Latent Diffusion Models},
booktitle = {Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR)},
month = {June},
year = {2022},
pages = {10684-10695}
}
このモデルカードは、Robin Rombach、Patrick Esser、および David Ha によって作成され、Stable Diffusion v1 および DALL-E Mini モデルカード をベースにしています。
📄 ライセンス
このモデルは CreativeML Open RAIL++-M License の下で提供されています。