Eval bug: Vulkan on Intel ARC – Gemma 4 models (especially with mtp) produce unusable, garbled output

用户在 Docker 中运行 llama.cpp server (vulkan 后端) 加载 Gemma 4 系列模型(Gemma4-12B qat+mtp 和 Gemma4-26B-A4B),使用 Intel ARC B580 显卡。输出包含乱码(符号、不同语种混杂)。同配置下 CPU 推理正常,

Eval bug: Vulkan on Intel ARC - Gemma 4 models (especially with mtp) produce unusable, garbled output

Eval bug: Vulkan on Intel ARC – Gemma 4 models (especially with mtp) produce unusable, garbled output

快速结论:该问题发生在 Intel ARC 显卡上使用 Vulkan 后端运行 Gemma 4 模型时,输出为乱码/不可用。优先排查并移除 --direct-io 启动参数。

问题场景

用户在 Docker 中运行 llama.cpp server (vulkan 后端) 加载 Gemma 4 系列模型(Gemma4-12B qat+mtp 和 Gemma4-26B-A4B),使用 Intel ARC B580 显卡。输出包含乱码(符号、不同语种混杂)。同配置下 CPU 推理正常,AMD RX9070XT (Vulkan) 正常,Qwen3.6/3.5 正常。使用 MTP 草案模型时问题更严重。

报错原文

The output from Gemma 4 models using the Vulkan backend (docker) with an Intel ARC GPU is unusable/garbled.

启动日志中无显式报错,核心特征为输出内容为乱码。

原因分析

--direct-io 参数在 Intel ARC + Vulkan 后端上会导致模型加载或推理行为异常,表现为生成乱码。Issue 评论区确认移除该参数后问题消失。SYCL 后端在加载时直接失败,Vulkan 后端则表现为静默数据损坏。

环境排查

  • llama.cpp 版本:b9570(Vulkan 后端,Docker 环境)
  • 显卡:Intel ARC B580 (Vulkan0),Intel ARC Pro B60 (SYCL0)
  • CPU:AMD Ryzen 5 5600X
  • 模型来源:Unsloth 的 GGUF 文件(gemma-4-12B-it-qat-UD-Q4_K_XL.gguf 及 MTP 草案模型)
  • 依赖参数:–direct-io, –parallel, –kv-unified

解决步骤

  1. 移除 --direct-io 启动参数。
  2. 如仍有问题,可依次尝试:
    • 添加 --no-kvu(禁用 KV 缓存统一)
    • --parallel 设为 1
    • 组合 --no-kvu --parallel 1

验证方法

使用相同模型和提示词,确认输出为正常、可读文本。加载时间可能变长(因移除 direct-io 后回退到缓冲 I/O),但不影响推理正确性。

参考来源

ggml-org/llama.cpp #24560

GamsGo AI

AI 工具推荐

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

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

了解 GamsGo AI

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

celebrityanime
celebrityanime
文章: 8244

发表回复

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