显存是什么:容量、带宽、和内存的区别
有人在群里问:24G 显存的卡,能跑 70B 的模型吗?
答案取决于两件事:量化精度、以及你说的「24G」是不是真的 24G 可用。
但更多人卡在前一步——分不清显存和内存。这两样东西名字只差一个字,作用完全不同。
显存和内存,差在哪
| 内存(RAM) | 显存(VRAM / GPU Memory) | |
|---|---|---|
| 装什么 | 操作系统、程序、正在处理的数据 | 模型权重、激活值、KV Cache |
| 速度量级 | DDR4 双通道约 50 GB/s;DDR5 更高 | 几百 GB/s 到数 TB/s,高一个数量级 |
| 容量 | 服务器常见 64–512 GB | 单卡 16–141 GB |
| 能否升级 | 插条就能加 | 焊在卡上,不能换 |
| 不够会怎样 | 系统变慢、用 swap | 直接 OOM 报错,或被迫降精度 |
最后一行是重点:内存不够可以买条加上,显存不够只能换卡。
所以租 GPU 时「显存多少」是硬约束,不是可以事后补的。
一个能心算的公式
模型权重占显存 = 参数量 × 每参数字节数。
| 精度 | 每参数字节 | 70B 模型权重 |
|---|---|---|
| FP16 / BF16 | 2 | 140 GB |
| INT8 | 1 | 70 GB |
| INT4 | 0.5 | 35 GB |
所以:
- 70B 跑 FP16:140 GB → 一张 H200(141 GB)刚好够,但基本没有余量跑长上下文
- 70B 跑 INT8:70 GB → 一张 H100 80GB 可以,留 10 GB 给 KV Cache
- 70B 跑 INT4:35 GB → 一张 RTX 5090(32 GB)不够,两张 4090(48 GB)可以
这个算法有个前提:只是权重。实际还要加上激活值和 KV Cache,长上下文场景下这部分能占到几十 GB。
所以「刚好够」等于「不够」。
我们收录的 12 张卡,显存各是多少
| 卡 | 显存 | 定位 |
|---|---|---|
| T4 | 16 GB | 数据中心 |
| RTX 3090 / 4090 | 24 GB | 消费级 |
| A10 / L4 | 24 GB | 数据中心 |
| RTX 5090 | 32 GB | 消费级 |
| A100 40GB | 40 GB | 数据中心 |
| A6000 / L40S | 48 GB | 专业卡 / 数据中心 |
| A100 80GB / H100 80GB | 80 GB | 数据中心 |
| H200 | 141 GB | 数据中心 |
容量为 NVIDIA 官方规格,来自本站
src/data/gpu-models.js。价格与在租平台见 GPU 租用价格对比。
显存带宽:比容量更容易被忽略
容量决定「能不能装下」,带宽决定「装下之后跑多快」。
大模型推理时,每生成一个 token 都要把权重读一遍。所以解码速度大致等于:
每秒 token 数 ≈ 显存带宽 ÷ 权重字节数举个量级:带宽 1 TB/s 的卡,跑 70B INT8(70 GB 权重),理论上限约 14 token/s。同容量但带宽只有 500 GB/s 的卡,就是 7 token/s。
这也是为什么两张便宜的卡拼起来,往往跑不过一张贵的——多卡要通信,通信走的是 PCIe,带宽比显存低一到两个数量级。
怎么查自己的显存
- Linux:
nvidia-smi看 Total / Used;nvidia-smi --query-gpu=memory.total,memory.used --format=csv - Windows:任务管理器 → 性能 → GPU → 专用 GPU 内存
- 推理框架内:PyTorch 用
torch.cuda.memory_allocated()和memory_reserved(),后者才是真正占用的显存
注意一个常见误判:nvidia-smi 显示的已用显存包含了缓存,不等于模型实际需要。 想估准,要减掉 memory_reserved 里的碎片部分。
到底选多大显存
| 你的任务 | 建议显存 |
|---|---|
| 7B 模型 INT4 推理 | 8–16 GB |
| 7B FP16 / 13B INT8 | 24 GB |
| 32B INT8 | 48 GB |
| 70B INT8 | 80 GB |
| 70B FP16 | 141 GB 或双卡 |
要按自己的模型算,用显存计算器,它按参数量、精度、上下文长度逐项算。
回到开头那个问题:24G 跑 70B,只有 INT4 的 35 GB 需求勉强接近,但加上 KV Cache 就超了。想稳妥,32B INT8 是 24G 卡的上限。
你手上那张卡的显存,够跑到多大的模型?