这个项目能做什么

MLX 是由 Apple 机器学习研究团队开发的、面向 Apple 芯片的机器学习数组框架。它提供了紧密遵循 NumPy 的 Python API,以及镜像 Python 接口的完整 C++、C 和 Swift API。诸如 `mlx.nn` 和 `mlx.optimizers` 等高级包遵循 PyTorch 约定,用于构建复杂模型。 主要特性包括: - **熟悉的 API**:类似 NumPy 的 Python API,以及 C++、C 和 Swift 版本。 - **可组合的函数变换**:支持自动微分、向量化和计算图优化。 - **惰性计算**:数组仅在需要时才具体化。 - **动态图构建**:动态构建计算图,避免形状变化时重新编译缓慢。 - **多设备**:操作可在 CPU 和 GPU 上运行。 - **统一内存**:数组存储在共享内存中,无需数据传输即可跨设备操作。 MLX 专为机器学习研究人员设计,旨在训练和部署中实现用户友好和高效率。其设计灵感来源于 NumPy、PyTorch、Jax 和 ArrayFire。 安装可通过 macOS 上的 pip 进行(`pip install mlx`),Linux 上可选择 CUDA(`mlx[cuda]`)或仅 CPU(`mlx[cpu]`)。MLX 示例仓库包含 Transformer 语言模型训练、使用 LoRA 微调的 LLaMA 文本生成、Stable Diffusion 图像生成以及 Whisper 语音识别。 文档、快速入门指南和贡献指南均可在仓库中获取。该项目为开源项目,并感谢贡献者。