苹果为自家芯片打造开源框架MLX,实现Llama 7B并在M2 Ultra上运转

苹果的这个新框架 MLX 不仅拥有 PyTorch 风格的 API,还为开发者提供了很多经典示例(比如 Llama、LoRa、Stable Diffusion 和 Whisper)。2020 年 11 月,苹果推出 M1 芯片,其速度之快、功能之强大一时令人惊艳。2022 年苹果又推出了 M2,今年 10 月,M3 芯片正式登场。苹果在发布芯片的同时,也非常注重在其芯片上训练和部署 AI 模型的能力。苹果推出的 ML Compute 可用于在 Mac 上进行 TensorFlow 模型的训练。PyTorch 则支持

苹果的这个新框架 MLX 不仅拥有 PyTorch 风格的 API,还为开发者提供了很多经典示例(比如 Llama、LoRa、Stable Diffusion 和 Whisper)。

2020 年 11 月,苹果推出 M1 芯片,其速度之快、功能之强大一时令人惊艳。2022 年苹果又推出了 M2,今年 10 月,M3 芯片正式登场。

苹果在发布芯片的同时,也非常注重在其芯片上训练和部署 AI 模型的能力。

苹果推出的 ML Compute 可用于在 Mac 上进行 TensorFlow 模型的训练。PyTorch 则支持在 M1 版本的 Mac 上进行 GPU 加速的 PyTorch 呆板进修模型训练,利用苹果 Metal Performance Shaders (MPS) 作为后端来实现。这些使得 Mac 用户能够在本地训练神经网络。

现在,苹果宣布推出专门在 Apple 芯片上用于呆板进修的开源阵列框架 ——MLX。

苹果为自家芯片打造开源框架MLX,实现Llama 7B并在M2 Ultra上运转

MLX 是专门为呆板进修钻研人员设计的,旨在有效地训练和部署 AI 模型。框架本身的设计在概念上也很简单。钻研人员能够轻松地扩展和改进 MLX,以快速探索、测试新的想法。MLX 的设计灵感来自 NumPy、PyTorch、Jax 和 ArrayFire 等框架。

苹果为自家芯片打造开源框架MLX,实现Llama 7B并在M2 Ultra上运转

项目地址:https://github.com/ml-explore/mlx

MLX 项目贡献者之一、Apple 呆板进修钻研团队(MLR)钻研科学家 Awni Hannun 展示了一段利用 MLX 框架实现 Llama 7B 并在 M2 Ultra 上运转的视频。

苹果为自家芯片打造开源框架MLX,实现Llama 7B并在M2 Ultra上运转苹果为自家芯片打造开源框架MLX,实现Llama 7B并在M2 Ultra上运转

                              视频来源:https://twitter.com/awnihannun/status/1732184444629647840

MLX 迅速引起呆板进修钻研人员的关注。TVM、MXNET、XGBoost 作者,CMU 助理教授,OctoML CTO 陈天奇转推表示:「苹果芯片又有新的深度进修框架了。」

苹果为自家芯片打造开源框架MLX,实现Llama 7B并在M2 Ultra上运转

有网友评价 MLX 称,苹果再次「重造了轮子」。

苹果为自家芯片打造开源框架MLX,实现Llama 7B并在M2 Ultra上运转

图源:https://twitter.com/ofervic/status/1732305883814596953

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。

苹果为自家芯片打造开源框架MLX,实现Llama 7B并在M2 Ultra上运转

图源:https://github.com/ml-explore/mlx-examples/tree/main/mnist

MLX 还有其他更多有用的示例,包括如下:

Transformer 语言模型训练;

LLaMA 大规模文本生成和 LoRA 微调;

Stable Diffusion 生成图片;

OpenAI 的 Whisper 语音识别。

更详细的文档可参阅:https://ml-explore.github.io/mlx/build/html/install.html#

给TA打赏
共{{data.count}}人
人已打赏
工程

弥合2D和3D生成领域之间的次元壁,X-Dreamer实现高质量的文本到3D生成

2023-12-7 11:57:00

工程

小模型也可以「分隔一切」,Meta改进SAM,参数仅为原版5%

2023-12-7 14:35:00

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
今日签到
搜索