Apple M4 能运行 Llama 3.1 8B 吗?
运行良好Q4_K_M 可装入统一内存(GPU 可用 11.2 GB,占用 6.6 GB):运行良好,估算 15.2 tok/s(12.2–18.3,校准估算 ±20%)。若降到 Q2_K(质量损失大),可达到“运行流畅”,估算 21.4 tok/s(17.2–25.7,校准估算 ±20%)。
16 GB 统一内存 · 120.0 GB/s · FP16 3.8 TFLOPS。 按 8k 上下文和 f16 KV 缓存计算。判定按内存容量分别列出。
不同内存容量下的判定
本页使用 16 GB 配置;下面列出所有容量。
- 16 GB运行良好估算 15.2 tok/s(12.2–18.3,校准估算 ±20%)Q2_K(质量损失大):运行流畅(本页采用)
- 24 GB运行良好估算 15.2 tok/s(12.2–18.3,校准估算 ±20%)Q2_K(质量损失大):运行流畅
- 32 GB运行良好估算 15.2 tok/s(12.2–18.3,校准估算 ±20%)Q2_K(质量损失大):运行流畅
Apple M4 上 Llama 3.1 8B 的全部量化
| 量化 | 文件大小 | 判定 | 速度 | 显存/内存 | 运行方式 | 备注 |
|---|---|---|---|---|---|---|
| Q2_K | 3.18 GB | 运行流畅 | 估算 21.4 tok/s17.2–25.7校准估算 ±20% | 4.8 / 11.2 GB | 统一内存 | — |
| IQ4_XS | 4.45 GB | 运行良好 | 估算 16.5 tok/s13.2–19.8校准估算 ±20% | 6.1 / 11.2 GB | 统一内存 | — |
| Q4_K_M基准 | 4.92 GB | 运行良好 | 估算 15.2 tok/s12.2–18.3校准估算 ±20% | 6.6 / 11.2 GB | 统一内存 | — |
| Q8_0 | 8.54 GB | 运行良好 | 估算 9.5 tok/s7.6–11.4校准估算 ±20% | 10.2 / 11.2 GB | 统一内存 | — |
Q4_K_M 下的内存占用
- 权重
- 4.9 GB
- KV 缓存
- 1.1 GB
- 计算缓冲区
- 0.6 GB
- 空闲
- 4.6 GB
- GPU 不可用
- 4.8 GB
上下文长度与 KV 缓存
| 上下文 | KV f16 | KV q8_0 | KV q4_0 |
|---|---|---|---|
| 4k | 6.0 GB运行良好 估算 16.7 tok/s13.4–20.1校准估算 ±20% | 5.7 GB运行良好 估算 17.5 tok/s14.0–21.0校准估算 ±20% | 5.6 GB运行良好 估算 18.0 tok/s14.4–21.6校准估算 ±20% |
| 8k | 6.6 GB运行良好 估算 15.2 tok/s12.2–18.3校准估算 ±20% | 6.1 GB运行良好 估算 16.6 tok/s13.3–19.9校准估算 ±20% | 5.8 GB运行良好 估算 17.5 tok/s14.0–20.9校准估算 ±20% |
| 16k | 7.7 GB运行良好 估算 12.9 tok/s10.3–15.5校准估算 ±20% | 6.7 GB运行良好 估算 15.0 tok/s12.0–18.0校准估算 ±20% | 6.2 GB运行良好 估算 16.5 tok/s13.2–19.8校准估算 ±20% |
| 32k | 10.0 GB运行良好 估算 9.9 tok/s7.9–11.9校准估算 ±20% | 8.0 GB运行良好 估算 12.6 tok/s10.1–15.2校准估算 ±20% | 6.9 GB运行良好 估算 14.8 tok/s11.9–17.8校准估算 ±20% |
| 64k | 14.6 GB装不下 | 10.6 GB运行良好 估算 9.6 tok/s7.7–11.5校准估算 ±20% | 8.5 GB运行良好 估算 12.4 tok/s9.9–14.9校准估算 ±20% |
| 128k | 23.8 GB装不下 | 15.8 GB装不下 | 9.8 GB运行较慢 估算 6.1 tok/s4.3–7.9理论估算 ±30% |
S = 运行流畅 · A = 运行良好 · B = 运行较慢 · F = 无法运行
在 Q4_K_M 下,判定仍为“运行良好”的上下文上限:f16 KV 缓存为 32k,q8_0 为 64k。
估算速度
- 生成
- 估算 15.2 tok/s(12.2–18.3,校准估算 ±20%)
- 提示词处理
- 约 181 tok/s(109–254,粗略估算 ±40%)
这一组合的实测结果
这一组合还没有公开的实测结果;上面的数字都是估算。
如果这还不够
在 Apple M4 上同样运行良好的更大模型
运行良好Gemma 3 12B: 运行良好,估算 11.6 tok/s(9.3–14.0,校准估算 ±20%)
Llama 3.1 8B 的更低量化
运行流畅Q2_K(3.18 GB,质量损失大):运行流畅,估算 21.4 tok/s(17.2–25.7,校准估算 ±20%)
Apple M6 上运行 Llama 3.1 8B
运行流畅Q4_K_M:运行流畅,估算 21.6 tok/s(17.3–26.0,校准估算 ±20%)
运行方法
以下命令使用 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-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_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 上的其他模型
其他硬件上的 Llama 3.1 8B
常见问题
Apple M4 能运行 Llama 3.1 8B 吗?
Q4_K_M 可装入统一内存(GPU 可用 11.2 GB,占用 6.6 GB):运行良好,估算 15.2 tok/s(12.2–18.3,校准估算 ±20%)。若降到 Q2_K(质量损失大),可达到“运行流畅”,估算 21.4 tok/s(17.2–25.7,校准估算 ±20%)。Q4_K_M 在 8k 上下文下需要 6.6 GB;GPU 可使用的统一内存为 11.2 GB。
Llama 3.1 8B 在 Apple M4 上最多能用多长的上下文?
在 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)是推荐的平衡之选:运行良好,估算 15.2 tok/s(12.2–18.3,校准估算 ±20%)。仍能达到“运行良好”的已收录最大文件是 Q8_0(8.54 GB),估算 9.5 tok/s(7.6–11.4,校准估算 ±20%)。
速度是根据内存带宽得出的估算值,并用公开基准测试结果校准,每个数值都附有误差范围和可信度标签。实际结果会因驱动、后端、上下文长度和散热情况而有所不同。