CanRun

Apple M4 能运行 Gemma 3 12B 吗?

运行良好Q4_K_M 可装入统一内存(GPU 可用 11.2 GB,占用 8.4 GB):运行良好,估算 11.6 tok/s(9.3–14.0,校准估算 ±20%)。

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

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

不同内存容量下的判定

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

  • 16 GB运行良好估算 11.6 tok/s(9.3–14.0,校准估算 ±20%)(本页采用)
  • 24 GB运行良好估算 11.6 tok/s(9.3–14.0,校准估算 ±20%)
  • 32 GB运行良好估算 11.6 tok/s(9.3–14.0,校准估算 ±20%)

Apple M4 上 Gemma 3 12B 的全部量化

4 个已收录的 GGUF 文件,从小到大排列,8k 上下文
量化文件大小判定速度显存/内存运行方式备注
Q2_K4.77 GB运行良好
估算 17.2 tok/s13.7–20.6校准估算 ±20%
5.9 / 11.2 GB统一内存—
IQ4_XS6.55 GB运行良好
估算 12.9 tok/s10.3–15.4校准估算 ±20%
7.7 / 11.2 GB统一内存—
Q4_K_M基准7.30 GB运行良好
估算 11.6 tok/s9.3–14.0校准估算 ±20%
8.4 / 11.2 GB统一内存—
Q8_012.51 GB无法运行—约需 13.6 GB;可用内存 12.0 GB(其中 GPU 可用 11.2 GB)——

Q4_K_M 下的内存占用

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

上下文长度与 KV 缓存

KV 缓存

Q4_K_M 下各上下文长度和 KV 缓存类型所需的内存与判定,以及估算速度(tok/s)。
上下文KV f16KV q8_0KV q4_0
4k
8.1 GB运行良好
估算 12.1 tok/s9.6–14.5校准估算 ±20%
8.0 GB运行良好
估算 12.3 tok/s9.8–14.7校准估算 ±20%
7.9 GB运行良好
估算 12.4 tok/s9.9–14.8校准估算 ±20%
8k
8.4 GB运行良好
估算 11.6 tok/s9.3–14.0校准估算 ±20%
8.2 GB运行良好
估算 12.0 tok/s9.6–14.4校准估算 ±20%
8.0 GB运行良好
估算 12.2 tok/s9.8–14.7校准估算 ±20%
16k
9.0 GB运行良好
估算 10.9 tok/s8.7–13.1校准估算 ±20%
8.5 GB运行良好
估算 11.6 tok/s9.3–13.9校准估算 ±20%
8.3 GB运行良好
估算 12.0 tok/s9.6–14.4校准估算 ±20%
32k
10.2 GB运行良好
估算 9.7 tok/s7.7–11.6校准估算 ±20%
9.2 GB运行良好
估算 10.8 tok/s8.6–13.0校准估算 ±20%
8.7 GB运行良好
估算 11.5 tok/s9.2–13.8校准估算 ±20%
64k
11.6 GB运行较慢
估算 5.2 tok/s3.6–6.7理论估算 ±30%
10.7 GB运行良好
估算 9.5 tok/s7.6–11.4校准估算 ±20%
9.6 GB运行良好
估算 10.7 tok/s8.6–12.8校准估算 ±20%
128k
17.6 GB装不下
11.9 GB运行较慢
估算 5.0 tok/s3.5–6.6理论估算 ±30%
9.7 GB运行较慢
估算 6.2 tok/s4.3–8.0理论估算 ±30%

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

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

估算速度

生成
估算 11.6 tok/s(9.3–14.0,校准估算 ±20%)
提示词处理
约 121 tok/s(73–170,粗略估算 ±40%)

这一组合的实测结果

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

如果这还不够

运行方法

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

文件:google_gemma-3-12b-it-Q4_K_M.gguf(7.30 GB),来自 bartowski/google_gemma-3-12b-it-GGUF。

llama.cpp
llama-server -hf bartowski/google_gemma-3-12b-it-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.29 GB。
Ollama

终端:

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

相关页面

常见问题

Apple M4 能运行 Gemma 3 12B 吗?

Q4_K_M 可装入统一内存(GPU 可用 11.2 GB,占用 8.4 GB):运行良好,估算 11.6 tok/s(9.3–14.0,校准估算 ±20%)。Q4_K_M 在 8k 上下文下需要 8.4 GB;GPU 可使用的统一内存为 11.2 GB。

Gemma 3 12B 在 Apple M4 上最多能用多长的上下文?

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

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

Q4_K_M(7.30 GB)是推荐的平衡之选:运行良好,估算 11.6 tok/s(9.3–14.0,校准估算 ±20%)。它也是达到这一判定的已收录最大文件。

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