模型简介
模型特点
模型能力
使用案例
🚀 BK - SDM模型卡片
Block - removed Knowledge - distilled Stable Diffusion Model(BK - SDM)是一种经过架构压缩的稳定扩散模型(SDM),用于高效的通用文本到图像合成。该模型通过以下方式构建:(i)从Stable Diffusion v1.4的U - Net中移除几个残差和注意力块;(ii)仅在0.22M LAION图像文本对上进行蒸馏预训练(少于完整训练集的0.1%)。尽管使用了非常有限的资源进行训练,但我们的紧凑模型可以通过迁移知识来模仿原始SDM。
🚀 快速开始
本模型使用CreativeML OpenRAIL - M许可证,对所有用户开放。使用前请仔细阅读许可证内容,了解相关权利和使用限制。
请在此处阅读完整许可证:https://huggingface.co/spaces/CompVis/stable-diffusion-license
✨ 主要特性
- 架构压缩:通过移除U - Net中的部分块,显著减少了模型参数,提高了效率。
- 知识蒸馏:利用蒸馏预训练,在有限的训练数据上模仿原始模型的性能。
- 文本到图像合成:能够根据输入的文本生成相应的图像。
📦 安装指南
本项目依赖于🤗Diffusers库,请确保你已经安装了该库。
💻 使用示例
基础用法
import torch
from diffusers import StableDiffusionPipeline
pipe = StableDiffusionPipeline.from_pretrained("nota-ai/bk-sdm-small", torch_dtype=torch.float16)
pipe = pipe.to("cuda")
prompt = "a tropical bird sitting on a branch of a tree"
image = pipe(prompt).images[0]
image.save("example.png")
高级用法
import torch
from diffusers import StableDiffusionPipeline, UNet2DConditionModel
pipe = StableDiffusionPipeline.from_pretrained("CompVis/stable-diffusion-v1-4", torch_dtype=torch.float16)
pipe.unet = UNet2DConditionModel.from_pretrained("nota-ai/bk-sdm-small", subfolder="unet", torch_dtype=torch.float16)
pipe = pipe.to("cuda")
prompt = "a tropical bird sitting on a branch of a tree"
image = pipe(prompt).images[0]
image.save("example.png")
📚 详细文档
压缩方法
U - Net架构
从SDM - v1.4的U - Net中移除了某些残差和注意力块:
- 10.4亿参数的SDM - v1.4(8.6亿参数的U - Net):原始源模型。
- 7.6亿参数的BK - SDM - Base(5.8亿参数的U - Net):通过移除外部阶段的部分块得到。
- 6.6亿参数的BK - SDM - Small(4.9亿参数的U - Net):在上述基础上,移除中间阶段的部分块得到。
- 5.0亿参数的BK - SDM - Tiny(3.3亿参数的U - Net):在前两者基础上,进一步移除内部阶段的部分块得到。

蒸馏预训练
紧凑的U - Net经过训练以模仿原始U - Net的行为。我们利用了特征级和输出级的蒸馏,以及去噪任务损失。

属性 | 详情 |
---|---|
训练数据 | 来自LAION - Aesthetics V2 6.5+的212,776个图像文本对(即0.22M对) |
硬件 | 单块NVIDIA A100 80GB GPU |
梯度累积 | 4 |
批次大小 | 256(= 4×64) |
优化器 | AdamW |
学习率 | 在50K次迭代的预训练中,恒定学习率为5e - 5 |
实验结果
以下表格展示了在MS - COCO验证集的30K个样本上的零样本结果。使用PNDM调度器和25次去噪步骤生成512×512的图像后,将其下采样到256×256以评估生成分数。我们的模型在第50K次训练迭代时进行评估。
模型 | FID↓ | IS↑ | CLIP分数↑ (ViT - g/14) |
U - Net参数数量 |
整个SDM参数数量 |
---|---|---|---|---|---|
Stable Diffusion v1.4 | 13.05 | 36.76 | 0.2958 | 0.86B | 1.04B |
BK - SDM - Base(我们的模型) | 15.76 | 33.79 | 0.2878 | 0.58B | 0.76B |
BK - SDM - Small(我们的模型) | 16.98 | 31.68 | 0.2677 | 0.49B | 0.66B |
BK - SDM - Tiny(我们的模型) | 17.12 | 30.09 | 0.2653 | 0.33B | 0.50B |
以下图片展示了使用一些MS - COCO字幕合成的图像。

