苹果开源了针对 Apple Silicon 芯片优化的 MLX 深度学习框架,并表示该框架可以简化研究人员在 Mac、iPad、iPhone 平台设计和部署模型的过程。
地址:https://github.com/ml-explore/mlx
根据介绍,该深度学习框架提供了与主流开发工具接轨的 API、支持延迟计算、采用动态设计并软硬结合、对研究人员较为友好,且具有统一内存优势。
MLX 主要特性
-
提供开发者熟悉的 API:MLX 具有和 NumPy 接近的 Python API,此外还拥有功能齐全的 C++ API,它与 Python API 非常相似。 MLX 具有
mlx.nn
和mlx.optimizers
等更高级别的包,其 API 紧密贴合 PyTorch,以简化构建更复杂的模型 -
可组合函数转换:MLX 具有用于自动微分、自动矢量化和计算图优化的可组合函数转换
-
惰性计算 (Lazy computation):MLX 中的计算是惰性计算。数组仅在需要时才会具体化
-
动态图构建:MLX 中的计算图采用动态构建,更改函数参数的形状不会触发缓慢的编译,并且调试简单直观
-
多设备:可以在任何支持的设备上运行(当前为 CPU 和 GPU),确保用户能够充分利用硬件
-
具备统一内存优势:MLX 和其他框架的显着区别是采用统一内存模型。 MLX 中的数组位于共享内存中,可以在任何支持的设备类型上执行 MLX 阵列上的操作,而无需移动数据。