TellWorldAI 世界档案
问档案English

首页›产品

产品

MLX(苹果机器学习框架)

MLX 是苹果机器学习研究团队 2023 年 12 月开源的机器学习框架,主要面向 Apple silicon。它仿照 NumPy 提供 Python 接口,并针对统一内存架构设计,让 CPU 与 GPU 共用同一份数据。

时代 生成式 AI 普及

发布日期

是什么

MLX 是苹果机器学习研究团队(Apple's machine learning research team)开发的开源机器学习框架,于 2023 年 12 月发布,主要面向 Apple silicon,也就是苹果为自家电脑设计的芯片系列,而不是面向服务器或其他厂商的硬件。[2]

由来

公开仓库 ml-explore/mlx 位于 GitHub,创建于 2023 年 11 月 28 日,采用 MIT 许可证发布;这是一种宽松的开源许可证,允许商业与非商业用途的复用。[1] 该仓库在 GitHub 上约有 2.9 万个 star,这个数字大致能反映有多少人收藏或关注了它。[1] 框架最初由 Awni Hannun、Jagrit Digani、Angelos Katharopoulos 和 Ronan Collobert 开发。[2] 它的设计受到 NumPy、PyTorch、JAX 和 ArrayFire 的影响,2024 年 2 月又推出了 Swift 接口。[2] 这四个影响来源差别不小:有数组库,有深度学习框架,有围绕可组合函数变换构建的系统,也有 GPU 数组库;MLX 是从每种工具里各取一部分,而不是照搬其中某一个。[2]

怎么工作

最核心的设计决定与内存有关。在多数机器上,CPU 和 GPU 各自拥有独立的内存池,在一块芯片上算出的数组必须先经过总线复制,另一块才能使用。MLX 针对 Apple silicon 的统一内存架构(unified memory architecture)做了优化:CPU 和 GPU 直接使用同一份数据,不必在彼此独立的内存池之间复制。[2] 对机器学习来说这一点很关键,因为训练和推理都会不断搬运大块数组,省掉复制就省掉了一笔反复出现的开销。

在此之上是一套仿照 NumPy 的 Python 接口,用过标准科学计算工具链的人会觉得索引、切片和广播的写法很熟悉。[2] 更高层的神经网络与优化工具则采用类似 PyTorch 的风格,框架支持自动微分(automatic differentiation)、惰性计算(lazy computation)和动态计算图(dynamic computation graph)。[2]

用日常的话说:自动微分指框架能替你算出一个函数的梯度,而训练网络正需要梯度,它告诉你要把每个参数往哪个方向挪一点才能让误差变小。惰性计算指运算写下来时先记录下来,等到真正需要结果时才求值,框架因此有机会合并或跳过一些计算。动态计算图指图是在程序运行过程中构建的,所以循环、条件分支这类控制流可以依赖数据本身。这些能力合在一起,正是神经网络框架区别于普通数组库的地方。

周边生态

围绕核心框架形成了一个小生态:用于大语言模型推理与微调的 mlx-lm、mlx-swift,以及覆盖 Llama、Stable Diffusion、Whisper 等模型的 mlx-examples。[2] 推理指运行已经训练好的模型来产生输出,微调指在已有模型上继续用新数据训练,因此 mlx-lm 对准的是人们在本地使用大语言模型最常见的两种方式。示例集则把同样的思路延伸到图像生成与语音识别上。

在发展中的位置

MLX 更适合理解为一个被目标硬件塑造出来的框架:它之所以出现,是因为 Apple silicon 的内存设计与通用框架原本的写法并不匹配,而它的接口习惯又取自人们已经熟悉的工具。[2] MIT 许可证和公开仓库让它与其他开源框架并列,而不是藏在某个闭源产品内部。[1] 2024 年 2 月增加的 Swift 接口表明,它希望不只在 Python 里使用,也能在苹果自家的应用开发语言里使用。[2]

注释与来源

  1. ml-explore/mlx repository metadatahttps://api.github.com/repos/ml-explore/mlx
  2. MLX (Apple ML framework)https://en.wikipedia.org/wiki/MLX_(Apple_ML_framework)

引用本页: MLX(苹果机器学习框架). TellWorld, https://www.tellworld.net/zh/products/mlx. 更新于 2026-11-08