说明文档
模型摘要
此 SDXL-Turbo 模型已针对 WebNN 进行了优化。本模型根据 STABILITY AI 社区许可协议 授权。如需使用条款,请访问可接受使用政策。如果您遵守许可和使用条款,您将拥有其中描述的权利。使用本模型即表示您接受这些条款。
SDXL-Turbo-WebNN 仅用于与此处提供的示例配合使用,仅用于教育或测试目的。
WebNN 更改
基础模型是 SDXL-Turbo。SDXL-Turbo-WebNN 是 SDXL-Turbo 模型的 ONNX 适配版本,专门针对 WebNN 执行进行了优化。
我们使用 OLive SDXL-Turbo 管道作为 ONNX 模型生成和优化的核心基础设施。在此基础上,我们在一个分支中实现了多项增强功能,以进一步优化 WebNN 模型(参见仓库):
- Int4 量化支持: 支持 QDQ 或 MatMulNBits 量化,将模型总大小从 13GB 减少到约 3.5GB。
- FP16 量化支持: 进一步将模型总大小减少到约 2.5GB。
- FP16 I/O 强制: 强制模型输入和输出使用 FP16 数据类型以提高性能。
- UNET 质量保留: 通过引入
--keep_unet_conv_fp32标志来解决 UNET 模型中的图像质量问题,该标志将 IO Conv 节点保持在 FP32 精度。
使用方法
要生成优化后的模型,请运行:
python.exe stable_diffusion_xl.py --model_id stabilityai/sdxl-turbo --provider cpu --optimize --format int4 --use_fp16_fixed_vae --keep_unet_conv_fp32 --clean_cache --quantize_before_optimize --use_qdq_encoding --force_fp16_inputs
注意:
--use_qdq_encoding:启用 QDQ 量化(如果省略,则默认为 MatMulNBits)。--keep_unet_conv_fp32:将 IO Conv 节点保留在 FP32 精度,以解决特定的精度相关问题。--force_fp16_inputs:强制输入/输出操作使用 FP16。
SDXL-Turbo 模型卡
<!-- 简要说明模型是什么/做什么 --> SDXL-Turbo 是一个快速的生成式文本到图像模型,可以在单次网络评估中从文本提示合成照片级逼真的图像。实时演示可在此处获取:http://clipdrop.co/stable-diffusion-turbo
请注意:如需商业用途,请参考 https://stability.ai/license。
模型详情
模型描述
SDXL-Turbo 是 SDXL 1.0 的蒸馏版本,专为实时合成而训练。 SDXL-Turbo 基于一种称为对抗扩散蒸馏(ADD)的新型训练方法(参见技术报告),该方法允许在 1 到 4 个步骤中以高图像质量采样大规模基础图像扩散模型。 这种方法使用分数蒸馏来利用大规模现成的图像扩散模型作为教师信号,并结合对抗损失,即使在一个或两个采样步骤的低步数情况下也能确保高图像保真度。
- 开发者: Stability AI
- 资助方: Stability AI
- 模型类型: 生成式文本到图像模型
- 微调基础模型: SDXL 1.0 Base
模型来源
出于研究目的,我们推荐我们的 generative-models Github 仓库,该仓库实现了最流行的扩散框架(包括训练和推理)。
- 仓库: 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。
排除的用途如下所述。
Diffusers
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 可接受使用政策的方式使用。
局限性和偏见
局限性
- 生成的图像具有固定分辨率(512x512 像素),且模型无法实现完美的照片级真实感。
- 模型无法渲染清晰的文本。
- 面部和人物可能无法正确生成。
- 模型的自编码部分是有损的。
建议
该模型旨在用于非商业和商业用途。
如何开始使用该模型
请查看 https://github.com/Stability-AI/generative-models
lwanming/sdxl-turbo
作者 lwanming
创建时间: 2025-12-31 06:52:09+00:00
更新时间: 2026-01-13 05:44:11+00:00
在 Hugging Face 上查看