3.6 KiB
Stable Diffusion 3
相关链接
-
论文:Scaling Rectified Flow Transformers for High-Resolution Image Synthesis
-
模型
- stable-diffusion-3-medium
模型介绍
Stable Diffusion 3(SD3)是 Stability AI 的文生图开源模型,在基于人类偏好的评估中,Stable Diffusion 3 在文字生成图像的性能上超过了目前最先进的系统,包括 DALL·E 3、Midjourney v6 和 Ideogram v1,并在文字内容生成,复杂提示理解和指令遵循方面的性能有显著提升。SD3 采用了全新的多模态扩散变压器(MMDiT)架构,使用不同的权重集来处理图像和语言表示,提高了模型的文本理解和拼写能力。
最大的 SD3 模型拥有 80 亿参数,可以装入拥有 24GB VRAM 的 RTX 4090 中,使用 50 次采样步骤生成一张 1024x1024 分辨率的图像仅需 34 秒。此外,还发布了多种版本的,参数范围从8亿到80亿的 Stable Diffusion 3。
MMDiT 架构使用三种不同的文本嵌入器(两个 CLIP 模型和 T5)来编码文本表示,并使用改进的自动编码模型来编码图像,然后将结合两种模态的序列拼接起来尽进行注意力操作。相比传统的文本生成图像网络,这种架构在视觉保真度和文本对齐度的训练过程中表现更佳。通过该方法,信息可以在图像和文本之间流动,进而提高生成内容的整体理解能力和视觉设计,同时其设计也容易扩展到视频等多种模态的应用。
此外,SD3 引入了改进的校正流(RF)公式,使得在训练过程中,数据和噪声可以沿着更直的线性轨迹连接,从而减少了采样步骤。通过对采样计划的重加权,尤其是在中间部分,提升了模型的预测任务性能。与其他 60 种扩散轨迹(例如LDM 、 EDM 和 ADM ))相比,重加权的RF变体在性能上具有更优越的表现。
在文本编码方面,尽管在推理过程中将拥有 4.7B 参数的 T5 文本编码器排除在外减少了内存需求并略微影响性能,但这对视觉美学无大影响,只是稍微降低了提示文本的遵循性。为了充分发挥文本生成能力,尤其是在处理复杂提示文本的场景中,建议保留 T5 文本编码器。
Stable Diffusion 3 的生成效果:
代码样例
from diffsynth import ModelManager, SD3ImagePipeline, download_models
import torch
download_models(["StableDiffusion3_without_T5"])
model_manager = ModelManager(torch_dtype=torch.float16, device="cuda",
file_path_list=["models/stable_diffusion_3/sd3_medium_incl_clips.safetensors"])
pipe = SD3ImagePipeline.from_model_manager(model_manager)
prompt = "masterpiece, best quality, solo, long hair, wavy hair, silver hair, blue eyes, blue dress, medium breasts, dress, underwater, air bubble, floating hair, refraction, portrait,"
negative_prompt = "worst quality, low quality, monochrome, zombie, interlocked fingers, Aissist, cleavage, nsfw,"
torch.manual_seed(7)
image = pipe(
prompt=prompt,
negative_prompt=negative_prompt,
cfg_scale=7.5,
num_inference_steps=100, width=1024, height=1024,
)
image.save("image_1024.jpg")