进阶端侧 / 本地 3 分钟阅读发布于

RTX 5090:32GB 显存在本地大模型上到底多出什么

RTX 5090 能装下而 24GB 卡装不下的是什么:模型数量没多几个,但上下文长得多、速度上限更高。数字来自计算器,附 Blackwell 的配置要点。

面向的技术栈

Windows 或 Linux · 支持 CUDA 12.8+ 的 NVIDIA 驱动 · 新版 Ollama,或基于 CUDA 12.8+、以 GGML_CUDA=ON 编译的 llama.cpp · GGUF

最近一次修改后未重新实机运行 —— 命令请当作起点,而不是已验证的配方。

RTX 509032GBBlackwellllama.cppOllamaGGUFlong context

老实说:能多装的模型并不多

在 4K 上下文下,本索引 89 个模型中有 73 个能宽裕地装进 RTX 5090,24GB 的 RTX 4090 是 71 个。两张卡都装不下的是 70B 及以上:Llama 3.3 70B 在 Q4_K_M、8K 上下文下约 47.5 GB,单张 5090 改变不了这一点 —— 需要两张卡,或者把部分层卸载到系统内存。多出来的 8GB 真正换来的,是 27B–36B 模型的上下文空间(24GB 卡上只能用短上下文跑这些模型);而 1,792 GB/s 对 1,008 GB/s 的带宽,让所有模型的速度上限提高约 1.8 倍。

多出的 8GB 用在哪:上下文

下表就是 24GB 和 32GB 真正拉开差距的地方。Qwen3 32B 在 Q4_K_M、8K 上下文下约 22.9 GB,在这里宽裕,在 24GB 卡上偏紧。Gemma 4 31B 在 Q4_K_M、32K 上下文下约 23.5 GB:在 5090 上宽裕,在 4090 上占 98%。Qwen3.8 27B 在 Q4_K_M、128K 上下文下约 26.0 GB,24GB 卡完全装不下 —— 它能这么小,是因为只有四分之一的层保留随上下文增长的缓存。稠密 32B 模型在长上下文下仍会吃紧:Qwen3 32B 在 Q4_K_M、32K 上下文下约 29.6 GB,即使在这里也偏紧。

text
GGUF Q4_K_M               8K        32K       64K       128K
Qwen3.8 27B (hybrid)      17.8 GB   19.4 GB   21.6 GB   26.0 GB
Gemma 3 27B               18.7 GB   20.8 GB   23.5 GB   29.0 GB ~
Gemma 4 31B               21.4 GB   23.5 GB   26.2 GB   31.7 GB ~
Qwen3-Coder 30B-A3B       20.1 GB   22.6 GB   25.9 GB   32.5 GB ~
Qwen3 32B (40K max)       22.9 GB   29.6 GB ~
Seed-OSS 36B              25.0 GB   31.6 GB ~ 40.4 GB ✗

~ = tight (88–105% of 32 GB)   ✗ = does not fit

Blackwell 需要较新的软件栈

RTX 50 系列是新架构(计算能力 12.0),NVIDIA 的 CUDA 12.8 是第一个支持它的工具包。实际意味着:要用新驱动、新版 Ollama;如果自己编译 llama.cpp,要用 CUDA 12.8 或更新的工具包。旧版本要么加载不了 CUDA 后端,要么退回 CPU —— 所以在新卡上,下面的 GPU 检查比在老卡上更重要。

bash
nvidia-smi                 # driver version, and the CUDA version it supports
nvcc --version             # if building llama.cpp: needs 12.8 or newer

git clone https://github.com/ggml-org/llama.cpp && cd llama.cpp
cmake -B build -DGGML_CUDA=ON
cmake --build build --config Release -j

用真正够用的上下文跑 32B 模型

