Model qwen3-embedding:8B cannot use GPU under Ollama 0.30.0

用户在 Windows 11 上运行 Ollama 0.30.0/0.30.4,使用 GeForce RTX 4060 Laptop GPU 作为主要计算卡。加载 qwen3-embedding:8B 模型时,GPU 内存占用率为 0%,模型实际运行在 CPU 或 Intel Arc 集成显卡上,速

Model qwen3-embedding:8B cannot use GPU under Ollama 0.30.0

Model qwen3-embedding:8B cannot use GPU under Ollama 0.30.0

快速结论:Ollama 0.30.0 在 Windows 双显卡(NVIDIA 独立显卡 + Intel 集成显卡)环境下,嵌入模型 qwen3-embedding:8B 可能被错误调度到集成显卡(Intel Arc)而非独立显卡(NVIDIA RTX 4060),甚至因 GPU 发现超时导致模型完全无法加载 GPU。优先排查 OLLAMA_VULKAN 环境变量和 OLLAMA_IGPU_ENABLE 设置。

问题场景

用户在 Windows 11 上运行 Ollama 0.30.0/0.30.4,使用 GeForce RTX 4060 Laptop GPU 作为主要计算卡。加载 qwen3-embedding:8B 模型时,GPU 内存占用率为 0%,模型实际运行在 CPU 或 Intel Arc 集成显卡上,速度极慢。

报错原文

time=... level=WARN source=runner.go:575 msg="llama-server GPU discovery watchdog timed out" OLLAMA_LIBRARY_PATH="[...]" extra_envs=map[] error="context deadline exceeded"

time=... level=INFO source=runner.go:513 msg="failure during llama-server GPU discovery" OLLAMA_LIBRARY_PATH="[...]" extra_envs=map[] error="context deadline exceeded"

time=... level=INFO source=sched.go:1014 msg="selecting single GPU for llama-server model" main_gpu=0 id=0 filter_id=0 library=Vulkan name=Vulkan0 description="Intel(R) Arc(TM) Graphics" integrated=false predicted="8.9 GiB" available="12.6 GiB"

原因分析

从 Server 日志中可以看到:

  • 环境变量 OLLAMA_VULKAN:true 被启用,这会让 Ollama 优先使用 Vulkan 后端。
  • GPU 发现阶段:NVIDIA RTX 4060 被标记为 "dropping integrated GPU",但实际 Intel Arc 集成显卡被选为推理计算设备(library=Vulkan, description=”Intel(R) Arc(TM) Graphics”)。
  • NVIDIA 4060 被识别为 CUDA 设备(library=CUDA, compute=8.9),但最终调度器选择了 Vulkan 后端的 Intel 显卡。
  • llama-server GPU discovery watchdog timed out 表明 GPU 发现过程超时,可能导致模型加载时无法正确绑定 GPU。

可能原因:

  • Ollama 0.30.x 的调度策略在双显卡系统上优先选择 Vulkan 而非 CUDA。
  • 嵌入模型(embedding model)的 CPU/GPU 分配规则与文本生成模型不同,可能更容易落到集成显卡。
  • 用户设置了 OLLAMA_VULKAN=true 但未设置 CUDA_VISIBLE_DEVICES,导致 NVIDIA 显卡未被显式选中。

环境排查

  • 确认 Ollama 版本(用户实际运行 0.30.4,但标签包含 0.30.0)。
  • 确认系统环境变量:OLLAMA_VULKANCUDA_VISIBLE_DEVICESOLLAMA_IGPU_ENABLE
  • 确认显卡驱动:NVIDIA 驱动版本(日志显示 driver=13.0)。
  • 确认模型 hash:sha256-3fcd3febec8b... 对应的 qwen3-embedding:8B 是否损坏。
  • 确认任务管理器:GPU 0(NVIDIA)内存使用率 0%,Intel Arc 内存使用率 100%。

解决步骤

  1. 优先尝试:关闭 OLLAMA_VULKAN,强制使用 CUDA 后端。在启动 Ollama 前设置环境变量:set OLLAMA_VULKAN=off$env:OLLAMA_VULKAN='off'
  2. 如果问题仍然存在,显式指定 NVIDIA 显卡:set CUDA_VISIBLE_DEVICES=0 让 Ollama 只识别 NVIDIA RTX 4060。
  3. 检查 OLLAMA_IGPU_ENABLE 设置。日志中有一条“dropping integrated GPU”,但最终调度器仍选择了 Intel 显卡。尝试 set OLLAMA_IGPU_ENABLE=0 强制禁用集成显卡。
  4. 在 Ollama 服务日志中观察 selecting GPU backend for llama-server model 的决策记录。如果依然选择 Vulkan+Intel,可以临时删除 Ollama 的 Vulkan 库路径(不推荐,仅用于诊断)。
  5. 更新 Ollama 到最新版本(日志中已经是 0.30.4,但 Issue 标签为 0.30.0,可能是未更新的稳定版)。检查 GitHub Release 中该问题的修复 commit。

验证方法

重启 Ollama 服务后,使用 ollama run qwen3-embedding:8B 加载模型,同时打开任务管理器 -> GPU 选项卡,观察 NVIDIA GPU 的内存使用率是否明显上升(>10%),Intel 显卡的负载是否下降。也可以在日志中搜索 "selecting single GPU" 确认选中的显卡描述包含 "NVIDIA" 而非 "Intel"

参考来源

ollama/ollama #16447

GamsGo AI

AI 工具推荐

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

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

了解 GamsGo AI

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

celebrityanime
celebrityanime
文章: 10203

发表回复

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