ComfyUI SPEED 现在也能加速图像模型,不只 MiniMax H3

ComfyUI Wikinews

ComfyUI-SPEED 新增 KSampler 形态的节点,让渐进分辨率采样不仅能运行 MiniMax H3,也能运行 MOSS Image 和 Krea 2,并提供按模型校准与新的耗时数据。

ComfyUI SPEED 是此前以 ComfyUI-MiniMax-H3-SPEED 名义发布的采样器包。新名称与它现在的功能相符:同一套渐进分辨率采样器通过 KSampler 形态的节点运行在流式图像模型上,并与它最初支持的 MiniMax H3 节点并存。
MiniMax H3 片段,左侧为原生采样,右侧为 SPEED 4 阶段采样

相同的种子和提示词,在 Modal L40S 上生成 5 秒 960x544 片段。左:普通采样,288 秒。右:SPEED 在阈值 0.05 下使用 4 个阶段,182 秒。

这个节点包做什么

SPEED 源自斯坦福 Howard Xiao、Brian Chao、Lior Yariv 和 Gordon Wetzstein 的论文 Spectral Progressive Diffusion for Efficient Image and Video Generation。其背后的观察是:扩散模型大致按从低频到高频的顺序构建图像,因此早期的去噪步骤主要被模型尚未解析的频段占据。以完整分辨率运行这些步骤,会把大部分算力花在噪声上。

该节点包无需重新训练即可把这一思路应用到 ComfyUI 中。一次运行从较小的网格开始,随着细节开始变得重要,再把 Latent 升到更大的网格。stages 决定阶梯:2 阶段从 0.5 到 1.0,3 阶段依次为 0.33、0.66 到 1.0,4 阶段依次为 0.25、0.5、0.75 到 1.0。Tolerance (Delta)、noise_amplitude 和 noise_decay_exponent 决定每次切换发生在哪一步,阈值越小切换越晚:更安全,但更慢。

无论视频流处于哪个阶段,MiniMax H3 的音频流始终保持完整分辨率。

重命名带来了哪些变化

仓库现在为 StanLukuvka/ComfyUI-SPEED,不再是 StanLukuvka/ComfyUI-MiniMax-H3-SPEED,更新日志将这些变化归入 2.0.0。在该节点包还只支持 H3 时,本站曾介绍过它的 V2 采样器套件。

  • 两个系列共六个节点。 SPEED KSampler、SPEED KSampler (Manual) 和 SPEED KSampler Sigma Harvest 像 ComfyUI 自带的 KSampler 一样接收 model、条件和 latent_image,并在内部构建噪声、引导器、采样器和 sigma 调度。高级系列保留 MiniMax H3 的 SamplerCustomAdvanced 接线。
  • 流式图像模型。 MOSS Image 和 Krea 2 通过 KSampler 节点运行。该节点包会在采样器和 Harvest 中拒绝 EPS 或 v-prediction 等非流式模型,并报错。
  • 图生图。 denoise 的用法与 KSampler 中相同:第一阶段从编码后缩小到该阶段尺寸的图像开始,Automatic 会跳过被缩短的调度已经越过的粗略阶段。
  • 编辑模型上的引用 Latent。 接收 reference_latents 的编辑模型(例如 Flux 3 Klein)以前在粗略阶段只能看到引用的左上角。现在 KSampler 节点会随每个阶段缩放引用 Latent,并在最后一个阶段将其恢复。
  • 不再内置默认值。 noise_amplitude 和 noise_decay_exponent 现在从 0 开始,并且在运行 Harvest 校准之前会报错停止。对于使用 Euler 的基础 H3,README 列出的参考值为 35.4213 和 1.0126。
  • 节点重命名。 更早的 MiniMaxH3* ID 仍作为弃用的子类注册,因此已保存的工作流仍可加载,并可逐个替换节点。

Sigma Harvest 负责按模型进行校准。它在完整分辨率下、不经过 SPEED 链条运行一次你的采样器和调度,测量残差功率随频率下降的情况,并拟合 P(ω) = A·|ω|^-β。随后 Automatic 根据该拟合为每个阶段边界求解,Harvest 会报告 r² 和 health 标签(r² 达到 0.7 及以上为 good,0.4 为 fair,其后依次为 weak、suspect 和 invalid),让你知道这个拟合是否值得信任。

