ollama amd gpu 加速

模型与算力

给 AMD 显卡用户一套可执行的 Ollama GPU 加速配置思路:判断显卡能不能用、按平台选加速后端、逐项排查没吃上 GPU 的原因。

手上是 AMD 显卡,装了 Ollama 跑起来却像在用 CPU,风扇不转、出字慢、任务管理器里显卡占用一直是零——这类情况多半是加速后端没对上,而不是卡不行。这篇按平台和显卡代际把判断顺序、配置动作和验证方法讲一遍,帮你在十几分钟内确认到底卡在哪一步,也顺带说清哪些 AMD 卡本来就不适合勉强开加速。

手上是 AMD 显卡,Ollama 装完跑起来却像在用 CPU:风扇不转、出字慢、任务管理器里显卡占用一直是零。这类情况多半是加速后端没对上,不是卡不行。这篇按平台和显卡代际把判断顺序、配置动作、验证方法讲一遍,帮你十几分钟内确认到底卡在哪一步。

先提醒一句:AMD 这条路的坑主要不在 Ollama 本身,而在下面的驱动和加速运行时。所以排查顺序永远是先系统层、再 Ollama、最后才是模型。反过来做,容易一遍遍重装却始终没进展。

先判断:你这张 AMD 卡到底能不能被加速

第一件事不是装环境,是确认你这张卡有没有可用的加速后端。判断依据是架构代际,不是显存大小。老架构哪怕显存够大,也可能根本没有对应的加速运行时;反过来,新架构的中端卡通常比老架构的旗舰卡更好配。

  • 独显、核显、专业卡是三条不同路线:独显走 ROCm 或 Vulkan,核显要看具体平台和厂商驱动,专业卡往往有单独的运行时分支,别混着抄教程。
  • 看架构代际而不是看显存:同样是大显存,两代之间的支持情况可能完全不同。
  • 到 /compute/gpus 对照自家卡的规格与支持情况,别凭型号名猜,名字里带不带某个后缀并不说明任何事。
  • 什么情况不适用:Windows 上的部分老卡、笔记本双显卡切换机型,硬开加速反而更慢,甚至服务直接起不来。这种情况先用 CPU 跑通流程,再考虑换机器。
你的情况建议先做的事不适用的情况
近几代桌面独显装官方加速运行时,再配 Ollama显存很小、只跑小模型时收益有限
有点年头的独显先查该架构有没有可用后端后端缺失就别硬折腾,时间成本高
核显 / 笔记本双显卡先确认系统认到的是哪张卡经常出现跑在核显上,占用看着有但不提速
专业卡按厂商对应运行时分支走分支没维护的型号,直接换方案更快

按平台选路线:Linux、Windows、macOS 走法不同

同一个 Ollama,在三个平台上配 AMD 加速的难度差得很远。先认清自己在哪条路上,再决定要不要投入时间,比闷头试命令划算。

Linux
AMD 加速最顺的路,多数发行版能直接装到官方加速运行时,报错信息也最完整。
Windows
这两年才逐步可用,先确认驱动和运行时版本能对上,再谈模型跑不跑得动。
macOS
AMD 独显基本不在支持范围内,别在这条路上花时间。
通用顺序
先装运行时再装 Ollama,顺序反了容易出现「装了但没生效」。

不管你走哪条路,都建议先留一次记录:装之前把系统版本、驱动版本、运行时版本抄下来。出问题时你至少知道该回退到哪一步,而不是从零重来。

驱动与加速运行时:装对版本比装新版本重要

AMD 这条路上最常见的翻车方式,是把驱动单独升到最新,而加速运行时还停在老版本。两者必须成对匹配,单方面升级一个,经常直接让加速失效,表现为服务能起但显卡没被用上。

  1. 先确认系统能识别到卡用系统自带命令列出显卡信息,确认型号和数量都对。看不到卡,后面全都免谈。
  2. 装加速运行时并验证装完先跑运行时自带的检测命令,能列出你的显卡才算装对。列不出来就先解决这一步。
  3. 把版本信息记下来驱动、运行时、Ollama 三个版本各记一行。以后复测或回退都靠这份记录。
  4. 最后才装或升级 Ollama前面都对上之后再动 Ollama。这样出问题能快速定位是系统层还是应用层。

不适用的情况:如果你只是偶尔跑小模型,装运行时加排错的时间成本可能高于收益。这种场景先用 CPU 跑通、把精力放在选型上更划算。

让 Ollama 真正用上显卡:显存卸载与环境变量

核心概念只有一个:有多少层模型算在 GPU 上。层数给不够,就等于一半在 CPU 上跑,你能看到显卡有占用但速度上不来;层数给多了,显存爆掉会退回到 CPU 甚至直接失败。

  • 先到 /ai-dict/category/infra 把相关环境变量的含义查清,再决定改哪几个,不要一次改一堆。
  • 控制显存卸载层数是主要手段,从小往大加,每加一档验证一次占用和速度。
  • 环境变量写在服务启动的位置,不是客户端。改完必须重启服务才生效。
  • 验证方式:跑一个中等模型,边跑边看显卡占用和显存变化,占用了才算通。
  • 不适用:显存明显不够的卡,别硬拉满层数,宁可少留几层在 CPU 上换稳定。
