🚀 Stable Diffusion v2-1模型卡片
Stable Diffusion v2-1是一款基於文本提示生成和修改圖像的模型。它在文本到圖像生成領域表現出色,能根據用戶輸入的英文文本生成相應的圖像。
🚀 快速開始
使用stablediffusion
倉庫
可從此處下載v2-1_768-ema-pruned.ckpt
文件。
使用🧨 diffusers
庫
使用🤗的Diffusers庫可以簡單高效地運行Stable Diffusion 2。
pip install diffusers transformers accelerate scipy safetensors
運行管道(如果不更換調度器,將使用默認的DDIM,在本示例中,我們將其更換為DPMSolverMultistepScheduler):
import torch
from diffusers import StableDiffusionPipeline, DPMSolverMultistepScheduler
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內存較低,請確保在將其發送到cuda
後添加pipe.enable_attention_slicing()
以減少VRAM使用(以犧牲速度為代價)。
✨ 主要特性
📚 詳細文檔
模型詳情
@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的一個子集上進行訓練,該數據集包含成人、暴力和性內容。為了部分緩解這一問題,我們使用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
的數據集上以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
:在包含>2048x2048
圖像的LAION的10M子集上訓練1250k步。模型在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採樣步驟進行評估,顯示了檢查點的相對改進:

使用50步DDIM和來自COCO2017驗證集的10000個隨機提示進行評估,在512x512
分辨率下進行評估。未針對FID分數進行優化。
環境影響
Stable Diffusion v1估計排放量
根據這些信息,我們使用Lacoste等人(2019)中提出的機器學習影響計算器估計了以下CO2排放量。利用硬件、運行時間、雲服務提供商和計算區域來估計碳影響。
- 硬件類型: A100 PCIe 40GB
- 使用時長: 200000小時
- 雲服務提供商: AWS
- 計算區域: 美國東部
- 碳排放(功耗 x 時間 x 基於電網位置產生的碳): 15000 kg CO2 eq.
📄 許可證
本模型採用CreativeML Open RAIL++-M許可證。