> 技术文档 > Stable Diffusion 各版本技术详解文档

Stable Diffusion 各版本技术详解文档


一、版本体系总览

Stable Diffusion 作为开源图像生成领域的核心模型,已形成覆盖基础迭代、大规模参数突破、效率优化及架构创新的版本矩阵。从 1.x 系列奠定 Latent Diffusion Model(LDM)基础,到 2.x 系列拓展高分辨率能力,再到 XL 系列实现质量跃迁,最终在 3.x 系列完成向 Transformer 原生化的转型,各版本围绕 “质量 - 效率 - 场景” 持续突破。
环境配置可以参考这个Stable Diffusion 虚拟环境配置
经过代码实践,得到了各个模型的参数和显存占用,我使用的是V100 32G。对于4060、5060这类8G显卡,顶多运行SDXL,会爆一点显存到内存中。
使用以下代码进行计算,然后观察nvidia-smi的显存占用情况

# 打印每个模块的参数量def count_params(model): return sum(p.numel() for p in model.parameters())def count_SD1_5_total_params(model): \"\"\"打印SD1.5模型总参数量、各组件参数量\"\"\" unet_params = count_params(model.unet) text_encoder_params = count_params(model.text_encoder) vae_params = count_params(model.vae) total_params = unet_params + text_encoder_params + vae_params print(f\"Unet 参数量:{unet_params / 1e6:.2f} M\") print(f\"text_encoder(CLIP ViT-L/14)参数量:{text_encoder_params / 1e6:.2f} M\") print(f\"VAE 参数量:{vae_params / 1e6:.2f} M\") print(f\"模型总参数量(Pipeline):{total_params / 1e6:.2f} M({total_params / 1e9:.2f}B)\") def count_SD2_total_params(model): \"\"\"打印SD2模型总参数量、各组件参数量\"\"\" unet_params = count_params(model.unet) text_encoder_params = count_params(model.text_encoder) vae_params = count_params(model.vae) total_params = unet_params + text_encoder_params + vae_params print(f\"Unet 参数量:{unet_params / 1e6:.2f} M\") print(f\"text_encoder(CLIP ViT-H/14)参数量:{text_encoder_params / 1e6:.2f} M\") print(f\"VAE 参数量:{vae_params / 1e6:.2f} M\") print(f\"模型总参数量(Pipeline):{total_params / 1e6:.2f} M({total_params / 1e9:.2f}B)\") def count_SDXL_total_params(model): \"\"\"打印SDXL模型总参数量、各组件参数量\"\"\" unet_params = count_params(model.unet) text_encoder_params = count_params(model.text_encoder) text_encoder_2_params = count_params(model.text_encoder_2) vae_params = count_params(model.vae) total_params = unet_params + text_encoder_params + text_encoder_2_params + vae_params print(f\"UNet 参数量:{unet_params / 1e6:.2f} M\") print(f\"text_encoder(CLIP ViT-L)参数量:{text_encoder_params / 1e6:.2f} M\") print(f\"text_encoder_2(OpenCLIP ViT-G/14)参数量:{text_encoder_2_params / 1e6:.2f} M\") print(f\"VAE 参数量:{vae_params / 1e6:.2f} M\") print(f\"模型总参数量(Pipeline):{total_params / 1e6:.2f} M({total_params / 1e9:.2f}B)\") def count_SD3_total_params(model): \"\"\"打印SD3模型总参数量、各组件参数量\"\"\" transformer_params = count_params(model.transformer) text_encoder_params = count_params(model.text_encoder) text_encoder_2_params = count_params(model.text_encoder_2) text_encoder_3_params = count_params(model.text_encoder_3) vae_params = count_params(model.vae) total_params = transformer_params + text_encoder_params + text_encoder_2_params + text_encoder_3_params + vae_params print(f\"MMDiT 参数量:{transformer_params / 1e6:.2f} M\") print(f\"text_encoder(CLIP ViT-L/14)参数量:{text_encoder_params / 1e6:.2f} M\") print(f\"text_encoder_2(OpenCLIP ViT-bigG)参数量:{text_encoder_2_params / 1e6:.2f} M\") print(f\"text_encoder_3(T5-XXL)参数量:{text_encoder_3_params / 1e6:.2f} M\") print(f\"VAE 参数量:{vae_params / 1e6:.2f} M\") print(f\"模型总参数量(Pipeline):{total_params / 1e6:.2f} M({total_params / 1e9:.2f}B)\") 

以下是我的使用总结,比较直观。

