许可协议:creativeml-openrail-m
标签:
额外授权标题:请阅读许可证以访问本模型
稳定扩散v1-2模型卡
稳定扩散是一种潜在文本到图像扩散模型,能够根据任意文本输入生成逼真图像。
如需了解工作原理,请参阅🤗的D🧨iffusers博客。
Stable-Diffusion-v1-2检查点基于Stable-Diffusion-v1-1权重初始化,后在"laion-improved-aesthetics"数据集(laion2B-en子集,筛选原始尺寸≥512x512、美学评分>5.0且水印概率<0.5的图像)上进行了515,000步512x512分辨率微调。详情参见训练章节。
本权重需配合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库运行稳定扩散。
pip install --upgrade diffusers transformers scipy
使用默认PNDM调度器运行管道:
import torch
from torch import autocast
from diffusers import StableDiffusionPipeline
model_id = "CompVis/stable-diffusion-v1-2"
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精度加载管道:
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-2"
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模型卡,同等适用于稳定扩散v1)
禁止使用本模型故意创建或传播以下内容:
- 令人不适、痛苦或冒犯性的图像
- 强化历史或现有刻板印象的内容
- 对个体或群体的贬低、非人化描述
- 未经同意的个人身份仿冒
- 非自愿性色情内容
- 虚假与误导信息
- 极端暴力与血腥内容
- 违反版权协议的素材分享或修改
局限性与偏差
局限性
- 无法实现完美照片级真实感
- 无法生成可读文本
- 复杂组合任务(如"蓝色球体上的红色立方体")表现欠佳
- 人脸及人物生成可能不准确
- 主要基于英语训练,其他语言效果较差
- 自编码部分存在信息损失
- 训练数据含成人内容,需额外安全机制
- 存在图像记忆现象(可通过CLIP检索工具检测)
偏差
模型可能强化社会偏见:
- 训练数据LAION-2B(en)以英语描述为主
- 非英语社区文化内容覆盖不足
- 西方文化被默认为主要输出风格
- 非英语提示生成质量显著低于英语提示
训练
训练数据
训练流程
稳定扩散v1-4是结合自编码器的潜在扩散模型:
- 图像通过编码器转换为潜在表示(下采样因子8,HxWx3→H/fxW/fx4)
- 文本提示经ViT-L/14文本编码器处理
- 文本编码器的非池化输出通过交叉注意力注入UNet主干
- 损失函数为潜在空间噪声与UNet预测的重构目标
各版本训练详情:
- v1-1:laion2B-en上256x256分辨率237,000步 + laion-high-resolution(≥1024x1024的1.7亿样本)512x512分辨率194,000步
- v1-2:基于v1-1,在"laion-improved-aesthetics"(≥512x512、美学分>5.0、水印概率<0.5的子集)515,000步512x512训练
- v1-3:基于v1-2,"laion-improved-aesthetics"上195,000步训练,10%文本条件丢弃以改进分类器无关引导采样
- v1-4:基于v1-2,"laion-aesthetics v2 5+"上225,000步训练,10%文本条件丢弃
训练细节
- 硬件: 32台8xA100 GPU
- 优化器: AdamW
- 梯度累积: 2次
- 批量大小: 2048(32x8x2x4)
- 学习率: 10,000步预热至0.0001后保持恒定
评估结果
不同分类器无关引导尺度(1.5-8.0)与50步PLMS采样的对比评估:

基于COCO2017验证集10,000个随机提示,512x512分辨率评估(未优化FID分数)。
环境影响
稳定扩散v1碳排放估算
根据机器学习碳影响计算器估算:
- 硬件类型: 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模型卡格式。