MLX:专为Apple Silicon(M1-M4)优化的LLM

运行一个 MLX Apple Silicon LLM 在较新的 Mac 上,就是利用 M1 至 M4 芯片的统一内存,在本地运行 70 亿至 2350 亿参数的开放权重模型。Apple Research 于 2023 年底发布的 MLX 框架通过 Metal 直接利用 Neural Engine 和集成 GPU,无需使用 CUDA。本指南详细介绍 MLX 的工作原理、兼容模型、各量化方式下切合实际的 VRAM 需求、M3 Max 和 M4 Pro 上观察到的速度、参考基准测试,以及在 macOS 上自托管部署时最可靠的应用场景。

为什么 MLX 能改变 Mac 上的局面

MLX 是一个受 NumPy 和 PyTorch 启发的数组计算库,专为 Apple Silicon 的统一内存架构设计。与 llama.cpp 可选用 Metal 作为后端,而 MLX 将 CPU 和 GPU 内存视为一个统一空间:两者之间无需复制数据。官方仓库 ml-explore/mlx 在GitHub上以MIT许可证发布源代码,而相关项目 mlx-examples 提供 Llama、Mistral、Phi 和 Qwen 的即用型实现。

关键要点:

比较Mac和Linux方案,请参见 llama.cpp 和 GGUF 以及我们的对比分析 MLX 与 llama.cpp 对比.

所需的显存及支持的量化方式

MLX 支持多种量化级别。以下是基于 FP16 数值,按常用比例(Q8 ≈ 50%,Q4 ≈ 25%,Q3 ≈ 20%)估算的量级。

在 MacBook Pro M3 Max 128 GB 或 M4 Max 128 GB 上流畅运行的模型:

更大规模模型仅限 Mac Studio M3 Ultra 192 GB 或 512 GB 机型使用 :

在超大规模下, DeepSeek V3 671B (Q4 量化所需显存约 400 GB,上下文长度 128k)即使是配备 512 GB 内存的 Mac Studio,也仍无法在 Q4 量化下运行它,但采用 Q2/Q3 量化并将少量数据卸载到磁盘后,就可以考虑运行它。完整介绍参见 DeepSeek V3 671B.

实测性能:每秒 token 数

以下数据来自官方文档 mlx-lm 以及在 Hugging Face 上可复现的社区观测结果。所有速度均为估算值,受提示词、上下文和量化级别影响。

MoE 模型,例如 Qwen3-Coder-Next 80B-A3B (Q4 显存需求约 48 GB)尤其受益于统一内存:生成每个 token 时,只有 30 亿个活跃参数经过计算单元,因此根据用户反馈,M4 Max 上的速度可超过 25 tokens/秒(有待确认)。参见 Qwen3-Coder-Next 80B-A3B.

许可证与 MLX 兼容性

除模型原有许可证的限制外,MLX 不施加任何额外限制。以下是一些典型情况:

生产环境使用时,优先选择 Apache 2.0 或 MIT。详见我们的指南 开放权重 LLM 许可 ,了解各项条款的细节。

针对 MLX 兼容模型的参考基准测试

这里列出的分数来自 Hugging Face 上发布的官方技术资料,以及模型发布方提供的模型卡。

为深入了解表现最佳的代码模型,请参见 最适合编程的 LLM 以及在推理方面 最佳推理LLM.

安装与实际工作流程

准备好 Python 3.10+ 环境后,只需三条命令即可完成安装:

pip install mlx mlx-lm
python -m mlx_lm.convert --hf-path meta-llama/Llama-3.3-70B-Instruct -q
python -m mlx_lm.generate --model ./mlx_model --prompt "Bonjour"

转换 -q 默认采用 4 位量化。转换后的检查点直接发布至 Hugging Face mlx-community, 避免了主流模型的本地转换步骤。

MLX 特别出色的使用场景包括:

如需根据您打算运行的模型比较 MacBook Pro 和 Mac Studio,请参见 适用于 MacBook Pro 的 LLM.

FAQ

Q:选择哪款 Mac 本地运行 Llama 3.3 70B?

配备 M3 Max 或 M4 Max 芯片及 64 GB 内存的 MacBook Pro 可以运行 Llama 3.3 70B Instruct 4位量化(VRAM约40 GB)。在48 GB内存下较为紧张,但Q3版本仍可运行。对于长上下文或批量处理,建议使用128 GB。Mac Studio M3 Ultra 192 GB仍是该模型最舒适的配置目标。

Q:MLX在Mac上是否比llama.cpp更快?

MLX 通过原生统一内存和图编译器,在长文本生成上通常可提升 10 到 30%。 llama.cpp 在预填充方面仍具竞争力,并拥有更广泛的生态系统(内置兼容 OpenAI 的服务器,提供更多种类的 GGUF 量化)。两者可以共存:MLX 用于开发,llama.cpp 用于无图形界面的部署。

Q:是否可以使用MLX进行LoRA微调?

是。子项目 mlx-examples/lora 允许在 Llama、Mistral 和 Qwen 上训练 LoRA 和 QLoRA 适配器。在 M3 Max 64 GB 上,LoRA 微调 Mistral Small 4 在 4 位量化下仍不可行,但 7B 至 13B 的模型可在几小时内完成训练。

Q:MLX 是否支持 Mixtral 或 Qwen 3 235B 这类 MoE 模型?

是。 Mixtral 8x22B Instruct et Qwen 3 235B-A22B 可通过以下工具获得支持: mlx-lm。MoE 架构特别适合统一内存:未激活的专家驻留在 RAM 中,不会增加延迟。在配备 192 GB 内存的 Mac Studio M3 Ultra 上,Qwen 3 235B-A22B 采用 4 位量化时,只要上下文长度合理,仍可正常使用。

问:哪些模型无法在 Apple Silicon 上实际运行?

即使是配备 512 GB 内存的 Mac Studio,也仍然无法运行参数量超过 500B 的全精度模型: DeepSeek V4 Pro 1.6T (VRAM Q4 ~960 GB), MiMo V2.5 Pro (VRAM Q4 ~595 GB), Kimi K2.6 (VRAM Q4 ~600 GB)。在采用 Q2 或 Q3 激进量化并结合磁盘卸载的情况下,部分模型可进行实验性测试,但速度会大幅下降。

Q:MLX是否支持视觉-语言模型?

是,部分支持。 Qwen 2.5 VL 72B et LLaVA-OneVision 72B 在 Hugging Face 上有社区移植的 MLX 版本。覆盖范围比纯文本 LLM 更有限,但项目 mlx-vlm 由社区维护,弥补了在主流多模态架构上的差距。

结论

Un MLX Apple Silicon LLM 将一台新款 Mac 转化为强大的推理工作站:Llama 3.3 70B、Qwen 2.5 72B 或 gpt-oss 120B 可在配备 64-128 GB 内存的 MacBook Pro 上以 4 位精度运行,而 MoE 模型如 Qwen 3 235B-A22B 则可在配备 192 GB 内存的 Mac Studio 上运行。为选择最适合您硬件配置的模型,请使用我们的 配置工具 或浏览 完整目录 已索引的249个模型

文章发表于 由 Mohamed Meguedmi · 数据来源: /api/models.json · 内容许可协议: CC BY 4.0.

有错误或更新需要反馈吗? 参与贡献.