本地大模型

Mac Studio 跑本地大模型:
先算清内存

在 Apple 芯片上跑开源大模型,能跑多大几乎只由统一内存决定。这篇给出一个够用的估算方法、三档 Mac Studio 大致能跑的模型规模,以及 Ollama、LM Studio、MLX 怎么选。

三万主机 · 更新于

01 / MEMORY

为什么只看统一内存

Apple 芯片的 CPU 和 GPU 共用同一块统一内存,模型权重加载进来后 GPU 可以直接计算,不需要像独立显卡那样受显存大小限制。所以「能不能跑」主要看内存够不够,「跑多快」再看 GPU 核心数和内存带宽。

02 / ESTIMATE

一个够用的估算方法

模型权重占用 ≈ 参数量 × 每个参数的字节数。常见量化下,每十亿(1B)参数大约占:

  • 4-bit 量化:约 0.55–0.6 GB
  • 8-bit 量化:约 1.05–1.1 GB
  • 16-bit(未量化):约 2 GB

例如 70B 模型 4-bit 约 40 GB,8-bit 约 75 GB。在权重之外,还要给上下文缓存(KV cache,随上下文长度增长)留几 GB 到十几 GB,并给 macOS 和其他程序留出空间。macOS 默认只允许 GPU 使用一部分统一内存(大约三分之二到四分之三),估算时以这个上限为准。

03 / TIERS

三档 Mac Studio 大致能跑什么

统一内存GPU 默认可用(约)大致可运行
36 GB约 24–27 GB14B 级 8-bit、30B 级 4-bit;适合代码补全和日常对话模型
64 GB约 48 GB30B 级 8-bit、70B 级 4-bit(上下文需要收着用)
96 GB约 72 GB70B 级 4-bit 留足上下文,或 70B 级 6-bit;可同时加载多个中小模型

以上为粗略估计,实际取决于具体模型、量化格式和上下文长度。

04 / TOOLS

Ollama、LM Studio、MLX 怎么选

Ollama:命令行加本地 API,一条命令下载并运行模型,最适合在远程 Mac 上作为常驻服务给其他程序调用。LM Studio:图形界面,适合通过远程桌面试用和比较模型。MLX:Apple 的机器学习框架,mlx-lm 能直接运行和微调 MLX 格式的模型,在 Apple 芯片上效率较好。

brew install ollama
ollama serve &              # 启动本地服务(默认 127.0.0.1:11434)
ollama run <模型名>          # 下载并运行一个模型

pip install mlx-lm
mlx_lm.generate --model <Hugging Face 上的 MLX 模型> --prompt "你好"

远程使用时,让服务只监听本机,再通过 SSH 端口转发(ssh -L 11434:127.0.0.1:11434 你的机器)在本地调用,不要把模型服务直接暴露到公网。

05 / LIMIT

需要时调高 GPU 可用内存

模型刚好差一点放不下时,可以临时调高 GPU 可占用的内存(单位 MB,重启后恢复默认)。例如 96 GB 机器给 GPU 80 GB:

sudo sysctl iogpu.wired_limit_mb=81920

留给系统的内存太少会导致整机卡顿甚至需要重启,建议至少保留 8–16 GB。

FAQ

常见问题

Mac 跑大模型和 NVIDIA 显卡比怎么样?

Apple 芯片的优势是统一内存大:同样预算下能装下更大的模型。在生成速度和训练上,高端 NVIDIA 显卡通常更快。如果目标是在一台机器上运行大参数量模型做推理,Mac Studio 很合适;大规模训练还是 GPU 服务器更合适。

估算公式准吗?

只是粗略估计。不同量化格式(GGUF、MLX 等)、模型结构和上下文长度都会影响实际占用。先按估算选档位,再用 Activity Monitor 或工具自带的统计看真实内存占用。

能调高 GPU 可用内存吗?

可以通过 sysctl 的 iogpu.wired_limit_mb 调高 GPU 可占用的内存上限,但要给系统和其他程序留出余量,设置在重启后失效。需要管理员权限,三万主机交付的账户可以执行。

微信
微信客服二维码扫码加微信客服手机上长按二维码识别
Telegram 客服