还支持训练Transformer模型

萧箫 发自 凹非寺
量子位 | 公众号 QbitAI

苹果M系列芯片专属的机器学习框架,开源即爆火!

现在,用上这个框架,你就能直接在苹果GPU上跑70亿参数大模型、训练Transformer模型或是搞LoRA微调。

它由苹果官方发布,风格与PyTorch相似,不过并不基于任何已有框架实现。

苹果大模型最大动作:开源M芯专用ML框架,能跑70亿大模型

LeCun等大佬纷纷赶来点赞转发。

苹果大模型最大动作:开源M芯专用ML框架,能跑70亿大模型

英伟达高级AI科学家Jim Fan赞叹称:

这应该是目前苹果在开源AI开源上最大的动作了。

苹果大模型最大动作:开源M芯专用ML框架,能跑70亿大模型

甚至还有网友动起了iPhone上A芯的念头(手动狗头)

苹果大模型最大动作:开源M芯专用ML框架,能跑70亿大模型

所以,这个框架究竟长啥样?

参考多个ML框架设计

这个新框架名叫MLX,有探索机器学习(ml-explore)的意思。

苹果大模型最大动作:开源M芯专用ML框架,能跑70亿大模型

从功能来看,MLX主要有以下几点特性:

API熟悉(包括C++ API、类似NumPy的Python API以及一些高级功能包近似于PyTorch的API)、可组合函数变换、惰性计算、动态图构建、多设备可用、统一内存。

框架作者Awni Hannun介绍,之所以MLX不直接基于PyTorch实现,主要有几个方面的考量。

苹果大模型最大动作:开源M芯专用ML框架,能跑70亿大模型

首先是因为,MLX框架是给苹果芯片设计的。

苹果芯片在采用了一些独特的设计,例如统一内存,这些设计在框架中都可以被利用。

然后,MLX框架也参考了不同机器学习框架的优势,包括NumPy、PyTorch、Jax和ArrayFire等。

例如JAX中可组合的函数转换,就被加进了MLX的设计中,但graph(计算图)仍然是动态构建的。

除此之外,作者认为MLX也有一些属于自己的特性,如简单、灵活和多样性等。

因此,MLX在功能和设计上与PyTorch等经典框架不完全一样,有一些“自己的style”。

如果你手上有苹果M芯电脑的话,现在就可以上手一试跑AI模型了。

苹果电脑M系列芯片才能用

目前,官方给出了5类MLX的使用参考案例:

  • Transformer架构语言模型的训练
  • LLaMAMistral进行长文本生成
  • LoRA进行参数微调
  • Stable Diffusion进行图像生成
  • Whisper进行语音识别

作者们还在GitHub上放出了基于Stable Diffusion对比的PyTorch和MLX的性能:

苹果大模型最大动作:开源M芯专用ML框架,能跑70亿大模型

要是对这几个AI模型感兴趣,装好MLX之后就可以直接上手试玩了。

作者给出了一系列手把手的教程,教你如何在苹果电脑上运行MLX框架。

首先是pip install mlx,安装一下框架:

苹果大模型最大动作:开源M芯专用ML框架,能跑70亿大模型

我们也在苹果M芯电脑上尝试了一下,可以成功安装:

苹果大模型最大动作:开源M芯专用ML框架,能跑70亿大模型

值得一提的是,安装前记得检查一下你的苹果电脑,各种环境和操作系统是否都搞好了。

苹果大模型最大动作:开源M芯专用ML框架,能跑70亿大模型

而且芯片必须是苹果自研的M系列芯片,可以用这个口令检查一下:

苹果大模型最大动作:开源M芯专用ML框架,能跑70亿大模型

如果是英特尔平台,也是用不了MLX的:

苹果大模型最大动作:开源M芯专用ML框架,能跑70亿大模型

搞定之后,git clone一个副本,就可以在样例里面找到自己想玩的模型,尝试上手运行了:

苹果大模型最大动作:开源M芯专用ML框架,能跑70亿大模型

这里跑一个LLaMA试试:

苹果大模型最大动作:开源M芯专用ML框架,能跑70亿大模型

然后就可以开始问问题了,例如波尔查诺-魏尔斯特拉斯定理是什么等等,LLaMA就能在终端给你解答:

苹果大模型最大动作:开源M芯专用ML框架,能跑70亿大模型

LightningAI的Sebastian Raschka表示,这个框架看起来非常酷,希望能看到更多PyTorch与MLX在macOS上的性能对比。

除此之外,LLaMA在MLX上的实现细节也非常有意思:

苹果大模型最大动作:开源M芯专用ML框架,能跑70亿大模型

还有不少苹果用户表示高兴:H100稀缺的情况下,终于可以用M3 Max来搞事了。

苹果大模型最大动作:开源M芯专用ML框架,能跑70亿大模型

你试用过MLX了吗?感觉如何?

参考链接:
[1]https://github.com/ml-explore/mlx
[2]https://twitter.com/awnihannun/status/1732184443451019431