模型 加载显存需求 推理显存需求 主要组件参数量 总参数量 SD1.5 3507 MiB 8073 MiB UNet: 859.52M
Text Encoder (CLIP ViT-L/14): 123.06M
VAE: 83.65M 1.07B SD2.0 3349 MiB 7931 MiB UNet: 865.91M
Text Encoder (CLIP ViT-H/14): 340.39M
VAE: 83.65M 1.29B SD2.1 3349 MiB 7931 MiB UNet: 865.91M
Text Encoder (CLIP ViT-H/14): 340.39M
VAE: 83.65M 1.29B SDXL 1.0 7311 MiB 12865 MiB UNet: 2567.46M
Text Encoder 1 (CLIP ViT-L): 123.06M
Text Encoder 2 (OpenCLIP ViT-G/14): 694.66M
VAE: 83.65M 3.47B SDXL Turbo 7311 MiB 12865 MiB 同 SDXL 1.0 3.47B SD3 Medium 17285 MiB 22195 MiB MMDiT: 2028.33M
Text Encoder 1 (CLIP ViT-L/14): 123.65M
Text Encoder 2 (OpenCLIP ViT-bigG): 694.66M
Text Encoder 3 (T5-XXL): 4762.31M
VAE: 83.82M 7.69B SD3.5 Medium 18051 MiB 23309 MiB MMDiT: 2243.17M
Text Encoder 1 (CLIP ViT-L/14): 123.65M
Text Encoder 2 (OpenCLIP ViT-bigG): 694.66M
Text Encoder 3 (T5-XXL): 4762.31M
VAE: 83.82M 7.91B SD3.5 Large 29079 MiB 32155 MiB MMDiT: 8056.63M
Text Encoder 1 (CLIP ViT-L/14): 123.65M
Text Encoder 2 (OpenCLIP ViT-bigG): 694.66M
Text Encoder 3 (T5-XXL): 4762.31M
VAE: 83.82M 13.72B SD3.5 Large Turbo 29079 MiB 32155 MiB 同 SD3.5 Large 13.72B

关键说明

  1. Pipeline 对应关系:不同系列模型需使用diffusers库中对应的 Pipeline 类,不可混用(如 SD3.x 必须用StableDiffusion3Pipeline)。
  2. 显存优化:SD3.x 系列模型可通过设置text_encoder_3=None, tokenizer_3=None移除 T5-XXL 文本编码器,以降低显存占用(性能略有下降)。
  3. 蒸馏模型特性:带 “turbo” 后缀的模型(SDXL-turbo、SD3.5-large-turbo)均为蒸馏版本,核心参数量与原模型一致,但采样步数更少(1-4 步),推理速度更快,适合对实时性要求高的场景。
  4. 文本编码器演进:从 SD1.5 的单 CLIP 编码器,到 SDXL 的双编码器(CLIP+OpenCLIP),再到 SD3.x 的三编码器(CLIP+OpenCLIP+T5-XXL),语义理解能力逐步增强,同时也增加了参数量和显存需求。

二、核心版本技术解析

(一)Stable Diffusion 1.x 系列(1.1–1.5)

1. 总体概述

SD 1 系列是 Stable Diffusion 的第一代公开模型,基于 Latent Diffusion Model (LDM) 框架,由 CompVis 团队提出(论文发表于 2022 年 8 月)。它的最大特点是:

  • 使用 VAE(Variational Autoencoder)在图像的潜空间(latent space)进行扩散,而非像 DALL・E 2 那样在像素空间直接操作,大幅降低计算成本;
  • 通过 CLIP 文本编码器实现文本到图像的条件控制,建立精准的语义 - 视觉关联;
  • 轻量化设计使其在消费级 GPU(如 RTX 3060 Ti)上即可运行,推动 AI 绘画普及。
2. 模型架构

SD1.x 主要由三个核心组件构成:

2.1 VAE(Autoencoder)
  • 作用:将 512×512 RGB 图像压缩成潜空间表示(一般是 64×64×4 张量),加快扩散过程,减少计算资源消耗。
  • 结构:采用 “卷积编码器(encoder)+ 卷积解码器(decoder)” 结构,带有 KL 正则化(因此属于变分自编码器)。
  • 模型大小:VAE 本身参数量较小(数千万级),是潜空间转换的核心模块。
2.2 UNet 主体(扩散网络)
  • 作用:在潜空间中迭代去噪,生成符合文本条件的潜变量,是扩散过程的核心执行单元。
  • 结构
    • ResNet Block:标准卷积残差块,负责提取图像局部特征;
    • Cross-Attention Block:跨注意力层,将文本嵌入与图像特征对齐,实现 “文本引导生成”;
    • 多尺度结构:通过下采样→中间瓶颈层→上采样的 U 形网络设计,融合不同分辨率特征;
    • 时间步嵌入:扩散步数通过正弦时间编码(sinusoidal)输入网络,使模型感知去噪阶段;
    • 注意力分辨率:固定为 512×512,高于此分辨率需通过 tile 或缩放处理。
