专题篇章 · 开放权重、蒸馏与本地运行

你的电脑能跑多大的模型

选显卡或 Mac 型号实时出结论;显存换算公式、量化档位与 MoE 的显存速度错位

本页解决的问题

先给结论

「你的电脑能跑多大的模型」要解决的关键问题是什么?

选显卡或 Mac 型号实时出结论;显存换算公式、量化档位与 MoE 的显存速度错位

判断标准

让这个结论先证明自己值得留下。 把这一页当成决策工具,而不是需要背下来的定义。把概念连到一个真实任务、一个可观察结果,以及一个能改变你判断的失败上。

下一步

写下一个问题:试完这个方法后,你能用什么证据回答它?

常见误区

结论听起来很完整,却没有检查最关键的假设。

先算一次
平台
型号
精度
候选模型均为实际可下载的 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。反过来,如果显存紧张,同样占用下选一个稠密的小模型更划算。

几条免责说明

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

  • 上下文长度。这是最大的变量。你把上下文从 4K 开到 128K,KV Cache 的占用会涨好几倍,原本跑得动的模型可能就崩了。
  • 并发数量。同时处理多个请求,每个都要自己的一份中间状态。个人用一般不涉及,做服务就要重新算。
  • 量化的具体实现。同样叫 INT4,不同工具的实现细节不同,体积会有出入。
  • 系统占用。显卡还要给桌面和其他程序留一点,别按满打满算规划。

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

下一步

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

「先算一次」要放回选型约束

「最后一行的 Qwen3.8-Max 无论你怎么选都是红的,这不是列表出错。它就是 本章第三节 提到的那个宣布要开权重、但还没放出来的模型,2.4 万亿参数按上面的公式算下来要 1560 GB,把设备换成列表里最贵的那台也不够。把它留在列表里,是因为 「权重开放」和「你跑得动」是两件事 ,看到这个数字比读一句「模型很大」有用」说明,模型、许可证、接入方式和榜单都只是信息,不是脱离场景的答案。真正的选择取决于任务、数据边界、延迟、质量下限和运行成本。

先写淘汰条件,再看最高分

「需要解释的是这个系数。单纯装载权重的话,INT4 每个参数占 0.5 字节,8B 模型只要 4 GB。但模型跑起来还要额外一块地方,用来存放对话过程中积累的中间状态,也就是Harness 核心篇讲过的 KV Cache。」涉及的比较,至少要使用同一组真实输入,并同时观察正确性、失败方式、响应时间和费用。一个在公开榜单上领先的模型,可能因为许可证、隐私要求或峰值延迟不适合你的任务。

  • 带宽高,生成速度快,同尺寸模型体感明显更流畅
  • 容量是硬上限,消费级卡目前顶到 32 GB 左右
  • CPU 与 GPU 共享 统一内存,系统不允许全部划给 GPU

没有测试集,就没有可靠的赢家

以「知道能跑什么之后,下一节把它真正装起来。两个工具,命令行的 Ollama 和图形界面的 LM Studio,十分钟能跑通」为起点,选几条真正会影响决策的输入,写下一个会改变选择的反例;这比记住一次排名更能支持下一次判断。

从「先算一次」走到「公式是怎么来的」

「先算一次」先把问题落在「最后一行的 Qwen3.8-Max 无论你怎么选都是红的,这不是列表出错。它就是 本章第三节 提到的那个宣布要开权重、但还没放出来的模型,2.4 万亿参数按上面的公式算下来要 1560 GB,把设备换成列表里最贵的那台也不够。把它留在列表里,是因为 「权重开放」和「你跑得动」是两件事 ,看到这个数字比读一句「模型很大」有用」上;到了「公式是怎么来的」,讨论继续推进到「需要解释的是这个系数。单纯装载权重的话,INT4 每个参数占 0.5 字节,8B 模型只要 4 GB。但模型跑起来还要额外一块地方,用来存放对话过程中积累的中间状态,也就是Harness 核心篇讲过的 KV Cache。 系数里已经含了这部分开销 ,所以不要在外面再乘一次余量,否则会算出没有机器跑得动的结论」。两段连起来,重点就不只是记住一个结论,而是看清它成立所依赖的条件。

把这条判断带到下一个场景

做模型选择时,先用真实任务写出不能妥协的条件,再用同一组输入比较质量、失败方式、延迟、许可和成本;榜单只适合作为起点。

  • 「先算一次」:最后一行的 Qwen3.8-Max 无论你怎么选都是红的,这不是列表出错。它就是 本章第三节 提到的那个宣布要开权重、但还没放出来的模型,2.4 万亿参数按上面的公式算下来要 1560 GB,把设备换成列表里最贵的那台也不够。把它留在列表里,是因为 「权重开放」和「你跑得动」是两件事 ,看到这个数字比读一句「模型很大」有用
  • 「公式是怎么来的」:需要解释的是这个系数。单纯装载权重的话,INT4 每个参数占 0.5 字节,8B 模型只要 4 GB。但模型跑起来还要额外一块地方,用来存放对话过程中积累的中间状态,也就是Harness 核心篇讲过的 KV Cache。 系数里已经含了这部分开销 ,所以不要在外面再乘一次余量,否则会算出没有机器跑得动的结论
  • 「最后的要点」:容量优势大,高配机型能装下消费级显卡碰不到的尺寸

最后的「最后的要点」把讨论落到「容量优势大,高配机型能装下消费级显卡碰不到的尺寸」。回看这条线索时,最值得保留的是:当输入、规模或风险改变,哪些判断需要重新做一遍。

标记为已学完 阅读进度会自动记录
← 上一篇下一篇 →

继续阅读

同一条线上的下一篇。

文章讨论

读到这里,留下一个判断。

把刚想明白的地方、还没想通的问题,留给下一位一起学习的人。

正在讨论 你的电脑能跑多大的模型 开放权重、蒸馏与本地运行
3条讨论文章讨论 · 与共学社区同步
在共学社区查看
AM
Asha Morgan内容编辑
观点实践记录

我把这篇文章里的一个判断改写成了今天可以验证的小实验。比记住结论更有用的是,知道下一步要观察什么。

文章讨论7 有帮助
LH
Lin Harper独立开发者
观点观点

读完以后我先回头找它成立的条件,而不是直接把方法搬进项目。这个顺序让后面的取舍清楚很多。

文章讨论5 有帮助
KM
Kiki Moore产品运营
问题问题

如果把这个判断放到真实工作里,最先需要补的约束是什么?我想知道从阅读到第一次实践之间,哪一步最值得先做。

文章讨论4 有帮助