license: openrail++
tags:
- stable-diffusion
- 文生图
pinned: true
Stable Diffusion v2-1 模型卡片
本文档重点介绍与Stable Diffusion v2-1模型相关的信息,代码库参见此处。
该stable-diffusion-2-1
模型是在stable-diffusion-2 (768-v-ema.ckpt
)基础上,使用相同数据集(设置punsafe=0.1
)额外训练55k步后,再以punsafe=0.98
参数继续训练155k步微调而成。
模型详情
-
开发团队: Robin Rombach, Patrick Esser
-
模型类型: 基于扩散的文本生成图像模型
-
支持语言: 英语
-
许可协议: CreativeML Open RAIL++-M许可证
-
模型描述: 本模型可通过文本提示生成和修改图像,是基于潜在扩散模型架构,采用固定预训练文本编码器(OpenCLIP-ViT/H)。
-
更多资源: 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 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 = "火星上宇航员骑马的照片"
image = pipe(prompt).images[0]
image.save("astronaut_rides_horse.png")
注意:
- 虽非必需依赖,但强烈建议安装xformers以实现内存高效注意力机制(提升性能)
- 若GPU显存有限,在转移到
cuda
后执行pipe.enable_attention_slicing()
可降低显存占用(会牺牲速度)
用途说明
直接使用
本模型仅限研究用途,适用领域包括:
- 安全部署可能生成有害内容的模型
- 探究生成模型的局限性与偏差
- 艺术创作与设计应用
- 教育或创意工具开发
- 生成模型相关研究
以下为禁止用途说明。
滥用、恶意使用及超范围使用
注:本节改编自DALLE-MINI模型卡片,原用于Stable Diffusion v1,同样适用于v2版本
禁止使用本模型故意制造或传播令人不适的内容,包括:
- 生成令人不安、痛苦或冒犯性的图像
- 强化历史或现有社会偏见
- 未经许可的人物模仿
- 非自愿的色情内容
- 虚假与误导信息
- 极端暴力与血腥内容
- 违反版权协议的素材使用
局限性与偏差
局限性
- 无法实现完美照片级真实感
- 无法生成可辨识文字
- 对复杂组合任务(如"蓝色球体上的红色立方体")表现欠佳
- 人物面部生成可能不准确
- 主要基于英语训练,其他语言效果较差
- 自编码部分存在信息损耗
- 训练数据来自LAION-5B子集(含成人/暴力内容),已通过NSFW检测器过滤
偏差问题
模型可能强化社会偏见,因主要训练数据LAION-2B(en)局限于英语描述,非英语文化内容覆盖不足。西方文化常被设为默认标准,且非英语提示词生成质量显著低于英语提示。Stable Diffusion v2放大了此类偏差,使用时需特别谨慎。
训练过程
训练数据
开发团队使用以下数据集:
训练方法
Stable Diffusion v2是结合自编码器的潜在扩散模型:
- 图像通过编码器转为潜在表示(下采样因子8,HxWx3→H/fxW/fx4)
- 文本提示经OpenCLIP-ViT/H编码器处理
- 文本编码输出通过交叉注意力注入UNet主干
- 损失函数计算潜在空间噪声与UNet预测的重构误差,采用_v-目标_(参见论文)
现有检查点包括:
-
512-base-ema.ckpt
:256x256分辨率550k步 + 512x512分辨率850k步
-
768-v-ema.ckpt
:基于512-base继续训练,采用v-objective
-
512-depth-ema.ckpt
:增加MiDaS深度预测作为条件
-
512-inpainting-ema.ckpt
:采用LAMA掩码生成策略
-
x4-upscaling-ema.ckpt
:文本引导潜在超分模型
-
硬件配置: 32台8xA100 GPU服务器
-
优化器: AdamW
-
梯度累积: 1
-
批量大小: 2048
-
学习率: 10000步预热至0.0001后保持恒定
评估结果
不同分类器自由引导尺度(1.5-8.0)和50步DDIM采样的对比评估:

基于COCO2017验证集的10000条随机提示,512x512分辨率下评估(未针对FID分数优化)。
环境影响
Stable Diffusion v1碳排放估算
根据机器学习碳影响计算器估算:
- 硬件类型: A100 PCIe 40GB
- 运行时长: 200000小时
- 云服务商: AWS
- 区域: 美东
- 碳排放量: 15000 kg 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和David Ha编写,基于Stable Diffusion v1和DALL-E Mini模型卡片改编。