要点速览
- 权重:参数量 × 每权重位数 ÷ 8。用 MLX 的 4-bit 格式,约为每 10 亿参数 0.56 GB;8-bit 约 1.06 GB,16-bit 为 2 GB。
- 所以不算上下文,8B 模型在 4-bit 下约需 4.5 GB,32B 模型约 18 GB,70B 模型约 39 GB。
- 上下文(KV cache)另算,并随每个 token 增长:Qwen3 8B 的 32,000 个 token 上下文约占 4.8 GB,比它 4-bit 的权重还大。
- 在 Mac 上,GPU 默认可使用约 75% 的统一内存,所以 16 GB 的 Mac 约有 12 GB 可用于模型。在 PC 上,模型必须装进显卡自己的显存才能全速运行。
1规则:参数量 × 位数
模型的主体是权重:每个参数一个数。以 16 位存储时,每个占 2 字节,所以每 10 亿参数需要 2 GB。量化用更少的位来存储每个权重,模型几乎按比例缩小;在 4 位下,大多数模型的质量仍接近原版。
量化格式还会额外存一点信息,用来还原权重。Apple 的 MLX 默认每 64 个权重为一组,按模型自身的 16 位类型存一个缩放值和一个偏置(MLX),相当于每个权重多出半位。由此得到以下大小:
| 精度 | 每权重位数 | 每 10 亿参数所需 GB |
|---|---|---|
| 16-bit(原版) | 16 | 2.0 |
| 8-bit | 8.5 | 约 1.06 |
| 6-bit | 6.5 | 约 0.81 |
| 4-bit | 4.5 | 约 0.56 |
| 3-bit | 3.5 | 约 0.44 |
| 2-bit | 2.5 | 约 0.31 |
低于 4 位时,质量下降得更快。一个好的默认选择是:在留有余量的前提下,选能装下的最高精度。
2常见模型规模所需内存
| 模型规模 | 16-bit | 8-bit | 4-bit | 3-bit |
|---|---|---|---|---|
| 1B | 2 GB | 1.1 GB | 0.6 GB | 0.4 GB |
| 3B | 6 GB | 3.2 GB | 1.7 GB | 1.3 GB |
| 8B | 16 GB | 8.5 GB | 4.5 GB | 3.5 GB |
| 14B | 28 GB | 14.9 GB | 7.9 GB | 6.1 GB |
| 32B | 64 GB | 34 GB | 18 GB | 14 GB |
| 70B | 140 GB | 74.4 GB | 39.4 GB | 30.6 GB |
| 120B | 240 GB | 127.5 GB | 67.5 GB | 52.5 GB |
| 235B | 470 GB | 249.7 GB | 132.2 GB | 102.8 GB |
| 405B | 810 GB | 430.3 GB | 227.8 GB | 177.2 GB |
| 671B | 1,342 GB | 712.9 GB | 377.4 GB | 293.6 GB |
有些模型发布时就自带低精度。OpenAI 的 gpt-oss-120b 有 1,170 亿参数,其混合专家权重以 4 位格式 MXFP4 存储,因此单张 80 GB 的 GPU 就能装下(OpenAI)。具体某个模型,请打开它的页面:每个开放模型及所需的 Mac,例如 gpt-oss-120b 或 Llama 3.3 70B。
3上下文也占内存
模型在读写时,会在每一层为对话中的每个 token 保存一个键和一个值,这就是 KV cache。它的大小为 2 × 层数 × KV 头数 × 头维度 × 每个值的字节数 × token 数。
以 Qwen3 8B 为例,它有 36 层、8 个 KV 头,头维度 128,以 16 位存储(config)。即每个 token 147,456 字节:
| 上下文 | Qwen3 8B 的 KV cache(16-bit) |
|---|---|
| 8,192 个 token | 约 1.2 GB |
| 32,768 个 token | 约 4.8 GB |
| 40,960 个 token(完整上下文) | 约 6.0 GB |
像它这样使用分组查询注意力的模型,KV 头比注意力头少(8 对 32),缓存已经缩小到四分之一。量化缓存还能再省:mlx-lm 的服务器支持 --kv-bits 4(mlx-lm)。聊天用几千个 token 的上下文就够了;智能体、长文档或代码,则要预留好几 GB。
4Mac 能装下多大的模型
Mac 的内存由 CPU 和 GPU 共享,macOS 默认只让 GPU 使用其中一部分。我们的 Compare 页面按约 75% 计算;mlx-lm 的 README 介绍了在 macOS 15 或更高版本上用 sudo sysctl iogpu.wired_limit_mb=N 提高上限的方法(mlx-lm),但 macOS 和其他 App 仍需要空间。
| Mac 内存 | GPU 可用(约 75%) | 4-bit 最大模型 | 8-bit 最大模型 |
|---|---|---|---|
| 8 GB | 6 GB | 约 10B | 约 5B |
| 16 GB | 12 GB | 约 21B | 约 11B |
| 24 GB | 18 GB | 约 32B | 约 16B |
| 32 GB | 24 GB | 约 42B | 约 22B |
| 36 GB | 27 GB | 约 48B | 约 25B |
| 48 GB | 36 GB | 约 64B | 约 33B |
| 64 GB | 48 GB | 约 85B | 约 45B |
| 96 GB | 72 GB | 约 128B | 约 67B |
| 128 GB | 96 GB | 约 170B | 约 90B |
| 256 GB | 192 GB | 约 341B | 约 180B |
| 512 GB | 384 GB | 约 682B | 约 361B |
内存决定能装下什么,内存带宽决定生成多快。后一半请看本地跑大模型的最佳 Mac,所有 Mac 排行则把两者放在一起比较。
5内存、显存与统一内存
在装有显卡的 PC 上,模型只有装进显卡自己的内存(显存,VRAM)才能全速运行:RTX 5090 为 32 GB(NVIDIA)。装不下的层可以改用 PC 的系统内存运行,但这部分内存读取慢得多,模型会明显变慢。
Mac 没有独立的显存:GPU 与 CPU 读取同一块统一内存,所以 64 GB 或 128 GB 的 Mac 能装下任何单张消费级显卡都装不下的模型。现在也有少数 PC 采用同样的方式,例如 NVIDIA 的 DGX Spark 和 AMD 的 Ryzen AI Max 机器,CPU 和 GPU 共享 128 GB:见 M5 Max 对比 DGX Spark 和 M5 Max 对比 RTX 5090。
6混合专家(MoE)模型
混合专家模型把全部参数都放在内存里,但每个 token 只用其中一小部分。内存看总参数,速度看激活参数。gpt-oss-20b 有 210 亿参数,其中 36 亿为激活参数(OpenAI):它需要的内存相当于 21B 模型,生成速度却和 4B 模型差不多。
所以混合专家模型很适合 Mac:与显卡相比,Mac 的内存比带宽更充裕。Compare 为每个热门模型同时列出这两个数字。
7常见问题
- 运行 70B 模型需要多少内存?
- 4-bit 下权重约 39 GB,另加上下文:实际上需要 64 GB 或更大内存的 Mac,或多张显卡。8-bit 下约需 74 GB,也就是 128 GB 的机器。
- 16 GB 内存够跑大模型吗?
- 够,4-bit 下可运行约 14B 参数以内的模型:16 GB 的 Mac 默认给 GPU 约 12 GB。8B 模型运行流畅,还有余量给上下文。见适合 16 GB Mac 的最佳大模型。
- 8B 模型需要多少显存?
- 4-bit 约 4.5 GB,8-bit 约 8.5 GB,16-bit 约 16 GB;以 Qwen3 8B 为例,8,000 个 token 的上下文另需约 1.2 GB。
- 上下文长度会占用内存吗?
- 会。KV cache 随对话中的每个 token 增长。Qwen3 8B 在 16-bit 下每个 token 约 147 KB:32,000 个 token 约 4.8 GB。
- 能运行比内存还大的模型吗?
- 没什么实用价值。权重装不下时,系统会使用交换空间或读取更慢的内存,输出会慢得像爬。请改用更低的精度、更小的模型或混合专家模型,或者分布到多台机器上:见 Mac AI 集群。