2020 年 11 月,苹果推出 M1 芯片,其速度之快、功能之强大一时令人惊艳。2022 年苹果又推出了 M2,今年 10 月,M3 芯片正式登场。
苹果在发布芯片时,非常注重其芯片的AI模型训练和部署能力
苹果推出的 ML Compute 可用于在 Mac 上进行 TensorFlow 模型的训练。PyTorch 则支持在 M1 版本的 Mac 上进行 GPU 加速的 PyTorch 机器学习模型训练,使用苹果 Metal Performance Shaders (MPS) 作为后端来实现。这些使得 Mac 用户能够在本地训练神经网络。
苹果宣布推出一款专门用于机器学习的开源阵列框架,该框架将在苹果芯片上运行,名为MLX
MLX 是为机器学习研究人员专门设计的框架,旨在高效地训练和部署 AI 模型。该框架的设计概念简单易懂。研究人员能够轻松地扩展和改进 MLX,以便快速地探索和测试新的想法。MLX 的设计灵感来自于 NumPy、PyTorch、Jax 和 ArrayFire 等框架
项目地址:https://github.com/ml-explore/mlx
MLX 项目贡献者之一、Apple 机器学习研究团队(MLR)研究科学家 Awni Hannun 展示了一段使用 MLX 框架实现 Llama 7B 并在 M2 Ultra 上运行的视频。
MLX快速引起了机器学习研究人员的关注。TVM,MXNET和XGBoost的作者,CMU助理教授以及OctoML CTO的陈天奇转推表示:“苹果芯片又有新的深度学习框架了。”
有人认为苹果再次「重蹈覆辙」,这是对 MLX 的评价
为了保持原始意思不变,需要将内容改写成中文。不需要出现原始句子
在这个项目中,我们能够观察到MLX具备以下几个主要特点
熟悉的 API。MLX 拥有非常像 NumPy 的 Python API,以及功能齐备的 C++ API(与 Python API 非常相似)。MLX 还有更高级的包(比如 mlx.nn 和 mlx.optimizers),它们的 API 很像 PyTorch,可以简化构建更复杂的模型。
可组合函数变换。MLX 拥有自动微分、自动矢量化和计算图优化的可组合函数变换。
惰性计算。MLX 中的计算是惰性的,阵列只有在需要时才被实例化。
动态图构建。MLX 中的计算图构建是动态的,改变函数参数的形状不会导致编译变慢,并且 debug 很简单、容易上手。
多设备。任何支持的设备上(如 CPU 和 GPU)都可以运行操作。
统一内存。MLX 与其他框架的显著差异在于统一内存,阵列共享内存。MLX 上的操作可以在任何支持的设备类型上运行,无需移动数据。
此外,该项目提供了多种使用 MLX 框架的示例,例如 MNIST 示例,可以很好地帮助您学习如何使用 MLX
图源:https://github.com/ml-explore/mlx-examples/tree/main/mnist
除了上述示例,MLX 还提供了其他更为实用的例子,例如:
更详细的文档可参阅:https://ml-explore.github.io/mlx/build/html/install.html#
以上是苹果为自家芯片打造开源框架MLX,实现Llama 7B并在M2 Ultra上运行的详细内容。更多信息请关注PHP中文网其他相关文章!