本地运行大模型需要多少内存?

语言模型需要多少内存,取决于三个数字:参数有多少、每个参数用多少位存储、给它多长的上下文。下面把这笔账算清楚,覆盖常见模型规模和每一种 Mac,任何模型你都能自己算出来。

更新于

要点速览

  • 权重:参数量 × 每权重位数 ÷ 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(原版)162.0
8-bit8.5约 1.06
6-bit6.5约 0.81
4-bit4.5约 0.56
3-bit3.5约 0.44
2-bit2.5约 0.31
MLX 仿射量化,默认分组大小 64。相同精度的 GGUF 文件大小基本相同。

低于 4 位时,质量下降得更快。一个好的默认选择是:在留有余量的前提下,选能装下的最高精度。

2常见模型规模所需内存

模型规模16-bit8-bit4-bit3-bit
1B2 GB1.1 GB0.6 GB0.4 GB
3B6 GB3.2 GB1.7 GB1.3 GB
8B16 GB8.5 GB4.5 GB3.5 GB
14B28 GB14.9 GB7.9 GB6.1 GB
32B64 GB34 GB18 GB14 GB
70B140 GB74.4 GB39.4 GB30.6 GB
120B240 GB127.5 GB67.5 GB52.5 GB
235B470 GB249.7 GB132.2 GB102.8 GB
405B810 GB430.3 GB227.8 GB177.2 GB
671B1,342 GB712.9 GB377.4 GB293.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
它 4-bit 的权重约 4.6 GB(82 亿参数),所以长上下文需要的内存可能比模型本身还多。

像它这样使用分组查询注意力的模型,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 GB6 GB约 10B约 5B
16 GB12 GB约 21B约 11B
24 GB18 GB约 32B约 16B
32 GB24 GB约 42B约 22B
36 GB27 GB约 48B约 25B
48 GB36 GB约 64B约 33B
64 GB48 GB约 85B约 45B
96 GB72 GB约 128B约 67B
128 GB96 GB约 170B约 90B
256 GB192 GB约 341B约 180B
512 GB384 GB约 682B约 361B
仅为权重:请从中留出几 GB 给上下文。每种内存都链接到能在其中流畅运行的模型。

内存决定能装下什么,内存带宽决定生成多快。后一半请看本地跑大模型的最佳 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 集群。

来源

  1. MLXml-explore.github.io
  2. OpenAIhuggingface.co
  3. confighuggingface.co
  4. mlx-lmgithub.com
  5. mlx-lmgithub.com
  6. NVIDIAnvidia.com
  7. OpenAIhuggingface.co

延伸阅读