显存计算与模型选择:你的显卡能跑多大的模型

简介: 本篇直击本地部署核心痛点:显存不够?模型选错?用公式(权重+KV Cache+开销)教你精准估算,附8/12/16/24/48GB显存档位经验表,明确给出“24G甜点是32B Q4_K_M”,告别OOM玄学。

显存计算与模型选择:你的显卡能跑多大的模型

本篇解决本地部署里被问烂的问题:跑一个模型到底要多少显存?我这块卡能跑多大的模型? 如果你刚装好 NVIDIA 驱动或 Ollama,面对一堆 7B/14B/32B/70B 不知道选哪个,或者已经被 "CUDA out of memory" 撞过墙,这篇给你一套公式、一张各显存档位经验表,外加「24G 显存能跑什么」的直接答案。读完你能对着任意模型自己估算显存,不再靠玄学。

在这里插入图片描述

一、为什么需要它

「显存不足」是本地部署第一大报错,"24G 显存能跑什么模型""7B 模型要多少显存" 的搜索量非常大。多数人卡在的其实不是安装环节,而是选模型环节:选大了,加载瞬间 OOM;选小了,效果不满意。而模型页面上孤零零的 "参数量 7B" 并不能直接告诉你它实际要占多少显存——因为显存 ≠ 权重文件大小,KV Cache 和框架开销都是隐藏的。

我一般这样劝刚入坑的朋友:先花 5 分钟学会估算,再动手下载几十 GB 的文件,否则大概率是白下。两个真实场景你大概率会撞上:一是兴冲冲下了个 70B 模型,加载瞬间报 "CUDA out of memory",几十 GB 硬盘空间白占;二是保守地选了 7B Q4,结果模型能力不够用,才回头发现 24G 的卡明明能跑 32B。这两个方向的错误,本质上都是没把显存账算清楚。

本篇做三件事:

  1. 给核心公式(权重显存 ≈ 参数量 × 每参数字节数)加两个隐藏项(KV Cache、框架开销),让你能心算;
  2. 给单卡各显存档位经验表(8/12/16/24/48/96GB 各能跑什么,全部标注经验值);
  3. 直接回答高频问题 24G 显存能跑什么,以及单卡不够时怎么用多卡与 CPU offload。

二、环境要求

项目 要求 检查方式
NVIDIA GPU 任意,显存 4GB 起步,8GB+ 体验 7B Q4 才舒适 nvidia-smi 能出表
驱动 较新的游戏驱动(Windows)或专有驱动(Linux) nvidia-smi 首行驱动版本
推理框架 Ollama(最简单)或 PyTorch + transformers / llama.cpp ollama list / python -c "import torch"
系统 Windows 10/11、Linux 或 WSL2 —
物理内存 若考虑 CPU offload,建议 ≥ 模型文件大小 1.5 倍 任务管理器 / free -h

先分清两个概念:显存(GPU 显存)装权重和 KV Cache,速度极快;物理内存(RAM)在显存不够时被 CPU offload 借用,速度慢得多。nvidia-smi 只显示显存占用,所以看到"装不下"时要先分清到底是显存不够还是物理内存不够(WSL2 上尤其常见,见第六节第 7 条)。

动手前先跑一次 nvidia-smi 确认三件事:显卡型号与总显存、驱动支持的最高 CUDA 版本、当前有没有进程占着显存。注意右上角那个 "CUDA Version" 是驱动支持的上限,不是已安装 Toolkit 的版本,别被它误导。如果你还没装驱动或框架,先回到《AI-01 CUDA与N卡驱动安装》和《AI-02 PyTorch安装与验证》把地基打好,本篇只负责"算账"。

三、显存估算:三步法

3.1 第一步:权重要占多少显存(核心公式)

权重显存 ≈ 参数量(B) × 每参数字节数。

精度不同,每参数字节数不同:fp16/bf16 = 2 字节、int8 = 1 字节、int4 = 0.5 字节。以 7B 模型为例:

精度 每参数字节 7B 权重显存
fp16 / bf16 2 B ≈ 14-15 GB
int8(Q8) 1 B ≈ 7-8 GB
int4(Q4) 0.5 B ≈ 4-5 GB

