gpt oss 20b ollama 怎么跑

模型与算力

讲清在 Ollama 上跑 gpt-oss 20B 的完整步骤:先估显存选量化档,再拉模型起服务,最后按速度与报错逐项排查。

你大概是在本地想试这个模型,装完 Ollama 却发现不知道拉哪个标签、跑起来要么显存爆要么慢得没法用。这篇不吹效果,只给一条能照着走的路径:先按你的显卡定量化档,再走拉取、起服务、验证的固定动作,最后附一张常见报错对照表。数字类的容量和速度请到站内对应页面按你机器的情况算。

你大概是在本地想试 gpt-oss 20B,装完 Ollama 却发现两件事不知道:拉哪个标签、跑起来要么显存爆要么慢得没法用。这篇不吹效果,只给一条能照着走的路径——先按你的显卡定量化档,再走拉取、起服务、验证的固定动作,最后附一张常见现象对照表。容量和速度这类数字,请到站内页面按你机器的实际情况算,别照抄别人的截图。

一个提醒放在最前面:Ollama 跑得通和跑得能用是两回事。20B 这个量级对显存和内存都有要求,同一个权重在不同机器上体验差距很大。所以下面每一步都配了验证动作,跑完一步确认一步,别一口气全做完再回头找问题。

动手前先确认三件事:显存、磁盘、内存

显存决定你能用哪档量化权重,权重越大占用越高。不要凭感觉选,先到 /models/deploy 按参数量和量化档算一遍,再拿 /compute/gpus 对一下自己卡的显存规格。算出来余量很小的话,要么降一档,要么把上下文长度压短,别指望它能刚好卡在边缘上稳定跑。

  • 磁盘要留出模型文件加缓存的余量,Ollama 默认把权重放系统盘用户目录,空间紧就先改存放路径再拉取
  • 系统内存不够时模型加载阶段就会卡死,小内存笔记本先关掉浏览器和容器再试
  • 确认显卡驱动和运行环境正常,能识别到 GPU,否则会静默退回 CPU 跑
  • 先想清楚用途:只是本地问答,还是要做长文处理,后者对上下文和显存的要求完全不同

装 Ollama、拉模型的顺序别搞反

先把 Ollama 本体装好并确认服务在跑:命令行敲一下版本号、跑一次 ollama list 能返回结果,再进入拉模型这一步。顺序反了很容易出现「以为在下载、其实服务没起来」的假进度,白等半天。

  1. 确认服务可用敲版本号 + ollama list,两条都能正常返回再往下走;报错先解决安装问题,别硬拉模型。
  2. 查准标签名标签以官方模型库页面上写的为准,不同来源的模型名和量化后缀写法可能不一样,到 /models 里按名字查一遍再复制,别照别人截图里的字符串拼。
  3. 拉取并防断拉取是大文件下载,中途断网容易留半截缓存;重试前先确认磁盘空间和网络稳定,必要时删掉残留再拉。
  4. 验证拉对了ollama list 里能看到条目、ollama show 能看到参数规模和量化信息,才算拉对了。两个命令都过一遍再起服务。

起服务、发第一条请求、确认跑的是哪一档

先用交互模式发一条简单中文问题,重点看两个数:首次响应时间(含加载)和后续连续输出的速度。这两个差别很大,别拿首次加载时间判断性能,那只是把权重从磁盘读进显存的时间。

观察点正常表现异常信号
显存占用留有一定余量,稳定不涨贴着上限、生成中途掉
GPU 利用率生成阶段持续较高长期上不去,像在等 IO
首次响应明显慢于后续输出首次就超时或直接报错
输出连贯性逐字稳定吐出中途停顿、重复、截断

还要确认实际加载的是哪个量化档。跑出来的回答质量对不上预期时,第一件事是核对权重版本,而不是怀疑模型本身。想对比不同档位,固定同一段提示词和同一台机器、只改权重,否则结论没有意义;接口延迟基线可以先到 /tools/speed-test 量一遍再横向比。

跑不起来时的排查顺序

别一上来就重装。按下面这个顺序从外往里查,绝大多数问题在前两步就能定位。每一步都有可观察的现象,不是靠猜。

  1. 先看显存爆显存的表现是启动即失败或生成中途中断,处理方式是降一档量化或缩短上下文长度,改完重跑同一条提示词验证。
  2. 再看内存和磁盘加载极慢、风扇狂转但 GPU 没吃满,通常是权重从慢盘读、或内存不足在换页;把模型挪到快盘、关掉占内存的程序再试。
  3. 然后看端口和进程旧进程没退干净会占端口,重装前先确认服务真的停了;容器里跑要检查设备是否真的映射进容器,否则等于在 CPU 上跑。
  4. 最后怀疑模型文件校验缓存是否完整,必要时清掉重拉。同一台机器上别的模型正常、只有它不行,才更可能是文件本身的问题。

哪些情况就别在 Ollama 上耗了

Ollama 的定位是本地单机、图省事,不是万能方案。如果你的需求已经超出这个范围,继续调参就是浪费时间,早点换路子更划算。

  • 要给多人提供接口服务:Ollama 不是为高并发设计,这类需求先看 /vllm-vs-ollama-selection 的分工判断
  • 任务又短又碎、只偶尔用一下:本地维护权重和环境的成本可能高于直接走接口,可以先比一遍 /inference 上的开源模型价格
  • 硬件老、显存小:与其反复调参,不如换更小的模型,或参考 /4090-vram-model-limit 那类页面重新定预期
  • 只是临时验证一个想法:先用在线接口跑几条提示词,确认思路可行再把模型搬回本地
本地跑模型的成本不在下载那一下,而在后面每一次显存不够、速度不够、文件损坏时的排查时间。
下一步按你机器的显存和量化档先把数字算清楚,再决定拉哪个标签;算之前别动手,能省掉一轮删了重拉的折腾。

常见问题

拉模型的时候标签名怎么写才对?

不要凭记忆拼,直接到站内模型库里按名字搜到对应条目,复制页面上的标签写法再拉。不同来源的模型名和量化后缀写法会有出入,照截图抄很容易拉到另一个变体,跑出来的效果和你预期的不一样。

为什么第一次回复特别慢,之后就快了?

第一次包含了把权重读进显存或内存的加载时间,属于一次性开销。判断性能要看连续输出的速度,不是首次响应。如果连续生成也慢,多半是权重档位偏大导致显存不够、在内存和显存之间来回搬。

显存刚好装下,能不能再开更长上下文?

不建议贴着上限用。上下文越长占用越高,还要留出对话历史和缓存的空间,贴着上限容易出现跑到一半中断。想加长上下文,先把量化档降一档,或者到站内部署测算页按你的显卡重新算一遍配比。

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