CanRun

Apple M4 Pro 能运行 Llama 3.1 8B 吗?

运行流畅Q4_K_M 可装入统一内存(GPU 可用 16.8 GB,占用 6.6 GB):运行流畅,估算 34.6 tok/s(27.7–41.5,校准估算 ±20%)。

统一内存:默认设置下 GPU 大约可以使用其中的 70%自定义许可证 · Llama 3.1,商用前请先查看条款社区 GGUF · bartowski

24 GB 统一内存 · 273.0 GB/s · FP16 8.1 TFLOPS。 按 8k 上下文和 f16 KV 缓存计算。判定按内存容量分别列出。

不同内存容量下的判定

本页使用 24 GB 配置;下面列出所有容量。

  • 24 GB运行流畅估算 34.6 tok/s(27.7–41.5,校准估算 ±20%)(本页采用)
  • 48 GB运行流畅估算 34.6 tok/s(27.7–41.5,校准估算 ±20%)
  • 64 GB运行流畅估算 34.6 tok/s(27.7–41.5,校准估算 ±20%)

Apple M4 Pro 上 Llama 3.1 8B 的全部量化

4 个已收录的 GGUF 文件,从小到大排列,8k 上下文
量化文件大小判定速度显存/内存运行方式备注
Q2_K3.18 GB运行流畅
估算 48.8 tok/s39.0–58.5校准估算 ±20%
4.8 / 16.8 GB统一内存—
IQ4_XS4.45 GB运行流畅
估算 37.6 tok/s30.0–45.1校准估算 ±20%
6.1 / 16.8 GB统一内存—
Q4_K_M基准4.92 GB运行流畅
估算 34.6 tok/s27.7–41.5校准估算 ±20%
6.6 / 16.8 GB统一内存—
Q8_08.54 GB运行流畅
估算 21.6 tok/s17.3–25.9校准估算 ±20%
10.2 / 16.8 GB统一内存—

Q4_K_M 下的内存占用

权重、KV 缓存和计算缓冲区属于模型;OS 预留是显示驱动占用的部分。
统一内存
权重
4.9 GB
KV 缓存
1.1 GB
计算缓冲区
0.6 GB
空闲
10.2 GB
GPU 不可用
7.2 GB

上下文长度与 KV 缓存

KV 缓存

Q4_K_M 下各上下文长度和 KV 缓存类型所需的内存与判定,以及估算速度(tok/s)。
上下文KV f16KV q8_0KV q4_0
4k
6.0 GB运行流畅
估算 38.0 tok/s30.4–45.6校准估算 ±20%
5.7 GB运行流畅
估算 39.8 tok/s31.9–47.8校准估算 ±20%
5.6 GB运行流畅
估算 40.9 tok/s32.7–49.1校准估算 ±20%
8k
6.6 GB运行流畅
估算 34.6 tok/s27.7–41.5校准估算 ±20%
6.1 GB运行流畅
估算 37.8 tok/s30.2–45.3校准估算 ±20%
5.8 GB运行流畅
估算 39.7 tok/s31.8–47.6校准估算 ±20%
16k
7.7 GB运行流畅
估算 29.4 tok/s23.5–35.2校准估算 ±20%
6.7 GB运行流畅
估算 34.2 tok/s27.3–41.0校准估算 ±20%
6.2 GB运行流畅
估算 37.5 tok/s30.0–45.0校准估算 ±20%
32k
10.0 GB运行流畅
估算 22.5 tok/s18.0–27.0校准估算 ±20%
8.0 GB运行流畅
估算 28.7 tok/s23.0–34.5校准估算 ±20%
6.9 GB运行流畅
估算 33.8 tok/s27.0–40.5校准估算 ±20%
64k
14.6 GB运行良好
估算 15.4 tok/s12.3–18.4校准估算 ±20%
10.6 GB运行流畅
估算 21.8 tok/s17.4–26.2校准估算 ±20%
8.5 GB运行流畅
估算 28.2 tok/s22.5–33.8校准估算 ±20%
128k
23.8 GB装不下
15.8 GB运行良好
估算 14.7 tok/s11.8–17.6校准估算 ±20%
11.5 GB运行流畅
估算 21.1 tok/s16.9–25.4校准估算 ±20%

S = 运行流畅 · A = 运行良好 · B = 运行较慢 · F = 无法运行

在 Q4_K_M 下,判定仍为“运行流畅”的上下文上限:f16 KV 缓存为 32k,q8_0 为 64k。

估算速度

生成
估算 34.6 tok/s(27.7–41.5,校准估算 ±20%)
提示词处理
约 390 tok/s(234–546,粗略估算 ±40%)

这一组合的实测结果

这一组合还没有公开的实测结果;上面的数字都是估算。

如果这还不够

运行方法

以下命令使用 Q4_K_M 文件。两个工具都会在首次运行时从 Hugging Face 下载。

文件:Meta-Llama-3.1-8B-Instruct-Q4_K_M.gguf(4.92 GB),来自 bartowski/Meta-Llama-3.1-8B-Instruct-GGUF。

llama.cpp
llama-server -hf bartowski/Meta-Llama-3.1-8B-Instruct-GGUF:Q4_K_M -c 8192 -ngl all -fa on
  • -ngl all 把所有层都加载到 GPU 上。
  • -fa on 开启 Flash Attention(量化 KV 缓存时需要)。
  • --cache-type-k q8_0 --cache-type-v q8_0 可将 8k 上下文下的 KV 缓存缩小到 0.57 GB。
Ollama

终端:

OLLAMA_CONTEXT_LENGTH=8192 ollama serve
ollama run hf.co/bartowski/Meta-Llama-3.1-8B-Instruct-GGUF:Q4_K_M
  • 在显存低于 24 GB 的 GPU 上,Ollama 默认使用 4k 上下文。可在启动服务器时设置 OLLAMA_CONTEXT_LENGTH,或在对话中使用 /set parameter num_ctx。
  • /set parameter num_ctx 8192

相关页面

常见问题

Apple M4 Pro 能运行 Llama 3.1 8B 吗?

Q4_K_M 可装入统一内存(GPU 可用 16.8 GB,占用 6.6 GB):运行流畅,估算 34.6 tok/s(27.7–41.5,校准估算 ±20%)。Q4_K_M 在 8k 上下文下需要 6.6 GB;GPU 可使用的统一内存为 16.8 GB。

Llama 3.1 8B 在 Apple M4 Pro 上最多能用多长的上下文?

在 Q4_K_M 下,判定仍为“运行流畅”的上下文上限:f16 KV 缓存为 32k(KV 4.3 GB),q8_0 KV 缓存为 64k(KV 4.6 GB)。该模型最多支持 128k 上下文。

该用哪个量化?速度如何?

Q4_K_M(4.92 GB)是推荐的平衡之选:运行流畅,估算 34.6 tok/s(27.7–41.5,校准估算 ±20%)。仍能达到“运行流畅”的已收录最大文件是 Q8_0(8.54 GB),估算 21.6 tok/s(17.3–25.9,校准估算 ±20%)。

速度是根据内存带宽得出的估算值,并用公开基准测试结果校准,每个数值都附有误差范围和可信度标签。实际结果会因驱动、后端、上下文长度和散热情况而有所不同。