我在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 模型,并提供了优化性能的具体配置建议。
学习使用本地 AI:令人兴奋、应接不暇,又令人沮丧
一位 The Verge 记者记录了自己在搭载 256GB 内存的 M5 Ultra Mac Studio 上,通过开源工具 Hermes Agent 运行 Qwen 3.8 Flash Next 等本地 AI 模型的亲身实践,探索注重隐私的本地 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 模型的演示,被展示为一个适合儿童的有趣应用。