跳到正文

故障排查 ​

先找到能够复现问题的最小边界。vflash doctor 检查可见 GPU,vflash profiles 列出受支持的 profile 合同,vflash plan 可以在不加载模型权重的情况下验证设备选择。

启动与运行资源 ​

现象检查处理
没有显示 GPUnvidia-smi、容器设备选择只暴露预期单卡或卡组,再运行 vflash doctor。
profile 与设备不匹配算力架构、显存和卡数选择对应的 SM86 或 SM89 profile。修改名字不能转换 artifact。
prepared assets 被拒绝模型、adapter、schedule 和目标架构身份对最终只读资源快照重新运行 prepare-pipeline,不要修改已有 receipt 背后的文件。
Triton 无法加载编译模块cache 是否可写且允许执行挂载持久、可执行的 cache;noexec 临时目录不能加载 Triton 动态库。
首个请求明显更慢初始化、shape 编译和冷文件页调用 pipeline.prepare(),预热生产 shape,并分开报告冷、热延迟。

基础包不包含 PyTorch 或模型文件。根据接口安装 gpu、pipeline 或 server extra;MP4 交付还需要 ffmpeg 和 ffprobe。

内存错误 ​

要区分 PyTorch 已分配显存、PyTorch 保留显存、整卡显存占用和主机 RSS。3080 的 streamed worker 会在主机内存保存大部分权重,因此显存占用低不代表容量充足。

  • 在把 OOM 当成 profile 上限之前,先停止无关 worker。
  • 已测原生 worker 至少从 64 GiB 可用主机内存起步;完整 pipeline 需要明显更多。这不是任意 shape 的容量承诺。
  • 先使用 profile 已测的画布和时长,再一次扩大一个维度。
  • 不要隐式启用第二张协作卡;必须显式选择,并让整个卡组只有一个生命周期 owner。

CUDA 失败后应关闭 session。如果不能确认设备完成或 NCCL 已清理,退出 worker 进程;不要复用该 context,也不要重置其他进程持有的设备。

双卡执行 ​

两张卡必须是相同的受支持架构,并使用兼容的 prepared artifact。当前完整 pipeline 的协作策略是 sequence-head,其他组合会在加载模型前失败。启动前检查两张卡的现有进程和显存。

sequence-head 使用本地 NCCL group;任一 peer 失败都会中止整条 lane。hang、timeout 或不完整清理 都属于 worker 终止错误,不能在同一进程里继续重试 collective。

精确直接重排默认启用。仅进行受控回归诊断时,启动全新 worker:

bash
VFLASH_H3_DIRECT_RELAYOUT=0 vflash generate ...

它只恢复旧的物化拷贝,不改变 collective 布局;这不是推荐的吞吐配置。详见 Sol-Engine 对齐。

输出与质量 ​

成功编码 MP4 不等于提示词质量合格,也不等于数值等价。先检查帧数、时长、尺寸、音频布局和完整结束, 再针对提示词与参考素材检查多帧、正常速度播放和实际音频。

首帧或尾帧细节异常时,应分别比较条件图像、官方 VAE 重建和显式的 keyframe_delivery_profile。精确端点交付是 decode 后策略,不能证明中间模型帧保留相同细节。

性能候选对照必须固定模型、adapter、schedule、提示词、参考、seed、画布、时长和设备组。MP4 变化可以 只是实现差异,不一定是质量失败,但在晋级前仍必须完整复核。

有用的诊断信息 ​

只在一次归因运行中使用 --profile-denoise,不要给所有吞吐运行都加 profile。保留结果 JSON、软件版本、 profile ID、GPU 型号/数量、拓扑类别和有界温度记录。不要公开提示词、参考素材、本机路径、设备 UUID 或 模型文件;也不要在每个请求中哈希数 GiB 的模型,准备 receipt 已经绑定不可变资源。

若问题仍可复现,提交 issue 时请提供最小、可公开的合同,并说明资源清理是否得到确认。

Vflash · 原生 MiniMax H3 推理