说明文档
模型概述
此 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
webnn/sdxl-turbo
作者 webnn
创建时间: 2026-01-09 07:18:11+00:00
更新时间: 2026-01-13 05:54:09+00:00
在 Hugging Face 上查看