在这之上还要加 10-20% 的框架/词表/优化器开销,估算时直接乘 1.1~1.2。举例:7B Q4 权重 ≈ 4.5 GB,加上开销后,光"装下权重"就要 5 GB 出头。

为什么是"≈"不是"=":量化文件里有缩放因子、块元数据等,实际文件总比纯算的大一点;不同框架开销也不同。本文统一按量级估算,以模型页面标注的文件大小为下限更稳。

3.2 第二步:KV Cache 要占多少

KV Cache 是模型生成时记下的"上下文笔记",随上下文长度和并发数增长,是很多人估算翻车的隐藏项。量级参考(随架构而异,只给量级):7B 模型 4K 上下文、单并发时 KV 约 0.5-1.5 GB,量化模型更小。这意味着:

  • 短上下文(2-4K)、单人使用:预留 1-2 GB 就够;
  • 长上下文(16-32K)或多并发对外服务(vLLM/Ollama):KV Cache 能轻松吃掉几个 GB,这是"我算好了 20G 怎么还 OOM"的常见原因。

一个直观的感受:同一个 7B Q4 模型,上下文从 4K 拉到 32K,KV Cache 大致翻 8 倍。所以"能装下"和"能用"之间,隔的就是这个变量。

做并发服务时 vLLM 的 PagedAttention 能把 KV 分页、减少碎片,详见《AI-13 vLLM 高吞吐推理引擎》。

3.3 第三步:写出完整预算

所需显存 ≈ 权重显存 ×1.1~1.2 + KV Cache + 0.5-1 GB 系统/框架底噪。

完整示例:7B Q4_K_M、4K 上下文:4.5×1.15 + 1 + 0.5 ≈ 7 GB——8GB 卡跑它舒适,但没有长上下文的余量了。下面第四节的经验表就是按这个公式批量推出来的。

3.4 量化位宽怎么选:Q4_K_M 是甜点

GGUF 家族位宽从低到高:Q2_K / Q3_K_M / Q4_K_M / Q5_K_M / Q6_K / Q8_0。以 7B 计,Q8_0 约 7-8 GB,Q4 约 4-5 GB。

Q4_K_M 是"精度-体积"的甜点:日常问答场景里,它与 int8 的差距多数人感觉不出来,体积却只有 Q8 的一半,Ollama 里很多模型的默认量化就是它。我的经验是:显存够就往高位宽选;不够就按 Q8 → Q6_K → Q5_K_M → Q4_K_M 逐级降;降到 Q3_K 及以下,乱码、复读的概率明显上升(排查思路见第六节第 3 条)。GPTQ/AWQ/bitsandbytes 这些非 GGUF 量化的完整对比,详见《AI-14 模型量化完全指南》。装 Ollama 拉取带量化后缀的模型(如 qwen2.5:7b),详见《AI-07 Ollama本地部署大模型》。

四、模型选择:经验表与实测验证

4.1 单卡各显存档位经验表(经验值)

下表是单卡经验值,口径是"含 KV、能跑起来的下限",不是严格承诺,长上下文请按低一档对待:

显存 舒适档 勉强档(短上下文)
8 GB 7B int4 13B int4
12 GB 13B int4 14B int4
16 GB 14B int8 32B int4
24 GB 32B int4 70B int4(极短上下文,CPU offload 不实用)
48 GB 70B int4 —
96 GB(A6000/A100) 70B int8 / 混合精度可玩 —

4.2 「24G 显存能跑什么?」——直接给答案表

模型 量化 权重显存 结论
7B/8B(Llama 3.1 8B、Qwen2.5 7B 等) Q8_0 / fp16 8-15 GB 非常舒适,可开长上下文
14B(Qwen2.5 14B) Q4_K_M / int8 8-15 GB 舒适
32B(Qwen2.5 32B) Q4_K_M 约 20 GB 舒适(含 KV)
70B(Llama 3.3 70B、Qwen2.5 72B) Q4_K_M 约 40 GB+ 勉强:大量层 offload 到 CPU,速度掉到个位数 tokens/s,不实用

一句话总结:24G 的甜点是 32B Q4_K_M,跑 14B 开长上下文也很舒服;70B 只能靠 offload "能跑",不值得。

