我在M4 Pro Mac Mini上的本地模型设置
摘要
作者描述了他们在M4 Pro Mac mini上的本地AI模型设置,使用诸如Qwen和Gemma的模型,配合oMLX和Tailscale等工具,以实现数据隐私、成本可预测性和离线能力。
暂无内容
查看缓存全文
缓存时间: 2026/09/01 23:45
# 我在 M4 Pro Mac mini 上的本地模型配置
来源:https://lws.io/blog/my-local-model-setup/
我在配备 48GB 内存的 M4 Pro Mac mini 上运行本地 LLM 服务器。它处理从我的 Hermes 智能体后端到手机快速聊天查询的所有事务。整个设置大约需要 30 分钟。
以下是技术栈:
- **Qwen3.6-35B-A3B-OptiQ-4bit**:我的主力模型,适用于需要推理或深度分析的所有任务
- **Gemma-4-E4B-it-OptiQ-4bit**:轻量级模型,用于简单对话、格式化和其他日常任务
- **oMLX (https://omlx.app/)**:推理服务器
- **Tailscale (https://tailscale.com/)**:将 Mac mini、iPhone 和 MacBook 连接成虚拟局域网
Hermes 作为智能体后端运行在 Mac mini 上,我的 MacBook 运行桌面客户端,手机通过 Telegram 连接。对于非 Hermes 的用途,我在 iOS 上使用 Apollo 进行快速聊天(使用体验类似 Claude,适合临时性问题),使用 Pi 作为我的编程智能体(我之前写过相关配置 (https://lws.io/blog/pi-harness-cold-start/)),在 Mac 上则通过 Raycast AI 处理各种零散需求。
## 为何要这样做?(https://lws.io/blog/my-local-model-setup/#why-bother)
使用本地模型的主要原因:云 API 是租用的土地。它们可以随时更改定价、设置使用限额,或在后台更换服务模型。我曾经常每月支付两个 200 美元的订阅费用,感觉获得的服务质量时好时坏。有时模型表现正常,有时则毫无预兆地降级。
数据隐私是另一个问题。你不知道这些公司获得你的数据后会如何处理。它们可能限制数据使用、出售数据或导致数据泄露。无论如何,这都会带来操作安全风险。如果你处理敏感代码、客户数据或专有工作流程,将其发送到第三方 API 是一次性的、不可撤销的决定。
还有一点是 AI 主权。我一直在关注美国政府如何限制各种模型的推广。任何政府都可能出于任何原因在任何时候采取类似措施,而你完全无法控制。如果你的工作流程依赖于被限制的云端模型,你就必须停止或紧急寻找替代方案。唯一的解决方法就是拥有自己的算力。
其他实际优势:
- **成本可预测性。** API 费用是可变的。你的使用量波动,账单随之变化。使用本地硬件,成本就是硬件购买费用加电费。固定费用。之后,每次推理都是免费的。
- **延迟低。** 无需网络往返意味着日常任务响应更快。M4 Pro 的媒体引擎处理推理的速度,对大多数提示词而言几乎是即时的。
- **离线能力。** 没有网络也能工作。对于在后台运行的智能体工作流程,这一点比听起来更重要。
- **无限速。** API 提供商在达到使用阈值时会限制你。你自己的设备则不在乎你运行多少任务。
## 我的实际使用方式 (https://lws.io/blog/my-local-model-setup/#how-i-actually-use-it)
Mac mini 一直处于开机状态。它放在我的桌面上,除了需要时我几乎不会注意到它。
Hermes 也运行在 Mac mini 上,使用同一台机器上的本地模型。我通过手机上的 Telegram 和 MacBook 上的 Hermes 桌面应用访问我的智能体。Hermes 桌面应用充当“外壳”,连接到另一台设备(本例中是 Mac mini)上的 Hermes 后端。这意味着我可以在所有设备上共享后端、对话历史和技能集。
然后是其他用途:
- iOS 上的 **Apollo** 用于快速临时聊天。我想要一个使用体验类似 Claude 但无需 API 密钥或订阅的服务。将 Apollo 连接到 `http://[mac-mini-tailnet-url]/v1` 即可。适合“重写这个段落”或“这个错误是什么意思”这类问题。
- **Raycast** 也在我的 Mac 上,用于我不想为此安装任何应用的各种零散事情。
- **Pi** 用于编程。之前已经写过相关配置 (https://lws.io/blog/pi-harness-cold-start/)。
目的不是替代基于 API 的模型。而是处理那 80% 不需要 GPT-5 或 Claude Opus 的请求。当我确实需要它们时,它们仍然可用。本地模型只是免费覆盖了我更多日常工作。
## 模型详解 (https://lws.io/blog/my-local-model-setup/#the-model-breakdown)
在本地运行大型模型归结为一点:它实际需要多少内存?大多数人看参数数量会产生误解,因为在消费级硬件上,稠密模型和混合专家模型(MoE)的区别至关重要。
以下是标识符解读方法:
**Qwen3.6-35B-A3B-OptiQ-4bit**
- `Qwen3.6`:模型家族和版本
- `35B`:所有专家的总参数量
- `A3B`:每个 token 的活跃参数量(30亿,而非350亿)
- `OptiQ-4bit`:混合精度量化(主要是 4 位,敏感层为 8 位)
**gemma-4-e4b-it-4bit**
- `gemma-4`:Google 的 Gemma 4 家族
- `e4b`:编码大小,总参数量约 40 亿
- `it`:经过指令微调
- `4bit`:统一 4 位量化
关键区别在于 **A3B** 部分。一个 270 亿参数的稠密模型会始终在内存中加载 270 亿参数,用于每一个 token。而像 Qwen3.6-35B-A3B 这样的 MoE 模型总共有 350 亿参数,分布在 256 个专家中,但每个 token 实际只激活约 30 亿参数。其余 320 亿参数静置在内存中不工作。
在我的 48GB Mac mini 上,4 位量化的 Qwen3.6-35B-A3B 大约占用 20GB 内存。这留下了 28GB 用于上下文窗口、操作系统和机器上运行的其他程序。Gemma-4-E4B 大约占用 2.4GB。足够小,可以保留用于那些使用完整的 20GB 模型过于复杂的简单任务。
我朋友的 MacBook Air 总共只有 16GB 内存。一个 4 位量化的 270 亿稠密模型大约需要 14GB。这几乎是机器的全部内存,除了操作系统运行所需的空间。所以它能工作一会儿,但当内存耗尽时,它就会交换到 SSD 上,体验就变得痛苦了。
MoE 模型改变了这一点。我标识符中的 350 亿模型可以运行在同一台 MacBook Air 上,因为每个 token 只有 30 亿权重实际活跃,这意味着 GPU/媒体内存占用更接近一个 60 亿稠密模型的需求。那 350 亿的总参数权重全部位于统一内存中。
**如何检查模型是否适用于你的硬件:**
- 首先查看量化后的文件大小。4 位模型的大小大约是参数数量对应的 GB 数(350 亿参数 ≈ 17-20GB,取决于量化方法)。
- 减去操作系统开销。macOS 在 Apple Silicon 上大约占用 6-8GB。
- 为上下文窗口留出空间。每几千个 token 会在 KV 缓存中增加几 MB。如果你预计进行长对话,请为 8-16GB 的开销做好规划。
- 对于 MoE 模型,总参数数量具有误导性。查看“活跃参数”数字以了解实际的推理内存需求。
- 如果你的模型加上上下文占用量,仍然能在你的可用统一内存中留有 10-15% 的缓冲空间,那就没问题。如果接近满载,就会交换到 SSD。
## 切换模型很方便 (https://lws.io/blog/my-local-model-setup/#swapping-models-is-easy)
这是没人提及的部分。你可以在新模型发布时每隔几周更换一次本地模型。实际上就是下载和重启。
工作流程:
1. 将新模型下载到 `~/models/`
2. oMLX 会从模型目录自动发现它
3. 在 oMLX 应用中选择它或重启服务器
4. 完成
oMLX 管理面板内置了 HuggingFace 模型浏览器。找到模型,点击下载。在 Hermes、Pi、Raycast 和 Apollo 中更改模型,一切就绪。
很多操作也可以通过命令行完成,所以我可以从任何设备 SSH 登录 Mac mini。
为什么这很重要:本地模型与 API 模型之间的差距正在快速缩小。一年前质量“一般”的模型,现在对于大多数现实任务已经具有竞争力。编程、推理、工具使用是关键。而 OptiQ 的 4 位量化使质量保持得出乎意料地高。350 亿-A3B 的 4 位模型在大多数基准测试中相比 BF16(16位浮点,未压缩基线)仅损失约 1-2 分。用 48GB 内存替代 70GB,这是一个可接受的权衡。
## 网络配置 (https://lws.io/blog/my-local-model-setup/#the-network)
Tailscale 在我的所有设备之间创建了一个虚拟网状网络。Mac mini、iPhone、MacBook,都在同一个私有网络中。没有任何东西暴露在公共互联网上。
oMLX 服务器在端口 8000 监听。虚拟局域网上的任何设备都可以连接。Raycast、iOS 上的 Apollo、我 MacBook 上的 Hermes 桌面端,它们都连接到同一个端点。设备之间没有配置差异。
oMLX 的 KV 缓存持久化功能在虚拟局域网设置中也很重要。编程智能体在一个会话中会反复回溯早期的上下文。oMLX 将每个数据块缓存到 SSD,因此当智能体返回之前的前缀时,它在毫秒内从磁盘恢复,而不是重新计算。这使得本地设置对于智能体工作真正实用,而 Hermes 正是这类工作的核心。
## 结语 (https://lws.io/blog/my-local-model-setup/#closing-out)
Apple Silicon 上的本地模型不再只是个实验项目。M4 Pro Mac mini 轻松驾驭它,模型对于大多数任务足够好,而且你可以随时更换它们。你不必按 token 付费。你不必将敏感数据通过第三方端点传输。当下周出现更好的模型时,你只需付出一点硬盘空间的成本就能轻松尝试。
我已经订购了一台 128GB 的 M5 Max Mac Studio,预计今年晚些时候送达,但到目前为止,我对这台 M4 Pro Mac mini 的性能非常满意。如果你有其他 Apple Silicon 设备,不妨试试——你可能需要根据你的配置更改模型,但通用设置是相同的。
相似文章
在配备 24GB 内存的 M4 芯片上运行本地模型
指南介绍了如何使用 LM Studio、Ollama 等工具,在拥有 24GB 内存的 M4 MacBook 上运行 Qwen 3.5-9B 等本地 AI 模型,并提供了优化性能的具体配置建议。
本地模型优化(3 分钟阅读)
本文分析了在 MacBook Pro 上本地运行 AI 推理的可行性,对比了本地 Qwen 35B 模型与云端 Claude Opus 4.5。结论是,对于常规任务,本地模型速度快 2 倍,尽管在能力上略有差距,但仍是日常工作量中一半任务的实用选择。
@DeRonin_: 我目前的本机AI配置:- 2x DGX Spark 链接 (256gb) > GLM 5.2 @ 2bit, 推理 + 代理循环 - Mac Studio M3 Ultr…
一位用户描述了他们完全本地的AI堆栈,使用多个硬件设备运行GLM、Qwen和Kimi等中国模型,声称相比GPT-5.5和Opus 4.8等前沿模型节省了87%的成本,同时提到了自托管视频生成的计划。
@googlegemma: 查看由 @ivanfioravanti 在此发布的原始帖子:
这是一个使用 Apple MLX 在 iPad 上本地运行 Gemma 4 E4B AI 模型的演示,被展示为一个适合儿童的有趣应用。
Mac 用于本地 LLM 和 Openclaw - 我希望早知道的事
一位用户分享了在 Mac 上运行本地 LLM 的经验,指出与 Nvidia GPU 相比,AI 代理的提示处理较慢,并建议除非隐私问题,否则使用 Deepseek 等云端模型。