■ space · 散文道
24 GB → Qwen3 Coder 30B A3B; 12–16 GB → Qwen2.5 Coder 14B at Q4; 8 GB → 7B at Q4.
先降一档量化,再降模型尺寸——并给 KV 缓存留出 1–2 GB 显存。
本地模型赢在编辑循环(重构、样板代码、测试);托管的前沿模型仍然赢下长程多文件推理。
显存梯队
读出你的显存——nvidia-smi --query-gpu=memory.total --format=csv,noheader——然后站上你那一档:
两条规则让梯队成立:给 KV 缓存留 1–2 GB 余量 · 先降量化再降尺寸
| 显存 | 模型 | 量化 | 权重占盘 | 为什么赢下这一档 |
|---|---|---|---|---|
| 8 GB | Qwen2.5 Coder 7B Instruct | Q4_K_M | ~4.7 GB | 自动补全和小重构上,每秒 token 与质量的比值最高 |
| 12 GB | Qwen2.5 Coder 14B Instruct | Q4_K_M | ~9.0 GB | 整文件编辑放得进上下文;3060 级别的卡仍有 30+ tok/s |
| 16 GB | Qwen3 14B or gpt-oss-20b | Q4_K_M | ~9–12 GB | 面对含糊的规格推理更好;4090 级别的卡保持高速 |
| 24 GB | Qwen3 Coder 30B A3B | Q4_K_M | ~18.6 GB | MoE:每个 token 只激活约 3B 参数,速度依然可用 |
两条规则让这张表实际可用:给 KV 缓存留 1–2 GB 显存余量——14B Q4 加 8K token 上下文塞不进 10 GB 预算,因为上下文也算进总量。以及先降量化,再降模型尺寸——Q5/Q4 量化只损失几个百分点的质量;把 14B 换成 7B 损失的远不止这些。
你需要多少显存?
The honest rule of thumb: 老实的经验法则: 8K 上下文约 1 GB——所以 14B Q4(约 9 GB)加 8K token 塞不进 10 GB。换成直白数字:8 GB 从容跑 Q4 的 7B–8B 模型——自动补全长度的回答,4K–8K 上下文。 是 14B Q4 配上现实 8K–16K 编程上下文的甜点位。 is the sweet spot for 14B at Q4 with a realistic 8K–16K coding context. 打开 20B 级稠密模型和更长上下文的 Qwen3 14B。 opens 20B-class dense models and Qwen3 14B with longer context. 24 GB 跑 Qwen3 Coder 30B A3B MoE Q4——你能自托管的最接近云端质量的编程模型。只有 CPU?也能用——llama.cpp 在笔记本 CPU 上照样跑 7B Q4,5–10 tok/s——但那当耐力练习,别当日常主力。
QWEN3 CODER 对 DEEPSEEK
自动补全一族真正会问的对决,答案切得干净:
- Qwen3 Coder (30B A3B) 为编辑循环而生:它遵守工具调用的指令格式约定,产出一致的 diff,而且——决定性的一点——MoE 设计让每个 token 只激活约 3B 参数,单张 24 GB 卡就有 40–60 tok/s。IDE 式用法,响应就是质量.
- DeepSeek V3/R1 系列 argues at a higher level: architecture decisions, tricky algorithms, multi-step reasoning. But the flagship is 600B+ parameters; locally you only run it heavily quantised on multi-GPU or Mac unified-memory rigs, and it writes prose about code faster than it writes code. 在更高的层面辩论:架构决策、刁钻算法、多步推理。但旗舰有 600B+ 参数;本地你只能在多卡或 Mac 统一内存的机器上重度量化地跑,而且它写“关于代码的散文”比写代码还快。
本地之选:日常主力用 Qwen3 Coder,DeepSeek 只在你有接近全精度的托管硬件时考虑。 在 8–16 GB 上这场辩论没有意义——Qwen2.5/3 Coder 系列就是装得下的最强者。
五条命令,跑通为止
# 1. install Ollama (Linux)
curl -fsSL https://ollama.com/install.sh | sh
# 2. pull the model that fits your VRAM bracket (8 GB card shown)
ollama pull qwen2.5-coder:7b
# 3. chat with it interactively
ollama run qwen2.5-coder:7b
# 4. use it as an OpenAI-compatible API from any tool
curl http://localhost:11434/v1/chat/completions \\
-d '{
"model": "qwen2.5-coder:7b",
"messages": [{"role": "user", "content": "Refactor this fn to be async: add(a,b){return a+b}"}]
}'
# 5. point tools that expect OPENAI_BASE_URL at it
export OPENAI_BASE_URL=http://localhost:11434/v1
验证:curl -s $OPENAI_BASE_URL/models → 列表里出现 "qwen2.5-coder:7b"
本地模型赢在哪,精确地说:编辑循环——重构、样板、测试脚手架、“把这个函数改成 async”——延迟就是产品、diff 很小的地方。输在哪:跨陌生架构的长程多文件推理,托管前沿模型仍在那里挣它们的 token。把两者指向同一个 endpoint,各用在它赢的地方。
梯队到此为止 · 未取一分毫 · 一切皆本地