从头造轮子 or 重复造轮子?苹果开源 MLX,为自家芯片专属定制机器学习框架
苹果:现在上车还来得及吗?
北京时间 12 月 6 日,苹果机器学习研究中心 (Apple machine learning research) 在 GitHub 上开源 MLX。
苹果芯片「专属定制版」机器学习框架
MLX 是一个专为苹果芯片设计的机器学习框架,旨在保证用户友好的前提下,支持高效地在苹果芯片上训练及部署模型。
MLX 设计理念简单,参考了 NumPy、PyTorch、Jax 和 ArrayFire 等框架,其关键功能包括:
-
熟悉的 API:MLX 的 Python API 跟 NumPy 非常类似,同时 MLX 还有一个功能齐全的 C++ API,此外 MLX 还有类似
mlx.nn
和mlx.optimizer
这些更高阶的包,跟 PyTorch API 很像,可以简化复杂模型的构建。 -
可组合的函数转换:MLX 具有可组合的函数转换,可用于自动微分、自动向量化和计算图优化。
-
延迟计算 (Lazy computation):MLX 中的计算是延迟执行的,Array 只在需要的时候才会创建。
-
动态图构建:MLX 中的计算图是动态构建的,更改函数参数的 shapes 不会降低编译速度,调试也更简单直观。
-
多设备支持:Operations 可以在任意支持的设备上运行(目前支持 CPU 和 GPU)。
-
统一内存:统一内存模型 (unified memory model) 是 MLX 和其他框架的显著区别。MLX 中的 Array 保存在共享内存中,无需移动数据就可以在任意支持的设备上执行操作。
根据官方 GitHub Repo 介绍,MLX 已更新多个热门教程,包含:
-
Transformer 语言模型训练
-
用 LLaMA 生成大规模文本,并用 LoRA 进行 finetuning
-
用 Stable Diffusion 生成图像
-
用 OpenAI Whisper 进行语音识别
详情可访问:
https://github.com/ml-explore/mlx/tree/main/examples
从头造轮子 or 重复造轮子?
针对苹果此次发布的 MLX,呈现了两种截然不同的声音。
✅ 正方代表:
MLX 作为一个针对苹果芯片优化的 PyTorch-style 神经网络架构,可能是苹果在 AI 开源领域,迄今为止最重要的举措。
2018 年图灵奖得主、Meta 首席 AI 科学家 Yann LeCun 也直呼干得漂亮
盼着能给英伟达点儿压力,降价提效、推出更好的消费级 GPU
苹果对 AI 开源的承诺值得赞扬,MLX 称得上是在苹果芯片上进行深度学习的一场变革。
Cool!啥时候才能有可以在本地运行的类似 GPT-4 这样的高质量模型啊!MLX 带来了巨大的想象力。
❌ 反方代表:
他们本可以跟 @PyTorchTeam 合作,发布针对苹果芯片优化的 PyTorch 后端!!
现在开发者不得不打两份工了,既要支持这个,又要构建一个 wrapper 同时支持 PyTorch 和 MLX!
这东西怎么用于部署啊?除非它能跟英伟达、AMD 等支持的框架兼容,不然 MLX 对机器学习生态就是一种伤害(没有 MacBook 就不能进行机器学习)
苹果,又㕛叒叕重复造轮子
一图胜千言 图片
GitHub Issue:晚点吵先把 Bug 修了
Talk is cheap. Show me the code.
在尝试从 MacBook 终端安装运行 MLX 的过程中,我们发现官方提供的安装代码出现报错,MLX GitHub Repo 中也有多位工程师遇到类似问题。
截止发稿,已有 10 位工程师在该 Issue 下反馈了安装报错问题
无论 MLX 能否一举成为开发者在苹果设备上进行模型训练及部署的实用框架,咱就是说能不能先把 Bug 修了啊?!
在线等,挺急的。