Eval bug: [SYCL] garbled output using Qwen3.6-35B-A3B-UD-Q4_K_M using last docker image

该问题主要出现在 Intel Arc Graphics (SYCL 后端)上使用 Qwen3.6-35B-A3B-UD-Q4_K_M 模型时,输出变为乱码(garbled output)。优先排查是否已合入 PR #25690 的修复,或升级到包含该修复的构建版本。

快速结论:该问题主要出现在 Intel Arc Graphics(SYCL 后端)上使用 Qwen3.6-35B-A3B-UD-Q4_K_M 模型时,输出变为乱码(garbled output)。优先排查是否已合入 PR #25690 的修复,或升级到包含该修复的构建版本。

适用环境:Linux x86_64、Intel LLVM 2025.3.3、llama.cpp build 9994(14d3ba45f,Docker 镜像)、SYCL 后端、Intel Arc Pro B70/Arc Graphics 显卡;模型为 Qwen3.6-35B-A3B-UD-Q4_K_M。

最快修复方案:使用 PR #25690 的代码(head commit 27b6da9ab,基于 base b10019 构建),该 PR 已验证能清除乱码并恢复正常输出。如果无法直接使用该 PR,请等待 llama.cpp 后续稳定版本包含此修复。

注意事项:目前仅确认 PR #25690 修复了该问题,尚未在最新稳定版本中验证;升级前请备份现有配置。

问题场景

用户通过 llama-server 加载 Qwen3.6-35B-A3B-UD-Q4_K_M 模型,使用 SYCL 后端(Intel Arc Graphics),并开启 --cont-batching--flash-attn--cache-reuse 等参数时,模型输出为无意义的乱码(garbled output)。此前(约两周前)同版本参数下输出正常。

报错原文

Eval bug: [SYCL] garbled output using Qwen3.6-35B-A3B-UD-Q4_K_M using last docker image

原因分析

问题很可能源于 llama.cpp 在 SYCL 后端上针对该模型(或类似 Qwen2-like 架构)的 eval 实现引入了一个回归缺陷,导致前向推理结果失真。PR #25690 专门修复了该问题,经过社区验证后确认乱码消失。

环境排查

  • 确认 llama.cpp 构建版本:是否低于 PR #25690 的合并点(base b10019 之后)?
  • 确认 Intel oneAPI 版本:Issue 中使用的为 IntelLLVM 2025.3.3,修复时测试了 oneAPI 2025.3.2。
  • 确认显卡型号:Intel Arc Pro B70 或其它 Intel Arc Graphics 均可能触发。
  • 确认模型格式:Qwen3.6-35B-A3B-UD-Q4_K_M.gguf(应为 K-quant 4-bit 模型)。

解决步骤

  1. PR #25690 获取修复代码(commit 27b6da9ab,基于 base b10019 构建)。
  2. 使用 Intel oneAPI 2025.3.2 或兼容版本重新编译 llama.cpp,启用 SYCL 后端。
  3. 用与故障重现时完全相同的参数启动 llama-server(或 llama-cli),加载原模型。
  4. 如果使用 Docker 镜像,请使用包含该 PR 的镜像或手动编译替换可执行文件。

验证方法

使用相同的上下文和采样参数发起推理请求(如简单的提问),观察输出是否恢复为正常、可读的文字,而非乱码。也可对比 --verbose 日志中是否有异常 token 概率分布。已验证的测试包括 MTP draft-mtp 模式,思维输出应为“CLEAN”。

参考来源

ggml-org/llama.cpp #25708

GamsGo AI

AI 工具推荐

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

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

了解 GamsGo AI

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

这个方案解决了吗?

celebrityanime
celebrityanime
文章: 15237

发表回复

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