为什么 4 卡生成快了近 5 倍MiniMax-H3-Comfy-NPU 多 NPU 并行 1/2/4 卡配置全解【免费下载链接】MiniMax-H3-Comfy-NPU项目地址: https://ai.gitcode.com/Ascend-SACT/MiniMax-H3-Comfy-NPUMiniMax-H3-Comfy-NPU 是一个让MiniMax-H3 视频音频联合生成模型在 ComfyUI Ascend NPU 上跑多卡推理的适配补丁一个MultiNPUParallelConfig节点统一管理1/2/4 张 NPU的 DiT、文本编码器和双 VAE 调度。在相同 768P、15 秒视频场景下原基线vllm-omni、8 卡需要约 2400 秒本方案 4 卡只要约 495 秒——速度提升近 5 倍资源消耗反而减半。一、为什么 4 卡能快近 5 倍核心是把一个大模型的计算阶段拆到了多张 NPU 上并行执行见 README.md 补丁说明DiT扩散主干packed-token 序列并行把视频 token 序列切给多卡算 attention是提速主力Qwen3-VL 文本编码器张量并行视频 VAE多设备时间分块解码通信层公共通信抽到comfy/multidevice.py与comfy/multinpu.py支持 HCCLAllGatherV、peer-copy 和 reduce多 NPU 并行的代价显存不会除以卡数需要明白一个常见误区DiT 是序列并行不是参数分片。每张卡都持有完整模型的可换入权重地址空间4 卡加速的是 token/attention 计算而不是把单卡权重显存除以 4。所以四卡显存仍然高是正常现象。二、多 NPU 并行一键启动1/2/4 卡配置三步走第一步安装依赖与打补丁克隆本仓库git clone https://gitcode.com/Ascend-SACT/MiniMax-H3-Comfy-NPU展开得到补丁与additional_files/拉取 ComfyUI 并固定到已验证 commitbd34f338ac505ea79e43968753968a464060e609依赖来源记录见 source_deps_info.json设置COMFY_HOME后执行安装脚本它会校验 torch/torch-npu 版本并复制 Turbo 自定义节点、工作流、启动脚本COMFY_HOME${COMFY_HOME} bash ${PATCH_SOURCE}/install_deps_minimax_h3.sh应用多卡补丁--check必须通过不要忽略.rejgit apply --check ${PATCH_SOURCE}/comfy-ui-changes.patch git apply ${PATCH_SOURCE}/comfy-ui-changes.patch对应文件install_deps_minimax_h3.sh、comfy-ui-changes.patch。第二步用启动脚本指定 NPU_DEVICES 拉起服务启动脚本通过ASCEND_RT_VISIBLE_DEVICES决定暴露哪些卡见 start_comfyui-4npu.shexport COMFY_HOME/workspace/ComfyUI export COMFYUI_RUNTIME_ROOT/workspace/runtime export NPU_DEVICES0,1,2,3 # 只暴露 2 卡就改成 0,11 卡就改成 0 export COMFYUI_PORT8189 bash ${COMFYUI_RUNTIME_ROOT}/restart-v1.shrestart-v1.sh会自动停旧服务、等待端口释放、等健康检查通过restart-v1.sh成功后访问http://服务器IP:8189/。第三步在页面把 npu_count 改成实际卡数 ⚠️服务只暴露 1 或 2 张卡时必须打开工作流把MultiNPUParallelConfig节点的npu_count改为相同数量否则运行前校验或设备创建会失败。可用值仅为1、2、4——这也是本方案支持的全部卡数档位。三、1/2/4 卡怎么选配置对照清单卡数定位推荐权重注意事项4 卡性能基线推荐BF16 DiT BF16 文本编码器768P/15s 高负载场景首选npu_count保持默认 42 卡中档资源BF16 或 INT8服务只挂 2 张卡npu_count必须改 21 卡低资源成功性方案INT8 量化权重Ref2VA 用 pruned INT8分辨率降到480P单卡 BF16 768P/15s 不作为支持基线权重按分类放入${COMFY_HOME}/models/diffusion_models/、text_encoders/、vae/、loras/或继续放共享存储并在 extra_model_paths.yaml 里添加扫描路径块重启后从启动日志确认Adding extra search path。四、4 卡性能参考表768P、24fps、固定 seed场景权重NPU输出端到端FL2VA Turbo 8 步BF164768P / 5 秒212.33sFL2VA Turbo 8 步INT84768P / 5 秒113.51sRef2VA Turbo 8 步BF164768P / 15 秒495.79sRef2VA Turbo 8 步pruned INT84768P / 15 秒454.77sFL2VA Turbo 8 步成功性INT81480P / 15 秒370.99sRef2VA Turbo 8 步成功性pruned INT81480P / 15 秒448.55s步数也影响很大相同 BF16、768P、15 秒下Euler 50 步 / res_multistep 21 步 / Turbo 8 步采样约为35.00 / 14.98 / 5.79分钟。日常生成选 8 步 Turbo 工作流如 fl2va_8steps_lora.json、ref2va_8steps_lora.json21/50 步工作流只做质量对照。五、常见问题速答首次任务为什么慢要从 NFS 读取约 66.3 GB BF16 DiT 和约 51.5 GB 文本编码器并建立各 rank 模型拓扑、CPU 热缓存与 NPU residency。多卡下权重只读一次形成只读 CPU 底座offload/reload 不会重新反序列化。OOM 后怎么恢复先读runtime/*.log第一条异常确认队列为空后用restart-v1.sh清理进程级 allocator 状态不要直接重复提交同一任务。一堆启动警告正常吗xFormers not availableNVIDIA 专用Ascend 下预期提示和No module named skimage可选节点缺依赖都不影响 MiniMax-H3以MultiNPUParallelConfig与 MiniMax Turbo 是否成功导入为准。INT8 为什么快INT8 Linear 在 Ascend 走npu_quant_matmul而非回退 CPU同场景比 BF16 快约 40%–120%见上表。六、一句话总结MiniMax-H3-Comfy-NPU 用序列并行 张量并行把 8 卡 2400 秒的负载压到4 卡约 500 秒4 卡跑 BF16 追性能、单卡跑 INT8 降门槛只要在MultiNPUParallelConfig节点把npu_count与实际卡数对齐1/2/4就能开箱获得多 NPU 并行生成。【免费下载链接】MiniMax-H3-Comfy-NPU项目地址: https://ai.gitcode.com/Ascend-SACT/MiniMax-H3-Comfy-NPU创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
