Patch Sage Attention KJ(PathchSageAttentionKJ)
该节点通过克隆输入模型并在其模型选项中设置优化的注意力覆盖函数来实现功能,支持 SageAttention 全局替换注意力机制。
Pathch Sage Attention KJ
Patch Sage Attention KJ 节点通过克隆输入模型并在其模型选项中设置一个优化的注意力覆盖函数来实现功能。
Patch Sage Attention KJ 节点是一个实验性工具,用于动态修改扩散模型中的注意力计算机制。它的核心功能是允许用户在生成图像时,全局性地将模型的标准注意力模块替换为 Sage Attention 模式,以探索不同的生成效果或潜在的性能优化。
节点功能
该节点通过克隆输入模型并在其模型选项中设置一个优化的注意力覆盖函数来实现功能。它不依赖于 ComfyUI 的标准模型修补系统,而是直接操作模型的 transformer_options。节点支持从 Sage Attention 库中选择特定的注意力模式,并可选择启用 PyTorch 的 torch.compile 功能以尝试加速计算,但这需要 Sage Attention 2.2.0 或更高版本。
节点参数说明 - Patch Sage Attention KJ
连接输入 (Inputs)
| 参数名称 | 数据类型 | 必填 | 默认值 | 取值范围/选项 | 说明 |
|---|---|---|---|---|---|
model | MODEL | 是 | - | - | 接受待修改的扩散模型,作为注意力机制替换的基础。 |
控件参数 (Parameters)
| 参数名称 | 数据类型 | 必填 | 默认值 | 取值范围/选项 | 说明 |
|---|---|---|---|---|---|
sage_attention | 组合 | 是 | 否 | - | 全局性地修补 ComfyUI 注意力以使用 sageattn。一旦修补,要恢复到正常状态,需要再次运行此节点并选择禁用选项。 |
allow_compile | 布尔 | 否 | 否 | - | 允许对 sage attention 函数使用 torch.compile,需要最新的 sageattn 2.2.0 或更高版本。 |
输出 (Outputs)
| 参数名称 | 数据类型 | 说明 |
|---|---|---|
| MODEL | MODEL | 输出已应用了指定 Sage Attention 模式修补的模型副本。 |
使用场景
在图像生成工作流中,您可以将此节点连接在模型加载节点之后、采样器节点之前。当您希望尝试 Sage Attention 带来的不同风格化效果或潜在的速度提升时,启用此节点并选择相应模式;若想恢复标准生成效果,则需要再次运行此节点并将模式设置为"disabled"。
注意事项
请注意,这是一个实验性节点,其行为可能不稳定或随依赖库更新而改变。一旦应用了修补,除非重新运行节点并禁用,否则无法恢复到原始注意力状态。
安装(SageAttention)
此选项需要在你 ComfyUI 的 Python 环境中安装 SageAttention 库:
- 官方仓库(Linux): thu-ml/SageAttention -
pip install sageattention(要求python>=3.9、torch>=2.3.0、triton>=3.0.0、CUDA>=12.0;版本要求见 README) - Windows: woct0rdho/SageAttention - 提供 Windows 预编译 wheel;先安装 triton-windows,再从 releases 页面 选择匹配你 PyTorch 版本的 wheel(见 README)
如需 ComfyUI 内置的全局加速(无需节点),启动 ComfyUI 时加上 --use-sage-attention。如果某些模型(如 Wan、Qwen-Image)因量化溢出产生黑图或噪点,请使用 sageattn_qk_int8_pv_fp16_cuda(最不易溢出),或调整 pv_accum_dtype。
Patch Sage Attention KJ 节点源码链接
Patch Sage Attention KJ 节点来自 ComfyUI-KJNodes 节点包。
评论
使用 GitHub 登录后即可参与讨论。