硬件门槛:显存决定模型大小
[TOC] 每次有人问我自己的电脑能不能跑大模型,我的第一句话从来不是看你CPU是几代的,也不是看你内存多大的,而是问你显卡显存多大。因为本地跑大模型这件事,真正的硬门槛只有一个,那就是显存。CPU不行可以等,内存不够可以加,但显存不够,模型连加载都加载不进去。这篇就来讲清楚显存、模型大小和各种硬件之间的关系,让你能对自己的机器能跑什么有个准确预期。
显存为什么是大模型的第一道门槛
先说一个最基本的事实。大模型的参数本身就是一堆数字,一个模型有多少参数,就要在显存里存多少个数字。推理的时候,除了参数本身,还要额外的空间来存放输入的 token、中间计算结果和一个叫 KV 缓存的东西。KV 缓存会随着对话轮数增加而变大,这也是为什么有些模型聊着聊着突然变卡或者报错。
用量化的角度看,一个模型如果按最普通的 float16 精度存放,每个参数占 2 个字节,那么一个 8B 参数的模型光参数就需要大约 16GB 显存。这就是为什么大家不会直接拿原始模型跑 inference,而是用量化后的版本。量化就是用更少的数据来近似表示每个参数,牺牲少量精度换取大幅度缩小的体积。4-bit 量化下,每个参数只占大约半个字节多一点,8B 模型的参数体积就降到了 5GB 上下,一块 8GB 的显卡就能跑得动。
这里有一个重要的结论要记住:模型参数的规模决定显存需求,量化的精度决定最终体积,而你能跑多大的模型由这三者再加上 KV 缓存共同决定。下表是常见参数规模在常用量化下的大致显存占用,可以作为选型的快速参考。
| 模型参数规模 | q4 量化占用 | q8 量化占用 | float16 占用 | 建议显存 |
|---|---|---|---|---|
| 1B 到 3B | 约 1 到 2GB | 约 1.5 到 3GB | 约 2 到 6GB | 4GB 起步 |
| 7B 到 8B | 约 4 到 5GB | 约 7 到 8GB | 约 14 到 16GB | 8GB 起步 |
| 13B 到 14B | 约 8 到 9GB | 约 14GB | 约 26 到 28GB | 12GB 起步 |
| 32B 到 34B | 约 19 到 21GB | 约 33GB | 约 64GB | 24GB 起步 |
| 70B | 约 40GB | 约 74GB | 约 140GB | 48GB 或双卡 |
注意表格里的数字是参数本身的体积,实际运行还要留出 KV 缓存和系统开销。经验上留出百分之二十到三十的余量比较稳妥,所以 q4 量化的 8B 模型标称 5GB,实际想跑得舒服最好有 8GB 显存。另外,操作系统和桌面环境本身也会占用一部分显存,Windows 下浏览器开几个标签页就能吃掉一两个GB,这些都要算进去。
不够显存时会发生什么
显存不够的结果是很直接的。如果你曾经见过运行大模型时屏幕突然花屏、程序报错退出、或者屏幕上的窗口变成了乱码色块,那就是显存爆了。这时候模型根本没法推理,连第一句话都吐不出来。
不过软件也在不断进化。Ollama 处理显存不足的方式叫做部分卸载,把放不下的层放到系统内存里,用CPU来算这些层。这样做的好处是模型至少能动起来,代价是速度会明显下降。对于偶尔跑一下大模型的场景,慢一点总比跑不了强。但如果你打算长期使用,还是应该选择显存能完全装下的模型,把所有层都放在GPU上跑。
另外要提一句的是,不同架构的模型即使参数量相同,显存占用也不会完全一样,而且新的架构往往在KV缓存上做了优化,同样显存能支持更长的上下文。上面的表格用于早期估算没有问题,具体到某个模型,最准确的方法还是下载下来跑一下,用 nvidia-smi 看实际占用。
关于 KV 缓存再多说两句,因为它是最容易被忽视的显存杀手。对话越长、上下文越大,缓存占的显存就越多,增长幅度相当可观。同样是 8B 模型,短问答可能总共才用 6GB 显存,但塞进去一篇几万字的长文档,显存占用可能翻着倍往上走。所以规划显存时除了看模型体积,还要按自己最长的上下文场景留出余量。如果你主要做长文档处理,宁可牺牲一点量化精度也要留足缓存空间。
CPU 推理:慢,但能保命
很多人入门时只有核显甚至没有独立显卡,这时候不用着急买卡。Ollama 完全支持纯 CPU 推理,模型全部放在内存里计算。8B 的 q4 模型只需要 5GB 多内存,现在的主流电脑几乎没有跑不起来的。
CPU 推理的问题只有两个字:速度。CPU 的计算方式和显卡不同,它要在几个核心里串行处理大量矩阵运算。实际表现是,8B 模型在中端 CPU 上每秒能输出 5 到 15 个 token,相当于一分钟两百到九百个字,看短回答还行,长文档生成等得人想睡觉。相比之下,一块普通游戏显卡跑同样的模型能到每秒 30 到 60 个 token,体验完全不同。
CPU 推理适合两种情况。一种是临时救急,比如出门只带了轻薄本,又必须用一下模型;另一种是验证流程,你想先跑通一个完整的链路、调好提示词,再回到有显卡的机器上正式使用。如果你属于高频使用,CPU 真的只是过渡方案。
说到这里不得不提苹果的 M 系列芯片。它既不是纯 GPU 也不是纯 CPU 的路线,而是靠统一内存让核显直接访问大内存。实际效果是,一台 32GB 内存的 Mac 跑 8B 模型可以跑到每秒二三十个 token,比大多数 Windows 笔记本的独立显卡体验还好,安静且省电。很多玩家现在的首选入门机器居然是 Mac mini,这在几年前是不可想象的。
正因为硬件路线差异这么大,所以选机器之前一定要先想清楚自己打算跑多大的模型。拿不准的话,去对照一下本文前面那张显存表,把目标模型的显存需求乘以一点三当作余量,就是你需要的显存下限。如果还想深入了解不同模型的差异,可以看模型怎么选:参数、量化和能力差异。
内存和硬盘这些配件也不能太差
虽然显存是第一门槛,其它配件也不是完全没有要求。先说内存,如果走纯 CPU 推理,内存至少要 16GB,推荐 32GB,因为模型参数要完整放进内存,系统本身和浏览器还要占用一部分。如果走 GPU 推理,内存要求相对宽松,但也不能太小,因为操作系统和你跑的其它程序需要空间,而且部分层卸载时也要用到内存。
硬盘方面,机械硬盘是不行的,必须用固态硬盘。原因不是读写速度,而是模型加载时间。一个 5GB 的模型从机械硬盘读到内存需要好几十秒甚至更久,每次启动都要等这么久非常折磨人;固态硬盘只要两三秒。另外模型文件会越攒越多,一个 8B 模型 5GB,一个 70B 模型就是 40GB 起步,硬盘空间至少留 200GB 给模型库比较踏实。
电源和散热属于老生常谈但容易被忽略的部分。跑大模型的时候显卡会长时间处于高负载,功耗墙顶满,杂牌电源或者积灰严重的散热在这个时候容易出问题。如果你打算让模型二十四小时挂在后台跑,稳定性的投资比跑分重要得多。
网络方面反而是最不用担心的。模型下载一次就可以反复用,之后完全离线运行。需要联网的只有更新模型和拉取新模型的时候,所以即便是带宽很小的环境也不影响日常使用。不过在第一次下载模型时,5GB 的文件在慢速网络下可能要等挺久,建议找个网络好的时候一次性下完。
显示器和键鼠这些就跟大模型没关系了,按你自己的习惯来。唯一值得提的是,如果你经常盯着生成的文字看,一台护眼点的屏幕比什么都实在。
笔记本和工作站怎么选
很多人入门的第一个问题是:我是用手头的笔记本跑,还是专门配一台机器?答案取决于你的使用强度。
笔记本的优势是一机多用、不占地方,劣势是显卡往往是功率受限的移动端,显存也普遍只有几个GB,长时间高负载下散热压力很大,跑模型的时候风扇响得像起飞。而且笔记本的显卡不能升级,显存多大就是多大。所以笔记本适合轻度使用、临时使用,以及那些本来就打算换电脑、直接买游戏本的人。
工作站或者台式机的优势是可选大显存显卡、散热好、能长期稳定运行、还能后续换卡升级。如果你确定要长期玩下去,配一台专门的台式机是明显更好的选择。预算优先的方案是买一块大显存的中端卡加普通的其余配置;不差钱的可以直接上专业卡,显存给到几十GB,大模型随便挑。
还有一个选择是用云服务器租显卡,按小时计费。这种方式适合临时跑个大模型验证一下,长期算下来比买卡贵,但胜在不需要硬件投入和维护。不少人会租云服务器跑通流程、确认效果,再决定要不要自己买卡。相关的部署方式在安装 Ollama:Windows、Mac 和 Linux里都覆盖到了。
关于显存的一些常见误区
第一个误区是显存越大模型越聪明。不是的,模型聪不聪明取决于参数量和训练质量,显存只是决定能不能装下。一块 24GB 的卡跑 8B 模型和一块 8GB 的卡跑 8B 模型,智商是一样的,前者只是能多塞些上下文或者多开几个模型。
第二个误区是我只有 4GB 显存所以什么都跑不了。4GB 显存其实可以跑很多小模型,现在 1B 到 3B 规模的小模型做得越来越好,日常回答简单问题完全够用,速度快得飞快。入门千万不要一上来就被大模型劝退。
第三个误区是以为可以靠多张小卡拼出一张大卡的效果。多卡确实可以把模型分摊开,但通信开销会比单卡大不少,而且并不是所有推理引擎都支持得很好。预算有限的时候,买显存尽可能大的单卡通常比买两台中端机更划算。
第四个误区是忽视操作系统自身的显存占用。Windows 的桌面合成、浏览器硬件加速、甚至输入法,都在悄悄吃显存。有些新手发现书上写着 5GB 能跑的模型,自己的 8GB 卡却老是爆显存,百思不得其解,其实就是这些后台程序占掉了两三个GB。学会看任务管理器里的 GPU 占用,是本地玩大模型的基本功。
第五个误区是盲目追求大模型。看到网上的评测觉得 70B 才过瘾,结果自己的机器分层运行到几乎不可用,体验糟糕还怪模型不行。正确的姿势是从自己硬件能完整装下的最大模型开始,先把流程跑顺,再考虑向上试探。舒服的体验比虚高的参数重要得多。
常见问题
我的显卡是 8GB 显存,能跑 8B 模型吗
能,但要选对量化版本。8B 模型的 q4 量化版占用 5GB 左右,加上 KV 缓存和系统开销,8GB 显存是够用的,这也是目前最主流的入门配置。如果你还想边跑模型边开浏览器或者玩游戏,可能会感觉紧张,这时候可以把上下文长度调小一些,或者干脆让 Ollama 自动分层。
M 系列芯片的 Mac 能跑吗,显存怎么算
苹果的 M 系列芯片是统一内存架构,CPU 和 GPU 共享同一块内存,所以 Mac 不存在所谓显存的概念,内存多大显存就多大。一台 32GB 内存的 Mac mini 可以跑 24GB 以下的大部分量化模型,而且 Ollama 对苹果芯片有专门优化, Metal 加速下的速度相当不错。这也是为什么 Mac 现在是本地跑大模型的热门选择之一。
显存爆了报错怎么办
先确认是不是真的显存不足。Windows 下可以用任务管理器看 GPU 占用,Linux 下用 nvidia-smi。如果确实是显存问题,有三条路可以走:换更小的量化版本降低体积、缩短上下文长度减少 KV 缓存、或者让模型分层运行牺牲速度。另外记得关掉占显存的其它程序,有时候只是浏览器吃掉了资源。
老显卡值不值得买来跑模型
看价格。前几代的旗舰卡比如某些 24GB 型号,二手价格已经降到很低的水平,跑 30B 级别的模型毫无压力,属于性价比极高的选择。买之前注意确认显存版本和散热状况,矿卡要谨慎,长期高负载的卡显存颗粒可能已经老化。如果不着急,等新卡降价也是不错的选择。
支持 AMD 显卡吗
支持,而且比前几年好很多。Ollama 的底层运行时对 AMD 的 ROCm 平台做了适配,主流的 AMD 显卡基本都能用上 GPU 加速。Linux 下支持最完善,Windows 下也在持续改进。不过实事求是地说,生态成熟度还是和 NVIDIA 有差距,偶尔会遇到特定型号的兼容问题。如果你的唯一目的就是跑大模型,闭着眼睛选 NVIDIA 省心;如果手头已经有 AMD 卡,完全可以先用起来,不用急着换。
多开几个模型同时跑需要多少显存
简单理解就是各算各的再相加。两个 8B 模型同时加载到显存,就需要两份显存空间,那些吹嘘能共享参数的优化手段对小模型意义不大。实际操作中不建议同时驻留太多模型,Ollama 的按需加载机制会在新模型上来时自动回收不活跃的模型,配合默认几分钟的空闲卸载策略,日常使用体感和一直驻留差别不大,显存压力却小得多。