使用场景
本部分内容取自Stable Diffusion v1模型卡片,同样适用于BK - SDM模型。
直接使用
该模型仅用于研究目的。可能的研究领域和任务包括:
- 安全部署可能生成有害内容的模型。
- 探索和理解生成模型的局限性和偏差。
- 生成艺术作品并用于设计和其他艺术创作过程。
- 在教育或创意工具中的应用。
- 生成模型的研究。
排除的使用场景如下所述。
滥用、恶意使用和超出范围的使用
该模型不应被用于故意创建或传播会对人们造成敌对或疏离环境的图像。这包括生成人们可预见会感到不安、痛苦或冒犯的图像;或传播历史或当前刻板印象的内容。
超出范围的使用
该模型并非用于生成对人物或事件的真实或准确表示,因此使用该模型生成此类内容超出了该模型的能力范围。
滥用和恶意使用
使用该模型生成对个人残酷的内容是对该模型的滥用。这包括但不限于:
- 生成贬低、非人化或以其他方式伤害人们或其环境、文化、宗教等的表示。
- 故意推广或传播歧视性内容或有害的刻板印象。
- 在未经个人同意的情况下冒充他人。
- 未经可能看到该内容的人的同意生成性内容。
- 虚假信息和错误信息。
- 令人发指的暴力和血腥场面的表示。
- 违反版权或许可材料的使用条款分享此类材料。
- 违反版权或许可材料的使用条款分享对其进行修改的内容。
局限性和偏差
局限性
- 模型无法实现完美的照片级真实感。
- 模型无法渲染清晰可读的文本。
- 模型在涉及组合性的更困难任务上表现不佳,例如渲染与“A red cube on top of a blue sphere”对应的图像。
- 面部和人物通常可能无法正确生成。
- 模型主要使用英文字幕进行训练,在其他语言中的效果不佳。
- 模型的自动编码部分存在信息损失。
- 模型在大规模数据集LAION - 5B上进行训练,该数据集包含成人内容,在没有额外安全机制和考虑的情况下不适合产品使用。
- 未使用额外措施对数据集进行去重。因此,我们观察到对于训练数据中重复的图像存在一定程度的记忆现象。可以在https://rom1504.github.io/clip-retrieval/上搜索训练数据,以帮助检测记忆的图像。
偏差
虽然图像生成模型的能力令人印象深刻,但它们也可能强化或加剧社会偏差。Stable Diffusion v1在LAION - 2B(en)的子集上进行训练,该子集主要由英文描述的图像组成。使用其他语言的社区和文化的文本和图像可能没有得到充分考虑。这影响了模型的整体输出,因为白人及西方文化通常被设定为默认。此外,模型使用非英文提示生成内容的能力明显低于使用英文提示的情况。
安全模块
该模型的预期使用方式是结合Diffusers中的安全检查器。该检查器通过将模型输出与已知的硬编码NSFW概念进行比对来工作。这些概念被故意隐藏以降低反向工程此过滤器的可能性。具体而言,检查器在图像生成后,在CLIPTextModel
的嵌入空间中比较有害概念的类概率。这些概念与生成的图像一起传入模型,并与每个NSFW概念的手工设计权重进行比较。
🔧 技术细节
- 架构压缩:通过移除U - Net中的残差和注意力块,减少了模型的计算量和参数数量。
- 知识蒸馏:利用特征级和输出级的蒸馏,在有限的训练数据上学习原始模型的知识。
- 训练策略:使用去噪任务损失和恒定学习率进行预训练。
📄 许可证
本模型使用CreativeML OpenRAIL - M许可证。请仔细阅读完整许可证:https://huggingface.co/spaces/CompVis/stable-diffusion-license
📚 致谢
- 感谢Microsoft for Startups Founders Hub慷慨提供预训练期间使用的Azure信用额度。
- 感谢CompVis、Runway和Stability AI在潜在/稳定扩散方面的开创性研究。
- 特别感谢LAION、Diffusers和Gradio的贡献者们提供的宝贵支持。
📖 引用
@article{kim2023architectural,
title={BK-SDM: A Lightweight, Fast, and Cheap Version of Stable Diffusion},
author={Kim, Bo-Kyeong and Song, Hyoung-Kyu and Castells, Thibault and Choi, Shinkook},
journal={arXiv preprint arXiv:2305.15798},
year={2023},
url={https://arxiv.org/abs/2305.15798}
}
@article{kim2023bksdm,
title={BK-SDM: Architecturally Compressed Stable Diffusion for Efficient Text-to-Image Generation},
author={Kim, Bo-Kyeong and Song, Hyoung-Kyu and Castells, Thibault and Choi, Shinkook},
journal={ICML Workshop on Efficient Systems for Foundation Models (ES-FoMo)},
year={2023},
url={https://openreview.net/forum?id=bOVydU0XKC}
}
本模型卡片由Bo - Kyeong Kim编写,基于Stable Diffusion v1模型卡片。

