Model Sparse attention node OOM on MMH3

该报错通常出现在 MiniMax H3 模型启用官方核心节点「Model Sparse Attention」时,因显存分配超限导致 OOM,优先排查 ComfyUI 内置的 comfy-compiler 优化是否出错,可尝试以 --disable-comfy-compiler 参数启动验证。

快速结论:该报错通常出现在 MiniMax H3 模型启用官方核心节点「Model Sparse Attention」时,因显存分配超限导致 OOM,优先排查 ComfyUI 内置的 comfy-compiler 优化是否出错,可尝试以 –disable-comfy-compiler 参数启动验证。

适用环境:ComfyUI(Windows 便携版,路径包含 comfyUI_portable),MiniMaxH3 模型,NVIDIA GPU 显存上限约 23.99 GiB;PyTorch 与 CUDA 具体版本未在 Issue 中确认。

最快修复方案:以 –disable-comfy-compiler 参数启动 ComfyUI,Issue 用户反馈该参数可避免 OOM,属于目前已确认有效的临时规避手段;官方修复尚未有明确版本。

注意事项:该方式会关闭 Comfy compiler 的加速优化,可能导致推理速度下降(非编译图、内存策略改变);此方案并非底层修复,仅作为绕过手段,官方修复仍在推进中,且 Issue 在标记关闭后仍有人反馈 OOM 现象残留在 5/6 步,需关注后续官方补丁。

问题场景

用户在 ComfyUI 中运行 MiniMax H3 视频生成(ref2va 工作流,含 light2x 的 turbo LoRA 并可加 2~3 张参考图),启用官方核心节点「Model Sparse Attention」(可用于 sol-attn 或 SLA,默认设置),分辨率为 1 兆像素、生成约 15 秒视频时,渲染约一半(日志中为 50%、或 4/6 及 5/6 步)时进程因显存不足中断。若关闭该节点,或改用 Zironic 的 H3 Sparse Attention 实现,相同负载可正常生成。

报错原文

Model Sparse attention node OOM on MMH3
[ERROR] !!! Exception during processing !!! Allocation on device 0 would exceed allowed memory. (out of memory)
Currently allocated     : 4.89 GiB
Requested               : 6.24 GiB
Device limit            : 23.99 GiB
Free (according to CUDA): 2.49 GiB

原因分析

根据 Issue 讨论,最可能的原因与 ComfyUI 内置的 comfy-compiler 在编译或内存分配上的回归有关——用户反馈在一次「错误的更新」后出现此异常,且使用 –disable-comfy-compiler 可恢复正常行为。由于关闭编译器选项后不再 OOM,并在多次采样步骤后才出现崩溃,推测可能原因包括:Compiler 改变了 Sparse Attention 节点的内存复用策略,导致在 Turbo LoRA + 图像参考 + 视频解码的叠加显存峰值下出现额外峰值;或编译过程中的图优化产生了非预期的临时张量。

该问题与 #16144KJNodes#750 相关联,并非节点本身是唯一原因,而是官方实现与该模型组合下的整体显存管理异常。

环境排查

  • 确认 ComfyUI 为最新版本或特定可复现版本(此问题在最新稳定版 v0.35.0 上仍出现);用户提到「wrong update」,说明升级后发生变化,可核对更新日志是否包含 comfy-compiler 调整。
  • 确认 GPU 显存——Issue 中设备上限 23.99 GiB(约 24GB);若显存低于此容量,峰值占比可能更早触发。
  • 确认是否同时启用官方 Model Sparse Attention 节点、turbo LoRA 及多张参考图;这三者叠加易提升单步显存基准,是触发崩溃的环境前提。
  • 检查启动参数中是否包含或可加入 –disable-comfy-compiler;确认 Python、PyTorch、CUDA 具体版次(Issue 未给出,仅在便携版环境中运行)。

解决步骤

  1. 以命令行方式启动 ComfyUI(Windows 便携版在 ComfyUI 目录下执行 .\python_embeded\python.exe -s ComfyUI\main.py --disable-comfy-compiler),或在启动脚本/快捷方式中添加 --disable-comfy-compiler 参数。可优先尝试
  2. 确认日志中不再出现 Comfy model compiler graph breaks,或于采样阶段不再弹出 OOM 报错,并观察显存占用曲线是否保持稳定。
  3. 若仍复现 OOM,则是已验证方案的残余缺陷(例如 5/6 步崩溃),需等待官方 fixes;关注 #16175#16144 及 linked 的 KJNodes Issue 回复。
  4. 中期可降低模型加载占用,例如使用 Model Sparse Attention 以外的第三方实现(Zironic’s H3 Sparse Attention)替换官方节点——此为 Issue 用户确认能正常完成的备用方案。
  5. 如坚持官方节点,可在采样过程中将工作流切为分块生成(减小分辨率或抽帧),降低峰值占用,但不改变 Memory 不足的根因。

验证方法

--disable-comfy-compiler 启动后,重跑原本生成 15 秒的工作流,确认没有 Exception during processingAllocation on device 0 would exceed allowed memory 的报错,并观察到采样进度条可走完(如 6/6,日志最终出现 Prompt executed in ... seconds)。若不加该参数,保持官方 Sparse Attention 节点 + turbo LoRA + 2~3 张参考图在高分辨率下运行,一旦再次 OOM,即说明和本 Issue 描述一致。

参考来源

Comfy-Org/ComfyUI #16175

GamsGo AI

AI 工具推荐

想把多个 AI 模型放在一个入口?

GamsGo AI 集成 ChatGPT、DeepSeek、Gemini、Claude、Midjourney、Veo 等常用模型,适合写作、绘图、视频和日常 AI 工作流。

了解 GamsGo AI

推广链接:通过此链接购买,我可能获得佣金,不影响你的价格。

这个方案解决了吗?

celebrityanime
celebrityanime
文章: 22456

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注