新智元报道
编辑:mindy
【新智元导读】苹果新发布适用于苹果芯片的机器学习框架mlx,mlx是一个类似于numpy的阵列框架,旨在为使用苹果硬件的研究人员简化 ml 模型的训练和部署。
一直以来,英伟达cuda称霸天下,使得它在ai领域的势力不可动摇。
对于许多人来说,都希望打破这个护城河,比如pytorch支持更多gpu,openai的triton等等。
近日,苹果针对使用苹果芯片的机器学习研究人员,专门发布了一款机器学习框架mlx。
苹果机器学习团队的awni hannun在x-note中将该软件称为:「……专为苹果芯片设计的高效机器学习框架」。
mlx使用起来类似pytorch、jax和arrayfire等现有框架。
但是,mlx针对apple芯片进行了优化。以前受困于艰难使用m芯片gpu跑模型的研究人员,现在终于可以摆脱这个苦恼了!
同时,mlx增加了对统一内存模型的支持,这也意味着阵列位于共享内存中,并且可以在任何支持的设备类型上执行操作,而无需执行数据复制。那么,一旦苹果的其他产品也能够开始跑模型……有没有很期待!
英伟达高级科学家jim fan表示,这可能是苹果公司迄今为止在开源人工智能方面的最大举措:
mlx特别之处
先让我们来看看mlx的速度:
一位网友对mlx的速度进行了测试,他在推文中表示,使用apple mlx框架进行计算的速度,m2 ultra(76个gpu)可达到每秒5次迭代(it/sec),而m3 max(40个gpu)可以达到每秒2.8次迭代。
这个速度是与pytorch几乎持平的。
mlx的另一大特点,像jim fan指出的那样,是它设计出色的api。
对深度学习领域的开发人员来说,上手几乎零成本。
这是因为mlx 的设计灵感来自于 pytorch、jax 和 arrayfire 等现有框架。
研究团队解释道:「python api 与 numpy 高度相似,只有少数例外。mlx 还拥有一个功能齐全的 c api,它与 python api 高度一致。」
研究团队对该设计的目的作了补充:「该框架旨在兼顾对用户操作友好,同时保持训练和部署模型的高效。我们的目标是使研究人员能够轻松扩展和改进 mlx,以便快速探索新的想法。」
除了可以轻松上手的api之外,mlx的一些其他关键特性还包括:
可组合的函数变换:mlx含有用于自动微分、自动向量化和计算图优化的可组合函数变换,这对于优化和加速机器学习模型的训练过程非常有用。
延迟计算:mlx支持延迟计算,数组只在需要时才会被实例化。
动态图构建:mlx中的计算图是动态构建的。改变函数参数的形状不会触发缓慢的编译,调试也简单直观。这使得模型的开发和调试更加灵活和高效。
多设备支持:操作可以在任何支持的设备上运行(目前支持cpu和gpu)。
统一内存:mlx与其他框架的显著区别在于统一的内存模型。在mlx中,数组存在于共享内存中,对mlx数组的操作可以在任何支持的设备类型上执行,而无需移动数据。
mlx data
除了发布mlx以外,苹果机器学习团队还一起发表了mlx data。这是一个与mlx框架无关的数据加载库,可以与pytorch、jax或mlx一同使用。
mlx data可以用于加载大规模数据集,也可以独立用于数据预处理,以供机器学习训练使用。
该库的目标是允许用户利用多线程来加速数据处理流水线,而无需涉及复杂的多进程操作或使用符号语言编写代码。这有利于帮助提高数据加载和预处理的效率。
mlx示例展示
目前,用户可以通过pypi轻松安装mlx,只需执行以下命令:pip install mlx
用户需要确保满足以下安装要求:
- 使用m系列芯片(苹果芯片)
- 使用本地python版本不低于3.8
- macos版本需不低于13.3
研究团队同时提供了一系列有关 mlx 功能的示例,包括transformer语言模型训练、使用llama进行大规模文本生成、使用lora进行微调、使用稳定扩散生成图像,以及用openai的whisper进行语音识别等。
详情可见github:https://github.com/ml-explore/mlx-examples/tree/main。
这些例子也侧面证明了该公司在语言处理、图像生成和语音识别等方面的技术实力和工具的强大程度。
其他开发人员也对于mlx进行了其他有趣的尝试,比如一位来自塞浦路斯大学的教授,在使用pytorch和新的mlx框架的情况下,成功在apple m2 ultra gpu上解决了一个板上的二维热传导方程问题,其中包含两个dirichlet和两个neumann边界条件。
有趣的是,mlx的计算速度大约是之前的两倍,并且可以直接使用matplotlib进行绘图,无需转移到cpu。
从mlx一瞥苹果对于人工智能的展望
普惠机器学习
研究团队一再强调,「mlx是由机器学习研究人员为机器学习研究人员设计的。」 这表明苹果意识到为机器学习开发开放、易于使用的开发环境的需求,以促进该领域的进一步发展。
芯片技术
因为苹果的处理器现在存在于其所有产品中,包括mac、iphone和ipad。这种在这些芯片上使用gpu、cpu和(有可能在某个时刻)神经引擎的方法可能会转化为在设备上执行ml模型。其性能可能超过其他处理器,至少在边缘设备方面。
开发工具的重要性
苹果明确决定将重点放在为机器学习研究人员提供最佳工具上,包括强大的m3 mac,用于模型构建。现在,他们进一步希望将这种关注转化为对普通用户而言可行、以人为本的ai工具。
总体而言,苹果希望通过提供强大的工具和在不同设备上的性能优势,将机器学习和人工智能推向更广泛的用户。
这场ai产业的战争仅仅刚刚开始。
参考资料:
https://www.computerworld.com/article/3711408/apple-launches-mlx-machine-learning-framework-for-apple-silicon.html
特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。
notice: the content above (including the pictures and videos if any) is uploaded and posted by a user of netease hao, which is a social media platform and only provides information storage services.