给其他档位的速答:8G 选 7B Q4_K_M,把上下文压在 4K 以内;12G 直接上 13B/14B Q4;16G 要么 14B int8 保质量,要么 32B Q4 保尺寸,二选一;48G(专业卡)是 70B Q4 的舒适区;96G(A6000/A100)可以直接玩 70B int8,质量接近 fp16。如果你在做 Ollama 选型,对应到模型名就是 qwen2.5:7b、qwen2.5:14b、qwen2.5:32b 这一族(具体可用规格以 ollama.com/library 页面实时为准)。

4.3 验证:把估算和实测对一遍

估算值对不对,最可靠的方式是装完模型后看实际显存:

nvidia-smi

预期:显存列 "Used" ≈ 权重文件大小 ×1.1~1.2 + KV(对话进行中时)。用 Ollama 的话还可以看模型加载详情:

ollama ps

预期:输出已加载模型一行,含显存占用与 GPU/CPU 分层情况。若实测明显大于你的估算,先怀疑两件事:你开的上下文长度、同时进行的会话数。

五、进阶技巧

  1. 多卡切分:PyTorch 侧用 accelerate 的 device_map="auto" 可把权重自动切分到多张卡,显存加总后能跑更大的模型;vLLM 用 --tensor-parallel-size 做多卡张量并行(详见《AI-13 vLLM 高吞吐推理引擎》)。
  2. Ollama 自动层卸载:显存不够时 Ollama 会自动把装不下的层卸载到 CPU,ollama ps 里能看到 GPU/CPU 分层比例,num_gpu 参数可控制放多少层进显存。注意 offload 后速度受 CPU 内存带宽限制,70B 全 offload 通常只剩个位数 tokens/s,"能跑"不等于"实用"。 判断标准很简单:如果大部分推理时间都花在 CPU 上,生成速度会比纯 GPU 慢一个数量级以上,日常对话体验会明显"卡"。所以 offload 的正确定位是体验降级方案——机器只有 16G 显存但你就是想试试 32B/70B 的效果,用它;追求流畅,老老实实选 24G 档内的模型。
  3. 上下文就是显存:不处理长文档就别默认开 32K 上下文;服务场景用 vLLM 的 --max-model-len 把上限钉死,KV Cache 才能可控。

六、故障排查(按层定位)

# 症状(报错原文) 层 原因 解决
1 torch.cuda.OutOfMemoryError: CUDA out of memory. Tried to allocate ... 显存 模型/上下文/批处理太大 nvidia-smi 查谁占着显存;降量化位宽(Q8→Q4);降上下文长度;关掉后台占卡进程
2 vLLM:ValueError: Free GPU memory ... less than desired GPU memory utilization 显存 gpu-memory-utilization 设太高或显存被占 降到 --gpu-memory-utilization 0.85;先 nvidia-smi 清掉占用
3 模型加载成功但输出乱码、重复 量化 位宽过低(Q2/Q3)或 tokenizer 不匹配 升到 Q4_K_M 及以上;确认权重与 tokenizer 来自同一个 repo
4 CUDA error: no kernel image is available for execution on the device 框架/CUDA PyTorch 编译的 CUDA 与显卡架构不匹配 换与显卡匹配的 PyTorch wheel(用 pytorch.org 选择器)
5 CUDA driver version is insufficient for CUDA runtime version 驱动 驱动低于框架所需 CUDA 升级 NVIDIA 驱动(只升 Toolkit 没用)
6 torch.cuda.is_available() 返回 False 框架/驱动 装了 CPU 版 PyTorch,或驱动过老 重装对应 cuXXX 版 wheel;升级驱动
7 Linux 上进程突然 Killed,dmesg 出现 oom-kill 内存(RAM) 物理内存不足(CPU offload 场景),不是显存 WSL2 在 .wslconfig 加 swap=;降模型尺寸或并发

