🚀 SDXL-Turbo模型
SDXL-Turbo是一款快速的文生图生成式模型,能够在单次网络评估中,根据文本提示合成逼真的图像。该模型为图像生成任务提供了高效且优质的解决方案。
🚀 快速开始
若你想开启模型的使用之旅,可查看:https://github.com/Stability-AI/generative-models
✨ 主要特性
- 实时合成:作为SDXL 1.0的蒸馏版本,专为实时合成而训练。
- 创新训练方法:基于名为对抗扩散蒸馏(ADD)的新型训练方法(详见技术报告),可在1 - 4步内以高质量对大规模基础图像扩散模型进行采样。
- 高保真图像:采用分数蒸馏,借助现成的大规模图像扩散模型作为教师信号,并结合对抗损失,即使在一两个采样步骤的低步数情况下,也能确保图像的高保真度。
📦 安装指南
使用以下命令安装相关依赖:
pip install diffusers transformers accelerate --upgrade
💻 使用示例
基础用法
文生图
SDXL-Turbo不使用guidance_scale
或negative_prompt
,我们将guidance_scale
设为0.0
来禁用它。该模型优选生成512x512大小的图像,但更高尺寸的图像也能处理。单步即可生成高质量图像。
from diffusers import AutoPipelineForText2Image
import torch
pipe = AutoPipelineForText2Image.from_pretrained("stabilityai/sdxl-turbo", torch_dtype=torch.float16, variant="fp16")
pipe.to("cuda")
prompt = "A cinematic shot of a baby racoon wearing an intricate italian priest robe."
image = pipe(prompt=prompt, num_inference_steps=1, guidance_scale=0.0).images[0]
图生图
使用SDXL-Turbo进行图生图时,要确保num_inference_steps
* strength
大于或等于1。图生图管道将运行int(num_inference_steps * strength)
步,例如在下面的示例中,0.5 * 2.0 = 1步。
from diffusers import AutoPipelineForImage2Image
from diffusers.utils import load_image
import torch
pipe = AutoPipelineForImage2Image.from_pretrained("stabilityai/sdxl-turbo", torch_dtype=torch.float16, variant="fp16")
pipe.to("cuda")
init_image = load_image("https://huggingface.co/datasets/huggingface/documentation-images/resolve/main/diffusers/cat.png").resize((512, 512))
prompt = "cat wizard, gandalf, lord of the rings, detailed, fantasy, cute, adorable, Pixar, Disney, 8k"
image = pipe(prompt, image=init_image, num_inference_steps=2, strength=0.5, guidance_scale=0.0).images[0]
📚 详细文档
模型详情
模型描述
- 开发者:Stability AI
- 资助方:Stability AI
- 模型类型:生成式文生图模型
- 微调基础模型:SDXL 1.0 Base
模型来源
出于研究目的,推荐使用generative-models
GitHub仓库(https://github.com/Stability-AI/generative-models ),该仓库实现了最流行的扩散框架(包括训练和推理)。
- 仓库:https://github.com/Stability-AI/generative-models
- 论文:https://stability.ai/research/adversarial-diffusion-distillation
- 演示:http://clipdrop.co/stable-diffusion-turbo
评估
上述图表评估了用户对SDXL-Turbo相对于其他单步和多步模型的偏好。在图像质量和遵循提示方面,单步评估的SDXL-Turbo比四步(或更少步数)评估的LCM-XL更受人类投票者青睐。此外,SDXL-Turbo使用四步可进一步提升性能。用户研究的详细信息可参考研究论文。
用途
直接使用
该模型适用于非商业和商业用途。你可以在此许可证下将此模型用于非商业或研究目的。可能的研究领域和任务包括:
- 生成式模型的研究。
- 生成式模型实时应用的研究。
- 实时生成式模型影响的研究。
- 对可能生成有害内容的模型进行安全部署。
- 探究和理解生成式模型的局限性和偏差。
- 艺术品生成以及在设计和其他艺术过程中的应用。
- 在教育或创意工具中的应用。
商业使用请参考:https://stability.ai/membership 。
超出适用范围的使用
该模型并非用于真实反映人物或事件,因此使用该模型生成此类内容超出了其能力范围。不得以任何违反Stability AI 可接受使用政策的方式使用该模型。
限制和偏差
限制
- 生成的图像分辨率固定为512x512像素,且模型无法实现完美的逼真效果。
- 模型无法渲染清晰可读的文本。
- 面部和人物的生成效果可能不佳。
- 模型的自动编码部分存在信息损失。
建议
该模型适用于非商业和商业用途。
🔧 技术细节
SDXL-Turbo基于名为对抗扩散蒸馏(ADD)的新型训练方法。这种方法允许在1 - 4步内以高质量对大规模基础图像扩散模型进行采样。它利用分数蒸馏,将现成的大规模图像扩散模型作为教师信号,并结合对抗损失,以确保即使在一两个采样步骤的低步数情况下,也能生成高保真度的图像。
📄 许可证
本模型使用的许可证为其他类型,许可证名称为sai-nc-community,具体许可证内容可查看:许可证链接。
⚠️ 重要提示
对于商业使用,请参考https://stability.ai/license 。模型未经过训练以真实反映人物或事件,使用其生成此类内容超出了模型能力范围,且不得违反Stability AI的可接受使用政策。
💡 使用建议
若用于研究,推荐使用generative-models
GitHub仓库(https://github.com/Stability-AI/generative-models ),其中实现了最流行的扩散框架(包括训练和推理)。