Ollama GitHub Issues

该问题通常出现在使用 Ollama 对 qwen2.5vl:3b 发起多模态(带图片)推理、且视觉编码器(CLIP)被加载到 NVIDIA GPU 上时,表现为 HTTP 500 prediction aborted, token repeat limit reached ,日志里可看到输出退化成

快速结论:该问题通常出现在使用 Ollama 对 qwen2.5vl:3b 发起多模态(带图片)推理、且视觉编码器(CLIP)被加载到 NVIDIA GPU 上时,表现为 HTTP 500 prediction aborted, token repeat limit reached,日志里可看到输出退化成 @@@@ 重复 token。优先排查 Ollama 版本与 GPU 视觉编码路径,纯文本推理和 CPU 模式正常可作为隔离依据。

适用环境:Issue 已确认的环境:Windows 11(x64,中文区域);NVIDIA GeForce RTX 3060 Laptop GPU(6144 MiB);GPU 驱动 617.42(Studio),并在 621.01(Game Ready)上复现;Ollama 0.40.13(通过官方安装脚本重装);模型 qwen2.5vl:3b(默认量化),更换为 q4_K_M 并重新拉取模型后仍复现;后端为 CUDA,CLIP 使用 CUDA0 后端,35 个重复层 offload 到 GPU。评论中另有一台 Linux 机器使用 NVIDIA 驱动 580.178.04、Ollama 0.40.13 成功推理,可作对照。

最快修复方案:Issue 中明确验证有效的处理是降级到 Ollama 0.32.15,GPU 多模态问题即解决;官方仓库侧在本 Issue 中没有给出确认的一步修复方案。

注意事项:降级属于 Issue 报告者的实测结论,仅能说明该版本可用,不代表官方已定位或修复根因;降级可能影响其他新功能或模型支持,升级前请自行评估。在未降级期间,可用 num_gpu=0 强制 CPU 推理作为临时绕过(该方式在 Issue 中已验证输出正确,但速度会明显下降)。GPU 侧根因(CLIP CUDA 内核、驱动组合、flash-attention/计算缓冲区)尚未确认。

问题场景

用户在 Windows 11 上使用 Ollama 0.40.13 运行 qwen2.5vl:3b 视觉模型,通过 /api/chat 接口或交互式 ollama run 传入图片请求图像描述。当视觉编码器被加载到 NVIDIA GPU(日志显示 clip_ctx: CLIP using CUDA0 backend)时,约 2 秒后返回 HTTP 500,交互模式下还会先输出大量 @@@@ 重复 token。同样的请求在纯文本、无图片场景下正常;强制 CPU(num_gpu=0)时图文推理也正常。

报错原文

{"error":"prediction aborted, token repeat limit reached"}

clip_model_loader: has vision encoder
clip_ctx: CLIP using CUDA0 backend
reserve_compute_meta:      CUDA0 compute buffer size =   569.70 MiB
[GIN] 2026/11/03 - 11:04:07 | 500 |    2.17s | 127.0.0.1 | POST "/api/chat"

原因分析

根据 Issue 的对照测试,同一模型、同一图片在 num_gpu=0(CPU)下输出正确,在 GPU 下必现失败,因此问题被隔离到 GPU 视觉编码器(CUDA + CLIP)路径,而非模型、量化、提示词或图片编码。可能原因包括:CLIP 的 CUDA 内核在该 GPU/驱动组合下产生退化激活,导致 token 失控重复并触发 repeat limit 中止;也可能与 6 GB 笔记本 GPU 上 mmproj/视觉 offload、flash-attention 或计算缓冲区路径有关。这些均属 Issue 中的疑似方向,未经官方确认。评论中降级 Ollama 0.32.15 后恢复,进一步指向新版本 GPU 视觉路径存在回归的可能。

环境排查

  • 确认 NVIDIA 驱动版本:Issue 在 617.42 与 621.01 上均复现,说明并非单一驱动版本导致。
  • 确认 Ollama 版本:0.40.13 有问题,降级到 0.32.15 后正常,版本对比是关键证据。
  • 确认模型与量化:qwen2.5vl:3b 默认量化及 q4_K_M 均复现,可排除单一量化文件损坏。
  • 查看 ollama ps 中 PROCESSOR 是否为 100% GPU,以及 server.log 中是否出现 CLIP using CUDA0 backend。
  • 确认是否跨平台:评论中 Linux(NVIDIA 580.178.04)同版本可正常运行,可作为对照排除。

解决步骤

  1. 先验证隔离方向:用同一模型和图片,设置 num_gpu=0(或创建 PARAMETER num_gpu 0 的派生模型)发起推理,确认 CPU 下输出正确,从而确认问题出在 GPU 视觉路径。
  2. 备份当前模型与配置,然后将 Ollama 降级到 0.32.15(Issue 报告者实测该版本可解决 GPU 多模态问题)。
  3. 降级后重启 Ollama 服务,重新拉取或确认 qwen2.5vl:3b 模型可用。
  4. 若需继续使用新版本,可优先尝试临时方案:对视觉请求强制 CPU 推理(num_gpu=0),纯文本请求仍可走 GPU。
  5. 如降级无效,收集完整 server.log 与 nvidia-smi 输出,反馈到 Issue 中等待官方排查。

验证方法

用 Issue 中的最小请求(同一图片、同一提示词)在 qwen2.5vl:3b 上重新发起 /api/chat 调用,应返回正常的单句图像描述而不再出现 HTTP 500 或 @@@@ 重复;同时查看日志确认视觉编码器加载路径与 ollama ps 的 PROCESSOR 状态符合预期。若仍失败,对比降级前后的 Ollama 版本和驱动信息再判断。

参考来源

ollama/ollama #19483

GamsGo AI

AI 工具推荐

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

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

了解 GamsGo AI

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

这个方案解决了吗?

celebrityanime
celebrityanime
文章: 33047

发表回复

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