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

阿里云国内75折 回扣 微信号:monov8
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6

苹果刚刚进入AI开源竞技场悄悄发布了他们的新DL框架MLX
它在Apple Silicon上原生运行代码只需一个pip安装没有其他依赖项

MLX 是 Apple 芯片上用于机器学习的阵列框架由 Apple 机器学习研究团队为您提供。
MLX 的一些主要功能包括

  • 熟悉的 APIMLX 有一个紧随 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 的设计灵感来自 NumPy、 PyTorchJax和 ArrayFire等框架。

网友评论
它似乎紧跟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

阿里云国内75折 回扣 微信号:monov8
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6

“MLX:苹果发布新的机器学习框架” 的相关文章

pytorch transforms图像增强怎么实现 - 开发技术

这篇文章主要介绍“pytorch transforms图像增强怎么实现”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“pytorch transforms图像增强怎么实现”文章能帮助大家解决问题。一、前言本文...

Hyperledger Fabric 智能合约开发及 fabric-sdk-go/fabric-gateway 使用示例

前言 在上个实验 Hyperledger Fabric 多组织多排序节点部署在多个主机上 中,我们已经实现了多组织多排序节点部署在多个主机上,但到目前为止,我们所有的实验都只是研究了联盟链的网络配置方法(尽管这确实是重难点)&#...

goto的妙用

goto本没有错,之所以不推荐是程序员自己造成的,但有一处可妙用: { { { ... goto error; } } } error: ... 就象楼房着火了,来不及从楼梯一级一级往下走,可从窗口跳出火坑。所以我们主 张少...

怎么使用Java多线程Future获取异步任务 - 开发技术

本篇内容主要讲解“怎么使用Java多线程Future获取异步任务”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“怎么使用Java多线程Future获取异步任务”吧!Runnable的局限性在前文中我们谈到,通过编码实现Run...

Nginx性能优化的方法是什么 - 开发技术

今天小编给大家分享一下Nginx性能优化的方法是什么的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。Nginx 性能优化1、Nginx运行工作进程数量Ng...

无法读取服务器PHP文件mime类型问题怎么解决 - 编程语言

本篇内容主要讲解“无法读取服务器PHP文件mime类型问题怎么解决”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“无法读取服务器PHP文件mime类型问题怎么解决”吧! 为了解决这个问题,我们需要...