12GB 显存下可运行的开源 LLM 深度调研与比较分析

> 调研日期:2026-07-13 > 范围:开源(含 Apache-2.0 / MIT / 社区量化)大语言...

> 调研日期:2026-07-13 > 范围:开源(含 Apache-2.0 / MIT / 社区量化)大语言模型,目标硬件为 12GB 显存 GPU(如 RTX 3060 12GB / RTX 4070 / RTX 5070),允许”部分权重卸载至 CPU 内存”的混合推理。 > 核心结论先抛:12GB 是”7B–14B 全量上 GPU、20B–32B 需卸载”的分水岭。

〇、总纲:显存到底被谁吃了?

常人之误,以为”模型文件多大,显存就占多大”。大谬。推理时显存三项并吞:

占用项说明可否压缩
权重(weights)模型本体参数,量化后为主力开销靠量化(Q8→Q4→Q2)
KV 缓存随上下文长度线性增长,"长对话"才是真杀手靠 KV 量化(q8_0)、缩短上下文
运行时开销CUDA context、激活值临时缓冲,约 0.8–1.2GB基本固定

故同一模型,开 4K 上下文与开 32K 上下文,显存可差数 GB。量化(GGUF 格式 Q系列)是 12GB 档的命门——它把 16bit 权重压到 4bit,体积约缩至 1/4,质量损失 Q4_K_M 仅约 8%、Q5_K_M 仅约 5%。

一、能在 12GB 跑的开源模型清单(按”适配程度”分四档)

第一档:全量驻留 GPU(无需卸载,体验最佳)

模型参数量Q4 量化体积12GB 适配擅长
Qwen2.5 / Qwen3 7B–8B7–8B~4.9–6.1 GB✅ 宽松中文、通用、代码(Qwen3 强)
Llama 3.1 / 3.3 8B8B~5.5–6.1 GB✅ 宽松生态最大、128K 上下文
Gemma 3 / 4 4B–12B4–12B4B≈2.6GB;12B≈6.6GB(int4) / 7GB(Q4)✅ 宽松(12B 甚至 8GB 卡可跑)多模态(图+文)、四语均衡
Mistral 7B / Mistral NeMo 12B7–12B~8 GB(Q4)✅ NeMo 12B 为此档定制推理强、128K 上下文
Phi-4 14B14B~8 GB(Q4)小模型性能王、结构化任务、速度快
DeepSeek-R1-Distill 7B(Qwen 基座)7B~4.9–5.4 GB✅ 宽松推理/数学(蒸馏自 R1)
Qwen2.5-Coder 7B / 14B7–14B14B≈10.2GB✅ 14B 偏紧代码生成

> 关键新知:Gemma 3 / Gemma 4 的 QAT(量化感知训练)版 是 12GB 档的宝藏。谷歌在训练阶段就让模型”习惯低精度”,故 int4 版质量近乎不损:Gemma 3 12B 从 BF16 的 24GB 骤降至 6.6GB,8GB 笔记本卡即可跑;Gemma 4 12B 的 Q4_K_M 约 7GB、Q5_K_M 约 8.5GB。

第二档:卡在边界、需微量卸载(”差一口气”型)

模型Q4 体积与 12GB 关系表现
DeepSeek-R1-Distill 14B(Qwen 基座)~10.2–12.3 GB12.3GB 略超 12GB,需 ~0.3GB 卸载到内存~19–28 tok/s,推理最强档
Gemma 4 12B Q8_0~12.7 GB需 16GB,12GB 下须卸载近无损但慢

> 实测:DeepSeek-R1 14B 在 RTX 3060 12GB 上跑 Q4_K_M,约 10–11% 权重溢出到系统内存,仍能 20 tok/s 左右可用,是”12GB 性价比甜点”——花 200 元二手卡即得 AIME 69.7% / MATH-500 93.9% 的推理力。

