适用于16GB显存GPU的最佳LLM模型
在配备16GB VRAM的RTX 4080上进行LLM速度测试
在本地运行大型语言模型可以为您提供隐私保护、离线功能以及零API成本。 这项基准测试揭示了在RTX 4080上使用Ollama的9种流行LLMs可以预期的具体表现。
在拥有16GB显存的GPU上,我面临一个持续的权衡: 选择更大的模型可能带来更好的质量,或者选择更小的模型以实现更快的推理。

TL;DR
以下是使用Ollama 0.15.2在RTX 4080 16GB上LLM性能的比较表:
| 模型 | 使用的显存+显存 | CPU/GPU 分配 | 每秒生成的令牌数 |
|---|---|---|---|
| gpt-oss:20b | 14 GB | 100% GPU | 139.93 |
| ministral-3:14b | 13 GB | 100% GPU | 70.13 |
| qwen3:14b | 12 GB | 100% GPU | 61.85 |
| qwen3-vl:30b-a3b | 22 GB | 30%/70% | 50.99 |
| glm-4.7-flash | 21 GB | 27%/73% | 33.86 |
| nemotron-3-nano:30b | 25 GB | 38%/62% | 32.77 |
| devstral-small-2:24b | 19 GB | 18%/82% | 18.67 |
| mistral-small3.2:24b | 19 GB | 18%/82% | 18.51 |
| gpt-oss:120b | 66 GB | 78%/22% | 12.64 |
关键见解:完全适合显存的模型速度明显更快。GPT-OSS 20B达到139.93个令牌/秒,而GPT-OSS 120B由于大量使用CPU卸载,仅达到12.64个令牌/秒——速度相差11倍。
测试硬件设置
基准测试在以下系统上进行:
- GPU:NVIDIA RTX 4080,16GB显存
- CPU:Intel Core i7-14700(8个P核心 + 12个E核心)
- 内存:64GB DDR5-6000
这代表了本地LLM推理的常见高端消费级配置。16GB显存是关键限制因素——它决定了哪些模型可以在GPU上完全运行,而哪些模型需要CPU卸载。
当模型超出显存容量时,了解Ollama如何使用Intel CPU核心变得非常重要,因为CPU性能直接影响卸载层的推理速度。
本基准测试的目的
主要目标是在实际条件下测量推理速度。我已经知道Mistral Small 3.2 24B在语言质量方面表现优异,而Qwen3 14B在特定使用案例中提供了更优的指令遵循能力。
本基准测试回答了实际问题:每个模型生成文本的速度如何,以及超出显存限制时的速度惩罚是多少?
测试参数如下:
- 上下文大小:19,000个令牌
- 提示语:“比较澳大利亚首都城市的天气和气候”
- 指标:评估率(生成期间每秒的令牌数)
Ollama安装和版本
所有测试使用的是Ollama版本0.15.2,这是测试时的最新版本。要了解本基准测试中使用的Ollama命令的完整参考,请查看Ollama速查表。
在Linux上安装Ollama:
curl -fsSL https://ollama.com/install.sh | sh
验证安装:
ollama --version
如果由于空间限制需要将模型存储在不同的驱动器上,请查看如何将Ollama模型移动到不同的驱动器。
测试的模型
以下模型进行了基准测试:
| 模型 | 参数 | 量化 | 说明 |
|---|---|---|---|
| gpt-oss:20b | 20B | Q4_K_M | 整体最快 |
| gpt-oss:120b | 120B | Q4_K_M | 测试中最大的模型 |
| qwen3:14b | 14B | Q4_K_M | 指令遵循最佳 |
| qwen3-vl:30b-a3b | 30B | Q4_K_M | 支持视觉 |
| ministral-3:14b | 14B | Q4_K_M | Mistral的高效模型 |
| mistral-small3.2:24b | 24B | Q4_K_M | 语言质量优异 |
| devstral-small-2:24b | 24B | Q4_K_M | 代码导向 |
| glm-4.7-flash | 30B | Q4_K_M | 思考模型 |
| nemotron-3-nano:30b | 30B | Q4_K_M | NVIDIA的模型 |
下载任何模型的命令如下:
ollama pull gpt-oss:20b
ollama pull qwen3:14b
理解CPU卸载
当模型的内存需求超过可用显存时,Ollama会自动在GPU和系统内存之间分配模型层。输出显示为类似“18%/82% CPU/GPU”的百分比分配。
这对性能有重大影响。 每个令牌生成都需要在CPU和GPU内存之间进行数据传输——这种瓶颈会随着每层卸载到CPU而累积。
从我们的结果中可以明显看出以下模式:
- 100% GPU模型:61-140个令牌/秒
- 70-82% GPU模型:19-51个令牌/秒
- 22% GPU(主要CPU):12.6个令牌/秒
这解释了为什么在实际应用中,20B参数模型可以比120B模型快11倍。如果您计划提供多个并发请求,了解Ollama如何处理并行请求对于容量规划至关重要。
详细基准测试结果
完全在GPU上运行的模型
GPT-OSS 20B —— 速度冠军
ollama run gpt-oss:20b --verbose
/set parameter num_ctx 19000
NAME SIZE PROCESSOR CONTEXT
gpt-oss:20b 14 GB 100% GPU 19000
eval count: 2856 token(s)
eval duration: 20.410517947s
eval rate: 139.93 tokens/s
在139.93个令牌/秒的速度下,GPT-OSS 20B在对速度要求高的应用中明显胜出。它仅使用14GB显存,为更大的上下文窗口或其他GPU工作负载提供了空间。
Qwen3 14B —— 优秀平衡
ollama run qwen3:14b --verbose
/set parameter num_ctx 19000
NAME SIZE PROCESSOR CONTEXT
qwen3:14b 12 GB 100% GPU 19000
eval count: 3094 token(s)
eval duration: 50.020594575s
eval rate: 61.85 tokens/s
在使用经验中,Qwen3 14B提供了最佳的指令遵循能力,其内存占用为12GB,使用起来非常舒适。在61.85个令牌/秒的速度下,它对于交互式使用来说响应速度足够快。
对于将Qwen3集成到应用中的开发人员,请查看使用Ollama和Qwen3进行LLM结构化输出以提取结构化JSON响应。
Ministral 3 14B —— 快速且紧凑
ollama run ministral-3:14b --verbose
/set parameter num_ctx 19000
NAME SIZE PROCESSOR CONTEXT
ministral-3:14b 13 GB 100% GPU 19000
eval count: 1481 token(s)
eval duration: 21.11734277s
eval rate: 70.13 tokens/s
Mistral的较小模型在完全适合显存的情况下每秒生成70.13个令牌。当需要Mistral家族质量并追求最大速度时,这是一个不错的选择。
需要CPU卸载的模型
Qwen3-VL 30B —— 最佳部分卸载性能
ollama run qwen3-vl:30b-a3b-instruct --verbose
/set parameter num_ctx 19000
NAME SIZE PROCESSOR CONTEXT
qwen3-vl:30b-a3b-instruct 22 GB 30%/70% CPU/GPU 19000
eval count: 1450 token(s)
eval duration: 28.439319709s
eval rate: 50.99 tokens/s
尽管有30%的层在CPU上,Qwen3-VL仍保持50.99个令牌/秒的速度——比一些100% GPU模型更快。视觉能力为多模态任务增加了多功能性。
Mistral Small 3.2 24B —— 质量与速度的权衡
ollama run mistral-small3.2:24b --verbose
/set parameter num_ctx 19000
NAME SIZE PROCESSOR CONTEXT
mistral-small3.2:24b 19 GB 18%/82% CPU/GPU 19000
eval count: 831 token(s)
eval duration: 44.899859038s
eval rate: 18.51 tokens/s
Mistral Small 3.2提供了优越的语言质量,但付出了速度的高昂代价。在18.51个令牌/秒的速度下,它在交互式聊天中明显更慢。对于质量比延迟更重要的任务,这是值得的。
GLM 4.7 Flash —— MoE思考模型
ollama run glm-4.7-flash --verbose
/set parameter num_ctx 19000
NAME SIZE PROCESSOR CONTEXT
glm-4.7-flash 21 GB 27%/73% CPU/GPU 19000
eval count: 2446 token(s)
eval duration: 1m12.239164004s
eval rate: 33.86 tokens/s
GLM 4.7 Flash是一个30B-A3B的专家混合模型——总共有30B个参数,但每个令牌只有3B是活跃的。作为一个“思考”模型,它在生成响应之前会生成内部推理。33.86个令牌/秒包括了思考和输出令牌。尽管有CPU卸载,MoE架构仍使其保持合理的速度。
GPT-OSS 120B —— 强大的模型
ollama run gpt-oss:120b --verbose
/set parameter num_ctx 19000
NAME SIZE PROCESSOR CONTEXT
gpt-oss:120b 66 GB 78%/22% CPU/GPU 19000
eval count: 5008 token(s)
eval duration: 6m36.168233066s
eval rate: 12.64 tokens/s
在16GB显存上运行120B模型在技术上是可能的,但非常痛苦。78%在CPU上,12.64个令牌/秒使交互式使用变得令人沮丧。更适合用于对延迟不敏感的批量处理。
实用建议
用于交互式聊天
使用完全适合显存的模型:
- GPT-OSS 20B —— 最大速度(139.93 t/s)
- Ministral 3 14B —— Mistral质量的良好速度(70.13 t/s)
- Qwen3 14B —— 最佳指令遵循(61.85 t/s)
为了获得更好的聊天体验,请考虑适用于本地Ollama的开源聊天UI。
用于批量处理
当速度不是那么关键时:
- Mistral Small 3.2 24B —— 优越的语言质量
- Qwen3-VL 30B —— 视觉+文本能力
用于开发和编码
如果您正在使用Ollama构建应用程序:
替代托管选项
如果Ollama的限制让您担忧(请参阅Ollama劣化担忧),请查看本地LLM托管指南或比较Docker模型运行器与Ollama。
结论
在16GB显存下,如果您选择得当,可以以令人印象的速度运行功能强大的LLM。关键发现如下:
-
保持在显存限制内,以便进行交互使用。对于大多数实际用途,20B模型以140个令牌/秒的速度击败120B模型以12个令牌/秒的速度。
-
GPT-OSS 20B在纯速度上胜出,但Qwen3 14B在指令遵循任务中提供了速度和能力的最佳平衡。
-
CPU卸载是可行的,但预期会有3-10倍的减速。对于批量处理是可以接受的,但对于聊天来说是令人沮丧的。
-
上下文大小很重要。此处使用的19K上下文显著增加了显存使用。为了更好的GPU利用率,请减少上下文大小。
如需结合本地LLM和网络结果的AI驱动搜索,请查看使用Ollama自托管Perplexica。
有用的链接
内部资源
- Ollama速查表:最常用的Ollama命令
- Ollama如何处理并行请求
- Ollama如何使用Intel CPU性能和高效核心
- 如何将Ollama模型移动到不同的驱动器或文件夹
- Ollama、Qwen3与Python或Go的LLM结构化输出
- 使用Ollama自托管Perplexica
- 适用于本地Ollama实例的LLM开源聊天UI
- Ollama劣化的初步迹象
- Docker模型运行器与Ollama:选择哪一个?
- 本地LLM托管:2026年完整指南 - Ollama、vLLM、LocalAI、Jan、LM Studio等
- 将Ollama与Python集成:REST API和Python客户端示例
- Ollama的Go SDK:与示例的比较