模型:

stabilityai/stable-diffusion-x4-upscaler

英文

Stable Diffusion x4增强器模型卡

该模型卡关注与Stable Diffusion增强器相关的模型,可以在 here 上使用。该模型在包含图像 >2048x2048 的10M LAION子集上进行了1.25M步的训练。模型在大小为512x512的裁剪图上进行训练,并且是一个文本引导式的 latent upscaling diffusion model 。除了文本输入,它还接收一个 noise_level 作为输入参数,根据预定义的扩散计划可以用于给低分辨率输入添加噪声。

模型细节

  • 开发者:Robin Rombach,Patrick Esser

  • 模型类型:基于扩散的文本到图像生成模型

  • 语言:英语

  • 许可证: CreativeML Open RAIL++-M License

  • 模型描述:这是一个用于根据文本提示生成和修改图像的模型。它是一个 Latent Diffusion Model ,使用固定的预训练文本编码器( OpenCLIP-ViT/H )。

  • 了解更多信息的资源: GitHub Repository

  • 引用:

    @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}
    }
    

示例

使用 ?'s Diffusers library 以简单高效的方式运行 Stable Diffusion 2。

pip install diffusers transformers accelerate scipy safetensors
import requests
from PIL import Image
from io import BytesIO
from diffusers import StableDiffusionUpscalePipeline
import torch

# load model and scheduler
model_id = "stabilityai/stable-diffusion-x4-upscaler"
pipeline = StableDiffusionUpscalePipeline.from_pretrained(model_id, torch_dtype=torch.float16)
pipeline = pipeline.to("cuda")

# let's download an  image
url = "https://huggingface.co/datasets/hf-internal-testing/diffusers-images/resolve/main/sd2-upscale/low_res_cat.png"
response = requests.get(url)
low_res_img = Image.open(BytesIO(response.content)).convert("RGB")
low_res_img = low_res_img.resize((128, 128))

prompt = "a white cat"

upscaled_image = pipeline(prompt=prompt, image=low_res_img).images[0]
upscaled_image.save("upsampled_cat.png")

注意:

  • 尽管它不是一个依赖项,但我们强烈建议您安装 xformers 以实现内存高效的注意力(更好的性能)
  • 如果您可用的GPU显存较低,请确保在将其发送到cuda之后添加pipe.enable_attention_slicing()以减少VRAM使用量(牺牲速度)。

用途

直接使用

该模型仅供研究目的使用。可能的研究领域和任务包括

  • 模型可能生成有害内容的安全部署。
  • 探索和了解生成模型的限制和偏见。
  • 生成艺术品并在设计和其他艺术过程中使用。
  • 教育或创意工具中的应用。
  • 生成模型的研究。

描述了以下不适用的用途。

滥用、恶意使用和超出范畴的使用

注意:此部分原始摘自 DALLE-MINI model card ,用于Stable Diffusion v1,但同样适用于Stable Diffusion v2。

不应使用该模型有意地创建或传播人们可能发现令人不安、痛苦或冒犯的图像,或传播历史上或当前的刻板印象的内容。

超出范畴的使用

该模型并未经过训练,无法对人物或事件进行事实或真实的呈现,因此使用该模型生成此类内容超出了该模型的能力范畴。

滥用和恶意使用

滥用该模型生成对个人残忍的内容是对该模型的滥用。这包括但不限于:

  • 生成贬损、非人性化或以其他方式有害的人或其环境、文化、宗教等的描绘。
  • 有意宣传或传播歧视性内容或有害的刻板印象。
  • 未经个人同意而冒充个人。
  • 在未得到可能看到它的人的同意的情况下生成性内容。
  • 误导和虚假信息
  • 极端暴力和血腥的描绘
  • 共享版权或许可材料,违反其使用条款。
  • 分享未经版权或许可材料的修改版本,违反其使用条款。

限制和偏见

限制

  • 该模型无法实现完美的照片级真实感
  • 该模型无法渲染可读的文本
  • 该模型在涉及组合性较强的更难的任务(如渲染对应于“红色立方体顶部的蓝色球体”)时表现不佳
  • 脸部和人物可能无法正确生成。
  • 该模型主要使用英文标题进行训练,对其他语言的适应能力较差。
  • 模型的自动编码部分是有损的
  • 该模型训练于包含成人、暴力和性内容的大规模数据集 LAION-5B 的子集。为了部分减轻这个问题,我们使用LAION的NFSW(不适合工作场所)检测器对数据集进行了过滤(请参阅训练部分)。

偏见

尽管图像生成模型的功能令人印象深刻,但它们也可能强化或恶化社会偏见。Stable Diffusion vw主要是在 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步,使用带有punsafe=0.1的 LAION-NSFW classifier 。在同一数据集中,以分辨率 >= 512x512 进行了850k步。

  • 768-v-ema.ckpt :从512-base-ema.ckpt恢复并训练了150k步,使用 v-objective 进行了与同一数据集上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 checkpoint

  • x4-upscaling-ema.ckpt :在包含图像 >2048x2048 的10M LAION子集上进行了1.25M步的训练。模型在大小为512x512的裁剪上进行了训练,并且是一个文本引导的 latent upscaling diffusion model 。除了文本输入,它还接收一个 noise_level 作为输入参数,根据预定义的扩散计划可以用于给低分辨率输入添加噪声。

  • 硬件:32 x 8 x A100 GPUs

  • 优化器:AdamW

  • 梯度累积:1

  • Batch:32 x 8 x 2 x 4 = 2048

  • 学习率:预热到0.0001,持续10,000步,并保持不变

评估结果

使用不同的无分类器引导比例(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 估计排放量 根据该信息,使用 Machine Learning Impact calculator Lacoste et al. (2019) 中提供的数据估计以下二氧化碳排放量。硬件、运行时间、云服务提供商和计算区域被用于估计碳足迹。

  • 硬件类型:A100 PCIe 40GB
  • 使用时间:200000小时
  • 云服务提供商:AWS
  • 计算区域:US-east
  • 排放的碳(功耗 x 时间 x 根据电力网格位置产生的碳):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 model card