
| 基本信息 | 详情 |
|---|---|
| 开发公司 | Apple Machine Learning Research |
| 上线时间 | 2023年12月 |
| 官网 | https://ml-explore.github.io/mlx/build/html/index.html |
| 支持平台 | Apple Silicon(M1/M2/M3/M4/M5),macOS |
| 价格 | 免费开源(MIT许可) |
| 核心定位 | Apple Silicon专用数组计算与机器学习框架 |
MLX是苹果机器学习研究团队在2023年12月开源的数组框架。它专为Apple Silicon设计,API跟NumPy几乎一样,但底层吃透了M系列芯片的统一内存架构。一句话概括:你在Mac上跑机器学习,MLX是目前最快的原生方案。
核心卖点是统一内存模型。传统框架里CPU和GPU各用各的内存,数据搬来搬去有开销。Apple Silicon的CPU和GPU共享同一块物理内存,MLX直接利用这个特性,操作在CPU或GPU上跑都不需要拷贝数据。实测中,线性回归训练在M2 Ultra上达到11,494次迭代/秒,比同平台PyTorch快2.5倍,甚至超过RTX 4090约40%。
2025年11月苹果发了M5芯片,MLX立刻跟进了Neural Accelerators支持。结果很炸裂--LLM推理首token生成速度比M4快4倍,1024x1024图像生成快3.8倍。如果你有一台M5 MacBook Pro,本地跑8B参数的模型推理,24GB内存完全够用。
核心功能
统一内存架构 CPU和GPU共享内存空间,操作切换设备零拷贝。通过mx.device上下文管理器一行代码切设备,不用改核心逻辑。
惰性计算 计算是延迟执行的,只有在需要结果时才真正运行。操作会自动批处理优化,减少不必要的中间计算。
可组合函数变换 支持自动微分(mx.grad)、自动向量化(mx.vmap)、JIT编译(mx.compile)。这些变换可以任意组合,比如对梯度再求梯度算Hessian。
MLX LM 语言模型工具包 pip install mlx-lm就能用。支持从Hugging Face下载模型本地运行,原生支持4-bit量化。把7B的Mistral模型量化到4-bit只需要几秒。
多语言API Python API跟NumPy几乎一致。C++ API完整覆盖。还有MLX Swift给iOS/macOS开发者用。Metal内核可以自定义。
分布式训练 基于NCCL的多设备通信,在M2 Ultra上实现近乎线性的扩展效率。支持数据并行和Tensor并行。
适合谁
在本地跑LLM实验和微调,不用依赖云GPU
需要原生Swift/C++ API做端侧ML应用
模型和数据都在本地,不出机器
Mac教学环境下做ML实验,学生上手快
快速迭代模型架构,再迁移到大规模集群训练
如果你用的是Intel Mac或者Windows/Linux,MLX跟你没关系。但如果你的主力机是Apple Silicon Mac,MLX比PyTorch MPS后端快得多,API也更友好。
同类竞品对比
| 维度 | MLX | PyTorch (MPS) | JAX | TensorFlow |
|---|---|---|---|---|
| 平台 | Apple Silicon only | 跨平台 | 跨平台 | 跨平台 |
| 统一内存 | 原生支持 | 部分支持 | 不支持 | 不支持 |
| API风格 | NumPy-like | 自有风格 | NumPy-like | 自有风格 |
| 自动微分 | 源到源转换 | 动态图追踪 | 追踪式 | 静态图 |
| LLM推理 | 原生支持(mlx-lm) | 需额外工具 | 需额外工具 | 需额外工具 |
| 量化支持 | 原生4-bit/8-bit | 有限 | 有限 | 有限 |
| 生态规模 | 小但专注 | 庞大 | 中等 | 大 |
FAQ
MLX只能在Mac上用吗? 是的。MLX专为Apple Silicon设计,不支持Intel Mac、Windows或Linux。M1及以上的芯片才能跑。
和PyTorch MPS后端有什么区别? MLX原生利用统一内存,PyTorch MPS是适配层。MLX的自动微分用源到源转换,比PyTorch的动态追踪减少约30%计算开销。GPU利用率也更高。
能在MLX上跑Hugging Face模型吗? 可以。mlx-lm包支持从Hugging Face直接下载模型运行。mlx-community组织已经在Hugging Face上转换了大量模型的MLX版本。
量化怎么做? mlx_lm.convert命令一行搞定。指定-q参数就能把模型量化到4-bit。7B模型量化后大概占4GB内存,M1 MacBook Air 16GB版本就能跑。
MLX支持训练还是只有推理? 两者都支持。训练包括自动微分、优化器(Adam、SGD、Lion等)、分布式训练。推理方面mlx-lm专门做了优化。
Swift能用吗? 可以。MLX Swift是独立的包,基于同一个C++核心库。有完整的示例代码,适合做iOS和macOS原生应用。
更新动态
2025年的更新节奏很快。Apple在M5发布后第一时间让MLX支持Neural Accelerators,说明MLX不是实验项目,而是苹果AI生态的核心基础设施。mlx-community在Hugging Face上的模型数量持续增长,社区活跃度不错。
客户评论
综合评分:4.3/5(基于GitHub社区和开发者反馈)
"在M2 Ultra上跑MLX训练,速度确实碾压PyTorch。但生态还小,很多模型实现要自己写。" - 机器学习研究者
"mlx-lm让我在MacBook Air上跑7B模型,这放在一年前不敢想。量化后的推理速度完全可用。" - 独立开发者
"Swift API对iOS开发者太友好了。终于不用为了ML再去学Python生态。" - iOS开发工程师
GitHub上的反馈集中在性能惊艳但生态尚小。和PyTorch比,MLX的模型库和教程资源还差不少,但Apple的投入力度让社区对前景比较乐观。
参考来源
- ▸Apple ML Research | Exploring LLMs with MLX and the M5 GPU,2025年11月发布的M5性能基准
- ▸MLX官方文档 | MLX Array Framework,官方API文档和使用指南
- ▸9to5Mac | Apple shows how much faster the M5 runs local LLMs,M5与M4对比评测
- ▸arXiv | Benchmarking On-Device ML on Apple Silicon with MLX,MLX性能基准测试学术论文
- ▸CSDN | 苹果芯片性能革命:MLX框架训练速度碾压PyTorch的秘密,MLX与PyTorch性能对比分析
