[BUG]: Inference with Qwen3:4b and Qwen3:8b is slower than with gemma4:e4b

在 Windows 11 ARM(Snapdragon X Elite)上通过 AnythingLLM 的本地 NPU 引擎推理 Qwen3:4b / Qwen3:8b 时,出现 [BUG]: Inference with Qwen3:4b and Qwen3:8b is slower than w

快速结论:在 Windows 11 ARM(Snapdragon X Elite)上通过 AnythingLLM 的本地 NPU 引擎推理 Qwen3:4b / Qwen3:8b 时,出现 [BUG]: Inference with Qwen3:4b and Qwen3:8b is slower than with gemma4:e4b,表现为 NPU 利用率低于 10%、生成速度不足 1 token/s;优先排查的是底层 NPU 推理引擎对 Qwen 系列的算子/模型支持,而不是 AnythingLLM 界面本身。

适用环境:AnythingLLM 1.16.1、Windows 11 ARM、Qualcomm Snapdragon X Elite X1E80100(用户确认为 12 核)、Qualcomm NPU、Chat 模式(非 agent、非 query);Issue 未提供 Python、CUDA、PyTorch、Embedder 等版本信息。

最快修复方案:暂无确认的一步修复方案。维护者明确说明该问题属于 NPU 推理引擎(engine)范畴,建议到对应引擎仓库提交 issue 以获得优先处理。

注意事项:换用 gemma4:e4b 可达到约 12 token/s 与 100% NPU 利用率,属于绕过而非修复;卸载 NPU 版本改用 GUFF 后,Qwen 与 Phi 3.5 均出现加载/连接报错,因此该方式并不一定可用。

问题场景

用户在本地开发方式运行 AnythingLLM 1.16.1(Windows 11 ARM),使用 Qualcomm NPU 作为推理后端,在 Chat 模式下(不启用 agent、不启用 query)分别测试 Qwen3:4b Instruct、Qwen3:8b 与 gemma4:e4b Instruct。切换到 Qwen3 系列后,NPU 占用始终上不去,生成速度极慢;换回 gemma4:e4b 则 NPU 利用率与吞吐显著提升。评论中还补充测试了 Qwen2.5 7b,同样存在 NPU 利用率偏低的问题,但 token/s 略好一些。后续用户卸载 NPU 版本、改用 GUFF 模式后,Qwen 与 Phi 3.5 均无法正常响应。

报错原文

[BUG]: Inference with Qwen3:4b and Qwen3:8b is slower than with gemma4:e4b
NPU usage below 10%, less than 1 token per second

Could not respond to message.
Connection error.

Could not respond to message.
500 "SDKError(Model loading failed)"

原因分析

根据维护者回应,该现象与 AnythingLLM 使用的 NPU 推理 engine 直接相关,AnythingLLM 只是与引擎方在 Snapdragon 设备上协作调用,本身不做底层算子实现。因此可能原因是:该引擎对 Qwen3/Qwen2.5 系列在 Snapdragon X Elite 上的算子覆盖或调度策略不完善,导致计算大量落到 CPU 而非 NPU(维护者提到 GenieX 在很多模型上会做 shared compute,X Elite 上 NPU/CPU 的拆分往往 CPU 占比更高,且依模型而定)。此外,用户在 X Elite(X1E80100)上观察到的表现,与更 新的 X2 Elite 相比存在差距,说明引擎方对 X Elite 的优化尚未到位。GUFF 模式下的 “Connection error” 与 “SDKError(Model loading failed)” 则可能是模型加载路径或后端切换后的配置残留导致,Issue 中未给出确定结论。

环境排查

  • 确认 AnythingLLM 版本:Issue 中为 1.16.1。
  • 确认操作系统与架构:Windows 11 ARM。
  • 确认 SoC 型号:Qualcomm Snapdragon X Elite X1E80100(12 核)。
  • 确认推理后端:Qualcomm NPU;后续测试过 GUFF 模式。
  • 确认对比模型:Qwen3:4b Instruct、Qwen3:8b、Qwen2.5 7b、gemma4:e4b Instruct、Phi 3.5。
  • 确认运行模式:Chat(no agent, no query)。
  • Issue 未提供 Python、CUDA、PyTorch、Embedder 等版本,无需强行核对。

解决步骤

  1. 先用 gemma4:e4b Instruct 在同一环境跑一次基准,确认 NPU 可达接近 100% 利用率与约 12 token/s,用于区分“环境整体异常”与“单模型异常”。
  2. 切回 Qwen3:4b Instruct / Qwen3:8b,观察 NPU 利用率与 token/s,确认确实出现 NPU 利用率低于 10%、速度不足 1 token/s 的现象。
  3. 可按 Issue 中维护者的建议,到对应 NPU 推理引擎仓库提交 issue,并注明在 AnythingLLM 中使用,以提升处理优先级。
  4. 若考虑改用 GUFF 模式规避,需注意 Issue 中该路径并未成功:卸载 NPU 版本后 Qwen 与 Phi 3.5 分别报 Connection error 和 500 "SDKError(Model loading failed)",因此这一步“可优先尝试”但不保证有效。
  5. 后续可关注引擎方对 Snapdragon X Elite 的算子与调度优化,X Elite 与 X2 Elite 表现差异主要由引擎优化程度决定。

验证方法

在同一台 Snapdragon X Elite 设备、同一 AnythingLLM 版本、同一 Chat 模式下,对 gemma4:e4b 与 Qwen3 系列分别记录 NPU 利用率与 token/s。若 Qwen3 系列的 NPU 利用率能接近 gemma4:e4b 的水平、且生成速度显著提升(不再低于 1 token/s),说明引擎侧优化已生效;若 GUFF 模式下不再出现 Connection error 或 SDKError(Model loading failed),说明后端切换问题已解决。

参考来源

Mintplex-Labs/anything-llm #6440

GamsGo AI

AI 工具推荐

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

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

了解 GamsGo AI

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

这个方案解决了吗?

celebrityanime
celebrityanime
文章: 25356

发表回复

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