2.3 文本编码器(CLIP Text Encoder)
  • 作用:将输入的 Prompt 转为文本嵌入,供 UNet 的 cross-attention 层使用,是文本与图像关联的桥梁。
  • 版本:采用 OpenAI CLIP ViT-L/14 预训练模型,权重冻结以复用其语义理解能力。
  • Token 限制:最多支持 75 个 Token,是 SD1 系列的重要局限(对长提示兼容性差)。
3. 训练策略
3.1 扩散过程
  • 正向扩散:在潜空间向量中逐步添加高斯噪声,使数据从原始分布逐渐逼近标准正态分布;
  • 反向生成:UNet 学习预测噪声(ε-prediction),通过逐步去噪还原潜空间中的图像特征。
3.2 损失函数
  • 对预测噪声采用 L2 损失(MSE),确保去噪过程的稳定性;
  • VAE 编解码器通过 KL 正则化约束潜空间分布,提升重构质量。
3.3 条件训练
  • 将文本嵌入通过 cross-attention 注入 UNet,实现 “文本引导生成”;
  • 同时采用 “无条件训练(文本为空)+ 有条件训练” 策略,推理时通过 Classifier-Free Guidance (CFG) 调整条件强度,平衡生成多样性与文本匹配度。
3.4 训练硬件与优化
  • 采用混合精度训练(fp16/bf16)降低显存占用;
  • 通过分布式数据并行提升训练效率;
  • 使用 AdamW 优化器进行参数更新。
4. 训练数据集
  • 主要来源:LAION-2B-en(LAION-5B 的英文子集),包含互联网抓取的图像 - 文本对。
  • 筛选标准
    • 分辨率 ≥ 512px,且具有可用许可证(主要是 CC-BY、Public Domain);
    • 通过 CLIP 过滤保留与文本相似度高的样本(分数阈值一般 >0.28);
    • 移除低质量 / 模糊 / 有版权风险的样本。
  • 数据规模:SD1.x 大约使用了 2 亿到 6 亿图文对(不同版本略有差异)。
5. 参数量与版本差异
版本 发布日期 参数量 改进点 1.1 2022.08 ~890M 首个公开版本,验证 LDM 基础框架可行性 1.2 2022.08 ~890M 调整训练集分布,改善人体比例与色彩还原度 1.3 2022.08 ~890M 微调 CFG 效果,提升对简单 Prompt 的遵循能力 1.4 2022.08 ~890M 经过 6000 万步训练,质量稳定,成为早期广泛使用的版本 1.5 2022.10 ~890M 基于 1.2 微调(约 400k 步),由 RunwayML 发布,优化构图与细节表现,成为社区衍生模型的基础
6. 生成效果特点
  • 优点
    • 512×512 分辨率下生成速度快(A100 上 50 步 ≈ 4s);
    • 模型尺寸适中,8GB 显存即可运行,适配消费级硬件;
    • 社区生态极丰富,支持 LoRA、Textual Inversion、DreamBooth 等二次开发技术。
  • 缺点
    • 对复杂 Prompt 的理解力有限,多主体、长指令适配度低;
    • 人体细节(如手、眼睛)易出错,生物特征生成精度不足;
    • 75 Token 限制对长提示不友好,复杂场景描述受限。
7. 影响与意义

SD1 系列的发布直接促成了 AI 绘画开源生态的爆发:

  • 大量基于 1.5 微调的二次模型涌现(如动漫、插画、写实风格专用模型);
  • DreamBooth 与 LoRA 技术普及,推动个性化模型定制门槛大幅降低;
  • 首次让普通消费级显卡用户能运行高质量文生图模型,加速 AI 创作工具的平民化。

(二)Stable Diffusion 2.0 / 2.1

1. 版本迭代方向
  • 发布时间:2.0(2022 年 11 月);2.1(2022 年 12 月,基于 2.0 权重初始化)
  • 技术定位:在 1.x 系列 LDM 框架基础上,聚焦高分辨率支持、文本理解强化与任务多样性拓展,推动模型从 “基础生成” 向 “多功能适配” 升级。
2. 模型架构(Architecture)

SD 2 系列依然基于 Latent Diffusion Model(LDM)架构,核心组件与 1.x 大体一致,但在细节上有显著优化:

2.1 VAE(变分自编码器)
  • 作用:将图像压缩到 latent 空间,与 1.x 相比采用下采样因子为 8 的设计,可将 H×W×3 图像映射为 H/8 × W/8 × 4 的潜空间表示,提升潜空间特征的紧凑性与表达力。
2.2 UNet denoising 网络
  • 结构:延续 1.x 的 ResNet block 与 cross-attention 设计,负责在潜表示中去除噪声,并接收文本嵌入作为条件输入;整体架构保持稳定性,确保与 LDM 框架兼容。
2.3 文本编码器
  • 升级点:1.x 采用 OpenAI CLIP,而 2.x 全新替换为 OpenCLIP-ViT/H/14—— 数据开源且训练质量更优,显著提升文本语义理解深度与跨模态对齐精度。
