菜单

SD3 和 Flux 模型

相关源文件

本文档介绍了 ComfyUI 中 Stable Diffusion 3 (SD3) 和 Flux 模型的实现,这些模型代表了下一代基于 transformer 的扩散模型。这些模型使用流匹配(flow matching)而非传统的基于噪声的扩散,采用多编码器文本条件化系统,并实现了针对高分辨率生成的优化的高级注意力机制。

有关传统的基于 UNet 的扩散模型的信息,请参阅 UNet 和注意力。有关采样和调度器方面的具体细节,请参阅 采样器和调度器

Flux 模型架构

Flux 模型实现了一个双流 transformer 架构,具有单独的图像和文本处理通道,通过注意力机制汇聚。核心架构在 Flux 类中定义。

核心模型结构

来源:comfy/ldm/flux/model.py19-35 comfy/ldm/flux/model.py37-90

FluxParams 数据类定义了模型配置,而 Flux 类实现了通过双流和单流处理块的完整前向传播。

注意力和数学运算

Flux 使用 RoPE (旋转位置嵌入) 和优化的注意力机制

来源:comfy/ldm/flux/math.py9-21 comfy/ldm/flux/math.py24-36

层架构

双流架构在融合之前单独处理图像和文本

层类型目的关键组件
DoubleStreamBlock双通道处理img_modtxt_mod、联合注意力
SingleStreamBlock融合处理组合 QKV、并行 MLP
EmbedND位置编码多维 RoPE
MLPEmbedder特征嵌入线性 → SiLU → 线性

来源:comfy/ldm/flux/layers.py132-208 comfy/ldm/flux/layers.py211-261

SD3 模型架构

SD3 使用包含 CLIP-L、CLIP-G 和 T5-XXL 编码器的三编码器文本条件化系统,提供增强的文本理解和控制能力。

三编码器文本系统

来源:comfy_extras/nodes_sd3.py9-26 comfy_extras/nodes_sd3.py48-85

SD3 潜在空间

SD3 在 16 通道潜在空间上操作,下采样率为 8 倍

来源:comfy_extras/nodes_sd3.py29-45

流匹配 vs. 传统扩散

Flux 和 SD3 实现流匹配,这与传统的基于噪声的扩散不同

比较表

方面传统扩散流匹配 (Flux/SD3)
进程添加/移除噪声直接路径插值
训练目标噪声预测速度预测
采样去噪步流积分
引导CFG 作用于噪声直接流引导
时间步噪声调度流时间

流匹配实现

流匹配过程使用速度预测而不是噪声预测

来源:comfy/ldm/flux/model.py91-103 comfy/ldm/flux/model.py195-211

Flux 节点系统

ComfyUI 提供了 Flux 模型交互的专用节点

Flux 文本编码

来源:comfy_extras/nodes_flux.py3-21

Flux 引导控制

节点目的参数
FluxGuidance应用引导缩放conditioningguidance
FluxDisableGuidance完全禁用引导conditioning

来源:comfy_extras/nodes_flux.py23-56

ControlNet 集成

Flux 和 SD3 都支持 ControlNet 进行条件生成

Flux ControlNet 架构

来源:comfy/ldm/flux/controlnet.py52-178 comfy/ldm/flux/controlnet.py180-206

高级引导技术

跳层引导

跳层引导通过选择性地跳过负条件化期间的 transformer 层来增强结构细节

来源:comfy_extras/nodes_slg.py6-79 comfy_extras/nodes_sd3.py104-124

实现细节

跳层引导的工作原理是

  1. 解析双层和单层模块的层索引
  2. 创建跳过指定层的补丁替换
  3. 使用跳过的层计算替代条件
  4. 基于尺度和 sigma 范围混合结果

来源:comfy_extras/nodes_slg.py30-78

模型加载与配置

自动检测

ComfyUI 会自动检测模型类型并应用相应的配置。有关模型检测的详细信息,请参阅 模型配置和检测

内存优化

Flux 和 SD3 模型支持与其他 ComfyUI 模型相同的内存管理功能

  • 适用于低 VRAM 系统的部分加载
  • 适用于 LoRA 集成的模型补丁
  • 智能设备管理

有关详细的内存管理,请参阅 内存管理

来源:comfy/ldm/flux/model.py42-43 comfy_extras/nodes_sd3.py29-45