モデル概要
モデル特徴
モデル能力
使用事例
🚀 Stable Diffusion v2-1-base モデルカード
このモデルカードは、Stable Diffusion v2-1-base モデルに関連するモデルに焦点を当てています。
この stable-diffusion-2-1-base
モデルは、stable-diffusion-2-base (512-base-ema.ckpt
) を同じデータセットで punsafe=0.98
として220kステップ追加で微調整したものです。
stablediffusion
リポジトリで使用する場合は、ここ からv2-1_512-ema-pruned.ckpt
をダウンロードします。- 🧨
diffusers
で使用することもできます。
✨ 主な機能
- テキストプロンプトに基づいて画像を生成および変更することができます。
- 固定された事前学習済みのテキストエンコーダ (OpenCLIP-ViT/H) を使用した Latent Diffusion Model です。
📦 インストール
依存関係のインストール
pip install diffusers transformers accelerate scipy safetensors
モデルのダウンロード
stablediffusion
リポジトリで使用する場合は、ここ からv2-1_512-ema-pruned.ckpt
をダウンロードします。
💻 使用例
基本的な使用法
from diffusers import StableDiffusionPipeline, EulerDiscreteScheduler
import torch
model_id = "stabilityai/stable-diffusion-2-1-base"
scheduler = EulerDiscreteScheduler.from_pretrained(model_id, subfolder="scheduler")
pipe = StableDiffusionPipeline.from_pretrained(model_id, scheduler=scheduler, torch_dtype=torch.float16)
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の使用量を減らすことができます(ただし、速度が低下します)。
📚 ドキュメント
モデルの詳細
属性 | 详情 |
---|---|
開発者 | Robin Rombach, Patrick Esser |
モデルタイプ | 拡散ベースのテキストから画像生成モデル |
言語 | 英語 |
ライセンス | CreativeML Open RAIL++-M License |
モデル説明 | これは、テキストプロンプトに基づいて画像を生成および変更するために使用できるモデルです。固定された事前学習済みのテキストエンコーダ (OpenCLIP-ViT/H) を使用した Latent Diffusion Model です。 |
詳細情報のリソース | GitHub Repository |
引用 | @InProceedings{Rombach_2022_CVPR, |
用途
直接的な使用
このモデルは研究目的のみを意図しています。考えられる研究分野やタスクには以下のようなものがあります。
- 有害なコンテンツを生成する可能性のあるモデルの安全なデプロイ。
- 生成モデルの制限やバイアスの調査と理解。
- アートワークの生成とデザインや他のアートプロセスでの使用。
- 教育や創造的なツールへの応用。
- 生成モデルに関する研究。
除外される使用法については以下で説明します。
誤用、悪意のある使用、および想定外の使用
このモデルは、人々に敵対的または疎外感を与える環境を作り出す画像を意図的に作成または拡散するために使用してはいけません。これには、人々が不快、苦痛、または不快感を感じると予想される画像の生成や、歴史的または現在のステレオタイプを広めるコンテンツの生成が含まれます。
想定外の使用
このモデルは、人や出来事の事実的または真実の表現を生成するように訓練されていないため、そのようなコンテンツを生成するためにこのモデルを使用することは、このモデルの能力範囲外です。
誤用と悪意のある使用
このモデルを個人に対して残酷なコンテンツを生成するために使用することは、このモデルの誤用です。これには以下のようなものが含まれますが、これらに限定されません。
- 人やその環境、文化、宗教などの侮辱的、非人間的、またはその他有害な表現の生成。
- 差別的なコンテンツや有害なステレオタイプを意図的に宣伝または拡散すること。
- 本人の同意なしでの個人のなりすまし。
- 見る人の同意なしの性的コンテンツ。
- 誤情報や偽情報。
- 重大な暴力やグロテスクな表現。
- 著作権またはライセンスのある素材をその使用条件に違反して共有すること。
- 著作権またはライセンスのある素材をその使用条件に違反して改変したコンテンツを共有すること。
制限とバイアス
制限
- 完全な写真的リアリズムを達成することはできません。
- 読み取り可能なテキストをレンダリングすることはできません。
- 「青い球の上に赤い立方体」に対応する画像をレンダリングするなど、構成性を伴うより難しいタスクではうまく機能しません。
- 顔や人物全体が適切に生成されないことがあります。
- 主に英語のキャプションで訓練されているため、他の言語ではうまく機能しません。
- モデルのオートエンコーダ部分は損失があります。
- モデルは大規模データセット LAION-5B のサブセットで訓練されており、成人向け、暴力的、および性的なコンテンツが含まれています。これを部分的に軽減するために、LAIONのNFSW検出器を使用してデータセットをフィルタリングしています(トレーニングセクションを参照)。
バイアス
画像生成モデルの能力は印象的ですが、社会的バイアスを強化または悪化させる可能性もあります。Stable Diffusion v2は主に 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 を参照)。
現在、以下のバージョンのチェックポイントを提供しています。
バージョン2.1
512-base-ema.ckpt
:512-base-ema.ckpt
2.0を同じデータセットでpunsafe=0.98
として220kステップ追加で微調整したものです。768-v-ema.ckpt
:768-v-ema.ckpt
2.0から同じデータセットで追加の55kステップを行い、その後punsafe=0.98
でさらに155kステップ微調整したものです。
バージョン2.0
-
512-base-ema.ckpt
:LAION-5B のサブセットで、明示的なポルノグラフィック素材をフィルタリングしたものを使用して、解像度256x256
で550kステップトレーニングしました。LAION-NSFW classifier を使用してpunsafe=0.1
とし、審美スコア が4.5
以上のものを使用しました。解像度>= 512x512
の同じデータセットで解像度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 checkpoint のトレーニングにも使用されています。 -
x4-upscaling-ema.ckpt
:LAIONの10Mサブセットで、画像>2048x2048
を含むものを使用して1.25Mステップトレーニングしました。モデルはサイズ512x512
のクロップでトレーニングされ、テキストガイド付きの latent upscaling diffusion model です。テキスト入力に加えて、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サンプリングステップを使用した評価では、チェックポイントの相対的な改善が示されています。
評価は、50 DDIMステップとCOCO2017検証セットからの10000個のランダムなプロンプトを使用して、解像度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.
📄 ライセンス
このモデルは CreativeML Open RAIL++-M License の下で提供されています。
このモデルカードは、Robin Rombach、Patrick Esser、およびDavid Haによって作成され、Stable Diffusion v1 および DALL-E Miniモデルカード に基づいています。

