a
ai-gitcode/stable-diffusion-2-1-base
模型介绍文件和版本分析
下载使用量0

Stable Diffusion v2-1-base 模型卡片

本模型卡片专注于 Stable Diffusion v2-1-base 模型。

stable-diffusion-2-1-base 模型在 stable-diffusion-2-base(512-base-ema.ckpt)的基础上进行了 22 万步的额外训练,训练数据集相同,punsafe=0.98。

  • 使用 stablediffusion 仓库:下载 v2-1_512-ema-pruned.ckpt 在此。
  • 使用 🧨 diffusers

模型详情

  • 开发者: Robin Rombach, Patrick Esser

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

  • 语言: 英语

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

  • 模型描述: 这是一个可以根据文本提示生成和修改图像的模型。它是一个 Latent Diffusion Model,使用了一个固定的预训练文本编码器(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}
    }

示例

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

pip install diffusers transformers accelerate scipy safetensors

运行管道(如果不替换调度器,它将使用默认的PNDM/PLMS调度器运行,在此示例中,我们将其更改为EulerDiscreteScheduler):

执行管道流程时,若不进行调度器的替换,系统将采用默认的PNDM或PLMS调度策略。但在此示范中,我们选择将调度器更换为Euler离散调度器。
from diffusers import StableDiffusionPipeline, EulerDiscreteScheduler
import torch

model_id = "stabilityai/stable-diffusion-2-1-base"

scheduler = EulerDiscreteScheduler.from_pretrained(model_id, subfolder="scheduler")
pipe = StableDiffusionPipeline.from_pretrained(model_id, scheduler=scheduler, torch_dtype=torch.float16)
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 使用(但会牺牲速度)。

用途

直接使用

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

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

以下列出了排除的用途。

误用、恶意使用和超出范围的使用

注意:本节内容最初取自 DALLE-MINI 模型卡,曾用于 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。

我们目前提供以下检查点,适用于各种版本:

版本 2.1

  • 512-base-ema.ckpt:在 512-base-ema.ckpt 2.0 基础上进行了 220k 次额外步骤的微调,使用相同数据集的 punsafe=0.98。
  • 768-v-ema.ckpt:从 768-v-ema.ckpt 2.0 恢复,在相同数据集上额外进行了 55k 步(punsafe=0.1),然后使用 punsafe=0.98 进行了 155k 次额外步骤的微调。

版本 2.0

  • 512-base-ema.ckpt:在分辨率为 256x256 的 LAION-5B 子集上进行了 550k 步训练,该子集经过过滤以排除明确的色情材料,使用 LAION-NSFW 分类器 的 punsafe=0.1 和 美学评分 >= 4.5。在相同数据集上,分辨率 >= 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 图像的 10M 子集 LAION 上进行了 1.25M 步训练。该模型在 512x512 大小的裁剪图像上进行训练,是一种文本引导的 潜在上采样扩散模型。除了文本输入外,它还接收一个 noise_level 作为输入参数,可根据 预定义的扩散计划 向低分辨率输入添加噪声。

  • 硬件: 32 x 8 x A100 GPU

  • 优化器: AdamW

  • 梯度累积: 1

  • 批量: 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采样步骤下进行的评估显示了各检查点的相对改进:

pareto

使用50步DDIM和来自COCO2017验证集的10000个随机提示进行评估,分辨率为512x512。未针对FID分数进行优化。

环境影响

Stable Diffusion v1 估算排放量 基于这些信息,我们使用机器学习影响计算器估算了以下CO2排放量,该计算器在Lacoste et al. (2019)中提出。硬件、运行时间、云服务提供商和计算区域被用于估算碳影响。

  • 硬件类型: A100 PCIe 40GB
  • 使用小时数: 200000
  • 云服务提供商: AWS
  • 计算区域: 美国东部
  • 碳排放量(功耗 x 时间 x 基于电网位置的碳排放量): 15000 kg CO2 eq.

引用

@InProceedings{Rombach_2022_CVPR, author = {Rombach, Robin and Blattmann, Andreas and Lorenz, Dominik and Esser, Patrick and Ommer, Bj"orn}, title = {高分辨率图像合成与潜在扩散模型}, booktitle = {IEEE/CVF计算机视觉与模式识别会议(CVPR)论文集}, month = {六月}, year = {2022}, pages = {10684-10695} }

本模型卡由Robin Rombach、Patrick Esser和David Ha撰写,基于Stable Diffusion v1和DALL-E Mini模型卡。