第三档:重度卸载(能跑但慢,5–10 tok/s)

模型Q4 体积卸载比例表现
GPT-OSS 20B(OpenAI 开源)Q2_K ~11GB~28 层上 GPU,余下交 CPU可用,编码/推理尚可
Qwen3 MoE 30B-A3BQ4 ~18GB大量层卸载4–6 tok/s,慢但能对话
DeepSeek-R1-Distill 32B~22–23 GB重度卸载4–6 tok/s,"能跑勿用"

第四档:基本别想(除非 48GB+ 或纯 CPU 龟速)

Llama 3.3 / 4 70B:Q4 ~42GB,单 12GB 卡需 ~90% 卸载,<2 tok/s。 – DeepSeek-V3(671B MoE):最激进 1-bit 量化仍需 170GB,纯属云端物。 – Qwen3.6 35B-A3B:Q4_K_M ~19GB,需 24GB 才舒服。

二、横向比较分析(聚焦 12GB 实用维度)

维度一:中文能力

Qwen 家族(2.5 / 3 / 3.6)碾压。Qwen3 在中文任务近乎霸榜开源界;相较之下 Llama、Mistral、Gemma 中文弱一截。若步子哥以中文为主业,Qwen3 7B/14B 是默认答案。

维度二:推理 / 数学(”会想”的模型)

DeepSeek-R1 蒸馏系为王。14B 蒸馏版在 12GB 上即可获得接近闭源中级推理力,且支持”思考链”——但注意思考 token 会让输出变长 2–5 倍,需把上下文调到 16K+(Ollama 默认仅 4K,不够)。

维度三:代码

Qwen2.5-Coder 14B / 32B(32B 需卸载)DeepSeek-R1 14BDeepSeek-Coder-V2-Lite 16B(MoE 仅 2.4B 激活,8GB 卡可跑)。社区共识:Qwen2.5-Coder 32B 已超越老版 DeepSeek-Coder-V2。

维度四:多模态(图文)

Gemma 3 / 4 原生支持图片理解,且 12B 版塞得进 12GB,是”既要聊天又要看图”的最优解。

维度五:速度与体感

规律:模型越小、量化越狠,tok/s 越高。7B Q4 在 12GB 卡上常达 50–70 tok/s(流畅如流水);14B Q4 约 20–35 tok/s(舒适);一旦进入”卸载区”(20B+),速度断崖至个位数,体感如拨号上网。

三、核心问题:Ollama 支持”部分 GPU + 部分 CPU”推理吗?

答:不仅支持,且是其默认行为之一。 此即术语所称 split inference(混合推理 / 分层卸载)

原理

Ollama 底层封装 llama.cpp 推理引擎。它按”层(layer)”切分模型: – 把尽可能多的层塞进 VRAM(快); – 塞不下的层留在系统 RAM,由 CPU 算(慢); – 每个 token 生成时,数据在 GPU 层与 CPU 层之间经 PCIe 总线来回搬运。

分层,而非把单层劈两半——这是理解卸载的关键。

自动模式(开箱即用)

Ollama 启动时会自动探测 VRAM,尽量多装层到 GPU,余下交 CPU。工程上有个经验阈值:当显存占用逼近约 85% 时,调度器主动开始把部分层挪向内存,避免在推理中途 OOM 崩溃(CUDA out of memory)。故你 ollama run deepseek-r1:14b 时,它大概率自动跑成”约 90% GPU + 10% 内存”的混合态——你什么都不用配

验证之法:

ollama ps

看 %GPU 列:0% = 全 CPU;100% = 全 GPU;中间值 = 混合

手动模式(精细调参)

若自动探测失准(偶有”静默回退纯 CPU”的坑),可强行指定层:

法一:Modelfile 固化

FROM deepseek-r1:14b PARAMETER num_gpu 35 # 数字=层数中装 GPU 的部分,非百分比 PARAMETER num_ctx 16384

