TypeError: minimax_block_lowmem_forward() got an unexpected keyword argument ‘attention’

在 ComfyUI 里用 KJNodes 的 MiniMax H3 Low VRAM Attention 节点配合 MiniMax H3 模型跑视频时,节点内部调用函数签名和当前 ComfyUI 核心传入参数不一致,会直接抛 TypeError: minimax_block_lowmem_forwa

快速结论:在 ComfyUI 里用 KJNodes 的 MiniMax H3 Low VRAM Attention 节点配合 MiniMax H3 模型跑视频时,节点内部调用函数签名和当前 ComfyUI 核心传入参数不一致,会直接抛 TypeError: minimax_block_lowmem_forward() got an unexpected keyword argument 'attention'。优先更新 KJNodes 到最新版,再考虑是否还需要这个低显存节点。

适用环境:Windows 下 ComfyUI 便携版(报错路径为 C:\ComfyUI\...);触发模型为 FL2VA MiniMax H3,搭配 LightX2V_4step_v1.2 turbo lora(strength 0.7)、ModelAttentionBackend 设为 comfy kitchen attention、采样器 ER_SDE/Beta;显卡 4070Ti Super 16GB。Issue 未提供 Python、PyTorch、CUDA 和 KJNodes 的具体版本号。

最快修复方案:先把 ComfyUI-KJNodes 更新到包含 #750 修复的版本(作者在该 Issue 中回复 “Should be fixed now”)。

注意事项:作者同时指出,在 ComfyUI core 已经提供 sparse attention 的情况下,Low VRAM Attention 节点通常已不需要,可优先尝试移除该节点改用 core 方案;但该建议未给出具体替换配置,属于方向性建议而非精确步骤。

问题场景

用户在 ComfyUI 中运行 MiniMax H3(FL2VA)视频生成工作流,使用 MiniMax H3 Low VRAM Attention 节点来压低显存占用。工作流在执行到采样阶段时崩溃,控制台在打印 Comfy model compiler graph breaks: 0 之后立即抛出异常,节点执行被中断。报错堆栈从 ComfyUI 的 execution.py 一路向下,最终停在模型前向调用处,说明问题出在节点包装的模型前向函数与调用方传参不匹配,而不是采样器或 VAE 阶段。

报错原文

[INFO] Comfy model compiler graph breaks: 0
[ERROR] !!! Exception during processing !!! minimax_block_lowmem_forward() got an unexpected keyword argument 'attention'
[ERROR] Traceback (most recent call last):
  File "C:\ComfyUI\ComfyUI\execution.py", line 545, in execute
    output_data, output_ui, has_subgraph, has_pending_tasks = await get_output_data(prompt_id, unique_id, obj, input_data_all, execution_block_cb=execution_block_cb, pre_execute_cb=pre_execute_cb, v3_data=v3_data)
  ...
  File "C:\ComfyUI\ComfyUI\comfy\samplers.py", line 640, in __call__
    out = self.inner_model(x, sigma, model_options=model_options, seed=seed)
  File "C:\ComfyUI\ComfyUI\comfy\samplers.py", line 1208, in __call__
    return self.outer_predict_noise(*args, **kwargs)
TypeError: minimax_block_lowmem_forward() got an unexpected keyword argument 'attention'

原因分析

最可能的原因是 ComfyUI 核心侧对 MiniMax H3 模型前向调用的参数约定发生了变化,开始向 block 的 forward 传入 attention 关键字参数,而 KJNodes 里实现低显存前向的 minimax_block_lowmem_forward() 函数签名尚未接收该参数,于是 Python 直接拒绝这次调用。这属于节点与 ComfyUI 核心之间的接口不同步,而非显存不足或模型文件损坏。

结合 Issue 讨论,KJNodes 作者确认了该问题并已修复,所以触发条件基本可以定位为:使用了旧版 KJNodes + 较新的 ComfyUI 核心。

环境排查

  • 确认 ComfyUI-KJNodes 的版本/提交,是否已包含 #750 的修复;通过 ComfyUI Manager 或 git 查看当前提交。
  • 确认 ComfyUI 核心的版本,尤其是是否在 MiniMax H3 attention 相关改动之后更新过。
  • 确认工作流中是否仍在显式使用 MiniMax H3 Low VRAM Attention 节点;若 ComfyUI core 已有 sparse attention,该节点可能可以移除。
  • 确认是否启用了 --disable-comfy-compiler 等启动参数,并记录启用前后的差异。
  • 报错环境为 Windows 便携版,注意 python_embeded 下的依赖更新可能与插件版本不同步。
  • Issue 未提供 Python、PyTorch、CUDA 版本,无需在这几项上做无依据的推断。

解决步骤

  1. 优先更新 ComfyUI-KJNodes 到最新版本,使 minimax_block_lowmem_forward() 的签名与当前 ComfyUI 核心的调用保持一致。作者已在 #750 中回复 “Should be fixed now”。
  2. 更新后重启 ComfyUI,再重新运行原工作流,确认报错是否消失。
  3. 如果更新后问题仍存在,可优先尝试移除 MiniMax H3 Low VRAM Attention 节点:作者明确表示在 ComfyUI core 已有 sparse attention 的情况下,低显存 attention 节点 “shouldn’t be needed”。
  4. 若同时遇到显存占用异常升高、步速逐渐变慢(例如 35–40 s/it 恶化到 100–130 s/it)、显存逼近满载并溢出到共享内存的情况,可对照 Issue 中用户的排查方式,尝试用 --disable-comfy-compiler 启动 ComfyUI 对比表现。该用户反馈加上此参数后预览节点可正常运行、显存低于 88%。
  5. 上述显存/预览节点相关问题(涉及 comfy-aimdo 0.5.2、Comfy-compiler、Model Preview Override)在 Issue 中被明确标注为 separate issue,与本次 TypeError 不是同一个问题,不要混做同一次修复。

验证方法

重新执行同一份 MiniMax H3 工作流,观察控制台是否还出现 minimax_block_lowmem_forward() got an unexpected keyword argument 'attention'。若不再报 TypeError 且采样进度正常推进(进度条/it 输出正常走到 100%),说明本问题已解决。如果只是显存占用和步速问题仍在,则属于 Issue 中提到的另一条独立线索,需要单独排查。

参考来源

kijai/ComfyUI-KJNodes #750

GamsGo AI

AI 工具推荐

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

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

了解 GamsGo AI

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

这个方案解决了吗?

celebrityanime
celebrityanime
文章: 22910

发表回复

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