前面几期测的都是 API 版本------花钱、联网、快。但有一类读者的需求是"离线":公司项目在涉密环境、工控机没外网、或者就是不想让代码上传到第三方服务器。
这期是我在自己机器上实测三个最主流的开源模型------Llama 3、Qwen 2.5 Coder、DeepSeek Coder V2------全部通过 Ollama 部署,同一个 5 任务框架(跟第一期 DeepSeek 全家桶相同),记录每一步的坑和数据。
先说结论:DeepSeek Coder V2 16B(4-bit 量化)是 12GB 显存能跑的最强代码模型。Qwen 2.5 Coder 14B 紧随其后。Llama 3 8B 写代码不太行------通用能力不错,但代码专项被中韩模型碾压。
硬件与环境
| 项目 | 配置 |
|---|---|
| GPU | NVIDIA RTX 4070 12GB GDDR6X |
| CPU | AMD Ryzen 7 7800X3D |
| 内存 | 32GB DDR5-6000 |
| OS | Windows 11 Pro |
| Ollama | 0.5.11 |
| 量化 | 全部使用 Ollama 默认 Q4_K_M(4-bit) |
部署过程
零、安装 Ollama
Windows 用户直接 https://ollama.com 下载安装包。Linux 用户一句 curl -fsSL https://ollama.com/install.sh | sh。
安装后确认 GPU 可用:
bash
ollama run llama3.2 "hello" # 如果报 CUDA 错误,需要装 CUDA toolkit
一、Llama 3 8B
bash
ollama pull llama3.1:8b
# 下载大小:4.9GB,耗时:~6 分钟
部署难度:★☆☆☆☆(算最简单的)
显存占用:5.1GB(含 KV Cache)
启动时间:< 1s
8B 模型在 12GB 显存上完全无压力,还能同时开几个 Chrome 标签页。
二、Qwen 2.5 Coder 14B
bash
ollama pull qwen2.5-coder:14b
# 下载大小:8.9GB,耗时:~12 分钟
部署难度:★★☆☆☆
显存占用:10.5GB(含 KV Cache)
启动时间:~2s
14B 模型在 12GB 显存上刚好卡线。 推理时 GPU 显存峰值到 11.8GB。建议关掉浏览器和其他 GPU 应用。如果你用 VS Code + Copilot(也用 GPU),显存会爆。
三、DeepSeek Coder V2 16B
bash
ollama pull deepseek-coder-v2:16b
# 下载大小:9.4GB,耗时:~15 分钟
部署难度:★★★☆☆
显存占用:11.2GB(含 KV Cache)
启动时间:~3s
12GB 显存的极限。 这个模型 16B 参数,Q4_K_M 量化后模型本体占 9.4GB,推理时 KV Cache 和中间激活加起来到 11.2GB。如果不小心开了浏览器------OOM,Ollama 进程会直接挂掉。
我的建议:16B 这个级别的模型,至少 16GB 显存才稳。12GB 只能"勉勉强强跑",但不是长期可用的状态。
5 任务测试结果
沿用第 1-3 期的同一套 5 任务框架(代码生成 / Bug 修复 / 中文注释 / SQL 生成 / 单元测试),每个任务 3 轮取平均分。
任务一:代码生成(Go 带 TTL 的本地缓存)
| 模型 | 编译通过 | 并发安全 | TTL 正确 | 综合分 |
|---|---|---|---|---|
| DeepSeek Coder V2 16B | ✅ | ✅ | ✅ | 4.2/5 |
| Qwen 2.5 Coder 14B | ✅ | ⚠️ Mutex 无 defer | ⚠️ 部分正确 | 3.4/5 |
| Llama 3 8B | ✅ | ❌ | ❌ | 2.0/5 |
任务二:Bug 修复(并发 Bug ×3)
| 模型 | Bug 发现率 | 修复质量 | 综合分 |
|---|---|---|---|
| DeepSeek Coder V2 16B | 3/3 | 加锁 + 超时 + Body 关闭 | 4.0/5 |
| Qwen 2.5 Coder 14B | 2/3 | 没发现 Body 泄漏 | 3.0/5 |
| Llama 3 8B | 1/3 | 只发现了 map 并发写 | 1.3/5 |
任务三:中文注释质量
| 模型 | 准确性 | 中文流畅度 | 综合分 |
|---|---|---|---|
| DeepSeek Coder V2 16B | 4.0/5 | 4.0/5 | 4.0/5 |
| Qwen 2.5 Coder 14B | 3.5/5 | 4.0/5 | 3.7/5 |
| Llama 3 8B | 2.0/5 | 2.5/5 | 2.2/5 |
Llama 3 的中文注释有明显的"翻译腔"------语法对但不够自然。例如 DeepSeek 写的是"验签失败直接返回,不继续处理后续逻辑",Llama 写的是"如果签名验证不通过,函数将立即返回,不会执行后续的业务逻辑"------语法没错,就是不顺。
任务四:SQL 生成
| 模型 | SQL 正确性 | 索引建议 | 综合分 |
|---|---|---|---|
| DeepSeek Coder V2 16B | ✅ | ✅ 给了联合索引建议 | 4.5/5 |
| Qwen 2.5 Coder 14B | ✅ | ❌ | 4.0/5 |
| Llama 3 8B | ⚠️ JOIN 条件不全 | ❌ | 2.5/5 |
任务五:单元测试
| 模型 | 覆盖率 | Edge Case | 综合分 |
|---|---|---|---|
| DeepSeek Coder V2 16B | 正常+异常+边界 | ✅ 零值/空值/超时 | 4.2/5 |
| Qwen 2.5 Coder 14B | 正常+异常 | ❌ 缺边界 | 3.2/5 |
| Llama 3 8B | 仅正常场景 | ❌ | 1.8/5 |
推理速度对比
| 模型 | 参数量 | 生成速度 (t/s) | 首 token 延迟 | 显存占用 |
|---|---|---|---|---|
| Llama 3 8B | 8B | 42 t/s | 0.3s | 5.1GB |
| Qwen 2.5 Coder 14B | 14B | 18 t/s | 1.2s | 10.5GB |
| DeepSeek Coder V2 16B | 16B | 15 t/s | 1.5s | 11.2GB |
Llama 3 8B 真的很快------42 token/s,人眼看不出延迟。但代码质量也是真的不行。
DeepSeek Coder V2 16B 只有 15 token/s------生成一段 200 行的代码大约要 13 秒,体感是"能等的极限"。如果你习惯 API 那种秒出的速度,本地模型会让你抓狂。
与 API 版本的差距
把本地最强(DeepSeek Coder V2 16B)和前三期测过的 API 最强(DeepSeek V4 Pro)做一个对比:
| 任务 | 本地 DeepSeek Coder V2 | API DeepSeek V4 Pro | 差距 |
|---|---|---|---|
| 代码生成 | 4.2/5 | 4.6/5 | -0.4 |
| Bug 修复 | 4.0/5 | 4.5/5 | -0.5 |
| 中文注释 | 4.0/5 | 4.5/5 | -0.5 |
| SQL 生成 | 4.5/5 | 5.0/5 | -0.5 |
| 单元测试 | 4.2/5 | 4.8/5 | -0.6 |
本地最强模型大约等于 API 的 85% 水平。 这个差距对于大多数场景是可接受的------但你得付出显存、速度、和部署维护的代价。
硬件推荐表
| 显存 | 能跑什么 | 推荐配置 | 不推荐 |
|---|---|---|---|
| 6GB | 7B-8B (Q4) | Llama 3 8B(通用)/ Qwen-Coder-7B(代码) | 别碰 13B+ |
| 8GB | 8B 流畅,13B Q4 勉强 | Qwen-Coder-7B + 小模型并行 | 14B 会爆 |
| 12GB | 14B-16B Q4 刚好 | DeepSeek Coder V2 16B | 别开其他 GPU 应用 |
| 16GB | 16B Q4 稳定,20B+ 可试 | Qwen-Coder-14B 稳定跑 | 32B 还是要 24GB |
| 24GB | 33B-34B Q4,爽 | Qwen-Coder-32B / DeepSeek Coder 33B | 建议上 Q5 量化 |
最终建议
| 你的情况 | 选什么 | 理由 |
|---|---|---|
| 没 GPU / 集成显卡 | 不折腾,用 API | CPU 推理太慢,7B 都跑不动 |
| 6-8GB 显存 | Qwen-Coder-7B (Q4) | 代码能力最强的小模型 |
| 12GB 显存 | DeepSeek Coder V2 16B | 12GB 能跑的最强代码模型,但别开别的 |
| 16GB+ 显存 | Qwen-Coder-14B 或 DeepSeek Coder V2 16B | 稳定、可选多 |
| 24GB 显存 | DeepSeek Coder V2 33B (Q5) | 逼近 API 质量 |
| 对质量有要求 | 用 API,别折腾本地 | API 快 3 倍、质量好 15%、零维护 |
一个真实感受
配环境、等下载、调参数、忍受 15 t/s 的生成速度------整个部署过程花了 2 小时。这 2 小时如果用 API,够跑 500 次 DeepSeek V4 Pro 的代码生成任务了。
本地部署的价值不在省钱------在于数据主权。 如果你公司不允许代码出内网,那这些折腾都值得。但如果只是想省钱------15 t/s 的时间成本远大于 API 的 $0.01/次。
选本地还是 API,本质上不是钱的问题,是"数据能不能出去"的问题。