3. 版本与参数量(Variants & Parameter Counts)

根据官方及模型卡信息,2.x 系列包含多个变体:

  • SD 2.0 Base(512-base-ema):默认训练至 512×512 分辨率,UNet 参数量与 1.5 相同(约 890M);
  • SD 2.0 768-v-ema:基于 Base 模型,使用 v-objective 进一步训练,原生支持 768×768 高分辨率;
  • 扩展变体:包括 depth-to-image(深度引导生成)、inpainting(图像修复)、x4 upscaling(4 倍超分)等,均 fine-tuned 自 base 模型,通过加入额外条件输入或结构适配特定任务。
4. 训练策略(Training Strategy)
4.1 核心技术优化
  • v-objective 损失:优于原始 ε-prediction 损失,更精准地表示误差,主要用于 768×768 分辨率的训练阶段,提升高分辨率生成稳定性;
  • 分阶段训练流程:Base 模型先在 256×256 分辨率训练,再升级至 512×512 进行数十万步训练;768-v 模型在 base 基础上继续训练数十万步以上,逐步提升分辨率适应能力;
  • EMA(指数移动平均):训练中后期使用 EMA 进行权重平滑,减少参数波动,提升模型稳定性与样本质量;
  • 任务特化 fine-tune
    • Depth-to-image:加入 MiDaS 推断的深度信息作为条件输入,增强空间结构控制;
    • Inpainting:采用 LAMA 的 mask 策略,针对 masked latent 图进行修复训练;
    • x4 upscaling:通过高分辨率图裁剪 + 噪声调度训练,赋予模型引导超级分辨率的能力。
5. 训练数据(Datasets)
  • 基础来源:以 LAION-5B 及其子集为基础,选用经过 NSFW 过滤与美学评分筛选的图文对,确保训练数据的安全性与质量;
  • 2.1 优化:相较 2.0 放宽了过滤策略(尤其放宽 NSFW 阈值),增强对人物与面部的生成能力;同时针对性提升建筑、室内设计、野生风景等类别的数据多样性,拓展场景覆盖范围。
6. 改进与效果(Improvements & Outcomes)
  • 文本理解能力提升:OpenCLIP 引入后,模型语言生成能力更强,但风格与 SD1.5 存在差异,需要用户适应提示词逻辑;
  • 样式稳定性变化:对艺术家风格(如 Greg Rutkowski)的还原,SD1.5 表现更熟练;而 SD2 系列在现实场景(如街景、室内)生成上更具优势;
  • 任务多样性增强:depth、inpainting、upscaling 等特化模型扩展了应用边界,支持从深度图生成图像、图像修复、超分辨率等复合任务;
  • 分辨率支持提高:base 模型支持 512×512,768-v 模型支持 768×768,显著提升图像细节丰富度与画面质感。
7. 实际效果与局限
  • 优势:高分辨率场景(如精细建筑、复杂风景)表现优于 1.x,任务多样性拓展了实用价值,文本理解精度在特定场景(如写实描述)有明显提升;
  • 局限:社区采用率低于 1.5—— 一方面因风格差异导致用户迁移成本高,另一方面特化模型的生态适配(如插件兼容性)不如 1.x 完善,更多作为专业场景(如学术研究、特定任务开发)的架构参考。

(三)Stable Diffusion XL 1.0(SDXL 1.0)

快速结论(概览)
  • SDXL 是 Stability AI 在 2023 年推出的“旗舰级”公开 T→I(text→image)LDM,目标在可开源范围内冲击商业级图像质量(更好的色彩、光照、构图与 prompt 遵循)。Stability AIarXiv
  • 核心变化:比以往更大的 UNet 主体、双文本编码器(token-level + global caption embedding)、多纵横比训练、以及Refiner二阶段流水线(base → refiner)。arXivHugging Face
  • 典型参数规模:Base pipeline ≈ 3.5B 参数(包含 UNet + 文本编码器等);若连同 Refiner 组成完整流水线则全套约 6.6B 参数(base + refiner)。现实使用中多数人仅使用 base 模型。Stability AIComet
1. 版本技术定位
  • 发布时间:2023 年 7 月,由 Stability AI 推出,定位为 “旗舰级” 开源文本到图像(T→I)模型,目标在开源范围内冲击商业级图像质量(优化色彩、光照、构图与 prompt 遵循度)。
  • 核心突破:通过放大模型规模、创新双编码器架构与二阶段生成流程,实现从 “基础可用” 到 “专业级质量” 的跨越,逼近 Midjourney、DALL・E 等商业模型的生成效果。
2. 模型架构(Architecture)

SDXL 仍基于 Latent Diffusion Model(LDM)框架,核心创新集中在去噪网络(UNet)与条件机制,形成 “两阶段潜扩散”(two-stage latent diffusion)架构:

