MLX是由苹果的机器学习研究团队推出的用于机器学习的阵列框架,该开源框架专为 Apple Silicon 芯片而设计优化,从NumPy、PyTorch、Jax和ArrayFire等框架中吸取灵感,提供简单友好的使用方法,帮助开发人员在苹果M系列芯片上有效地开发、训练和部署模型。
MLX的主要功能
- 熟悉的 API:MLX 有一个紧随 NumPy 的 Python API。MLX 还拥有功能齐全的 C++ API,与 Python API 非常相似。
- 可组合的函数转换:MLX 支持用于自动微分、自动向量化和计算图优化的可组合函数转换。
- 惰性计算:MLX 中的计算是惰性计算,数组仅在需要时才会具体化。
- 动态图构建:MLX 中的计算图是动态构建的。更改函数参数的形状不会触发缓慢的编译,并且调试简单直观。
- 多设备:可以在任何支持的设备(CPU 和 GPU)上运行。
- 统一内存:MLX 和其他框架的主要区别在于统一内存模型,阵列共享内存。MLX 上的操作可以在任何支持的设备类型上运行,无需移动数据。