想在自己电脑上跑一个 AI 大模型,十次卡壳有八次卡在同一个地方——显存不够。这一篇只回答一个问题:显存到底是什么,为什么它是跑模型的第一道门槛。
显存到底是什么:模型的工作台
显存是显卡上自带的一块高速存储。模型下载下来是一堆参数文件,加载的时候,这些参数会整份搬进显存里,之后每一次回答问题,计算核心都要反复读取它们。可以把显存想象成一张工作台:模型干活时要不停翻看每份材料,材料全部摆在触手可及的台面上,活才干得利索;台面太小,一半材料堆在地上,每次要用都得弯腰去捡,速度自然慢。
参数量越大,占的台面越大。一个 70 亿参数的模型,按 16 位精度存放就要 14GB 左右;300 亿参数的模型还要翻上几倍。所以看一张卡能不能跑某个模型,第一眼就是拿模型大小去对显存大小,对不上,后面一切都免谈。
为什么它是第一道门槛
跑大模型的各个环节里,加载是最硬的一道关。计算慢一点只是等得久,显存不够则是直接失败:要么报错退出,要么框架悄悄把放不下的部分挪进普通内存里凑合,速度立刻掉一大截,原本几秒就能出来的回答变成几十秒。
这也是很多人第一次跑开放权重模型的体验:模型文件下载完了,命令一敲,程序先报显存不足。DeepSeek、通义千问这类开放权重的模型都会在说明里标出建议配置,那行数字本质上就是在告诉你:先过显存这道门槛,再谈别的。
多大显存算够:一个粗略的估算办法
不用背表格,记住一个简单算法:参数量乘以每个参数占的字节数,再留三成余量。16 位精度每个参数占 2 字节,8 位占 1 字节,4 位占 0.5 字节。以 7B 模型为例,16 位约 14GB,8 位约 7GB,4 位约 3.5GB,再加上回答时临时存放上下文和中间结果的空间,4 位量化下一张 8GB 显存的卡勉强能跑,16 位就得 20GB 以上。
三档精度各占多少台面,按 7B 模型折算。
| 精度 | 每个参数占的字节 | 7B 模型权重占用 |
|---|---|---|
| 16 位 | 2 字节 | 约 14GB |
| 8 位 | 1 字节 | 约 7GB |
| 4 位 | 0.5 字节 | 约 3.5GB |
显存速查表
- 7B 模型:4 位约 4GB,8 位约 8GB,16 位约 16GB
- 14B 模型:数字翻倍,4 位约 8GB 起步
- 70B 模型:4 位也要 40GB 级别,单张消费卡基本无望
- 通用口诀:模型文件大小再放大三成,就是显存需求的下限
类比失效的地方
工作台这个类比有撑不住的地方。真实台面离手越远干活越慢,但显存和计算核心之间是一条专用高速通道,距离近到可以忽略,瓶颈不在距离而在通道宽度;台面上的东西可以随手挪来挪去,模型参数一旦加载却基本不动位置,每次回答时移动的是临时生成的数据;另外台面就是台面,显存却分代际和类型,不同代际的速度差距很大,这一点会在讲显存带宽的文章里展开。
带走的判断
以后看到任何本地跑大模型的教程,先别急着看步骤,先做一道乘法:模型文件多大,乘以一点三,和你显卡的显存比一比,够得上再往下读。想分清显存和普通内存各管什么,可以接着读显存和内存差在哪?跑模型先看哪个;想知道算力这个概念怎么衡量,看什么是 FLOPS?算力的计量单位;跑起来之后要花多少计算量,则在推理要多少算力?训练和推理的差别里有更细的拆解。
关于显存的三个常问问题
- 显存和显卡是一回事吗?:显卡是整块硬件,显存是它上面负责存放模型数据的那部分,类似整台车和油箱的关系。
- 显存不够,能不能用内存顶上?:能跑,但慢得多。内存和显存之间的通道窄,参数放过去之后每次读取都要走这条窄路,速度会掉一个数量级。
- 两张 8GB 卡是不是等于 16GB?:不一定。把一个模型切开放到两张卡上确实能凑出总容量,但卡与卡之间的通信会带来额外开销,处理不当反而更慢。


