Model Overview
Model Features
Model Capabilities
Use Cases
🚀 Stable Diffusion v1 - 5
Stable Diffusionは、任意のテキスト入力を元に写真のようにリアルな画像を生成できる潜在的なテキストから画像への拡散モデルです。このモデルは、テキストに基づいて画像を生成・編集するために使用でき、研究目的での利用が想定されています。
🚀 クイックスタート
このリポジトリは、The CreativeML OpenRAIL - M Licenseに基づいてHuggingFaceに再アップロードされています。元のファイルは[modelscope](https://www.modelscope.cn/models/AI - ModelScope/stable - diffusion - v1 - 5)から取得され、ファイルの整合性はチェックサムにより検証されています。
Stable Diffusion v1 - 5を使用するには、🧨Diffusersライブラリを利用できます。
✨ 主な機能
- テキスト入力に基づいて写真のようにリアルな画像を生成することができます。
- 潜在拡散モデルを使用しており、画像生成の精度が高いです。
- 研究目的での様々なタスクに利用できます。
📦 インストール
Diffusersライブラリを使用することで、このモデルを簡単に利用できます。以下のコードでモデルをロードできます。
from diffusers import StableDiffusionPipeline
import torch
pipe = StableDiffusionPipeline.from_pretrained(
"runwayml/stable-diffusion-v1-5",
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")
💻 使用例
基本的な使用法
# モデルのロードと画像生成の基本的なコード
from diffusers import StableDiffusionPipeline
import torch
pipe = StableDiffusionPipeline.from_pretrained(
"runwayml/stable-diffusion-v1-5",
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")
高度な使用法
より詳細な使い方やJAXでの使用例については、こちらの指示に従ってください。
📚 ドキュメント
モデルの詳細
属性 | 详情 |
---|---|
開発者 | Robin Rombach, Patrick Esser |
モデルタイプ | 拡散ベースのテキストから画像への生成モデル |
言語 | 英語 |
ライセンス | The CreativeML OpenRAIL M license は Open RAIL M license で、BigScience と the RAIL Initiative が共同で行っている責任あるAIライセンスの分野の作業から適応されています。 |
モデルの説明 | これは、テキストプロンプトに基づいて画像を生成および変更するために使用できるモデルです。Latent Diffusion Model であり、Imagen paper で提案されているように、固定された事前学習済みのテキストエンコーダ (CLIP ViT - L/14) を使用しています。 |
詳細情報のリソース | GitHub Repository, Paper |
引用 | @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} } |
用途
直接的な用途
このモデルは研究目的のみを想定しています。可能な研究分野やタスクには以下のようなものがあります。
- 有害なコンテンツを生成する可能性のあるモデルの安全な展開。
- 生成モデルの制限やバイアスの調査と理解。
- アートワークの生成とデザインや他の芸術的なプロセスでの利用。
- 教育または創造的なツールでの応用。
- 生成モデルに関する研究。
誤用、悪意のある使用、および想定外の使用
このモデルは、人々に敵対的または疎外感を与える環境を作り出す画像を意図的に作成または拡散するために使用してはなりません。これには、人々が予想される不快感、苦痛、または不快感を感じる画像や、歴史的または現在のステレオタイプを広めるコンテンツの生成が含まれます。
想定外の使用
このモデルは、人やイベントの事実的または真実の表現として訓練されていないため、そのようなコンテンツを生成することはこのモデルの能力範囲外です。
誤用と悪意のある使用
このモデルを個人に残酷なコンテンツを生成するために使用することは、このモデルの誤用です。これには、以下のようなものが含まれますが、これらに限定されません。
- 人やその環境、文化、宗教などの侮辱的、非人間的、またはその他有害な表現の生成。
- 差別的なコンテンツや有害なステレオタイプの意図的な促進または拡散。
- 本人の同意なしでの個人のなりすまし。
- 見る人の同意なしでの性的なコンテンツ。
- 誤情報とディスインフォメーション。
- 重大な暴力や残虐な描写。
- 著作権またはライセンスされた素材の使用条件に違反した共有。
- 著作権またはライセンスされた素材の改変コンテンツの使用条件に違反した共有。
制限とバイアス
制限
- 完全な写真のようなリアリズムを達成できません。
- 読めるテキストをレンダリングできません。
- 「青い球体の上に赤い立方体」のような構成性を必要とする難しいタスクではうまく機能しません。
- 顔や人全体が適切に生成されないことがあります。
- 主に英語のキャプションで訓練されており、他の言語ではうまく機能しません。
- モデルのオートエンコーディング部分は損失があります。
- モデルは大規模なデータセット [LAION - 5B](https://laion.ai/blog/laion - 5b/) で訓練されており、成人向けの素材が含まれており、追加の安全メカニズムと考慮なしに製品で使用するには適していません。
- データセットの重複排除に追加の対策は使用されていません。その結果、訓練データに重複する画像についてある程度の記憶が見られます。訓練データは [https://rom1504.github.io/clip - retrieval/](https://rom1504.github.io/clip - retrieval/) で検索でき、記憶された画像の検出に役立つ可能性があります。
バイアス
画像生成モデルの能力は印象的ですが、社会的なバイアスを強化または悪化させる可能性もあります。Stable Diffusion v1は、[LAION - 2B(en)](https://laion.ai/blog/laion - 5b/) のサブセットで訓練されており、主に英語の説明に限定された画像で構成されています。他の言語を使用するコミュニティや文化のテキストや画像は、十分に考慮されていない可能性があります。これは、モデルの全体的な出力に影響を与え、白人や西洋文化がしばしばデフォルトとして設定されます。さらに、非英語のプロンプトでコンテンツを生成するモデルの能力は、英語のプロンプトと比較して大幅に劣ります。
セーフティモジュール
このモデルの想定される使用方法は、DiffusersのSafety Checkerと一緒に使用することです。このチェッカーは、モデルの出力を既知のハードコードされたNSFWコンセプトと比較することで機能します。これらのコンセプトは、このフィルターの逆エンジニアリングの可能性を減らすために意図的に隠されています。具体的には、チェッカーは画像生成後の CLIPTextModel
の埋め込み空間で有害なコンセプトのクラス確率を比較します。コンセプトは生成された画像とともにモデルに渡され、各NSFWコンセプトの手動で設計された重みと比較されます。
訓練
訓練データ
モデル開発者は、以下のデータセットをモデルの訓練に使用しました。
- LAION - 2B (en) とそのサブセット
訓練手順
Stable Diffusion v1 - 5は、オートエンコーダと拡散モデルを組み合わせた潜在拡散モデルであり、オートエンコーダの潜在空間で訓練されます。訓練中は以下のような手順が行われます。
- 画像はエンコーダを通じてエンコードされ、画像が潜在表現に変換されます。オートエンコーダは相対的なダウンサンプリング係数8を使用し、形状が H x W x 3 の画像を形状が H/f x W/f x 4 の潜在表現にマッピングします。
- テキストプロンプトはViT - L/14テキストエンコーダを通じてエンコードされます。
- テキストエンコーダの非プール出力は、クロスアテンションを介して潜在拡散モデルのUNetバックボーンに入力されます。
- 損失は、潜在表現に追加されたノイズとUNetによる予測との間の再構成目的です。
現在、6つのStable Diffusionチェックポイントが提供されており、以下のように訓練されています。
-
[
stable - diffusion - v1 - 1
](https://huggingface.co/CompVis/stable - diffusion - v1 - 1): [laion2B - en](https://huggingface.co/datasets/laion/laion2B - en) で解像度256x256
で237,000ステップ。[laion - high - resolution](https://huggingface.co/datasets/laion/laion - high - resolution) (LAION - 5Bから解像度>= 1024x1024
の170Mの例) で解像度512x512
で194,000ステップ。 -
[
stable - diffusion - v1 - 2
](https://huggingface.co/CompVis/stable - diffusion - v1 - 2):stable - diffusion - v1 - 1
から再開。"laion - improved - aesthetics" (laion2B - enのサブセットで、元のサイズ>= 512x512
、推定美学スコア> 5.0
、推定ウォーターマーク確率< 0.5
の画像にフィルタリングされています。ウォーターマークの推定はLAION - 5Bのメタデータから、美学スコアは [improved aesthetics estimator](https://github.com/christophschuhmann/improved - aesthetic - predictor) を使用して推定されています) で解像度512x512
で515,000ステップ。 -
[
stable - diffusion - v1 - 3
](https://huggingface.co/CompVis/stable - diffusion - v1 - 3):stable - diffusion - v1 - 2
から再開 - "laion - improved - aesthetics" で解像度512x512
で195,000ステップ、classifier - free guidance sampling を改善するためにテキストコンディショニングの10%をドロップ。 -
[
stable - diffusion - v1 - 4
](https://huggingface.co/CompVis/stable - diffusion - v1 - 4)stable - diffusion - v1 - 2
から再開 - "laion - aesthetics v2 5+" で解像度512x512
で225,000ステップ、classifier - free guidance sampling を改善するためにテキストコンディショニングの10%をドロップ。 -
[
stable - diffusion - v1 - 5
](https://huggingface.co/runwayml/stable - diffusion - v1 - 5)stable - diffusion - v1 - 2
から再開 - "laion - aesthetics v2 5+" で解像度512x512
で595,000ステップ、classifier - free guidance sampling を改善するためにテキストコンディショニングの10%をドロップ。 -
[
stable - diffusion - v1 - 5 - inpainting
](https://huggingface.co/runwayml/stable - diffusion - inpainting)stable - diffusion - v1 - 5
から再開 - その後、"laion - aesthetics v2 5+" で解像度512x512で440,000ステップのインペインティング訓練、テキストコンディショニングの10%をドロップ。インペインティングのために、UNetには追加の5つの入力チャンネル (エンコードされたマスク画像用の4つとマスク自体用の1つ) があり、その重みは非インペインティングのチェックポイントを復元した後にゼロ初期化されました。訓練中は、合成マスクを生成し、25%のマスクですべてをマスクします。 -
ハードウェア: 32 x 8 x A100 GPUs
-
オプティマイザ: AdamW
-
勾配蓄積: 2
-
バッチ: 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 PNDM/PLMSサンプリングステップでの評価は、チェックポイントの相対的な改善を示しています。

COCO2017検証セットからの10000のランダムなプロンプトを使用して50 PLMSステップで評価され、解像度512x512で評価されています。FIDスコアに最適化されていません。
環境への影響
Stable Diffusion v1の推定排出量
この情報に基づいて、Lacoste et al. (2019) で提示された Machine Learning Impact calculator を使用して、以下のCO2排出量を推定しています。ハードウェア、ランタイム、クラウドプロバイダ、およびコンピュートリージョンを利用して炭素排出量を推定しています。
- ハードウェアタイプ: A100 PCIe 40GB
- 使用時間: 150000時間
- クラウドプロバイダ: AWS
- コンピュートリージョン: US - east
- 排出された炭素 (電力消費 x 時間 x 電力網の場所に基づく炭素生成): 11250 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によって作成され、[DALL - E Miniモデルカード](https://huggingface.co/dalle - mini/dalle - mini) をベースにしています。