2.1 总体框架

先用 VAE 将 RGB 图像编码为潜向量(latent),在潜空间完成扩散去噪后,再通过解码器重建像素图。与前代的差异主要体现在去噪网络的规模与条件注入方式上。

2.2 放大的 UNet 骨干
  • 规模升级:UNet 规模较前代(SD 1.x/2.x)扩大约 3 倍,通过增加 attention 块数量、通道数与 cross-attention 宽度实现,显著提升特征表达能力与细节重建精度。
  • 核心作用:在每个采样步预测噪声或去噪分量,是潜空间扩散去噪的核心执行单元。
2.3 双文本编码器(dual text encoders)

引入两个文本编码器分工协作,大幅提升语义理解与指令遵循能力,分别是:

  1. CLIPTextModel(CLIP-ViT-L/14)
  • 来源:原始 CLIP(OpenAI)架构,在 SDXL 中作为固定 freeze 使用
  • 功能:在 pipeline 中对应 text_encoder,用于处理文本 token 并供 cross-attention 使用,输出逐 token 的文本嵌入(token-level embeddings),负责理解 prompt 中的细粒度结构与指令,如位置描述、物体属性等
  • 模型规模:约 123M 参数(仅文本编码器部分)
  • 预训练数据:LAION-2B、COYO-700M 等多模态数据集
  • 总结作用:“放大镜” 视角,为每个 token 提供位置敏感的条件信息,处理 “在左边画一只红狗” 这样的细节要求
  1. CLIPTextModelWithProjection(OpenCLIP-ViT-bigG/14)
  • 来源:OpenCLIP 的更大模型 CLIP-ViT-bigG-14-laion2B-39B-b160k(由 LAION 训练)
  • 功能:在 pipeline 中作为 text_encoder_2,将整个文本 prompt 编码为单一全局向量(pooled embedding),在 SDXL 中作为全局 conditioning 输入,提供整体语义背景和风格基调;对整体一致性、风格延续、语境理解有帮助
  • 模型规模:约 700M 参数
  • 预训练数据:基于超大规模多模态数据(LAION-2B、COYO 等),并做额外清洗与美学筛选
  • 总结作用:“广角镜” 视角,提供整幅画的语境和氛围,理解 “赛博朋克夜景” 这样的整体风格要求

token 级编码器:即 CLIPTextModel(CLIP-ViT-L/14),提供逐 token 的上下文信息,支持局部指令精准执行(如 “左边放一只红色狗”);
全局编码器:即 CLIPTextModelWithProjection(OpenCLIP-ViT-bigG/14),生成全局 caption embedding,保障整体语义一致性(如场景风格、氛围统一)。
这种分工使模型既能处理细节指令,又能维持整体构图协调,是 SDXL 相较 SD 1.x/ 2.x 的重要结构创新,让生成结果在局部精确度与整体一致性之间达到了更好的平衡。

2.4 多纵横比与条件注入机制
  • 多纵横比训练:训练阶段覆盖正方形、16:9、竖图等多种比例,使模型天然支持非正方形生成,提升构图灵活性;
  • 多条件注入:在 UNet 中通过 skip connections 与 attention 层注入全局 embedding、token embedding 及辅助条件,强化文本与图像的关联。
2.5 Refiner 二阶段模型

SDXL 提供可选的 Refiner 模型,形成 “base→refiner” 二阶段流水线:

  • Base 模型:生成低噪声潜向量,完成主要构图与内容生成;
  • Refiner 模型:对接近终态的潜向量做精细化处理,优化纹理、人脸细节、文字锐度等高频信息。

完整流水线(base + refiner)参数合计约 6.6B,但实际应用中多数场景仅使用 base 模型(平衡质量与效率)。

3. 关键技术细节
  • Cross-attention 扩展:拓宽 context window,支持更长 prompt 并保持细节一致性;
  • 时间 / 噪声编码:沿用标准扩散的正弦时间步嵌入,通过 MLP 转换后注入网络;
  • 训练损失:以噪声预测 MSE(ε-prediction 或 v-objective)为主,配合 EMA 权重平滑与 VAE 重建损失,提升训练稳定性。
4. 参数量与变体
  • SDXL-Base:整体约 3.5B 参数(含 UNet 约 2.6B + 文本编码器等),是最常用的基础模型;
  • Refiner:单独参数量约 3.1B,与 base 结合后全套约 6.6B 参数,用于高质量场景的二次细化。
5. 训练策略
5.1 训练数据
  • 来源与筛选:以 LAION 系列数据集为基础,精选高质量子集,强化去重、美学评分过滤与版权审查;
  • 针对性采集:增加排版 / 文字、长 prompt、多风格样本,提升文字渲染与复杂场景生成能力。
