
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
解决步骤
- 移除
--direct-io启动参数。 - 如仍有问题,可依次尝试:
- 添加
--no-kvu(禁用 KV 缓存统一) - 将
--parallel设为 1 - 组合
--no-kvu --parallel 1
- 添加
验证方法
使用相同模型和提示词,确认输出为正常、可读文本。加载时间可能变长(因移除 direct-io 后回退到缓冲 I/O),但不影响推理正确性。


![[Bug]: mmcv build failed with CUDA 12.8](https://www.chat-gpts.plus/wp-content/uploads/2026/06/4088-12e7b99e-768x403.jpg)
