Q4 量化后 3B~4B 模型可跑在 4GB 显卡上,Qwen/Llama/Phi-4-mini/Gemma 3 实测 30-60 tok/s,适合代码补全、摘要、问答等场景。
原文首次发布于我的博客,在此以规范链接进行转载。
我日常使用的 LLM 是通过 OpenRouter 调用的 Gemini 2.5 Flash Lite,速度快、成本低,且在大多数任务上表现良好。但我开始思考:我能在自己的 4GB 显卡上本地运行一个模型吗?这样能得到什么,又会失去什么?而"量化"究竟是什么意思?
这篇文章给出的是务实答案。没有理论废话——只有什么可行、什么合适、以及真实的性能数据。
能。但有取舍。简要回答如下:
这些模型在量化到 Q4 后都能轻松装入 4GB 显卡。它们无法与 GPT-4o 或 Gemini 2.5 Pro 相比,但对于许多任务——代码补全、摘要、问答、草稿撰写——它们的表现在意料之外地出色。
这是让本地 LLM 在消费级硬件上运行成为可能的关键概念。
一个以标准 16 位浮点(FP16)存储的 30 亿参数模型占用:
3 billion parameters x 2 bytes each = 6 GB
这装不进 4GB 显卡。而一个 70 亿参数的模型需要 14GB。消费级硬件到此为止。
量化将每个参数的精度从 16 位降低到 8 位、4 位甚至 2 位。不再将每个权重存储为精确的小数,而是将其四舍五入到更少的可能值。
可以把它想象成图像压缩。一张 RAW 照片是 50MB,JPEG 是 5MB。你失去了一些细微的细节,但 95% 的视觉信息得以保留。量化对模型权重做的事情与此相同。
FP16 (16-bit): 3B params x 2 bytes = 6.0 GB
Q8 (8-bit): 3B params x 1 byte = 3.0 GB (50% smaller)
Q4 (4-bit): 3B params x 0.5 byte = 1.5 GB (75% smaller)
这是关键问题。答案是:出乎意料地少。
Q4_K_M 是行业标准的推荐方案。"K"意味着它使用混合精度——重要层(注意力层、输出层)保持较高精度,而不那么关键的层被更激进地压缩。"M"代表中等(介于 S=小 和 L=大 质量层级之间)。
近期研究表明,针对特定任务微调的模型在量化后比通用模型保留更多质量。它们的权重分布更窄,对舍入误差的抵抗力更强。
你将遇到三种主要格式:
GGUF — 通用格式。适用于 CPU、GPU、Apple Silicon、ARM。由 llama.cpp 项目创建。如果你想在消费级硬件上进行本地推理,这就是你要用的格式。
GPTQ — 针对 NVIDIA GPU 优化。在 NVIDIA 硬件上比 GGUF 快约 20%,但不能在 CPU 上运行。如果你有一张 NVIDIA 显卡且想要最大速度,这是个不错的选择。
AWQ — 最新格式,最高程度保留质量(Q4 下达 95%)。保留最重要的权重("激活感知")。兼容性略低于 GGUF。
对于 4GB 显卡:使用 GGUF Q4_K_M。它在各种平台上都能运行,质量出色,工具链成熟。
llama.cpp 是一个 C++ 推理引擎,能在消费级硬件上高效运行量化模型。它是本地 LLM 生态的基石。
在 llama.cpp 出现之前,运行本地 LLM 需要 Python、PyTorch、CUDA 工具包,以及大量的内存开销。llama.cpp 是一个独立的编译二进制文件,零依赖。它快速、精简,随处可运行。
# Example: run a model with llama.cpp
./llama-cli -m qwen2.5-3b-instruct-q4_k_m.gguf \
-p "Explain Docker in 3 sentences" \
-n 256 \
--gpu-layers 99
--gpu-layers 99 标志告诉它将尽可能多的层卸载到你的 GPU 上。在 4GB 显卡上运行 3B Q4 模型,所有层都能装入 GPU。
如果说 llama.cpp 是引擎,那么 Ollama 就是整车。它将 llama.cpp 包装成一个对用户友好的工具,一条命令即可下载模型、提供 API 服务器,以及简洁的管理功能。
# Install Ollama
curl -fsSL https://ollama.com/install.sh | sh
# Pull and run a model (one command)
ollama run qwen2.5:3b
# Or run Phi-4-mini
ollama run phi4-mini
# Or Llama 3.2 3B
ollama run llama3.2:3b
就这样。Ollama 下载量化模型、检测你的 GPU,然后启动一个交互式聊天界面。无需 Python,无需 CUDA 配置,无需配置文件。
Ollama 还能作为 REST API 运行——非常适合与你自己的应用集成:
# Start the server (runs in background by default after install)
ollama serve
# Query it like OpenAI's API
curl http://localhost:11434/api/chat -d '{
"model": "qwen2.5:3b",
"messages": [{"role": "user", "content": "Write a Python function to merge two sorted lists"}]
}'
该 API 与许多 OpenAI 客户端库兼容,因此你通常可以将 base_url 从 OpenAI/OpenRouter 切换到 http://localhost:11434,它就能正常工作。
建议:先用 Ollama。只有当你需要榨取每一秒的 token 或者要部署到资源受限的硬件上时,才转向原始的 llama.cpp。
如果你在构建一个为多个并发用户提供服务的应用,Ollama 和 llama.cpp 都不适合。你需要 vLLM。
vLLM 使用 PagedAttention——一种内存管理技术,将 KV 缓存浪费从 60-80% 降低到 19-27%。实际上,这意味着:
vLLM 对个人使用来说有些杀鸡用牛刀,但如果你在为自己的应用后端托管模型,它是必不可少的。
让我们具体说一说每个选项。
全能之选。在 29 种语言的 18 万亿 token 上训练,在编码、数学和指令跟随方面表现强劲。阿里巴巴的 Qwen 系列一直在持续改进,30 亿参数版本的实际表现远超其参数规模。
ollama run qwen2.5:3b
VRAM:约 2.2GB(Q4_K_M)
上下文:32K token(通过 RoPE 缩放可扩展到 128K)
优势:多语言、擅长结构化输出(JSON)、编码能力扎实
劣势:输出可能冗长,有时过度解释
超额完成任务的模范。微软的 Phi 系列专注于数据质量而非数据数量。Phi-4-mini 尽管只有 38 亿参数,却在多个数学基准上超越 GPT-4o。如果你的用例涉及推理或数学,这就是你的本地模型。
ollama run phi4-mini
VRAM:约 2.8GB(Q4_K_M)
优势:数学、推理、代码——3-4B 范围内最佳基准
劣势:创意写作能力较弱,多语言支持不如 Qwen
社区标准。Meta 的 Llama 模型拥有最大的微调、工具和社区支持生态系统。30 亿参数版本是下载量最高的小模型。
ollama run llama3.2:3b
VRAM:约 2.0GB(Q4_K_M)
优势:最佳社区支持、海量微调变体、最小的 VRAM 占用
劣势:在基准测试上略落后于 Qwen/Phi
Google 的高效之作。性能均衡,但 40 亿参数在 4GB VRAM 上是最紧的适配。
ollama run gemma3:4b
VRAM:约 3.0GB(Q4_K_M)
优势:均衡的全面表现、良好的指令跟随
劣势:在 4GB 上剩余的 VRAM 余量很小
这是真正有意义的对标。我通过 OpenRouter 使用 Gemini 2.5 Flash Lite——本地 30 亿参数模型与之相比如何?
不必二选一——两者都用:
这样你在关键地方获得最佳质量,实验零成本,需要隐私时完全私密。
以下是 4GB 显卡的完整设置步骤:
# Linux
curl -fsSL https://ollama.com/install.sh | sh
# Verify GPU detection
ollama --version
nvidia-smi # Should show your GPU
# Start with Qwen 2.5 3B (best balance for 4GB)
ollama pull qwen2.5:3b
# Check model size
ollama list
# Interactive chat
ollama run qwen2.5:3b
# Or one-shot query
echo "Explain what a Docker volume is in 2 sentences" | ollama run qwen2.5:3b
import requests
response = requests.post("http://localhost:11434/api/chat", json={
"model": "qwen2.5:3b",
"messages": [{"role": "user", "content": "Write a FastAPI health check endpoint"}],
"stream": False
})
print(response.json()["message"]["content"])
# Pull alternatives and compare
ollama pull phi4-mini
ollama pull llama3.2:3b
# Quick benchmark: same prompt, different models
time echo "Write a Python binary search function" | ollama run qwen2.5:3b
time echo "Write a Python binary search function" | ollama run phi4-mini
time echo "Write a Python binary search function" | ollama run llama3.2:3b
Ollama 自动完成这一步,但如果直接使用 llama.cpp:
# Offload all layers to GPU (if they fit)
./llama-cli -m model.gguf --gpu-layers 99 -ngl 99
# Watch GPU memory in real-time
watch -n 1 nvidia-smi
如果你看到 VRAM 在 95%+,说明模型勉强装入。考虑更小的量化(Q4_K_S 而非 Q4_K_M)或更小的模型。
如果模型未能完全装入 VRAM,llama.cpp 会拆分它:部分层在 GPU 上,其余在 CPU 上。你会损失速度但能正常运行。一个 70 亿参数的 Q4 模型可以在 4GB 显卡 + 8GB 内存上以约 15-20 tok/s 运行(而非约 40 tok/s)。
这里有一个反直觉的事实:对于 LLM 推理,内存带宽比原始 GPU 算力更重要。一张 RTX 3090(936 GB/s 带宽)在 LLM 推理上经常优于 RTX 4080(717 GB/s),尽管 4080 是更新的显卡。如果你是专门为本地 LLM 购买二手显卡,优先考虑带宽。
如果你将来升级:
当前市场的最佳性价比是二手 RTX 3090(24GB,约 800 美元)。它能运行 QwQ-32B——一个能在本地运行的开源推理模型,可与 OpenAI o1 媲美。
如果你正在考虑硬件升级,这才是最重要的问题。我通过 OpenRouter 将 Gemini 2.5 Flash Lite 作为日常驱动,Gemini 2.5 Flash 用于更难的任务。有任何开源模型能在本地匹配它们吗?
Flash Lite 以 30% 的成本提供 Flash 约 75% 的质量。能匹配或超越 Flash Lite 的开源模型:
对于 4GB 显卡,没有任何开源模型能接近 Flash Lite。30 亿参数模型大约是 Flash Lite 质量的 40-50%。差距是真实存在的。
只有两个开源模型真正能与 Flash 竞争:
1. Qwen3 235B-A22B(MoE) — 最接近的全能选手。
2350 亿总参数,但每 token 仅 22B 活跃(MoE 架构)
在科学任务上与 Flash 持平(GPQA 81.1 vs 82.8)
在数学(AIME 2025: 81.5 vs 72.0)和编码(LiveCodeBench: 70.7 vs 63.9)上超越 Flash
Q4 量化需要约 110-140GB 总内存
实际配置:1 张 RTX 4090(24GB)+ 128GB DDR5 系统内存,使用 CPU/GPU 混合卸载
速度:约 3-8 tok/s(对于复杂任务来说可接受,因为你本来就会等待)
2. DeepSeek V3.2(思考模式) — 在编码和数学上碾压 Flash。
LiveCodeBench: 83.3% vs Flash 的 63.9%
AIME 2025: 93.1% vs Flash 的 72.0%
但凭借 6710 亿参数,即使量化后也需要约 245GB+ 内存——在消费级硬件上基本不可能
让我们算一笔账。按 Gemini 2.5 Flash Lite 定价(约 0.30 美元/100 万输出 token):
3,000 美元的硬件 / 每 100 万 token 0.30 美元 = 100 亿 token 才能回本
这大约是 1500 万个完整回复——重度使用也需要几十年
按完整 Flash 定价(约 1-2 美元/100 万 token):
回本点降至 15-30 亿 token——对单个开发者来说仍然需要数年
本地运行经济上合理只有在你:
对于大多数个人开发者,API 仍然更便宜。但如果你需要隐私或离线访问,即使适度的升级也能打开真正的可能性。
2026 年在 4GB 显卡上本地运行 LLM 完全可行。量化(特别是 Q4_K_M GGUF)将模型体积缩小 75%,同时质量损失极小。像 Ollama 这样的工具让设置变得 trivial——一条命令安装,一条命令运行。
对于 4GB 显卡,Qwen 2.5 3B 或 Phi-4-mini 是最佳选择——适用于代码补全、问答、摘要和草稿撰写。它们无法取代 Gemini 2.5 Flash Lite,但非常适合离线工作和隐私敏感任务。
如果你愿意投资 RTX 4090 + 128GB 内存(约 3,000 美元),你可以运行 Qwen3 235B-A22B——一个在大多数基准上真正匹敌 Gemini 2.5 Flash 的开源模型。这是当前消费级硬件的可能性前沿。
大多数开发者的实用配置:
API vs. 本地的争论不是非此即彼——而是为不同工作选择合适的工具。4GB 显卡加 10 分钟 Ollama 设置,给你一个有能力、私密、随时可用的 AI 助手。如果你迷上了本地 LLM,还有清晰的升级路径,一直延伸到在你的机器上达到 Flash 级别的性能。