5.2 训练优化
  • 多任务平衡:通过采样比重与 loss weighting 平衡不同比例、风格样本的训练,避免模型偏向单一场景;
  • 工程技巧:采用混合精度(fp16/bf16)训练、分布式数据并行、梯度裁剪与学习率调度,确保大模型稳定收敛;
  • Refiner 训练:以 base 模型生成的低噪声潜向量为输入,专注学习高频细节优化,损失函数与 base 一致。
6. 生成能力与效果
  • 高分辨率支持:原生支持 1024×1024 分辨率,保真度与细节显著优于前代;
  • 光照与色彩:色彩饱和度、对比度更自然,光影渲染接近真实场景,画面层次感增强;
  • prompt 遵循与构图:双编码器与大 attention 窗口提升复杂指令(多角色、空间关系)的遵循度,多主体场景中对象数量与位置控制更精准;
  • Refiner 增益:启用后可进一步优化纹理细节(如布料质感、皮肤毛孔),但会增加约 50% 推理时间。
7. 推理与工程实践
  • 硬件需求:Base 模型需 12GB+ VRAM(推荐 A100 或 RTX 4090),可通过量化、分块推理适配消费级 GPU;
  • 部署策略:交互式场景(如 API)可仅用 base 模型;离线高质量生成(如海报设计)建议启用 Refiner;
  • 工具支持:Hugging Face Diffusers 提供完整 pipeline 实现,支持 base + refiner 联动推理。
8. 限制与注意点
  • 数据合规:训练数据含互联网爬取样本,商业部署需做版权与伦理审核;
  • 微调现状:社区多基于 base 模型进行 LoRA/DreamBooth 微调,Refiner 微调较少,且微调后通常无需依赖 Refiner;
  • 效率权衡:大参数导致推理速度慢于前代,需在质量与延迟间做平衡(如降低分辨率或减少采样步)。

SDXL 1.0 凭借规模升级与架构创新,成为开源领域首个能与商业模型抗衡的图像生成工具,广泛应用于专业设计、影视概念创作等高质量需求场景,同时为后续 Turbo 版本与 3.x 系列的效率优化奠定了基础。

(四)Stable Diffusion XL Turbo

SDXL Turbo 是基于 SDXL(Stable Diffusion XL)家族的蒸馏/加速变体,由 Stability AI 发布。其核心目标不是改动基本生成网络的表达能力,而是通过新的蒸馏训练方法(Adversarial Diffusion Distillation, ADD)将原本需要几十步采样的扩散生成,压缩到极少步(可在 1–4 步内),甚至演示出「单步生成」的能力,从而实现近乎实时的 text→image 生成,同时尽量保持与原 SDXL 相当的视觉质量与 prompt 遵循度。

1. 版本技术定位
  • 发布时间:2023 年 11 月,聚焦 “高质量 + 实时生成” 效率突破
  • 核心目标:解决 SDXL 1.0 推理耗时问题,适配交互式场景
2. 架构与训练创新
  • 蒸馏技术:基于 Adversarial Diffusion Distillation(ADD),从 SDXL 1.0 蒸馏出 “学生模型”
  • 模型骨架:总体上 SDXL Turbo 沿用 SDXL 的模型结构(同类 UNet + VAE + 双文本编码器 conditioning 思路),并不是完全换成 Transformer-only 架构。Turbo 的关键不是新骨架,而是蒸馏得到的“快速推理网络”与训练目标的改变。
  • 流程压缩:通过对抗网络(GAN 判别器保障质量)+ 分数蒸馏(复用教师模型知识),实现 1–4 步快速生成
3. 实际应用价值
  • 速度标杆:512×512 图像生成耗时~207ms,支持实时交互(如游戏捏脸、直播辅助)
  • 质量平衡:压缩步数下仍保持 SDXL 级细节,成为 “效率优先” 场景(如原型设计、社交内容)首选

(五)Stable Diffusion 3 系列

Stable Diffusion 3(SD3)系列由 Stability AI 发布,是从 SDXL 系列向 Transformer 原生化(multimodal transformer)转型的一代家族。该系列将 “潜变量扩散 + Transformer” 思路推进为以 Multimodal Diffusion Transformer (MMDiT) 为核心的架构,并在后续版本中引入训练稳定性与蒸馏优化(如 QK-Norm、Adversarial Diffusion Distillation)以兼顾质量与速度。