给 llama.cpp 传 -ngl all 和明确的 -c。新版本会自动按显卡容量调整并保留约 1 GiB 空闲,模型接近上限时会悄悄把部分层挪到 CPU;明确要求全部层上 GPU,设置过大时就会在加载阶段直接报错。除非你确实要对局域网提供服务,否则绑定 127.0.0.1。用 Ollama 时,从 GGUF 仓库拉取指定量化档位,并在会话里调大 num_ctx。

bash
hf download Qwen/Qwen3-32B-GGUF --include "Qwen3-32B-Q4_K_M.gguf" --local-dir ./models

./build/bin/llama-server -m ./models/Qwen3-32B-Q4_K_M.gguf \
  -ngl all -c 16384 --host 127.0.0.1 --port 8080
#   load_tensors: offloaded 65/65 layers to GPU

# or with Ollama:
ollama run hf.co/Qwen/Qwen3-32B-GGUF:Q4_K_M
/set parameter num_ctx 16384

速度大概是什么样

生成每个 token 都要把整个权重文件读一遍,所以带宽除以文件大小就是硬上限。按 1,792 GB/s 算,Qwen3 32B(Q4_K_M)上限约 95 tok/s,Gemma 3 27B 上限约 114 tok/s。这些是上限,不是实测 —— 本站没有 5090 的实测记录,真实吞吐会低于它。Qwen3-Coder 30B-A3B 这类混合专家模型每个 token 只读取激活的专家,所以跑得比总参数量看上去快得多。用 llama-bench 测你自己的卡。

bash
./build/bin/llama-bench -m ./models/Qwen3-32B-Q4_K_M.gguf -ngl 99   # pp512 / tg128

出问题时

在新卡上,大多数问题出在软件栈,而不是模型。

text
CUDA backend fails to load, or "no kernel image is available"
  → toolkit / build older than CUDA 12.8; rebuild, or update Ollama

Runs, but at CPU speed
  → check ollama ps (100% GPU) or the load_tensors line
  → Windows: System Memory Fallback is hiding an out-of-memory

32B fine at 8K, fails at 32K
  → expected for dense 32B (29.6 GB); use 16K, or a hybrid model like Qwen3.8 27B

Want 70B
  → does not fit one 32 GB card at Q4_K_M; see the dual-GPU guide

常见问题

跑本地大模型,RTX 5090 比 RTX 4090 值吗?

只有你需要更长的上下文或更快的速度时才值。在 4K 上下文下,5090 能宽裕装下本索引 89 个模型中的 73 个,4090 是 71 个,模型清单几乎没变。变化在于 27B–32B 模型的长上下文 —— Gemma 4 31B 在 32K 下在 5090 上宽裕、在 4090 上占 98% —— 以及速度上限,它随带宽从 1,008 GB/s 提高到 1,792 GB/s。

RTX 5090 能跑 70B 模型吗?

单靠这张卡、以可用的质量跑不了。本站估算 Llama 3.3 70B 在 Q4_K_M、8K 上下文下约 47.5 GB,比显卡容量还多出一半。现实的路线是两张卡,或者把部分模型卸载到系统内存(速度损失很大)—— 前者见双卡指南。

在 RTX 5090 上跑 llama.cpp 需要什么?

需要认识 Blackwell 的驱动和工具包:NVIDIA 的 CUDA 12.8 是第一个支持 RTX 50 系列的工具包,所以要基于 12.8 或更新版本以 GGML_CUDA=ON 编译 llama.cpp,或使用新版 Ollama。然后确认启动日志显示所有层都已卸载到 GPU —— 在新卡上,过旧的软件栈可能在没有明显报错的情况下退回 CPU。

这篇指南用到了什么

接下来

看看 🟢 RTX 5090 还能跑哪些模型反向查询 —— 32GB、32768 上下文,按质量排序

本文涉及的模型

它真的跑起来了吗?

复制命令并不等于它能用,所以站内只在这里问一次。除了你的这个回答之外,不收集任何东西。

相关指南

部署指南仅供学习参考。每个模型均有独立许可协议 — 下载或部署前请阅读 Hugging Face 官方模型卡。