七、本篇自检清单

  • [ ] 能背出核心公式:权重显存 ≈ 参数量(B) × 每参数字节数(fp16=2B、int8=1B、int4=0.5B),再加 10-20% 框架开销
  • [ ] 能解释 KV Cache 随上下文长度与并发增长(7B 4K 单并发约 0.5-1.5 GB 量级)
  • [ ] 记住了 24G 的答案:32B Q4_K_M 舒适,70B Q4 只能 offload 勉强跑
  • [ ] 已实测核对:加载模型后 nvidia-smi 实际占用 ≈ 自己的估算值
  • [ ] 遇到 CUDA out of memory 会按顺序处理:查占用 → 降位宽 → 降上下文
  • [ ] 知道 Q4_K_M 是"精度-体积"甜点,以及低于 Q3_K 的风险

参考

相关文章
|
14天前
|
人工智能 JSON API
全网刷屏的 Jev 模型正式开放!一手实战测评 + 保姆级教程
全网爆火的 Jev 模型是什么?有什么用?怎么使用?怎么接入 AI 编程工具?效果真的好么?傻子可懂的 Jev 保姆级实战教程 + 项目实战测评来啦
8080 15
|
13天前
|
人工智能 并行计算 PyTorch
秋叶 ComfyUI 2026 整合包 v3.2 完整部署教程:Python 3.13 + Torch 2.13 全栈升级
秋叶aaaki ComfyUI 2026年8月整合包v3.2正式发布!全面升级Python 3.13.11、PyTorch 2.13.0+cu130及ComfyUI v0.30.2,原生支持MiniMax H3、Wan 2.2、Qwen-Image-2.1等2026主流音视频/图像模型,解压即用,无需环境配置。
2111 12
|
12天前
|
人工智能 测试技术 API
最近全网爆火的 Jev 到底是什么?适合干什么、怎么用,一篇讲透!
Jev是TypeSafe AI推出的“系统一模型”,不生成文本,专做毫秒级结构化决策:Choice(多选)、Score(打分)、Noul(是非概率)。响应快193倍、成本低444倍,适合工单路由、内容审核、测试定级等高频判断场景。
1804 4
最近全网爆火的 Jev 到底是什么?适合干什么、怎么用,一篇讲透!
|
11天前
|
人工智能 编解码 并行计算
MiniMax-H3 一键整合包技术文档:8G 显存运行 AI 漫剧制作 —— 角色替换 / 动作迁移 / 文图生视频部署与调参指南
MiniMax H3 是 MiniMax 开源的全模态视频生成模型,支持文/图/音/视多条件输入,输出最高2K、15秒带双声道音频视频。本文档详述其Int8量化版在8GB显存下的本地一键部署、三段式工作流(EDIT/REPLACE/CONTINUE)、参数调优及常见问题排查。(239字)
|
7天前
|
人工智能 Linux 开发者
【2026国内使用】Codex安装过程一篇讲透(Win/Mac/Linux全支持)
Codex是OpenAI推出的AI编程智能体,可读取本地项目、理解需求并自动修改代码。支持桌面GUI、命令行(CLI)及VS Code/Cursor插件三种形态,覆盖可视化操作、终端高效开发与编辑器无缝集成场景,助开发者用自然语言驱动编码全流程。(239字)
【2026国内使用】Codex安装过程一篇讲透(Win/Mac/Linux全支持)
|
26天前
|
人工智能 自然语言处理 安全
阿里云千问办公 QwenWork详细介绍:产品核心能力、典型场景、价格及常见问题解答
千问办公是阿里云推出的一站式AI办公平台,主打"不止于对话,更注重交付",依托通义千问旗舰大模型,用户一句话即可完成数据分析、PPT生成、视频剪辑等复杂任务,直接输出可用成果。产品深度打通钉钉生态与企业OA,覆盖桌面端、网页端,提供企业标准版198元/人/月等多档订阅方案,新用户注册即赠2000积分,适配工程师、HR、财务等多职业办公场景,成为能动手干活的"全能AI同事"。
3850 10
|
21天前
|
缓存 IDE Java
【保姆级】Android Studio下载、安装和汉化教程(2026最新)
Android Studio 是 Google 官方推出的免费 Android 应用开发集成环境,基于 IntelliJ IDEA,内置模拟器、调试器、性能分析及 Compose 界面工具,功能全面,文档丰富,是安卓开发首选工具。(239字)
2207 1

热门文章

最新文章