实测加速

新的 H3 证据用一段 5 秒的拿铁拉花倒入视频(960x544)替换了此前 10 秒的片段,在 Modal L40S 上运行,并使用一次 Harvest 校准(A 35.4213,β 1.0126)。普通采样在阈值 0.01 和 0.05 的会话中耗时 288 秒,在 0.005 会话中耗时 276 秒,每个加速比都相对于其所属会话计算。

阈值2 阶段3 阶段4 阶段
0.005238 秒(1.16 倍)236 秒(1.17 倍)227 秒(1.22 倍)
0.010238 秒(1.21 倍)226 秒(1.27 倍)224 秒(1.29 倍)
0.050206 秒(1.40 倍)194 秒(1.48 倍)182 秒(1.58 倍)

同一组并排播放:左侧为普通采样,右侧为 SPEED 在阈值 0.05 下使用 4 个阶段。

作者报告,十段 H3 片段中没有任何一段出现色彩闪烁,倒入过程、拉花和文字在每次运行中都得以保留。这低于同一仓库此前在 RTX 5080 上对其上一个 H3 片段报告的 2.41 倍,因此应把倍数看作片段、GPU 和校准的属性,而非方法本身的属性。

图像静帧的运行时间短得多,数字也更小:

模型原生Automatic,3 阶段,阈值 0.05手动,0.5x 至步数的一半
MOSS Image,1344x768,20 步,CFG 522 秒18 秒(1.26 倍)14 秒(1.54 倍)
Krea 2 raw,fp8,1216x832,52 步,CFG 3.5283 秒215 秒(1.31 倍)183 秒(1.55 倍)
MOSS Image,左侧为原生,右侧为 SPEED 3 阶段

MOSS Image 在 1344x768 下,相同的种子和提示词。左:原生,22 秒。右:SPEED 3 阶段,18 秒。

Krea 2,左侧为原生,右侧为 SPEED 3 阶段

Krea 2 在 1216x832 下,52 步。左:原生,283 秒。右:SPEED 3 阶段,215 秒。作者指出,Krea 2 这几行是在 8 GB 显卡上运行 13 GB 模型的单次运行结果,因此会有数十秒的波动。

在阈值 0.005 时,采集到的边界落在图像调度的最初几步之内,几乎节省不了什么,因此图像工作流使用 0.05。

构图与速度

noise_policy 决定每次切换时额外的高频细节来自哪里。coupled_full_grid 复用普通 SamplerCustomAdvanced 运行会使用的噪声场,因此相同种子保持相同的构图,在 H3 片段上它只节省了 5% 到 10%。direct_coarse 自行绘制填充:它会改变给定种子下的画面,在同样的片段上节省了 15% 到 30%。

工作流

仓库附带三个示例图,每个图都在同一组加载器上放置 Harvest、Automatic 和 Manual 节点,且只启用 Automatic。

H3 图使用 Euler 运行高级节点,简单调度、20 步、3 阶段、阈值 0.005。两个图像图使用 KSampler 节点,MOSS Image 为 Euler 20 步,Krea 2 为 52 步,3 阶段,阈值 0.05。

限制

  • 采样器和 Harvest 中都只接受流式(CONST)图像模型。
  • 不支持 noise_mask 和带遮罩的去噪。
  • 在高级节点上,latent_image 必须以空开始;图生视频通过 H3 关键帧条件实现,节点包会自行缩放和恢复。
  • 每个阶段都是一次独立的采样器调用,因此多步采样器在每次分辨率变化时都会重新启动其历史。请给每个阶段至少 2 步。
  • 某些采样器在 H3 上仍表现异常:dpm_fast 和 dpm_adaptive 永远无法完成去噪,而 uni_pc 在某阶段只获得一步时会出错。

获取方式

本文撰写时,该仓库已获得 110 个 star。该消息发布于 r/StableDiffusion;截至撰写时,尚未有对图像模型数字的独立复现。

评论

使用 GitHub 登录后即可参与讨论。

评论加载中…
ComfyUI SPEED 现在也能加速图像模型,不只 MiniMax H3 | ComfyUI Wiki