[bug]: Crashing Krea2 checkpoints after recent update (Anything but the smallest Q8_0 GGUF crashes, Even standard checkpoints)

该报错出现在 InvokeAI v6.14.x 更新后使用 Krea2 系列 checkpoint(尤其是 Q8_0 GGUF 或体积较大的非最小量化模型、标准 checkpoint)生成图像时,表现为生成过程中直接崩溃或 Docker 容器退出。优先排查是否启用了 FP8 存储切换、是否处于低显存

快速结论:该报错出现在 InvokeAI v6.14.x 更新后使用 Krea2 系列 checkpoint(尤其是 Q8_0 GGUF 或体积较大的非最小量化模型、标准 checkpoint)生成图像时,表现为生成过程中直接崩溃或 Docker 容器退出。优先排查是否启用了 FP8 存储切换、是否处于低显存(partial loading)模式,以及模型体积与 32 GiB ROCm 显存是否匹配。

适用环境:InvokeAI v6.14.1-post1(系统信息显示 InvokeAI 6.14.0),Docker 镜像部署于 unRAID 服务器,Linux 系统,AMD ROCm 环境,显卡 AI PRO R9700(32 GiB 显存),CUDA 显示为 N/A,gguf 0.19.0,diffusers 0.39.0,torch 相关信息未在 Issue 中完整给出。

最快修复方案:暂无确认的一步修复方案。Issue 中唯一被用户确认有效的临时处理是:对 FP8 模型在 InvokeAI 中启用 FP8 存储切换(fp8 storage toggle),启用后 FP8 模型可正常运行。

注意事项:启用 FP8 存储切换后,较小的 FP8 模型虽可运行但速度明显变慢;较大的 12.x GB FP8 模型在生成三张图后仍会导致 Docker 崩溃,因此该方案不能解决全部崩溃场景。关闭低显存模式(设置 enable_partial_loading: false)在 Issue 中被实测为会立即崩溃,改回 true 后仍对 12+ GB 模型无效,不建议作为修复手段。截至 Issue 关闭,Krea2 专属崩溃问题未获得明确根因修复,仅确认升级到 7.x 是否能解决尚未得到回复。

问题场景

用户在 unRAID 服务器上以 Docker 镜像方式运行 InvokeAI v6.14.1-post1,使用 AMD ROCm(AI PRO R9700,32 GiB 显存)生成图像。在最近一次更新后,Krea2 系列 checkpoint 出现崩溃:除体积最小的 Q8_0 GGUF 外,其他量化模型以及标准 checkpoint 都会崩溃。用户还测试了 FP8 模型,在未启用 FP8 存储切换时出现问题,启用后较小的 FP8 模型可运行但很慢,12.x GB 的 FP8 模型在生成三张图后仍使 Docker 容器崩溃。用户同时确认其他模型(如 Z Image T checkpoint)在更大体积和更高分辨率下运行正常,问题基本集中在 Krea2 checkpoint 上。

报错原文

[bug]: Crashing Krea2 checkpoints after recent update (Anything but the smallest Q8_0 GGUF crashes, Even standard checkpoints)

原因分析

Issue 讨论中未给出明确的根因结论,以下为可能原因:

  • v6.14.x 更新后,Krea2 checkpoint 在加载或推理阶段可能出现显存占用计算偏差,导致在 32 GiB ROCm 显存下发生崩溃,而同环境下其他模型不受影响。
  • FP8 模型未启用 FP8 存储切换时,可能以未量化的方式占用显存,超出可用显存后崩溃;启用切换后可缓解,但较大模型仍会崩溃。
  • 低显存模式(enable_partial_loading)的相关逻辑可能对 Krea2 的显存估算不准确:关闭后立即崩溃,开启后对 12+ GB 模型也无改善,说明该开关不是根因,但会影响崩溃表现。
  • 问题也可能与 ROCm 后端及 GGUF/FP8 权重的特定组合有关,但 Issue 中无日志或堆栈证据,无法确认。

环境排查

  • 确认 InvokeAI 实际版本(Issue 标注 v6.14.1-post1,系统信息显示 6.14.0),建议核对 Docker 镜像标签与容器内实际版本是否一致。
  • 确认 gguf 版本(Issue 中为 0.19.0)与 diffusers(0.39.0)是否与当前 InvokeAI 版本匹配。
  • 确认 AMD ROCm 驱动与 PyTorch ROCm 构建版本,Issue 中 CUDA 显示为 N/A,未提供 torch 版本,需自行核对。
  • 确认 Krea2 模型的具体格式与体积:Q8_0 GGUF、其他量化 GGUF、FP8、标准 checkpoint 分别测试。
  • 确认 invokeai.yaml 中 enable_partial_loading 的当前取值,以及是否启用了 FP8 存储切换。
  • 生成过程中监控显存占用与 Docker 容器日志,区分是 OOM 还是其他崩溃。

解决步骤

  1. 对 FP8 格式的 Krea2 模型,在 InvokeAI 中启用 FP8 存储切换(fp8 storage toggle),然后重启 InvokeAI。这是 Issue 中用户确认有效的处理。
  2. 启用后先用较小的 FP8 模型测试生成,确认可出图;注意速度可能明显变慢。
  3. 再用较大的 12.x GB FP8 模型测试,观察是否仍会崩溃。若仍崩溃,说明该方案对大模型无效。
  4. 如需验证低显存模式影响,可在 invokeai.yaml 中添加 enable_partial_loading: false 后重启测试;Issue 中实测会立即崩溃,测试后应改回 true。
  5. 若上述操作后 Krea2 标准 checkpoint 或非 FP8 量化模型仍崩溃,可优先尝试升级到 InvokeAI 7.x(Issue 中用户询问升级是否可解决,但未获得明确回复,属于未验证方向)。
  6. 保留 Docker 容器日志与生成时的显存占用记录,在升级或回退版本后对比,以便定位是否为版本回归。

验证方法

在启用 FP8 存储切换并重启后,用相同 Krea2 模型和相近参数重新生成图像,观察是否能稳定完成生成、Docker 容器不再退出。对 12+ GB 模型建议连续生成多张图,确认不会在数张之后崩溃。若问题仍存在,记录崩溃时的模型格式、体积、enable_partial_loading 取值及容器日志,再尝试升级到 7.x 后重复同样测试进行对比。

参考来源

invoke-ai/InvokeAI #9585

GamsGo AI

AI 工具推荐

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

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

了解 GamsGo AI

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

这个方案解决了吗?

celebrityanime
celebrityanime
文章: 29516

发表回复

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