SD3创作指南
゚包包
2024年06月20日 15:11
收录于文集
共5篇
AI绘画分享

Stability AI最近发布了Stable Diffusion 3 Medium的权重,这是一个拥有20亿参数的文本到图像模型,擅长于实现照片级真实感、版式设计以及遵循提示。

您可以在Replicate ( https://replicate.com/stability-ai/stable-diffusion-3 ) 上运行官方的Stable Diffusion 3模型,并且它适用于商业用途。我们还开源了我们的Diffusers(https://github.com/replicate/cog-stable-diffusion-3 )和ComfyUI( https://github.com/fofr/cog-comfyui-sd3 )实现。

在本篇文章中,我们将展示如何使用Stable Diffusion 3(SD3)获得最佳图像,包括如何向SD3提交提示词,这与之前的Stable Diffusion模型略有不同。

为了帮助您进行实验,我们创建了一个SD3探索者模型( https://replicate.com/fofr/sd3-explorer ),展示了我们在这里讨论的所有设置。

选择SD3版本

Stability AI以不同的方式打包了SD3 Medium,确保它能在尽可能多的设备上运行。

SD3使用了三种不同的文本编码器。(文本编码器是接收您的提示并将其转化为模型可理解格式的部分)。其中一种新的文本编码器非常大,意味着它占用大量内存。如果您查看SD3在Hugging Face上的权重,您会看到四种具有不同文本编码器配置的选项。您应根据可用的VRAM(显存)来选择使用哪一个。

  • sd3_medium_incl_clips_t5xxlfp8.safetensors

此编码器包含了模型权重、两个CLIP文本编码器和经过压缩的fp8格式的大型T5-XXL模型。出于简化操作和最佳效果考虑,我们推荐使用这些权重。

  • sd3_medium_incl_clips_t5xxlfp16.safetensors

与sd3_medium_incl_clips_t5xxlfp8.safetensors相同,只是T5部分没有那么高度压缩。通过使用fp16而非fp8,图像质量会略有提升。这种提升是以更高内存使用为代价的。

  • sd3_medium_incl_clips.safetensors

这个版本完全不包含T5元素。它仅包含权重和两个CLIP文本编码器。如果您显存不多,这是个不错的选择,但您的结果可能会与完整版本有很大不同。您可能会发现这个版本对提示的遵循不如完整版紧密,并且可能降低图像中文字的质量。

  • sd3_medium.safetensors

这个模型仅为基础权重,不包含任何文本编码器。如果您使用这些权重,请确保单独加载文本编码器。稳定性AI为此提供了一个ComfyUI工作流程示例。

提示方式的改变

在SD3中,最显著的使用变化在于提示方式。现在您可以输入更长且更具描述性的提示,并得到与提示高度贴合的图像。您不再受限于CLIP文本编码器的77个tokens限制。

您的提示长度现在可以达到10,000个字符,或超过1,500个单词。实际上,您可能不需要这么长的长度,但很明显我们不再需要担心提示的长度问题。

对于非常长的提示,目前很难说哪些部分会被纳入图像中,哪些不会。模型会关注提示中的哪一部分并不明确。但是,提示越长、越复杂,某些内容缺失的可能性就越大。

不要使用否定性提示

SD3并未接受过否定性提示的训练。在SD3中,否定性提示并不会如您预期那样工作。如果您已经尝试过SD3,您可能已经注意到,当给出否定性提示时,图像确实会发生变化,但这种变化并没有实际意义。您的否定性提示不会移除不想要的元素;相反,它会在条件设置中引入噪声,简单地改变输出,有点像使用不同的种子值。

提示技巧

既然允许使用更长的提示,您可以使用普通的英语句子和语法来描述所需的图像。您仍然可以像以前一样使用逗号分隔的关键词,但如果追求特定效果,详细且明确的提示会更为有效。这种程度的提示方式现在类似于Midjourney版本6和DALL·E 3的提示方式。

在描述图像元素时,尽量使语言明确无歧义,以防止这些描述也应用于图像的其他部分。

下面是一些长而描述性的提示示例,展现了SD3中良好的提示贴合度:

一对男女并肩站立,背景分为左右两半,左边为红色,右边为金色。女子穿着印有尤达图案的T恤,搭配着长裙,上面有鸟儿图案。男子则穿着一套紫色三件套西装,顶着蓝色尖刺发型。

一名男子戴着1980年代的红蓝3D纸眼镜,坐在超市停车场里的摩托车上,正值正午阳光下,他穿着Slipknot乐队的T恤,配黑色裤子和牛仔靴。

英国布莱顿的一片卵石海滩上,清晨,黎明时分,一位女士的近景半身照。她穿着一件以莫斯特拉植物为图案的简洁蓝白夏装,戴着方形白框眼镜,绿色编发。

针对每个文本编码器的不同提示

我们现在有了三个文本编码器,理论上可以向每个编码器传递不同的提示。例如,您可以尝试将图像的整体风格和主题传递给CLIP文本编码器,而将具体细节交给T5部分处理。在我们的实验中,尚未发现任何特别的技术,但我们仍在尝试。

设置

SD3有许多新旧设置,可用于改变图像输出。我们推荐以下一些默认设置,但您应该自己尝试以找到偏好设置。

总的来说,您可以从以下设置开始实验(我们将在下面更详细地讨论它们):

  • steps:28步

  • CFG:3.5至4.5

  • 采样器:dpmpp_2m,调度器:sgm_uniform

  • Shift:3.0

  • 宽高比与分辨率:建议与SDXL类似,大约1百万像素,分辨率必须能被64整除。针对常见宽高比,推荐以下宽度和高度设置。

图像宽度与高度

  • 1:1 - 1024x1024(方形)

  • 16:9 - 1344x768(宽屏)

  • 21:9 - 1536x640(电影宽屏)

  • 3:2 - 1216x832(风景)

  • 2:3 - 832x1216(人像)

  • 5:4 - 1088x896(风景)

  • 4:5 - 896x1088(人像)

  • 9:16 - 768x1344(长竖图)

  • 9:21 - 640x1536(非常高)

Steps

该设置是模型生成图像时使用的去噪步骤数量。在SDXL中,这个值通常是20,而对于Lightning模型则是4步。steps是决定图像生成时间的主要因素——更多step着更高质量但较慢,反之则快。

对于SD3,推荐使用28步。这个数值可以产生清晰的图像,前景和背景都富有细节,且VAE噪声模式较少,同时生成时间不过长。

增加steps的影响

与之前Stable Diffusion模型不同,SD3中增加steps对图像质量的影响有所不同。我们习惯于其逐步改善图像质量,直到达到某种程度后效果趋于平稳。但在SD3中,随着步骤增加,您会观察到不同的现象。

通常,SD3在大约8到10步时就能生成看起来不错的图像,尽管存在VAE噪声和图像不连贯的部分,这还取决于提示和种子。随着步数增加,图像变得更为连贯且有趣。最佳区间大约在26到36步之间。

您也会发现,随着steps的不同,图像及其主题有时会发生显著变化。比如,对于模糊的人像提示,随着步数增加,您可能会发现主体年龄、性别或种族发生变化。比较这两个输出(总结:步数越多越正确):

一个10步

另一个使用相同设置和种子,32步

CFG

CFG告诉模型输出应与提示多相似。对于SD3,需要使用比SD 1.5和SDXL更低的值。

推荐范围是3.5到4.5。如果输出看起来“过曝”,即对比度过高,应降低CFG(这里有一个因CFG过高而过曝的图像示例)。

值得一提的是,CFG越低,使用不同文本编码器选项(即是否使用fp8、fp16的T5文本编码器或根本不使用)的输出越相似。因此,如果您使用很低的CFG,不使用大型T5编码器也不会严重影响图像质量。

采样器与调度器

不同工具可能使用不同的标签,但基本上这是模型用于管理噪声的算法。不同的算法会产生不同的图像。

对于SD3,推荐使用dpmpp_2m采样器搭配ComfyUI中的sgm_uniform调度器,或者在Automatic1111中使用dpm++ 2M。Euler采样器也能给出良好结果。

一些采样器和调度器与SD3不兼容,特别是ancestral和sde采样器,以及流行的SDXL噪声调度器karras。

Shift

shift是SD3中新增的一个可调整参数。它代表时间步调度偏移,较高的shift值在处理更高分辨率的噪声时更有效。本质上,使用shift可以更好地处理噪声,从而得到更美观的图像。关于时间步调度偏移的理论,您可以在SD3研究论文(https://arxiv.org/pdf/2403.03206)中了解更多。

基于人类偏好评估,推荐的默认shift值为3.0,当然您可以自行调整。在ComfyUI中,您可以在“ModelSamplingSD3”节点上找到该值,在Diffusers中,您可以在FlowMatchEulerDiscreteScheduler中传递一个shift参数。

shift值为6.0在人类评估中得分较高,值得一试。如果使用较低值如2.0或1.5,可能会得到更原始、“加工较少”的图像外观,这对于某些提示效果很好。

来源:https://replicate.com/blog/get-the-best-from-stable-diffusion-3

翻译:通义2.5

校对,编辑:包包