法二:API 单次覆盖

curl http://localhost:11434/api/generate -d ‘{ “model”: “llama3”, “prompt”: “Hello”, “options”: { “num_gpu”: 20 } }’

法三:环境变量持久化

OLLAMA_NUM_GPU=35 ollama serve

num_gpu 的数理:设模型 40 层,置 num_gpu=20 → 前 20 层在 GPU、后 20 层在 CPU。置 99 或 999(超层总数)即”全 GPU”,置 0 即纯 CPU

混合推理的代价与甜点

代价:PCIe 搬运激活值是瓶颈,混合态常比全 GPU 慢 5–10 倍。每层额外 PCIe 传输叠加,batch_size>1 时开销指数上升——故混合推理务必保持 batch_size=1。 – 甜点:GPU 装得下 80%+ 层时,全装;装不下时,装到”不触发 swap”的最大层数。用 nvidia-smi -l 1 盯紧显存别越过 11GB 红线。

省显存的两记妙手

1. KV 缓存量化--cache-type-k q8_0 --cache-type-v q8_0(llama.cpp),KV 占用约减半,质量几乎无损。14B Q4 + q8 KV,可在 12GB 上撑 16K 上下文。 2. 降上下文:Ollama 默认 4096,推理模型务必提到 16384;普通聊天 8192 足矣。

四、给 12GB 用户的实操推荐

场景化选型

你的主需首选模型命令体感
中文万能助手Qwen3 7B / 14B (Q4)ollama run qwen3:14b流畅,中文最佳
数学/推理/深度思考DeepSeek-R1-Distill 14B (Q4)ollama run deepseek-r1:14b20+ tok/s,需 16K 上下文
代码辅助Qwen2.5-Coder 14Bollama run qwen2.5-coder:14b舒适
图文多模态Gemma 4 12B (Q4)ollama run gemma4:12b8GB 卡也能跑
极致轻量/边缘Phi-4 14B (Q4)Gemma 4 2B8GB 显存轻松

三条铁律

1. 12GB 甜点区是 7B–14B 全量上 GPU;想上 20B+ 必走卸载,速度换智能,慎之。 2. 永远先 ollama ps 看 %GPU——若看到远低于 100%,你正为混合推理交”税”,可换更小量化或更小模型救回速度。 3. 推理模型(R1 系)务必把 num_ctx 拉到 16384 以上,否则思考链会被截断,等于自废武功。

五、一句话总结

> 12GB 显存,开源 LLM 之”小康线”也。7B–14B 诸模型(Qwen3、Gemma 4、DeepSeek-R1 蒸馏、Phi-4、Mistral NeMo)皆可全量驻 GPU,从容日用;欲窥 20B–32B 之境,须借 Ollama 分层卸载之术,以 CPU 内存为壑,代价是速度,然”能用”二字,已足慰草根。Ollama 之混合推理,本为内建,自动调度于 85% 显存红线之前,复可手调 num_gpu 精算层数——此即”部分 GPU、部分 CPU”之正解。

参考来源

– The Complete Guide to Running LLMs Locally in 2026 (dev.to) – What Can You Actually Run on 12GB VRAM? (insiderllm.com) – Ollama Mixed CPU/GPU Execution (theneuralbase.com, 2026-04 核实) – Ollama GPU Layer Debugging (craftrigs.com) – What Is GPU Offloading? (ai-tldr.dev) – 谷歌 Gemma 3 QAT 模型显存实测(腾讯云/机器之心/IT之家) – DeepSeek 蒸馏模型 GPU 适配表(promptquorum / insiderllm / specpicks / willitrunai) – GPT-OSS 20B Q2_K 12GB 优化版(aifasthub)

发表回复

人生梦想 - 关注前沿的计算机技术 acejoy.com 🐾 步子哥の博客 🐾 背多分论坛 🐾 借一步网 🐾 智柴网 沪ICP备2024052574号-1