你大概是在本地想试这个模型,装完 Ollama 却发现不知道拉哪个标签、跑起来要么显存爆要么慢得没法用。这篇不吹效果,只给一条能照着走的路径:先按你的显卡定量化档,再走拉取、起服务、验证的固定动作,最后附一张常见报错对照表。数字类的容量和速度请到站内对应页面按你机器的情况算。
你大概是在本地想试 gpt-oss 20B,装完 Ollama 却发现两件事不知道:拉哪个标签、跑起来要么显存爆要么慢得没法用。这篇不吹效果,只给一条能照着走的路径——先按你的显卡定量化档,再走拉取、起服务、验证的固定动作,最后附一张常见现象对照表。容量和速度这类数字,请到站内页面按你机器的实际情况算,别照抄别人的截图。
一个提醒放在最前面:Ollama 跑得通和跑得能用是两回事。20B 这个量级对显存和内存都有要求,同一个权重在不同机器上体验差距很大。所以下面每一步都配了验证动作,跑完一步确认一步,别一口气全做完再回头找问题。
动手前先确认三件事:显存、磁盘、内存
显存决定你能用哪档量化权重,权重越大占用越高。不要凭感觉选,先到 /models/deploy 按参数量和量化档算一遍,再拿 /compute/gpus 对一下自己卡的显存规格。算出来余量很小的话,要么降一档,要么把上下文长度压短,别指望它能刚好卡在边缘上稳定跑。
- 磁盘要留出模型文件加缓存的余量,Ollama 默认把权重放系统盘用户目录,空间紧就先改存放路径再拉取
- 系统内存不够时模型加载阶段就会卡死,小内存笔记本先关掉浏览器和容器再试
- 确认显卡驱动和运行环境正常,能识别到 GPU,否则会静默退回 CPU 跑
- 先想清楚用途:只是本地问答,还是要做长文处理,后者对上下文和显存的要求完全不同
装 Ollama、拉模型的顺序别搞反
先把 Ollama 本体装好并确认服务在跑:命令行敲一下版本号、跑一次 ollama list 能返回结果,再进入拉模型这一步。顺序反了很容易出现「以为在下载、其实服务没起来」的假进度,白等半天。
- 确认服务可用敲版本号 + ollama list,两条都能正常返回再往下走;报错先解决安装问题,别硬拉模型。
- 查准标签名标签以官方模型库页面上写的为准,不同来源的模型名和量化后缀写法可能不一样,到 /models 里按名字查一遍再复制,别照别人截图里的字符串拼。
- 拉取并防断拉取是大文件下载,中途断网容易留半截缓存;重试前先确认磁盘空间和网络稳定,必要时删掉残留再拉。
- 验证拉对了ollama list 里能看到条目、ollama show 能看到参数规模和量化信息,才算拉对了。两个命令都过一遍再起服务。
起服务、发第一条请求、确认跑的是哪一档
先用交互模式发一条简单中文问题,重点看两个数:首次响应时间(含加载)和后续连续输出的速度。这两个差别很大,别拿首次加载时间判断性能,那只是把权重从磁盘读进显存的时间。
| 观察点 | 正常表现 | 异常信号 |
|---|---|---|
| 显存占用 | 留有一定余量,稳定不涨 | 贴着上限、生成中途掉 |
| GPU 利用率 | 生成阶段持续较高 | 长期上不去,像在等 IO |
| 首次响应 | 明显慢于后续输出 | 首次就超时或直接报错 |
| 输出连贯性 | 逐字稳定吐出 | 中途停顿、重复、截断 |
还要确认实际加载的是哪个量化档。跑出来的回答质量对不上预期时,第一件事是核对权重版本,而不是怀疑模型本身。想对比不同档位,固定同一段提示词和同一台机器、只改权重,否则结论没有意义;接口延迟基线可以先到 /tools/speed-test 量一遍再横向比。
跑不起来时的排查顺序
别一上来就重装。按下面这个顺序从外往里查,绝大多数问题在前两步就能定位。每一步都有可观察的现象,不是靠猜。
- 先看显存爆显存的表现是启动即失败或生成中途中断,处理方式是降一档量化或缩短上下文长度,改完重跑同一条提示词验证。
- 再看内存和磁盘加载极慢、风扇狂转但 GPU 没吃满,通常是权重从慢盘读、或内存不足在换页;把模型挪到快盘、关掉占内存的程序再试。
- 然后看端口和进程旧进程没退干净会占端口,重装前先确认服务真的停了;容器里跑要检查设备是否真的映射进容器,否则等于在 CPU 上跑。
- 最后怀疑模型文件校验缓存是否完整,必要时清掉重拉。同一台机器上别的模型正常、只有它不行,才更可能是文件本身的问题。
哪些情况就别在 Ollama 上耗了
Ollama 的定位是本地单机、图省事,不是万能方案。如果你的需求已经超出这个范围,继续调参就是浪费时间,早点换路子更划算。
- 要给多人提供接口服务:Ollama 不是为高并发设计,这类需求先看 /vllm-vs-ollama-selection 的分工判断
- 任务又短又碎、只偶尔用一下:本地维护权重和环境的成本可能高于直接走接口,可以先比一遍 /inference 上的开源模型价格
- 硬件老、显存小:与其反复调参,不如换更小的模型,或参考 /4090-vram-model-limit 那类页面重新定预期
- 只是临时验证一个想法:先用在线接口跑几条提示词,确认思路可行再把模型搬回本地
本地跑模型的成本不在下载那一下,而在后面每一次显存不够、速度不够、文件损坏时的排查时间。下一步按你机器的显存和量化档先把数字算清楚,再决定拉哪个标签;算之前别动手,能省掉一轮删了重拉的折腾。→
常见问题
拉模型的时候标签名怎么写才对?
不要凭记忆拼,直接到站内模型库里按名字搜到对应条目,复制页面上的标签写法再拉。不同来源的模型名和量化后缀写法会有出入,照截图抄很容易拉到另一个变体,跑出来的效果和你预期的不一样。
为什么第一次回复特别慢,之后就快了?
第一次包含了把权重读进显存或内存的加载时间,属于一次性开销。判断性能要看连续输出的速度,不是首次响应。如果连续生成也慢,多半是权重档位偏大导致显存不够、在内存和显存之间来回搬。
显存刚好装下,能不能再开更长上下文?
不建议贴着上限用。上下文越长占用越高,还要留出对话历史和缓存的空间,贴着上限容易出现跑到一半中断。想加长上下文,先把量化档降一档,或者到站内部署测算页按你的显卡重新算一遍配比。