ComfyUI 中的高级模型节点提供了超越基本加载和推理的复杂模型操作能力。这些节点支持采样配置、模型合并、优化补丁以及专门的模型增强技术。与处理基本模型操作的核心节点不同,高级节点通过动态补丁和算法改进来修改模型行为。
有关基本模型操作,请参阅 核心节点。有关模型架构的详细信息,请参阅 模型系统。
模型采样配置节点通过自定义底层的采样数学来修改扩散模型生成样本的方式。这些节点使用不同的采样策略、噪声调度和预测方法对模型进行补丁。
来源:comfy_extras/nodes_model_advanced.py51-256 comfy/model_sampling.py81-353
| 节点类 | 采样基础 | 预测类型 | 用例 |
|---|---|---|---|
ModelSamplingDiscrete | ModelSamplingDiscrete | eps、v_prediction、lcm、x0、img_to_img | 标准 SD 模型 |
ModelSamplingContinuousEDM | ModelSamplingContinuousEDM | v_prediction、edm、eps、edm_playground_v2.5 | 基于 EDM 的模型 |
ModelSamplingContinuousV | ModelSamplingContinuousV | v_prediction | 连续 v 参数化 |
ModelSamplingStableCascade | StableCascadeSampling | eps | Stable Cascade 模型 |
ModelSamplingSD3 | ModelSamplingDiscreteFlow | CONST | SD3 流匹配 |
ModelSamplingFlux | ModelSamplingFlux | CONST | 带有分辨率缩放的 Flux 模型 |
LCM (潜在一致性模型)
LCM 类位于 comfy_extras/nodes_model_advanced.py9-21 中实现了允许在 4-8 步内生成高质量图像(而非 20-50 步)的一致性模型采样。
流匹配 (SD3/Flux) 流匹配模型使用不同的时间参数化
time_snr_shift() 函数,具有可配置的移位参数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 合并操作类似,但不包含某些参数
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() 函数负责处理
模型架构检测
epsilon vs v)状态字典处理
get_key_patches() 提取模型权重特殊键处理
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 工作流中的其他节点结合,以创建定制的生成管道。
| 用例 | 推荐节点 | 优点 |
|---|---|---|
| 更快的生成 | ModelSamplingDiscrete 配合 LCM | 需要更少的采样步数 |
| 更高的质量 | RescaleCFG | 更好的平衡图像,减少过饱和 |
| 减少 VRAM 使用 | ModelComputeDtype (fp16) | 内存使用量接近一半 |
| SD3 支持 | ModelSamplingSD3 | SD3 模型的正确采样 |
| Flux 模型 | ModelSamplingFlux | 分辨率自适应采样 |
| 视频生成 | 适当的潜在格式 + 采样 | 支持 3D 潜在表示 |
通过在模型加载和采样阶段之间插入高级模型节点,用户可以在不改变整体工作流结构的情况下自定义模型生成图像的方式。这种模块化是 ComfyUI 基于节点的架构的关键优势。
来源:comfy_extras/nodes_model_advanced.py315-325
ComfyUI 中的高级模型节点提供强大的工具来定制扩散生成过程,通过:
这些节点可在保持 ComfyUI 直观的基于节点的界面的同时,实现高级工作流定制。