用开源小模型跑本地AI:我的硬件选择和部署折腾记
大概三个月前,我做了个决定:在自己的机器上跑一个本地AI模型。
不是因为什么高大上的理由。纯粹是两件事:一是每个月的API账单让我肉疼,二是我有些代码和数据不方便往外传。
到现在,本地AI已经稳定跑了两个多月。中间折腾了不少,写下来省得别人再踩一遍。
硬件选择:显卡是刚需
第一件要搞明白的事:跑本地模型,显卡不是可选项,是必须项。
我当时的预算大概5000块左右,纠结了以下几个方案:
| 方案 | 显卡 | 显存 | 价格 | 能跑的模型 |
|---|---|---|---|---|
| 方案A | RTX 4060 Ti | 8GB | ¥3200 | 7B量化版 |
| 方案B | RTX 4070 | 12GB | ¥4200 | 7B完整版/13B量化版 |
| 方案C | RTX 4090 | 24GB | ¥14000 | 70B量化版 |
方案A被我排除了——8GB显存跑7B模型(量化到4bit)勉强够用,但稍微跑大一点就OOM,没什么未来空间。
方案C是性能天花板,但价格超预算太多了。
最后选了方案B,RTX 4070,12GB显存。跑7B量化版绰绰有余,13B量化版也能塞进去。
事后回看的一个教训:如果预算允许,尽量上16GB显存。因为现在8B-14B这个区间的模型质量提升非常快,12GB在跑14B量化模型时会比较紧张。
部署工具:Ollama是最省心的
部署工具我试了三个:Ollama、LM Studio、和直接用Transformers。
- Transformers:灵活,但配置复杂,每次跑新模型要手动下载权重、加载、处理tokenizer
- LM Studio:图形界面友好,适合不折腾的人
- Ollama:命令行工具,
ollama run <模型名>一行搞定
对我来说Ollama最省事。安装完之后的操作:
# 安装(macOS/Linux)curl -fsSL https://ollama.com/install.sh | sh
# Windows直接下载安装包就行
# 跑一个模型ollama run qwen2.5:7b
# 查看已下载模型ollama list
# 删除不用的ollama rm old-model它自动处理下载、量化、加载,连显卡适配都帮你搞定。我一开始用Transformers手动折腾了半天发现OOM,切到Ollama之后5分钟就跑起来了。
模型选择:不是越大越好
显存12GB这个限制下,我的选择空间其实是:
- 7B模型(4bit量化)→ 约4GB显存,速度飞快
- 7B模型(不量化)→ 约14GB,我的卡跑不了
- 13B模型(4bit量化)→ 约8GB,能用但速度一般
- 8B-14B这个区间的GPTQ/AWQ量化版 → 看具体大小
我最终的主力模型换了好几轮:
第一周:Qwen2.5-7B-Instruct(4bit量化)
作为第一个跑起来的模型,表现比我预期好。日常问答、简单代码生成都没问题。但写长文章时,逻辑连贯性有明显不足——写到后面会把前面的忘了。
第二到四周:Llama-3.1-8B(Q4_K_M量化)
英文能力强,中文也能用但经常夹杂英文输出。优点是速度快,在4070上大概每秒15-20个token。
一个月后到现在的稳定方案:Qwen2.5-Coder-14B(Q4量化)
这个是目前我最满意的。编程能力比通用模型强很多,中文输出自然,日常任务也能胜任。代价是速度降到每秒8-12个token,但对于写代码和写文章来说够用了。
踩过的坑
坑1:显存不够就别硬撑
一开始我试图在4070上跑Qwen2.5-72B的极致量化版(Q2),理论上6GB就能塞进去。但实际跑起来——生成的内容完全是乱码。
因为量化精度太低,模型的权重信息损失太多了。宁可跑小模型的高质量量化版本,也不要跑大模型的低质量版本。
坑2:系统显存会被GUI吃掉
我跑模型的时候习惯开着浏览器、编辑器、终端,结果发现可用显存只有8GB左右——系统GUI吃掉了4GB。
解决方案是跑模型前关掉浏览器,或者在Ollama里限制显存使用:
export OLLAMA_NUM_PARALLEL=1坑3:模型对话记忆有限
本地模型的上下文窗口通常是4K-32K token,不像云端动辄100万。这意味着你不能把一本500页的技术手册直接丢给它”帮我总结”。
我现在的做法是:大文档先分段处理,然后把关键段落合并后再让模型综合分析。
本地 vs 云端:我的实际体验对比
跑了两个月,我对本地和云端各自的使用场景有了比较清晰的认识:
| 场景 | 本地 | 云端 |
|---|---|---|
| 快速问答 | ✅ 快,无延迟 | ✅ 也快 |
| 代码生成 | ✅ 够用 | ✅ 质量更好 |
| 长文档分析 | ❌ 上下文不够 | ✅ 100万token不是问题 |
| 隐私敏感数据 | ✅ 数据不出机器 | ❌ 数据要传出去 |
| 批量处理 | ✅ 零API费用 | ❌ 费用可观 |
| 复杂推理 | ❌ 小模型能力有限 | ✅ 旗舰模型更强 |
我的结论是:本地和云端不是替代关系,是互补关系。 简单、频繁、隐私敏感的任务走本地,复杂、需要高质量输出、长上下文的任务走云端。
目前的部署状态
硬件: RTX 4070 (12GB), 32GB RAM主力模型: Qwen2.5-Coder-14B (Q4量化)备用模型: Qwen2.5-7B (Q4量化)部署工具: Ollama日均调用: 约50次月均电费增加: 约15元这个状态已经稳定跑了快两个月,没出过大问题。唯一让我纠结的就是显存——下次升级的话,4090是目标了。
如果你也在折腾本地AI,有什么经验或者问题?欢迎交流。