モデル概要
モデル特徴
モデル能力
使用事例
🚀 Stable Diffusion v1-1 モデルカード
Stable Diffusionは、任意のテキスト入力を元に、写真のようにリアルな画像を生成できる潜在的なテキストから画像への拡散モデルです。 Stable Diffusionの機能について詳しくは、🤗のStable Diffusion with D🧨iffusersブログを参照してください。
Stable-Diffusion-v1-1は、laion2B-enで解像度256x256
で237,000ステップ、続いてlaion-high-resolution(解像度>= 1024x1024
のLAION-5Bからの170Mの例)で解像度512x512
で194,000ステップの訓練を行っています。詳細については、訓練を参照してください。
ここにある重みは、D🧨iffusersライブラリで使用することを想定しています。CompVis Stable Diffusionのコードベースに読み込む重みを探している場合は、こちらを参照してください。
✨ 主な機能
Stable Diffusionは、テキスト入力に基づいて写真のようにリアルな画像を生成することができます。また、D🧨iffusersライブラリと連携することで、簡単に画像生成を行うことができます。
📦 インストール
Stable Diffusionを実行するには、🤗のDiffusersライブラリを使用することをおすすめします。
pip install --upgrade diffusers transformers scipy
💻 使用例
基本的な使用法
デフォルトのPNDMスケジューラーでパイプラインを実行するには、以下のコードを使用します。
import torch
from torch import autocast
from diffusers import StableDiffusionPipeline
model_id = "CompVis/stable-diffusion-v1-1"
device = "cuda"
pipe = StableDiffusionPipeline.from_pretrained(model_id)
pipe = pipe.to(device)
prompt = "a photo of an astronaut riding a horse on mars"
with autocast("cuda"):
image = pipe(prompt)["sample"][0]
image.save("astronaut_rides_horse.png")
高度な使用法
GPUメモリが制限されており、利用可能なGPU RAMが10GB未満の場合は、上記のようにデフォルトのfloat32精度ではなく、float16精度でStableDiffusionPipelineをロードするようにしてください。これは、diffusersに重みがfloat16精度であることを指定することで行えます。
import torch
pipe = StableDiffusionPipeline.from_pretrained(model_id, torch_dtype=torch.float16)
pipe = pipe.to(device)
prompt = "a photo of an astronaut riding a horse on mars"
with autocast("cuda"):
image = pipe(prompt, guidance_scale=7.5)["sample"][0]
image.save("astronaut_rides_horse.png")
ノイズスケジューラーを交換するには、from_pretrained
に渡します。
from diffusers import StableDiffusionPipeline, LMSDiscreteScheduler
model_id = "CompVis/stable-diffusion-v1-1"
# ここではK-LMSスケジューラーを使用します
scheduler = LMSDiscreteScheduler(beta_start=0.00085, beta_end=0.012, beta_schedule="scaled_linear", num_train_timesteps=1000)
pipe = StableDiffusionPipeline.from_pretrained(model_id, scheduler=scheduler, use_auth_token=True)
pipe = pipe.to("cuda")
prompt = "a photo of an astronaut riding a horse on mars"
with autocast("cuda"):
image = pipe(prompt, guidance_scale=7.5)["sample"][0]
image.save("astronaut_rides_horse.png")
📚 ドキュメント
モデルの詳細
属性 | 详情 |
---|---|
開発者 | Robin Rombach, Patrick Esser |
モデルタイプ | 拡散ベースのテキストから画像への生成モデル |
言語 | 英語 |
ライセンス | The CreativeML OpenRAIL M licenseは、Open RAIL M licenseであり、BigScienceとthe RAIL Initiativeが共同で責任あるAIライセンスの分野で行っている作業から適応されています。また、私たちのライセンスが基づいているthe article about the BLOOM Open RAIL licenseも参照してください。 |
モデルの説明 | これは、テキストプロンプトに基づいて画像を生成および変更するために使用できるモデルです。Latent Diffusion Modelであり、Imagen paperで提案されているように、固定された事前学習済みのテキストエンコーダー(CLIP ViT-L/14)を使用しています。 |
詳細情報のリソース | GitHub Repository, Paper |
引用 | 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> |
利用方法
直接利用
このモデルは研究目的のみを想定しています。可能な研究分野やタスクには、以下のものが含まれます。
- 有害なコンテンツを生成する可能性のあるモデルの安全な展開
- 生成モデルの制限とバイアスの調査と理解
- アートワークの生成とデザインやその他の芸術的なプロセスでの使用
- 教育用または創造的なツールでの応用
- 生成モデルに関する研究
除外される利用方法については、以下で説明します。
誤用、悪意のある利用、および想定外の利用
このセクションは、DALLE-MINIモデルカードから引用されていますが、Stable Diffusion v1にも同様に適用されます。
このモデルは、人々に敵対的または疎外感を与える環境を生み出す画像を意図的に作成または拡散するために使用してはなりません。これには、人々が不快、苦痛、または不快感を感じるであろう画像や、歴史的または現在のステレオタイプを広めるコンテンツの生成が含まれます。
想定外の利用
このモデルは、人やイベントの事実的または真実の表現として訓練されていないため、このようなコンテンツを生成するためにモデルを使用することは、このモデルの能力範囲外です。
誤用と悪意のある利用
このモデルを、個人に残酷なコンテンツを生成するために使用することは、このモデルの誤用です。これには、以下のものが含まれますが、これらに限定されません。
- 人やその環境、文化、宗教などの侮辱的、非人間的、またはその他の有害な表現の生成
- 差別的なコンテンツや有害なステレオタイプを意図的に宣伝または拡散すること
- 本人の同意なしでの個人のなりすまし
- 見る人の同意なしでの性的なコンテンツ
- 誤情報とディスインフォメーション
- 重大な暴力や残虐な描写
- 著作権またはライセンスされた素材の使用条件に違反した共有
- 著作権またはライセンスされた素材の使用条件に違反した改変コンテンツの共有
制限とバイアス
制限
- このモデルは完全な写真のようなリアリズムを達成しません
- このモデルは読めるテキストをレンダリングできません
- このモデルは、「青い球体の上に赤い立方体」に対応する画像をレンダリングするなど、構成性を伴うより難しいタスクではうまく機能しません
- 顔や人全体が適切に生成されない場合があります
- このモデルは主に英語のキャプションで訓練されており、他の言語ではあまりうまく機能しません
- このモデルのオートエンコーダー部分は損失があります
- このモデルは大規模なデータセットLAION-5Bで訓練されており、成人向けの素材が含まれており、追加の安全メカニズムと考慮なしでは製品での使用に適していません
- データセットの重複排除には追加の対策が取られていません。その結果、訓練データに重複する画像については、ある程度の記憶が見られます。訓練データは、https://rom1504.github.io/clip-retrieval/で検索でき、記憶された画像の検出に役立つ可能性があります。
バイアス
画像生成モデルの能力は印象的ですが、社会的なバイアスを強化または悪化させる可能性もあります。Stable Diffusion v1は、LAION-2B(en)のサブセットで訓練されており、主に英語の説明に限定された画像から構成されています。他の言語を使用するコミュニティや文化のテキストと画像は、十分に考慮されていない可能性があります。これは、白人人種や西洋文化がしばしばデフォルトとして設定されるため、モデルの全体的な出力に影響を与えます。さらに、非英語のプロンプトでコンテンツを生成するモデルの能力は、英語のプロンプトと比較して大幅に低下します。
訓練
訓練データ
モデル開発者は、以下のデータセットをモデルの訓練に使用しました。
- LAION-2B (en) およびそのサブセット(次のセクションを参照)
訓練手順
Stable Diffusion v1-4は、オートエンコーダーと、オートエンコーダーの潜在空間で訓練された拡散モデルを組み合わせた潜在拡散モデルです。訓練中は、以下のようになります。
- 画像はエンコーダーを通じてエンコードされ、画像が潜在表現に変換されます。オートエンコーダーは相対的なダウンサンプリング係数8を使用し、形状がH x W x 3の画像を形状がH/f x W/f x 4の潜在表現にマッピングします
- テキストプロンプトはViT-L/14テキストエンコーダーを通じてエンコードされます
- テキストエンコーダーの非プール出力は、クロスアテンションを介して潜在拡散モデルのUNetバックボーンに供給されます
- 損失は、潜在表現に追加されたノイズとUNetによる予測の間の再構成目的です
現在、以下のように訓練された4つのチェックポイントを提供しています。
stable-diffusion-v1-1
: laion2B-enで解像度256x256
で237,000ステップ。laion-high-resolution(解像度>= 1024x1024
のLAION-5Bからの170Mの例)で解像度512x512
で194,000ステップ。stable-diffusion-v1-2
:stable-diffusion-v1-1
から再開。"laion-improved-aesthetics"(laion2B-enのサブセットで、元のサイズが>= 512x512
、推定された美学スコアが> 5.0
、推定されたウォーターマーク確率が< 0.5
の画像にフィルタリングされたもの。ウォーターマークの推定はLAION-5Bのメタデータから、美学スコアは改良された美学推定器を使用して推定されます)で解像度512x512
で515,000ステップ。stable-diffusion-v1-3
:stable-diffusion-v1-2
から再開。"laion-improved-aesthetics"で解像度512x512
で195,000ステップ、classifier-free guidance samplingを改善するためにテキスト条件付けを10%ドロップ。stable-diffusion-v1-4
stable-diffusion-v1-2
から再開。"laion-aesthetics v2 5+"で解像度512x512
で225,000ステップ、classifier-free guidance samplingを改善するためにテキスト条件付けを10%ドロップ。
訓練の詳細
- ハードウェア: 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のPLMSサンプリングステップでの評価は、チェックポイントの相対的な改善を示しています。
評価は、50のPLMSステップとCOCO2017検証セットからの10000のランダムなプロンプトを使用し、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モデルカードに基づいています。
📄 ライセンス
このモデルはオープンアクセスであり、すべての人が利用できます。CreativeML OpenRAIL-Mライセンスにより、権利と使用方法がさらに明確に規定されています。
CreativeML OpenRAILライセンスには以下のような規定があります。
- このモデルを使用して、違法または有害な出力やコンテンツを意図的に生成または共有してはなりません。
- 作成者は、生成した出力に対して何らの権利も主張せず、自由に使用できますが、その使用はライセンスに定められた規定に違反してはなりません。
- 重みを再配布し、モデルを商用および/またはサービスとして使用することができます。その場合は、ライセンスに記載されているのと同じ使用制限を含め、CreativeML OpenRAIL-Mのコピーをすべてのユーザーに共有することを忘れないでください(ライセンス全体を注意深く読んでください)。
ライセンス全文を注意深く読むには、こちらを参照してください。