# 重启服务后再观察占用;具体服务名与管理方式按你的系统来
# 跑一个中等模型,同时另开一个终端看显卡占用变化
# 占用量随推理波动 = 走上 GPU 了;长期为零 = 还在 CPU 上

怎么确认加速真的生效了,而不是心理作用

「感觉快了」不算数。你需要两组可对比的数字,而且要固定模型、固定提示词、固定上下文长度,否则比出来的东西没意义。

观察项怎么测容易误判的点
首次响应时间同一提示词冷热启动各测一次把冷启动加载时间当成推理慢
持续输出速度让它连续输出较长内容再看平均速度只看前几个字,看不出稳定差距
接口延迟基线用 /tools/speed-test 先量一遍把网络延迟算到推理头上
显卡占用边跑边看是否有持续波动只看瞬时一个点,容易看漏

对照着看:如果两个速度指标都有改善,说明加速确实生效;如果只有其中一个动了,多半是缓存或请求路径的影响,别急着下结论。要跟同类机器比,可以到 /rankings 看当时的横向数字,别拿自己单次结果去套。

没吃上 GPU 的排查顺序:从外到里过一遍

按顺序走,能避免一上来就重装环境。每一步都能给出「过 / 不过」的结论,卡在哪一步就修哪一步。

  1. 系统层驱动、加速运行时是否装对,系统能不能列出显卡。这一步不过就别往下走。
  2. Ollama 日志看启动时有没有报找不到可用设备、回退到 CPU 之类的信息。日志一般直接给原因。
  3. 配置层环境变量写的位置对不对,服务重启了没有,改的是不是生效的那份配置。
  4. 模型层模型是不是被放在了纯 CPU 的运行路径上,换个已知能加速的模型再测一次。
  5. 硬件层多卡机器确认跑在哪张卡上,是不是插了好卡却用了另一张。

什么情况下别折腾了,换条路更省事

有些情况不是配置问题,是投入产出比问题。识别这些情况,比继续调参数有价值。

  • 显卡代际太老、平台根本不支持加速:硬配的时间可能比模型带来的价值还大。
  • 只跑小参数量模型:CPU 也够用,加速收益有限,不值得为它折腾驱动。
  • 需要长期稳定跑大模型:租卡或走 API 往往更划算,可以对照 /compute/platforms 看租卡口径。
  • 判断标准:把调试时间折算成成本,超过直接换方案的代价就该收手。
  • 不适用:如果你的用途就是本地、离线、数据不出机器,那时间成本要另算,别轻易换成云端。

配好之后的日常维护:别让一次升级把加速搞没

配通一次不代表一直能用。系统更新、驱动更新、Ollama 更新,任何一个动作都可能把加速打回原形。所以维护的重点是「可复现」和「可回退」。

  • 把能跑通的那组驱动与运行时版本记下来,升级前先留一份记录。
  • 系统更新后第一件事是复测出字速度,异常就按记录回退。
  • 多卡机器要确认模型跑在哪张卡上,别出现插了好卡却用另一张。
  • 长期方案:把配置写成脚本或文档,换机器时能照着重现。
  • 想省事就定期到 /price-watch 看接口侧的行情变化,本地跑不动时还有替代路径。

如果你到最后还是拿不准自家卡属不属于「值得折腾」那一类,先去站内把资料对一遍,再决定投入多少时间,比盲目试命令稳得多。

对照自家显卡再决定到 /compute/gpus 按架构查支持情况,再回 /tools/speed-test 量一遍延迟基线,能直接判断你是配置没对上,还是这张卡本来就不适合开加速。

常见问题

我的 AMD 显卡装完 Ollama 还是跑在 CPU 上,最可能是哪里没对?

先确认系统层能不能识别到卡、加速运行时有没有装成,再看 Ollama 启动日志里有没有报找不到设备。多数情况是运行时版本和驱动不匹配,或者环境变量改了但服务没重启。按从系统到配置再到模型的顺序排查,比反复重装快得多。

AMD 核显能跑 Ollama 加速吗?

要看具体平台和代际,部分机型能走通用图形接口跑起来,但收益和稳定性都不如独显,且不同系统差异很大。如果你的目标是稳定跑中等以上模型,建议先按独显或 CPU 方案规划,别把核显当主力。

开加速之后速度没明显变快,是不是白折腾?

不一定。小参数量模型本来 CPU 就够快,加速收益不明显是正常的;如果模型参数量大但仍没变化,多半是显存卸载层数给得太少,或者模型没走加速路径。用同一模型做开关对照测试再判断。

配好的加速环境升级系统后失效了怎么办?

先回退到能跑通的那组驱动与运行时版本,再复测出字速度确认恢复。日常做法是把当前版本信息记在文档里,升级前留个记录,出问题时有明确的回退目标,不用从零摸索。

折腾 AMD 加速和直接租卡,哪个更值?

看用途。只是自己试模型、跑小模型,配好本地环境长期更省;要稳定跑大参数量模型或多人共用,租卡和按量调用在时间成本上通常更划算。可以到 /compute/platforms 对照租卡口径后再决定。

本文依据各平台公开文档与官方公告整理,只做中文归纳;具体做法、参数与限制以官方文档为准。