1. 3.0 系列(早期预览)—— 架构转型的起点
  • 发布时间:2024 年 2 月(早期预览)
  • 定位与意义:作为 SD3 系列的初代版本,首次验证了 Transformer 原生化架构的可行性,为后续版本奠定了技术基础。
  • 核心架构探索
    • 首次采用 Rectified Flow Transformer(MMDiT)架构,摒弃传统 “文本 encoder + 图像 UNet” 分离结构,在 Transformer 内部实现文本与图像潜表示的直接融合。
    • 验证了多参数规模的可扩展性,模型家族参数覆盖 800M–8B,适配从 “轻量端侧” 到 “超大规模训练” 的场景。
  • 早期特性与局限
    • 作为预览版本,主要聚焦架构创新验证,实际效果评估较少,但为 3.5 系列的工程化优化(如 QK-Norm、ADD 蒸馏)提供了试验场。
2. 3.5 系列—— 工程化落地版本
  • 发布日期:2024 年 10 月(Large、Large Turbo 先行发布,Medium 于 10 月 29 日上线)
  • 定位:SD3 系列的成熟落地版本,通过工程化优化(如 QK-Norm、多编码器融合)实现 “高质量 + 高可用性”,构建覆盖全场景的模型家族。
2.1 MMDiT(Multimodal Diffusion Transformer)核心思想

SD3 系列的基本骨架为 MMDiT,这是一种 “在 Transformer 内部直接融合文本与图像(或图像潜表示)” 的扩散式生成架构。与早期 LDM/UNet(如 SD1/2/SDXL)不同,MMDiT 以 Transformer 模块作为扩散网络的主要计算单元,使文本 - 图像的 cross-attention、长上下文处理和多编码器融合更自然、更高效。

2.2 文本与多编码器设计

SD3 系列(尤其是 3.5 版本)采用多文本编码器组合,发挥不同编码器在语义 / 拼写 / 长 prompt 表示上的互补性:

  • CLIP-G/14 和 CLIP-L/14:用于高质量短文本对齐;
  • 大语言模型(如 T5-XXL):用于长上下文与复杂指令的语义抓取。

模型在推理时可按需启用 / 禁用某些编码器,在显存占用与生成质量间灵活折中。MMDiT 在 Transformer 内部将多源文本表示与图像潜表示融合,直接参与去噪过程。

2.3 Query-Key Normalization (QK-Norm)

为解决大规模 Transformer 在扩散训练中的不稳定性(如梯度爆炸 / 消失、注意力分布异常),SD3 系列(3.5 版本重点优化)引入 QK-Norm 技术。其在 attention 机制的 query/key 计算路径上增加归一化处理,显著提升训练稳定性与 prompt 遵循度(prompt-adherence),同时降低微调难度,是大参数模型工程化的关键突破。

2.4 蒸馏与 ADD(Adversarial Diffusion Distillation)

为将大模型的高质量特性浓缩到更少推理步数或更小模型中(即 “Turbo 方向”),SD3 系列采用 ADD 技术:

  • 以高容量模型(如 3.5 Large)为 “教师”,蒸馏其生成分布;
  • 引入对抗损失项(类似 GAN)提升生成样本的真实感;
  • 最终实现 1–4 步快速采样,且质量接近多步生成结果(3.5 Large-Turbo 是典型应用)。
3. 训练策略(Training recipes & tricks)
3.1 多任务 & 多分辨率训练

SD3 系列在训练中兼顾多任务目标(文本到图像、文字排版 /typography、复杂多主体场景、多风格生成)与多分辨率适配(支持从低分辨率到百万像素级别),提升模型对复杂提示和高分辨率场景的处理能力。

3.2 长上下文(长 prompt)支持

依托 MMDiT 架构与多编码器设计,SD3 系列支持输入长达~256 tokens(或更多)的 prompt,结合 classifier-free guidance 策略,显著改善对长说明、复杂约束或多主体描述的遵循能力。

3.3 数据过滤与安全策略

延续 SD2/SDXL 的数据治理思路,SD3 系列对训练数据进行更严格的过滤、去重与版权 / 安全审查,尤其强化 “高质量图文配对样本” 和 “专门的排版 / 文字样本” 采集,提升文字渲染、对象命名与数量遵循的准确性。

3.4 蒸馏训练(Turbo 变体)

针对 Turbo 系列(如 3.5 Large-Turbo),以高容量模型为教师,通过 ADD 技术与蒸馏损失函数,将生成步骤压缩至 1–4 步,同时联合优化 score network 输出与对抗训练,确保极短采样步数下的高质量。

4. 数据集(Datasets)

SD3 系列训练依赖大规模、多源、多模态的图文数据集(延续 LAION 思路,但未公开完整清单),核心特点包括:

  • 严格的质量筛选与去重,优先保留高美学价值、语义对齐的样本;
  • 强化 “文字排版 /typography” 专用样本,提升图像中文字生成的稳定性;
  • 补充长 prompt 数据与复杂场景样本,增强模型对多主体、多约束指令的理解。
