菜单

高级模型节点

相关源文件

ComfyUI 中的高级模型节点提供了超越基本加载和推理的复杂模型操作能力。这些节点支持采样配置、模型合并、优化补丁以及专门的模型增强技术。与处理基本模型操作的核心节点不同,高级节点通过动态补丁和算法改进来修改模型行为。

有关基本模型操作,请参阅 核心节点。有关模型架构的详细信息,请参阅 模型系统

模型采样配置

模型采样配置节点通过自定义底层的采样数学来修改扩散模型生成样本的方式。这些节点使用不同的采样策略、噪声调度和预测方法对模型进行补丁。

核心采样配置架构

来源:comfy_extras/nodes_model_advanced.py51-256 comfy/model_sampling.py81-353

采样方法节点

节点类采样基础预测类型用例
ModelSamplingDiscreteModelSamplingDiscreteeps、v_prediction、lcm、x0、img_to_img标准 SD 模型
ModelSamplingContinuousEDMModelSamplingContinuousEDMv_prediction、edm、eps、edm_playground_v2.5基于 EDM 的模型
ModelSamplingContinuousVModelSamplingContinuousVv_prediction连续 v 参数化
ModelSamplingStableCascadeStableCascadeSamplingepsStable Cascade 模型
ModelSamplingSD3ModelSamplingDiscreteFlowCONSTSD3 流匹配
ModelSamplingFluxModelSamplingFluxCONST带有分辨率缩放的 Flux 模型

专用采样算法

LCM (潜在一致性模型)

LCM 类位于 comfy_extras/nodes_model_advanced.py9-21 中实现了允许在 4-8 步内生成高质量图像(而非 20-50 步)的一致性模型采样。

流匹配 (SD3/Flux) 流匹配模型使用不同的时间参数化

  • SD3:time_snr_shift() 函数,具有可配置的移位参数
  • Flux:flux_time_shift(),具有分辨率相关的缩放

来源:comfy_extras/nodes_model_advanced.py9-185 comfy/model_sampling.py219-353

模型合并操作

模型合并节点支持将多个模型合并或进行算术修改。这些操作在参数级别进行,混合来自不同检查点的权重。

核心合并架构

模型合并方法

节点操作公式用例
ModelMergeSimple线性插值model1 * (1-ratio) + model2 * ratio混合两个模型
ModelSubtract减法model1 - model2 * multiplier移除特定特征
ModelAdd加法model1 + model2组合模型特征
ModelMergeBlocks块级合并不同块的比例不同精细控制

块级合并

ModelMergeBlocks 允许对 UNet 的不同部分应用不同的合并比例。

comfy_extras/nodes_model_merging.py150-166 中的实现使用前缀匹配,根据 UNet 块的名称将不同的比例应用于它们。

CLIP 模型合并

CLIP 合并操作类似,但不包含某些参数

  • position_ids:位置嵌入索引
  • logit_scale:温度缩放参数

这可以防止在合并过程中损坏这些关键的非可学习参数。

来源:comfy_extras/nodes_model_merging.py14-167

模型增强和优化

高级模型节点通过模型补丁提供各种技术来提高生成质量或优化性能。

基于注意力的增强

自注意力引导 (SAG)

SAG 使用无条件正向传播的注意力图创建对抗性模糊,通过减少伪影来提高图像质量。实现位于 comfy_extras/nodes_sag.py107-173

扰动注意力引导 (PAG) PAG 将自注意力替换为特定块中的身份映射,以创建扰动预测。

来源:comfy_extras/nodes_pag.py9-52

内存和性能优化

HyperTile 通过对注意力计算进行分块来减少内存使用

FreeU 通过傅里叶滤波和骨干网络缩放增强 UNet 输出

来源:comfy_extras/nodes_hypertile.py23-77 comfy_extras/nodes_freelunch.py25-108

引导修改

RescaleCFG 通过基于标准差的重缩放来稳定分类器自由引导

Perpendicular Negative (PerpNeg) 移除与正面提示正交的负面提示组件

来源:comfy_extras/nodes_model_advanced.py258-295 comfy_extras/nodes_perpneg.py55-121

模型保存操作

模型保存节点允许将合并或修改后的模型以各种格式导出到磁盘。

保存节点架构

检查点保存功能

comfy_extras/nodes_model_merging.py168-225 中的 save_checkpoint() 函数负责处理

模型架构检测

  • 自动生成 ModelSpec 元数据
  • 支持 SDXL、SD3、SVD 和其他架构
  • 正确的预测键元数据 (epsilon vs v)

状态字典处理

  • 通过 get_key_patches() 提取模型权重
  • 用于兼容的前缀替换
  • 嵌入包含提示信息的元数据

特殊键处理

CLIP 保存操作

CLIPSave 单独处理文本编码器组件,处理多个前缀

  • clip_l.: CLIP-L 文本编码器
  • clip_g.: CLIP-G 文本编码器
  • t5xxl.: T5-XXL 文本编码器
  • 以及其他模型特定的编码器

这使得可以单独保存文本编码器组件以进行混合和匹配。

来源:comfy_extras/nodes_model_merging.py168-303 comfy_extras/nodes_model_merging.py358-375

与 ComfyUI 工作流集成

高级模型节点可以与 ComfyUI 工作流中的其他节点结合,以创建定制的生成管道。

常见用例

用例推荐节点优点
更快的生成ModelSamplingDiscrete 配合 LCM需要更少的采样步数
更高的质量RescaleCFG更好的平衡图像,减少过饱和
减少 VRAM 使用ModelComputeDtype (fp16)内存使用量接近一半
SD3 支持ModelSamplingSD3SD3 模型的正确采样
Flux 模型ModelSamplingFlux分辨率自适应采样
视频生成适当的潜在格式 + 采样支持 3D 潜在表示

通过在模型加载和采样阶段之间插入高级模型节点,用户可以在不改变整体工作流结构的情况下自定义模型生成图像的方式。这种模块化是 ComfyUI 基于节点的架构的关键优势。

来源:comfy_extras/nodes_model_advanced.py315-325

总结

ComfyUI 中的高级模型节点提供强大的工具来定制扩散生成过程,通过:

  1. 采样方法选择:用于噪声预测和去除的不同算法
  2. 模型特定采样:用于 SD3、Flux、Stable Cascade 和其他架构的专用节点
  3. CFG 修改:高级引导技术,如 RescaleCFG
  4. 计算精度:控制数值精度以平衡性能/质量
  5. 潜在格式处理:通过专用潜在缩放支持各种模型架构

这些节点可在保持 ComfyUI 直观的基于节点的界面的同时,实现高级工作流定制。