许可证:creativeml-openrail-m
标签:
额外授权标题:请阅读许可证以访问此模型
Stable Diffusion v1-1 模型卡
Stable Diffusion是一种潜在文本到图像扩散模型,能够根据任意文本输入生成逼真图像。
如需了解工作原理,请参阅🤗的D🧨iffusers博客。
Stable-Diffusion-v1-1先在laion2B-en数据集上以256x256
分辨率训练237,000步,随后在laion-high-resolution(来自LAION-5B的1.7亿张≥1024x1024
分辨率样本)上以512x512
分辨率训练194,000步。详情参见训练部分。
本权重文件需配合D🧨iffusers库使用。如需CompVis代码库版本,请访问此处
模型详情
-
开发者: Robin Rombach, Patrick Esser
-
模型类型: 基于扩散的文本生成图像模型
-
语言: 英语
-
许可证: CreativeML OpenRAIL M许可证改编自BigScience与RAIL倡议在负责任AI许可领域的合作成果,基于BLOOM Open RAIL许可证条款。
-
模型描述: 本模型可通过文本提示生成和修改图像,是采用固定预训练文本编码器(CLIP ViT-L/14)的潜在扩散模型,其设计参考Imagen论文。
-
更多资源: GitHub仓库, 论文。
-
引用格式:
@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}
}
示例
推荐使用🤗的Diffusers库运行Stable Diffusion。
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 = "火星上宇航员骑马的照片"
with autocast("cuda"):
image = pipe(prompt)["sample"][0]
image.save("astronaut_rides_horse.png")
注意:
若GPU内存不足(可用显存<10GB),请以float16精度加载管道(替代默认float32精度):
import torch
pipe = StableDiffusionPipeline.from_pretrained(model_id, torch_dtype=torch.float16)
pipe = pipe.to(device)
prompt = "火星上宇航员骑马的照片"
with autocast("cuda"):
image = pipe(prompt, guidance_scale=7.5)["sample"][0]
image.save("astronaut_rides_horse.png")
更换噪声调度器示例:
from diffusers import StableDiffusionPipeline, LMSDiscreteScheduler
model_id = "CompVis/stable-diffusion-v1-1"
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 = "火星上宇航员骑马的照片"
with autocast("cuda"):
image = pipe(prompt, guidance_scale=7.5)["sample"][0]
image.save("astronaut_rides_horse.png")
用途
直接用途
本模型仅限研究用途,适用领域包括:
- 安全部署可能生成有害内容的模型
- 探究生成模型的局限性与偏差
- 艺术创作与设计应用
- 教育或创意工具开发
- 生成模型研究
以下为禁止用途说明。
滥用、恶意使用及超范围使用
注:本节改编自DALLE-MINI模型卡,同等适用于Stable Diffusion v1
禁止用于制造或传播以下内容:
- 令人不适/痛苦/冒犯的敌对性内容
- 强化历史或现有刻板印象的内容
超范围使用
本模型未针对人物/事件的真实呈现进行训练,生成此类内容超出模型能力范围。
滥用与恶意使用
包括但不限于:
- 贬低/非人化特定群体或文化
- 传播歧视性内容或有害刻板印象
- 未经同意的个人身份仿冒
- 非合意性内容
- 虚假/误导性信息
- 极端暴力/血腥内容
- 违反版权协议的素材分享
局限性与偏差
局限性
- 无法实现完美逼真度
- 无法生成可读文本
- 复杂组合任务(如"蓝色球体上的红色立方体")表现欠佳
- 人脸/人物生成可能失真
- 主要基于英文描述训练,其他语言效果较差
- 自编码部分存在信息损耗
- 训练数据含成人内容(LAION-5B数据集),需额外安全措施才能产品化
- 存在训练数据记忆现象,可通过CLIP检索工具检测
偏差
图像生成模型可能强化社会偏见:
- 训练数据LAION-2B(en)以英文描述为主
- 非英语社区文化呈现不足
- 西方白人文化被默认为主要输出风格
- 非英语提示词生成质量显著低于英语提示
训练
训练数据
开发者使用以下数据集:
训练流程
Stable Diffusion v1-4是结合自编码器的潜在扩散模型:
- 图像通过编码器转为潜在表示(下采样率8,HxWx3→H/fxW/fx4)
- 文本提示经ViT-L/14文本编码器处理
- 文本编码器的非池化输出通过交叉注意力注入UNet主干
- 损失函数为潜在空间噪声与UNet预测的重构目标
现有四个检查点训练详情:
训练细节
- 硬件: 32台8xA100 GPU
- 优化器: AdamW
- 梯度累积: 2次
- 批量: 2048(32x8x2x4)
- 学习率: 10,000步预热至0.0001后保持恒定
评估结果
不同分类器引导尺度(1.5-8.0)配合50步PLMS采样的评估显示各检查点相对改进:

基于COCO2017验证集的10,000个随机提示,512x512分辨率下评估(未针对FID分数优化)。
环境影响
Stable Diffusion v1碳排放估算
根据机器学习碳影响计算器(Lacoste等,2019)估算:
- 硬件类型: A100 PCIe 40GB
- 使用时长: 150,000小时
- 云服务商: AWS
- 计算区域: 美国东部
- 碳排放量: 11,250千克CO2当量
引用
@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模型卡格式。