SD-Turbo 在美学上得分显著更高,对 SD-2.1 的提升令人瞩目。
背景:我有一块 RTX2060 6GB,希望能实现可用的10秒内生成。之前我在 SDXL 出现前就制作了一个优化的 SD-2.1 管线。以下图片的提示词来自 Microsoft Image Creator(这些提示词据称是为了展示图像模型的广泛能力)。
https://thekitchenscientist.github.io/dalle-3_examples.txt
从 text2img 可以看出 SDXL 在理解提示概念方面好得多,但对于旧硬件的用户,SD-Turbo 似乎可用于接近实时的绘画(例如使用 Krita 这类工具)。它与 Koyha 的 DeepShrink 和 FreeU_V2 结合得很好,可以在不到5秒内生成 768x1024 的图像,且没有伪影。如果使用 LCM 采样器,还可以超过2步而不烧毁图像——它会逐步简化图像,直到得到一个非常简单的矢量图像。
在4步(如下所示)时,它修复了仅用2步时出现的肢体畸形的大部分问题。当你开始将 SD-Turbo 推到7步以上并使用 LCM 采样器时,复杂的提示词会产生一些非常有趣的结果。

SD-Turbo

SDXL-Turbo

SDXL Base

SDXL-LCM

SSD-1B LCM

SSD-1B
| 方法 | RTX2060 6GB ComfyUI 上每张图像所需秒数 |
|---|---|
| SDXL - uni_pc_bh2 | 30 |
| SDXL LCM Lora(看来我需要使用合并) | 60 |
| SDXL Turbo | 13 |
| SSD-1B | 18 |
| SSD-1B LCM Lora | 10 |
| SD-Turbo | 1.5 |
| SD-2.1 | 3 |
我使用 simulacra 美学模型对生成的所有2135张图像进行了排名。对于每个提示词,我计算了所有方法的平均美学分数,然后从该组中每张图像的分数中减去该平均值。SSD-1B 的得分高于 SDXL 这一现象让我认为在蒸馏过程中使用了 simulacra 美学模型或类似的模型。

每个提示词的平均分数从每张图像的分数中减去
我使用了种子 1000000007、LCM 采样器和 sge_uniform 调度器。Turbo 使用4步,LCM 使用6步。基础图像使用 uni_pc_bh2 和12步生成。另外两组提示词可在此处获取:
https://thekitchenscientist.github.io/dalle-2_examples.txt
https://thekitchenscientist.github.io/artist-space_examples.txt
图像空间示例包含基于以下链接的244个提示词:https://docs.google.com/spreadsheets/d/14xTqtuV3BuKDNhLotB_d1aFlBGnDJOY0BRXJ8-86GpA/edit#gid=0 我使用 SSD-1B 从这个列表中运行了1万个样本,然后分析了图像构成和颜色,以从无限潜空间中采样一组分布广泛/多样/具有代表性的艺术家提示词。
额外图表,显示每组得分的分布:

SD Turbo 用于人物和风景的构思;混合采样用于家具、雕塑和建筑;提示延迟用于在多种风格下保持相同构图;关键是只使用一个种子。如果想要控制,使用 IP-adapter、img2img 或 ControlNet。某些种子存在偏斜(例如分割主体等),因此一旦找到可靠的种子,我已经使用它一年了。
还有一些我没提到的技巧,目前并非全部在 ComfyUI 中可用,它们可以帮助较弱的模型更好地解析:
[latent jitter
设置最小依赖项的 Stable Diffusion 单功能多用途管线 - thekitchenscientist/sd_lite
GitHubthekitchenscientist
](https://github.com/thekitchenscientist/sd_lite/wiki/latent-jitter)
你现在可以尝试的一种方法是:先用慢速采样器执行前15%的步骤,然后切换到像 LCM 这样的快速方法完成剩余步骤。我发现对于 SSD-1B 中的建筑、家具和雕塑,仅用10步(4/14 慢速 + 6/6 LCM)就能得到更好的结果。
原文发布于 Reddit @thkitchenscientist
