SD-Turbo

  1. 生成速度 (Generation Speed)

    SD-Turbo: 实现了单步图像生成。这意味着它只需要一次网络前向传播就能输出最终图像,大大缩短了生成时间,使其适用于实时交互应用。
    其他扩散模型 (如 Stable Diffusion 1.5/2.1, SDXL): 通常需要一个迭代的“去噪”过程,步数(Steps)一般设置在 20 到 50 步之间。步数越多,细节通常越好,但耗时也越长。

  2. 实现技术 (Underlying Technology)

    SD-Turbo: 采用了一种名为对抗性扩散蒸馏 (Adversarial Diffusion Distillation, ADD) 的新技术。
    可以将其理解为一种“模型蒸馏”技术。它有一个强大的“教师模型”(基于 SD 2.1),SD-Turbo 作为“学生模型”来学习教师的生成能力。
    与传统蒸馏不同,它引入了对抗性训练(类似 GANs),有一个判别器来判断生成图像的真伪,这迫使 SD-Turbo 学会在单步内就生成非常逼真的图像。
    其他扩散模型: 使用的是扩散与去噪(Denoising Diffusion Probabilistic Models, DDPM)原理。通过一个逐步添加噪声的前向过程和一个逐步去除噪声的反向过程来生成图像,这个反向过程就是我们通常所说的采样(sampling)。

  3. 图像质量与细节 (Image Quality & Detail)

    SD-Turbo: 在单步生成的前提下,图像质量非常惊人,但在精细的细节、复杂构图和对提示词(Prompt)的精确理解上,可能略逊于经过多步迭代的顶级模型(如 SDXL)。它在速度和质量之间做了一个极致的平衡。
    其他扩散模型: 可以通过增加迭代步数来提升图像的细节和一致性,通常能够更好地遵循复杂的提示词。SDXL 在这方面尤其出色。

  4. 使用方式 (Usage)

    SD-Turbo: 在使用时,通常不需要或不推荐使用 guidance_scale (CFG) 和 negative_prompt。因为它的模型设计就是为了在单步内直接生成,没有多步迭代的过程给这些参数来引导。通常会将 guidance_scale 设置为 0。
    其他扩散模型: guidance_scale 和 negative_prompt 是非常重要的控制手段,用来增强提示词的相关性并避免不希望出现的元素。

Reference

SD-Turbo huggingface