Ollama failed to load models after 0.24.0

此报错通常发生在使用 AMD 核显(RADV Vulkan 驱动)加载模型时,且 Ollama 0.24.0 之后版本在特定硬件上无法正常初始化 Vulkan 后端。优先排查方向是确认是否使用了 iGPU 且 Vulkan 驱动版本是否与 Ollama 的 llama.cpp 同步版本存在兼容问题。

快速结论:此报错通常发生在使用 AMD 核显(RADV Vulkan 驱动)加载模型时,且 Ollama 0.24.0 之后版本在特定硬件上无法正常初始化 Vulkan 后端。优先排查方向是确认是否使用了 iGPU 且 Vulkan 驱动版本是否与 Ollama 的 llama.cpp 同步版本存在兼容问题。

适用环境:AMD Ryzen 5 5750G(Vega 8 核显)、Docker、Ollama 0.30.0 至 0.32.3、Vulkan 后端、Linux 环境(含 RADV 驱动)、128GB RAM(44GB 分配给 GTT)。

最快修复方案:暂无确认的一步修复方案。Issue 讨论中,维护者推测修复可能包含在后续版本中,但 0.32.3 仍复现;用户反馈 llama.cpp server-vulkan-b10068 可正常加载,但 Ollama 0.32.2/0.32.3 仍失败。

注意事项:此问题可能与具体硬件组合(RADV RENOIR 核显)强相关,不同 AMD 平台的修复效果可能不同;切换 mmap 设置(LLAMA_ARG_MMAP=0/1)会改变报错类型(bad address / no such device),但均无法根本解决。

问题场景

用户通过 Docker 运行 Ollama,在升级到 0.30.0 及以上版本后,使用 AMD Ryzen 5 5750G 的 Vega 8 核显(iGPU)加载 qwen3-embedding:0.8b、lfm2.5:8b 等模型时失败。环境启用了 OLLAMA_IGPU_ENABLE=1,Ollama 能检测到核显(Vulkan0, AMD Radeon Graphics (RADV RENOIR)),但在加载模型阶段进程异常退出。

报错原文

time=2026-07-23T19:06:14.668Z level=INFO source=sched.go:651 msg="Load failed" model=/root/.ollama/models/blobs/sha256-63c9be0cc3d5d7b0377161064a74c82b1a5a6ee9ba4a9a3cf034293d6dd09282 error="llama-server process has terminated: exit status 1: error: Failed to load CLIP model from 0\nerror loading model: read error: Bad address"

mmap = no such device
no_mmap = bad address

原因分析

可能原因:Ollama 0.24.0 之后更新了 llama.cpp 的 Vulkan 后端实现,与特定 AMD RADV(RENOIR 核显)驱动组合存在兼容性问题。用户也提到 llama.cpp 的 Vulkan Docker 镜像在 b9570 版本后存在相同问题(bad address / no such device),说明问题源疑在 llama.cpp 的 Vulkan 后端而非 Ollama 自身逻辑。使用 mmap 时设备返回 “no such device”,关闭 mmap 后则出现 “Bad address” 内存映射错误,疑与驱动对内存映射(GTT 分配)的支持有关。

环境排查

  • Ollama 版本:0.30.0 至 0.32.3(已确认 0.32.3 仍复现)
  • llama.cpp 版本:Ollama 内置的 Vulkan 实现版本(对应 b10069 附近)
  • 显卡:AMD Radeon Graphics (RADV RENOIR),Vulkan 驱动
  • 内存:128GB RAM,44GB 分配给 GTT(显卡可用的系统内存)
  • Docker 环境变量:OLLAMA_IGPU_ENABLE=1、LLAMA_ARG_MMAP=0/1
  • 对比参考:AMD RYZEN AI MAX+ 395 w/ Radeon 8060S 在同样环境变量下可正常加载,说明问题非全局性

解决步骤

  1. 确认当前 Ollama 版本,尝试升级到最新版(0.32.4 及以上),检查是否包含 llama.cpp 对特定 AMD RADV 驱动的修复。
  2. 可优先尝试使用 llama.cpp 官方 Vulkan Docker 镜像(如 ghcr.io/ggml-org/llama.cpp:server-vulkan-b10068),验证是否可正常加载相同模型,以定位问题是在 Ollama 封装层还是底层 llama.cpp。
  3. 如必须使用 Ollama,可暂时降级回 0.24.0 版本(用户确认该版本可正常加载模型)。
  4. 可尝试调整 Docker 运行参数:添加 --device /dev/dri,确保核显设备正确映射;或尝试不同的 GTT 分配大小(如减少到 32GB),观察是否影响。
  5. 在 Ollama 官方 GitHub Issue 中关注并补充你的硬件组合信息,帮助维护者复现和修复。

验证方法

确认问题已解决的标准:在相同环境变量(OLLAMA_IGPU_ENABLE=1)下,执行 ollama run lfm2.5:8bollama run qwen3-embedding:0.8b(可附带测试提示词如 “hello”),观察模型是否能成功加载并产生响应(API 返回 200,进程无退出)。同时检查日志不再出现 “Bad address” 或 “no such device” 错误。

参考来源

ollama/ollama #17285

GamsGo AI

AI 工具推荐

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

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

了解 GamsGo AI

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

这个方案解决了吗?

celebrityanime
celebrityanime
文章: 18287

发表回复

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