MLX:苹果发布新的机器学习框架

苹果刚刚进入AI开源竞技场,悄悄发布了他们的新DL框架MLX!

它在Apple Silicon上原生运行代码,只需一个pip安装,没有其他依赖项

MLX 是 Apple 芯片上用于机器学习的阵列框架,由 Apple 机器学习研究团队为您提供。

MLX 的一些主要功能包括:

  • 熟悉的 API:MLX 有一个紧随 NumPy 的 Python API。MLX 还拥有功能齐全的 C++ API,它与 Python API 非常相似。MLX 具有更高级的软件包,例如mlx.nn和 以及mlx.optimizers紧密遵循 PyTorch 的 API,以简化构建更复杂的模型。

  • 可组合函数转换:MLX 具有用于自动微分、自动向量化和计算图优化的可组合函数转换。

  • 惰性计算:MLX 中的计算是惰性计算。数组仅在需要时才会具体化。

  • 动态图构建:MLX 中的计算图是动态构建的。更改函数参数的形状不会触发缓慢的编译,并且调试简单直观。

  • 多设备:操作可以在任何支持的设备上运行(当前为 CPU 和 GPU)。

  • 统一内存:与 MLX 和其他框架的显着区别是统一内存模型。MLX 中的数组位于共享内存中。可以在任何支持的设备类型上执行 MLX 阵列上的操作,而无需移动数据。

MLX 是由机器学习研究人员为机器学习研究人员设计的。该框架旨在用户友好,但仍然可以有效地训练和部署模型。框架本身的设计在概念上也很简单。我们打算让研究人员能够轻松扩展和改进 MLX,以实现快速探索新想法的目标。

MLX 的设计灵感来自 NumPyPyTorchJaxArrayFire等框架。

网友评论:

它似乎紧跟PyTorch API,并提供了许多开箱即用的有用原语。例如,实现一个只用于解码器的Transformer就是这么简单!

值得注意的是,许多最新的发现都作为库中的原语提供。例如,如果您必须在PyTorch中实现旋转位置编码,则需要自行推出或依赖lucidrains。

对于你的优化,它支持高阶梯度,高效的jvp和像JAX一样的vjp。

如果您不是 Python 爱好者,也有 C++ 头文件和库,但还没有文档。

mlx-examples 存储库似乎拥有所有值得关注的模型和强制性 mnist 模型的示例实现,所有这些都在 MLX 中本地实现。这些实现看起来相当简单。

三个关键概念:示例、缓冲区、流

  • Sample ->以 dicts 编码的单个数据实例

  • Buffer ->可索引的示例容器

  • Stream->可迭代(但不可索引)的示例序列

MLX-data 库提供了对所有三种类型采取行动的原语。

虽然还为时尚早,但我们应该消除苹果公司在人工智能方面无所作为的说法。与往常一样,苹果正在以苹果的方式做事--谨慎但符合他们的利益。

一旦该框架流行起来,苹果公司将 Apple Silicon 作为数字加速器的替代品,在苹果设备之外单独销售也并非不可想象。在苹果设备中使用 Apple Silicon 可以说是自饮香槟。

这次发布也预示着未来的苹果操作系统将更加以人工智能为中心。因此,如果你正在构建在 iOS/iPadOS/MacOS 基础上添加简单功能的产品,你可要小心了。

https://www.jdon.com/70558.html

相关推荐
mONESY1 小时前
LangGraph.js 从零上手:把 Agent 工作流从一条线变成一张网
javascript
默_笙1 小时前
⚓ AI 的"官方答题卡":withStructuredOutput 与结构化输出的终局之战
前端·javascript
我家猫叫佩奇3 小时前
🦭 厌倦了千篇一律的线性图标?Naive Icons 正式开源
前端·javascript·css
梦诺5 小时前
vue3 keepAlive+记录滚动条
前端·javascript·vue.js
天若有情6736 小时前
开源轻量双语工具|一键批量查询 NPM 包历史下载量,支持按作者批量统计
javascript·npm·github pages·开源工具·netlify·前端开源·npm克隆量
福兮说7 小时前
纯前端把图片压缩到指定体积:canvas.toBlob 配合二分查找
前端·javascript·canvas·图片处理
志尊宝8 小时前
Vue3 零基础每日笔记(018):按键与鼠标修饰符——回车搜索、Ctrl+S 保存这样写
javascript·vue.js·笔记
可乐鸡翅yeah_9 小时前
HLS流媒体首屏起播慢深度优化,从分片、索引、播放器全链路调优
开发语言·javascript·ecmascript·m3u8·m3u8在线
开开心心就好9 小时前
低年级识字练笔顺工具,电脑和安卓端都能用
前端·javascript·网络·安全·scala·erlang·语音识别
杨利杰YJlio9 小时前
ITSK PE 26U5 测试版解读:组件完善、VMD 修复与服务器支持边界
前端·javascript·后端