描述
通过应用融合的 Triton 归一化+SiLU 内核和 channels_last 卷积布局来加速 VAE 解码/编码。自动检测支持的 VAE:
- Wan 2.1/2.2 视频 VAE(包括 Qwen-Image 变体):RMSNorm,约 1.4 倍/1.15 倍加速。
- KL 图像 VAE(Flux/Flux2、SDXL、SD1.5):GroupNorm,2048 像素时约 1.6–1.8 倍加速。
- LTXV/LTX2 视频 VAE:PixelNorm;时间步条件解码器块仅获得归一化融合。
其他架构不受支持,将原样传递。该节点在克隆的 patcher 上应用补丁,因此优化仅在此 VAE 加载时存在。
输入
| 名称 | 类型 | 默认值 | 提示 |
|---|---|---|---|
vae | VAE | – | 要打补丁的 VAE 模型。 |
fuse_norm_silu | 布尔 | 是 | 用融合的 Triton 内核替换归一化+SiLU 链(Wan 用 RMSNorm,KL VAE 用 GroupNorm)(单次传递,fp32 累积)。需要 Triton。 |
channels_last | 布尔 | 是 | 将卷积权重转换为 channels_last 内存格式,去除每个卷积周围的 cuDNN 布局转置。KL VAE 上启用融合 GroupNorm 内核必填。 |
int8_conv | 布尔 | 否 | 实验性:在 VAE 解码器的 3×3 卷积上使用 int8 张量核心(Ada+ 上比 bf16 速度快 4 倍)。权重按输出通道量化,激活按张量动态量化;与 bf16 解码相比约 45–48 dB,可能存在轻微质量损失。支持 Wan 2.1/2.2 和 KL 图像 VAE(Flux2/SDXL/SD1.5);其他忽略。 |
autotune | 布尔 | 否 | 在首次使用每种张量形状时对多个内核块大小配置进行基准测试,并缓存最快的。每个新分辨率会有短暂停顿,预热后通常快几个百分点。 |
输出
| 类型 | 描述 |
|---|---|
VAE | 打过补丁的 VAE 对象(克隆的 patcher)。使用此输出替换原始 VAE 连接。 |
使用说明
- 所有优化都需要在您的 ComfyUI 环境中安装 Triton(通常通过
pip install triton)。如果没有 Triton,fuse_norm_silu和int8_conv将被静默跳过。 - 该节点自动检测支持的 VAE 架构;不支持的 VAE 将原样转发。
- 在确定典型分辨率后启用
autotune以获得最佳长期速度,但要注意新形状上的初始停顿。 int8_conv标志是实验性的 – 在依赖它用于生产之前,请验证您的输出质量。- 由于 VAE 通过克隆的 patcher 打补丁,工作流中的原始 VAE 节点保持不变。您必须将此节点的输出路由到解码/编码节点。
- 此节点位于节点菜单的 KJNodes/实验性 类别中。
评论
使用 GitHub 登录后即可参与讨论。