ComfyUI-DiffAid-Patches:推理时文本调节增强补丁

插件6个月前发布 小马良
239 0

ComfyUI-DiffAid-Patches 是一个为 ComfyUI 设计的实用自定义节点包,通过推理时(Inference-time)的文本调节增强技术,提升扩散模型的提示遵循度和图像质量。

  • GitHub:https://github.com/xmarre/ComfyUI-DiffAid-Patches
  • 论文:https://arxiv.org/abs/2602.13585

该工具包受论文 《Diff-Aid: Inference-time Adaptive Interaction Denoising for Rectified Text-to-Image Generation》 (arXiv:2602.13585) 启发,但并非其训练方法的精确复现。它提供了一种轻量级、即插即用的方式,在不重新训练模型的情况下,通过选择性调制文本特征来优化生成结果。

ComfyUI-DiffAid-Patches:推理时文本调节增强补丁

核心亮点

  • 即插即用:无需训练,无需加载额外权重,直接作为模型补丁应用。
  • 提升提示遵循度:通过增强文本与图像的交互,使生成内容更贴合 Prompt 描述。
  • 双架构支持:
    • Flux 系列:针对 MMDiT 架构,提供基于论文稀疏增强思想的块级补丁。
    • SDXL:针对交叉注意力 U-Net 架构,提供尽力而为的适配补丁。
  • 精细控制:支持按去噪阶段(Sigma)、Transformer 块、Token 位置进行多维度的强度调节。

包含节点

1. Flux-family Diff-Aid Sparse Patch

  • 适用模型:Flux.1, Flux.2 等暴露 double_blocks / single_blocks 的 MMDiT 模型。
  • 原理:在选定的 Transformer 块中,对文本特征 c 应用调制 c' = c + c * α。
  • 预设:内置论文推荐的稀疏块索引(如双流块 0, 14 等),确保最佳兼容性。
  • 推荐设置:
    • block_preset: paper_sparse_flux_double_only_safe
    • strength: 0.5
    • cond_only: True

2. SDXL Diff-Aid Cross-Attention Patch

  • 适用模型:SDXL 及其变体。
  • 原理:在 U-Net 的交叉注意力层(attn2)前调制 Context 和 Value 张量。
  • 注意:此为架构移植,未经过论文原始验证,建议保守使用。
  • 推荐设置:
    • strength: 0.20 - 0.35
    • token_weight_mode: linear

安装与使用

安装

cd ComfyUI/custom_nodes
git clone https://github.com/xmarre/ComfyUI-DiffAid-Patches.git

重启 ComfyUI。无需额外 Python 依赖。

工作流连接

将节点放置在 Model Loader 之后、Sampler 之前:

[Load Checkpoint] -> [DiffAid Patch Node] -> [KSampler]

关键参数解析

  • Strength: 调制强度。Flux 建议 0.5,SDXL 建议 0.2-0.35。
  • Sigma Start/End: 定义生效的去噪阶段窗口(1.0 为高噪声起始,0.0 为低噪声结束)。
  • Token Weight Mode:
    • none: 所有 Token 同等增强。
    • linear/exponential: 对 Prompt 后半部分(通常是细节描述)进行衰减或增强,以平衡主体与细节。
  • Cond Only: 仅增强正向提示词(Conditional),通常建议开启以避免干扰负向提示词。

重要说明

  1. 非论文复现:本仓库使用手工构建的运行时调制,而非论文中训练得到的自适应 Aid 模块。因此,它是对论文思想的近似实现,尤其是 Flux 的稀疏增强部分。
  2. Flux 效果更佳:Flux 节点的实现直接对应论文附录中的稀疏增强实验,效果更可靠。SDXL 节点为社区移植,效果需自行测试。
  3. 避免堆叠:不要同时使用多个修改 model_function_wrapper 的节点,以免产生冲突。
© 版权声明

相关文章