开源专题 · 在自己的机器上跑起来

你的电脑能跑多大的模型

前面讲的都是概念,这一节动手。选一下你的显卡或者 Mac 型号,直接看结论。看完你会发现,本地跑模型的门槛比大多数人想的低。

先算一次
平台
型号
精度
候选模型均为实际可下载的 Apache 2.0 权重。换算为估算值,用途是帮你判断可行性,不能替代实测。

最后一行的 Qwen3.8-Max 无论你怎么选都是红的,这不是列表出错。它就是本章第三节提到的那个宣布要开权重、但还没放出来的模型,2.4 万亿参数按上面的公式算下来要 1560 GB,把设备换成列表里最贵的那台也不够。把它留在列表里,是因为「权重开放」和「你跑得动」是两件事,看到这个数字比读一句「模型很大」有用。

公式是怎么来的

上面的结论不是查表查出来的,就一个乘法:

需要的显存(GB)≈ 参数量(B)× 精度系数
举例:8B 模型跑 INT4,8 × 0.65 ≈ 5.2 GB

需要解释的是这个系数。单纯装载权重的话,INT4 每个参数占 0.5 字节,8B 模型只要 4 GB。但模型跑起来还要额外一块地方,用来存放对话过程中积累的中间状态,也就是Harness 核心篇讲过的 KV Cache。系数里已经含了这部分开销,所以不要在外面再乘一次余量,否则会算出没有机器跑得动的结论。

四个精度档位

量化就是用更少的位数去存每个参数。位数越少体积越小,代价是精度损失。

FP32
× 4.0
全精度。基本只在训练时用,本地推理没人这么跑。
FP16
× 2.6
半精度。模型发布时的原始格式,质量的基准线。
INT8
× 1.3
体积减半,质量损失通常察觉不到。显存够的话是个稳妥选择。
INT4
× 0.65
体积只有原来的四分之一。多数日常任务上感受得到但可接受。
本地跑最常用

你可以在上面的计算器里把精度从 FP16 切到 INT4,看能跑的型号变化。量化是把本地部署门槛拉低最有效的一招,一张 8 GB 的显卡跑不动 FP16 的 8B 模型,换成 INT4 就轻松了。

精度掉了,到底掉在哪

「位数少了会有损失」这句话谁都会说,但损失究竟发生在哪一步?量化做的事情其实只有一件:把原本连续的权重,四舍五入到有限个档位上。位数决定了有多少个档位可用——4 位就是 16 档,8 位是 256 档。档位越少,每个权重被挪动的距离越远。

换一档精度,看同一批权重被挪到哪里去。
精度

INT4 那一档有两处值得停一下。一是绝对值最小的几个权重被四舍五入之后正好落在 0 上,这些参数在量化后的文件里不再起任何作用;模型里这样的小权重数量庞大,单个都不重要,合起来却承担着不少细节。二是刻度尺上的点变少了——那不是点丢了,是几个原本不同的权重被挤到了同一个档位上。16 个档位装不下那么多种取值,只能让它们共用一个数,原来的区别就没有了。

一个 6.7% 的误差,怎么变成看得见的掉分

权重挪一点点,为什么会影响回答质量?因为模型每写一个词,都是在一堆候选里挑分数最高的那个。大多数时候第一名遥遥领先,挪一点无所谓;但总有些时候前两名咬得很紧,这时一点点扰动就足以让它们换位。

精度
推理步数
上面两个实验,一半是精确计算,一半是示意,这里说清楚哪是哪。档位数、步长、舍入误差、以及每个权重被挪到哪个值,都是由量化的定义直接算出来的,你可以自己验算。而候选概率、扰动幅度、以及最后那条推理链,是为了说明机制而构造的示意,不是任何模型的实测掉分。真实的误差如何从权重传到输出,取决于模型结构和具体的量化实现(分组大小、是否保留敏感层的高精度等),没有一个通用公式。链条概率还假设了各步独立,而真实推理前后相关,所以这个数只能用来理解「为什么步数越多越危险」,不能拿去当预期准确率。
这就是为什么量化的损失不是均匀分布的。日常问答、总结、改写这类任务上 INT4 基本够用——它们大多一两步就出结果,就算某个词换了个近义词也不影响你读懂。但需要长链条推理、精确计算的任务不一样,前面错一步,后面全跟着错。要求高的场景,宁可选小一号的模型跑 INT8,也别选大一号的跑 INT4。
两种硬件,两套逻辑

NVIDIA 显卡

  • 显存独占,标称多少基本就能用多少
  • 带宽高,生成速度快,同尺寸模型体感明显更流畅
  • 容量是硬上限,消费级卡目前顶到 32 GB 左右
  • 软件生态最成熟,遇到问题基本都能搜到解法

Apple Silicon

  • CPU 与 GPU 共享统一内存,系统不允许全部划给 GPU
  • 计算器里按可分配的约 75% 折算,这是保守估计
  • 容量优势大,高配机型能装下消费级显卡碰不到的尺寸
  • 带宽通常不及同价位独显,大模型上生成速度会慢一些

简单说:NVIDIA 拼速度,Apple 拼容量。如果你想跑 30B 以上的模型,一台大内存的 Mac 往往比消费级显卡更现实;如果追求响应速度,独显更合适。

统一内存的 GPU 可用比例在 macOS 上可通过 iogpu.wired_limit_max 调整,75% 是默认情况下的保守估计,不是硬上限。
MoE 模型的特殊之处

结果列表里带 A 字样的是 MoE 模型,比如 Qwen3-30B-A3B,意思是总参数 30B、每次实际激活 3B。这类模型有个容易踩的坑:

显存按总参数算,速度按激活参数算。30B 的 MoE 模型你得准备装下 30B 的显存,但它跑起来的速度接近 3B。占地方大,跑得快。

这意味着 MoE 特别适合显存充裕但希望响应快的场景,比如大内存的 Mac。反过来,如果显存紧张,同样占用下选一个稠密的小模型更划算。

几条免责说明

上面所有数字都是估算,实际占用还会受这几个因素影响:

所以计算器给的是可行性判断,不是精确预算。结论是「勉强」的时候,就当作跑不动来准备。

下一步

知道能跑什么之后,下一节把它真正装起来。两个工具,命令行的 Ollama 和图形界面的 LM Studio,十分钟能跑通。