首页 / 科学 / 正文

苹果为苹果硅推出MLX机器学习框架

放大字体  缩小字体 2024-03-29 00:29  浏览次数:59 来源:大国新闻网    

苹果的机器学习(ML)团队为Apple Silicon发布了一个新的ML框架:MLX,即ML Explore,经过夏天的测试,现在可以通过GitHub获得。

苹果芯片的机器学习

在一份X-note中,苹果机器学习团队的Awni Hannun称该软件为:“……一个专门为苹果芯片(也就是你的笔记本电脑!)设计的高效机器学习框架!”

它的想法是为使用苹果硬件的研究人员简化机器学习模型的训练和部署。MLX是一个类似numpy的阵列框架,专为苹果处理器上高效灵活的机器学习而设计。

这不是一个面向消费者的工具;它为开发人员提供了一个强大的环境来构建机器学习模型。该公司似乎也在努力接受开发人员想要使用的语言,而不是强迫他们使用一种语言——在这个过程中,它显然发明了强大的LLM工具。

开发人员熟悉

MLX的设计灵感来自于现有的框架,如PyTorch、Jax和ArrayFire。但是,MLX增加了对统一内存模型的支持,这意味着数组位于共享内存中,并且可以在任何受支持的设备类型上执行操作,而无需执行数据复制。

该团队解释说:“Python API与NumPy密切相关,只有少数例外。MLX也有一个功能齐全的c++ API,它紧跟Python API。”

新闻稿附带的说明还说:

该框架旨在对用户友好,但仍然有效地训练和部署模型....我们打算让研究人员更容易扩展和改进MLX,目标是快速探索新想法。”

乍一看还不错

乍一看,MLX似乎相对不错,并且(正如GitHub上解释的那样)配备了几个使其与众不同的功能-例如,使用熟悉的api,并且:

  • 可组合函数转换:MLX具有用于自动微分、自动矢量化和计算图优化的可组合函数转换。
  • 懒惰的计算: MLX中的计算是懒惰的。数组是0。只在需要的时候实现。
  • 动态图构建:MLX中的计算图是动态构建的。更改函数参数的形状不会导致编译变慢,而且调试简单直观。
  • 多设备:操作可以在任何支持的设备上运行(目前是CPU和GPU)。
  • 统一内存:在统一内存模型下,MLX中的数组位于共享内存中。可以在任何支持的设备类型上执行对MLX数组的操作,而无需移动数据。

它已经可以实现什么

苹果已经提供了一系列MLX可以做什么的例子。这些似乎证实了该公司现在拥有一个高效的语言模型,使用Stable Diffusion生成图像的强大工具,以及高度准确的语音识别。这与今年早些时候的说法,以及一些关于未来Vision Pro体验的无限虚拟世界创造的猜测相符。

例子包括:

  • 训练Transformer LM或使用LoRA进行微调。
  • 使用Mistral生成文本。
  • 具有稳定扩散的图像生成。
  • 语音识别与耳语。

开发人员,开发人员…

“MLX是由机器学习研究人员为机器学习研究人员设计的,”该团队解释说。

换句话说,苹果已经认识到需要为机器学习建立开放、易于使用的开发环境,以促进该领域的进一步发展。

考虑到苹果的处理器现在应用于包括Mac、iPhone和iPad在内的所有产品,MLX基于苹果芯片也很重要。在这些芯片上使用GPU、CPU和(可以想象的是,在某种程度上)神经引擎,可以转化为机器学习模型的设备上执行(为了隐私),其性能是其他处理器无法比拟的,至少在边缘设备上是这样。

是不是太少,太迟了?

考虑到去年这个时候Open AI的聊天GPT出现时引起的巨大轰动,苹果真的迟到了吗?我不这么想。

该公司显然决定将重点放在为机器学习研究人员提供最好的工具上,包括强大的M3 mac电脑,以便在其上建立模型。

现在,它想把这种关注转化为可行的、以人为本的人工智能工具,供我们其他人享受。现在就宣布苹果在一场真正才刚刚开始的人工智能行业战争中失败还为时过早。

请在Mastodon上关注我,或者在MeWe上加入我的苹果爱好者的酒吧和烧烤以及苹果讨论组。

声明:本站信息均由用户注册后自行发布,本站不承担任何法律责任。如有侵权请告知,立即做删除处理。
违法不良信息举报邮箱:
湘ICP备2023033219号