5. 参数量与主要变体(Parameter counts & variants)
变体 说明 公开参数量(近似) SD3.0(早期预览) 初代 MMDiT 架构验证 800M–8B(多规模家族) SD3.5 Large MMDiT-X 完整版(质量优先) ≈ 8.1B 参数 SD3.5 Large-Turbo Large 蒸馏版(高速推理) 基于 Large 精简,支持 1–4 步生成 SD3.5 Medium 资源友好型(消费级适配) ≈ 2.5B 参数
6. 核心改进点(相比 SDXL 及前代)
  • 架构变革:从 “UNet 主导” 转向 “MMDiT Transformer 原生”,在 attention 机制中直接融合文本与图像信息,提升复杂场景处理能力;
  • 多编码器与长上下文:引入 CLIP-G/14、CLIP-L/14、T5-XXL 多编码器组合,支持更长 token 长度,显著提升 prompt 遵循度;
  • 训练稳定性:QK-Norm 技术解决大参数 Transformer 训练难题,使模型更易收敛与微调;
  • 效率优化:ADD 蒸馏技术支持 Turbo 变体,实现 1–4 步高质量生成,平衡速度与质量;
  • 数据针对性:强化排版样本与长 prompt 数据,提升文字渲染与复杂指令理解能力。
7. 推理特性与性能
  • Turbo 变体(1–4 步):适合时延敏感场景(API、交互式 UI),在 A100/RTX 级硬件上生成 512×512 图像耗时约 100–300ms;
  • Large 型号(质量优先):支持近 1MP 高分辨率生成,需大显存 GPU(多卡或高显存单卡),适合专业生产场景;
  • Medium 型号(工程友好):针对消费级 GPU 优化,约 10GB VRAM 即可运行,便于微调与二次开发。
8. 质量评估与应用场景
  • Prompt 遵循度:多编码器 + MMDiT 架构使模型能精准执行复杂指令、处理多主体与翻译 / 拼写问题,显著优于前代;
  • 文字生成稳定性:对文字渲染、标牌、排版的鲁棒性提升,可生成清晰可辨的文本;
  • 复杂场景表现:在多对象数目、关系及相对位置的遵循性上表现更优,适合创意设计、内容生产等场景。
9. 实践提示(面向开发者)
  • 追求最高质量与可微调性:选择 3.5 Large(需准备大显存或分布式推理);
  • 低延迟交互需求:优先使用 3.5 Large-Turbo(1–4 步生成);
  • 消费级 GPU 实验 / 微调:3.5 Medium(≈2.5B 参数)是平衡 VRAM 与质量的优选。
10. 限制与注意事项
  • 数据可追溯性:未公开完整训练样本清单,商业应用需注意版权合规与伦理审核;
  • 安全过滤:延续内容过滤机制,但部署时需额外加入后端安全策略(如内容审核)。

三、版本技术对照表

版本 发布时间 核心架构 训练改进关键技术 核心价值定位 1.5 2022-10 LDM + UNet LAION 数据集筛选、权重初始化优化 社区生态奠基,轻量高效首选 2.0 / 2.1 2022-11/12 LDM + OpenCLIP-ViT/H v-objective 损失、分阶段训练、任务特化微调 分辨率与功能突破,专业场景探索 SDXL 1.0 2023-07 UNet扩大三倍 + 双编码器 大规模参数、Refiner 多尺度训练 专业级质量突破,逼近商业模型 SDXL Turbo 2023-11 ADD 蒸馏 SDXL 对抗扩散蒸馏、单步生成优化 实时生成标杆,交互式场景适配 SD3 系列 2024-02 起 MMDiT Transformer(3.0 预览,3.5 优化) 多模态融合、QK-Norm、ADD 蒸馏 架构革新,从预览到工程化落地,覆盖全场景

四、技术演进趋势总结

Stable Diffusion 版本迭代呈现三大主线:

  1. 架构革新:从 1.x/2.x 系列的 UNet 主导 LDM 架构,到 XL 系列的双编码器 + 大参数 UNet 优化,最终在 3.x 系列完成向 MMDiT Transformer 原生化的转型,实现文本 - 图像融合效率的质的飞跃;
  2. 效率与质量平衡:通过 ADD 蒸馏技术(Turbo 系列)、参数规模分级(3.5 系列 Medium/Large),解决 “大模型高质量但慢、小模型快但质量低” 的矛盾,覆盖从实时交互到专业创作的全场景;
  3. 工程化与生态化:从早期依赖社区优化(1.5 系列),到 3.5 系列通过 QK-Norm 简化微调、明确许可证规范,推动模型从 “实验室工具” 向 “工业化基础设施” 演进。

核心组件(VAE、UNet/Transformer、文本编码器)随版本持续优化,训练技术(如对抗蒸馏、数据集过滤)成为能力跃迁关键,最终推动 SD 模型从 “开源工具” 向 “全场景 AIGC 基础设施” 进化,3.x 系列尤其通过 Transformer 原生化与工程化落地,重新定义了开源图像生成模型的技术标准。