刚接触本地大模型时,我犯过一个看似很蠢的错误:我的显卡有 12GB 显存,看到一个模型文件只有 8GB,心想”12 大于 8,肯定能跑”。结果一跑就卡成 PPT,查了半天才发现自己完全理解错了。
这篇文章就把我踩过的坑和最终沉淀下来的用法整理出来,给同样想在自己电脑上跑大模型的你。
为什么”显存大于模型文件”还不够
这是新手最容易踩的直觉误区:模型文件的大小,不等于运行时占的显存。
跑模型时,显存里要装的东西远不止权重这一项:
| 占显存的东西 | 说明 |
|---|---|
| 模型权重 | 就是那个几个 GB 的模型文件 |
| KV cache | 生成时缓存上下文,对话越长占得越多 |
| 计算缓冲区 | 推理时的中间激活值、临时内存 |
| 运行时开销 | 推理框架自身 + 系统进程 |
举个例子:一个 8.1GB 的模型,权重占掉大半,再加 2-3GB 的上下文缓存、1-2GB 的计算缓冲区,几乎正好顶满 12GB 的天花板。
所以真实情况是:
- 短对话:能跑,不爆
- 长对话 / 长文档:爆显存 → 框架自动把一部分塞回 CPU → 生成速度从每秒几十个 token 掉到个位数,卡到没法用
“能跑”和”跑得舒服”是两回事。 判断一个模型适不适合你的显卡,不能只看文件大小,还要看它的参数量、你的显存余量,以及你平时要用多长的上下文。
为什么选 Ollama
选 Ollama 的原因很简单:它是目前把”本地跑大模型”门槛降到最低的工具。
- 一条命令拉起模型,不用手动配置 CUDA、不用管理 Python 环境
- 自带模型管理,下载、删除、切换都极简
- 自带 HTTP API,任何程序都能直接调用,方便写脚本
- 跨平台,Windows / macOS / Linux 通吃
装好之后它是一个后台服务(默认端口 11434),ollama run 只是它的命令行客户端。
模型管理命令
查看已装模型
1 | ollama list |
输出模型名、ID、大小、修改时间。我机器上现在的阵容:
1 | qwen3:8b 5.2 GB # 中文主力 |
下载模型
1 | ollama pull qwen3:8b |
首次下载较慢,但会自动断点续传。国内用户下载大模型经常卡,可以走镜像加速:
1 | OLLAMA_LIBRARY_HOST=https://ollama.buaa.cloud ollama pull qwen3:8b |
查看详情 / 删除 / 复制
1 | ollama show qwen3:8b # 架构、参数、上下文长度、量化等级 |
运行模型
交互式聊天
1 | ollama run qwen3:8b |
进入对话模式,直接打字。内置几个斜杠命令:
1 | /bye 退出 |
一次性提问(脚本友好)
1 | ollama run qwen3:8b "帮我写一个冒泡排序的 Python 代码" |
跑完直接出结果、自动退出,非常适合写脚本时调用。
传入整段文本
1 | ollama run qwen3:8b < 文章.txt |
把文件内容喂给模型,比如让它总结、翻译、改写。
常用生成参数
1 | # 控制随机性(0=死板,1=正常,2=放飞) |
看真实推理速度
1 | ollama run --verbose qwen3:8b "测试" |
最后会输出 eval rate: xx tokens/s。这是诊断神器——如果速度突然从几十掉到个位数,基本可以断定显存爆了、模型掉到 CPU 上了。
进程管理
1 | ollama ps # 看哪个模型在内存中、占了多大显存 |
模型空闲 5 分钟会自动卸载,日常不用手动管,但 ollama ps 对排查显存问题很有用。
从程序里调用
Ollama 自带 HTTP API,任何语言都能调:
1 | curl http://localhost:11434/api/generate -d '{ |
Python 更简单:
1 | from ollama import chat |
这意味着你可以在自己的脚本、服务、自动化流程里直接调本地模型,不需要额外接任何云 API。
针对 3060 12GB 的模型选择建议
最后给和我一样用 RTX 3060 12GB 的朋友一个参考:
| 场景 | 选谁 | 理由 |
|---|---|---|
| 日常写作、聊天、编程 | qwen3:8b | 中文强、只占 5.2G、留足显存跑长上下文 |
| 数学、逻辑、复杂推理 | deepseek-r1:14b | 推理链突出,但显存紧,别开太长上下文 |
| 纯英文复杂推理 | gemma3:12b | 英文强,但 8.1G 权重 + 上下文容易顶满 12G,长对话会爆 |
核心原则一句话:选模型不是看”文件多大我显存多大”,而是看”权重 + 上下文缓存 + 计算开销”能不能在你的显存里舒服地待着。 模型小一点、中文更强、跑得更快,往往比硬上大模型体验好得多。
本地大模型的门槛已经低到一条命令,剩下的就是挑对模型、理解显存的脾气。祝你跑得顺利。