新智元报道  

编辑:Mindy
【新智元导读】苹果新发布适用于苹果芯片的机器学习框架MLX,MLX是一个类似于NumPy的阵列框架,旨在为使用苹果硬件的研究人员简化 ML 模型的训练和部署。

一直以来,英伟达CUDA称霸天下,使得它在AI领域的势力不可动摇。


对于许多人来说,都希望打破这个护城河,比如PyTorch支持更多GPU,OpenAI的Triton等等。
近日,苹果针对使用苹果芯片的机器学习研究人员,专门发布了一款机器学习框架MLX。
苹果机器学习团队的Awni Hannun在X-note中将该软件称为:「……专为苹果芯片设计的高效机器学习框架」。
MLX使用起来类似PyTorch、Jax和ArrayFire等现有框架。
但是,MLX针对Apple芯片进行了优化。以前受困于艰难使用M芯片GPU跑模型的研究人员,现在终于可以摆脱这个苦恼了!
同时,MLX增加了对统一内存模型的支持,这也意味着阵列位于共享内存中,并且可以在任何支持的设备类型上执行操作,而无需执行数据复制。那么,一旦苹果的其他产品也能够开始跑模型……有没有很期待!
英伟达高级科学家Jim Fan表示,这可能是苹果公司迄今为止在开源人工智能方面的最大举措:

MLX特别之处


先让我们来看看MLX的速度:
一位网友对MLX的速度进行了测试,他在推文中表示,使用Apple MLX框架进行计算的速度,M2 Ultra(76个GPU)可达到每秒5次迭代(It/sec),而M3 Max(40个GPU)可以达到每秒2.8次迭代。
这个速度是与Pytorch几乎持平的。
MLX的另一大特点,像Jim Fan指出的那样,是它设计出色的API。
对深度学习领域的开发人员来说,上手几乎零成本。
这是因为MLX 的设计灵感来自于 PyTorch、Jax 和 ArrayFire 等现有框架。
研究团队解释道:「Python API 与 NumPy 高度相似,只有少数例外。MLX 还拥有一个功能齐全的 C++ API,它与 Python API 高度一致。」
研究团队对该设计的目的作了补充:「该框架旨在兼顾对用户操作友好,同时保持训练和部署模型的高效。我们的目标是使研究人员能够轻松扩展和改进 MLX,以便快速探索新的想法。」
除了可以轻松上手的API之外,MLX的一些其他关键特性还包括:
  1. 可组合的函数变换:MLX含有用于自动微分、自动向量化和计算图优化的可组合函数变换,这对于优化和加速机器学习模型的训练过程非常有用。

  2. 延迟计算:MLX支持延迟计算,数组只在需要时才会被实例化。

  3. 动态图构建:MLX中的计算图是动态构建的。改变函数参数的形状不会触发缓慢的编译,调试也简单直观。这使得模型的开发和调试更加灵活和高效。

  4. 多设备支持:操作可以在任何支持的设备上运行(目前支持CPU和GPU)。

  5. 统一内存:MLX与其他框架的显著区别在于统一的内存模型。在MLX中,数组存在于共享内存中,对MLX数组的操作可以在任何支持的设备类型上执行,而无需移动数据。

MLX Data


除了发布MLX以外,苹果机器学习团队还一起发表了MLX Data。这是一个与MLX框架无关的数据加载库,可以与PyTorch、Jax或MLX一同使用。
MLX Data可以用于加载大规模数据集,也可以独立用于数据预处理,以供机器学习训练使用。
该库的目标是允许用户利用多线程来加速数据处理流水线,而无需涉及复杂的多进程操作或使用符号语言编写代码。这有利于帮助提高数据加载和预处理的效率。

MLX示例展示


目前,用户可以通过PyPI轻松安装MLX,只需执行以下命令:pip install mlx
用户需要确保满足以下安装要求:
- 使用M系列芯片(苹果芯片)
- 使用本地Python版本不低于3.8
- MacOS版本需不低于13.3
研究团队同时提供了一系列有关 MLX 功能的示例,包括Transformer语言模型训练、使用LLaMA进行大规模文本生成、使用LoRA进行微调、使用稳定扩散生成图像,以及用OpenAI的Whisper进行语音识别等。
详情可见Github:https://github.com/ml-explore/mlx-examples/tree/main。
这些例子也侧面证明了该公司在语言处理、图像生成和语音识别等方面的技术实力和工具的强大程度。
其他开发人员也对于MLX进行了其他有趣的尝试,比如一位来自塞浦路斯大学的教授,在使用PyTorch和新的MLX框架的情况下,成功在Apple M2 Ultra GPU上解决了一个板上的二维热传导方程问题,其中包含两个Dirichlet和两个Neumann边界条件。
有趣的是,MLX的计算速度大约是之前的两倍,并且可以直接使用Matplotlib进行绘图,无需转移到CPU。

从MLX一瞥苹果对于人工智能的展望


普惠机器学习
研究团队一再强调,「MLX是由机器学习研究人员为机器学习研究人员设计的。」 这表明苹果意识到为机器学习开发开放、易于使用的开发环境的需求,以促进该领域的进一步发展。
芯片技术
因为苹果的处理器现在存在于其所有产品中,包括Mac、iPhone和iPad。这种在这些芯片上使用GPU、CPU和(有可能在某个时刻)神经引擎的方法可能会转化为在设备上执行ML模型。其性能可能超过其他处理器,至少在边缘设备方面。
开发工具的重要性
苹果明确决定将重点放在为机器学习研究人员提供最佳工具上,包括强大的M3 Mac,用于模型构建。现在,他们进一步希望将这种关注转化为对普通用户而言可行、以人为本的AI工具。
总体而言,苹果希望通过提供强大的工具和在不同设备上的性能优势,将机器学习和人工智能推向更广泛的用户。
这场AI产业的战争仅仅刚刚开始。
参考资料:
https://www.computerworld.com/article/3711408/apple-launches-mlx-machine-learning-framework-for-apple-silicon.html