模型:
OFA-Sys/small-stable-diffusion-v0
【更新日期2023/02/07】最近,我们发布了 a diffusion deployment repo 以在GPU(基于TensorRT,加快了4倍)和CPU(基于IntelOpenVINO,加快了12倍)上加快推理速度。与该存储库集成,小型稳定扩散可以在CPU上仅用5秒生成图像*。
* 在Intel(R) Xeon(R) Platinum 8369B CPU上进行测试,DPMSolverMultistepScheduler 10步,转换为Onnx时固定通道/高度/宽度
我们支持一个 Gradio Web UI来运行小型稳定扩散-v0: 我们还为 small-stable-diffusion-v0 + diffusion-deploy 提供了一个空间演示。由于huggingface为空间演示提供了AMD CPU,使用15个步骤生成一个图像需要约35秒,这比基于Intel的OpenVINO的Intel CPU环境要慢得多。
使用Diffusers >=0.8.0,不支持较低的版本。
import torch from diffusers import StableDiffusionPipeline model_id = "OFA-Sys/small-stable-diffusion-v0/" pipe = StableDiffusionPipeline.from_pretrained(model_id, torch_dtype=torch.float16) pipe = pipe.to("cuda") prompt = "an apple, 4k" image = pipe(prompt).images[0] image.save("apple.png")
这个模型是从stable-diffusion v1-4初始化的。由于模型结构不同,参数数量较小,无法直接利用stable扩散的参数。因此,小型稳定扩散设置layers_per_block=1,并选择原始稳定扩散中的每个块的第一层来初始化小型模型。
初始化后,该模型已在8个A100 GPUS上进行了1100k个步骤的训练。训练过程包括三个阶段。第一阶段是一个简单的预训练过程。在后两个阶段中,使用原始稳定扩散将知识传递给小模型作为教师模型。在所有阶段中,只训练了unet中的参数,其他参数被冻结。
硬件:8 x A100-80GB GPUs
优化器:AdamW
阶段 1 - 预训练模型的unet部分。
阶段 2 - 使用稳定的扩散v1-4作为教师模型,通过软标签(pred_noise)生成的模型输出来训练。
阶段 3 - 使用稳定的扩散v1-5作为教师模型,使用了《知识蒸馏:基于Transformer的语言模型的再评估》中的几种技术,包括基于相似性的层匹配和软标签。
模型开发者使用以下数据集对模型进行训练:
@article{Lu2022KnowledgeDO, title={Knowledge Distillation of Transformer-based Language Models Revisited}, author={Chengqiang Lu and Jianwei Zhang and Yunfei Chu and Zhengyu Chen and Jingren Zhou and Fei Wu and Haiqing Chen and Hongxia Yang}, journal={ArXiv}, year={2022}, volume={abs/2206.14366} }
以下部分改编自 Stable Diffusion model card
该模型仅用于研究目的。可能的研究领域和任务包括
以下是排除的用途。
不应使用该模型有意地创建或传播可能让人感到恶心、痛苦或冒犯的图像;或传播历史或当前的刻板印象的内容,创建敌对或疏远环境的图像。
超出范围的使用该模型没有经过训练,不能成为人或事件的真实和真实的代表,因此使用模型生成此类内容超出了模型的能力。
误用和恶意使用滥用此模型生成对个人无礼的内容是对该模型的误用。包括但不限于:
尽管图像生成模型的能力令人印象深刻,但它们也可以强化或加剧社会偏见。稳定的扩散v1是在 LAION-2B(en) 的子集上进行训练的,该子集主要由英语描述为主的图像组成,其他语言的文本和图像可能没有得到充分考虑。这会影响模型的整体输出,因为白人和西方文化通常被设定为默认值。此外,与使用英语提示相比,模型以非英语提示生成内容的能力显著较差。
该模型的预期用途是与Diffusers中的 Safety Checker 一起使用。该检查器通过将模型输出与已知的硬编码的不安全概念进行比较来工作。这些概念被故意隐藏,以减少逆向工程此过滤器的可能性。具体而言,检查器会在生成图像的CLIP模型的嵌入空间中将有害概念的类别概率与每个不安全概念的手工定义权重进行比较。
此模型卡片由Justin Pinkney编写,基于 Stable Diffusion model card 。