从头造轮子 or 重复造轮子?苹果开源 MLX,为自家芯片专属定制机器学习框架

本文主要是介绍从头造轮子 or 重复造轮子?苹果开源 MLX,为自家芯片专属定制机器学习框架,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

苹果:现在上车还来得及吗?

北京时间 12 月 6 日,苹果机器学习研究中心 (Apple machine learning research) 在 GitHub 上开源 MLX。

苹果机器学习研究中心研究科学家 Awni Hannun 在个人 Twitter 宣布这一消息

苹果芯片「专属定制版」机器学习框架

MLX 是一个专为苹果芯片设计的机器学习框架,旨在保证用户友好的前提下,支持高效地在苹果芯片上训练及部署模型。

MLX 设计理念简单,参考了 NumPy、PyTorch、Jax 和 ArrayFire 等框架,其关键功能包括:

  • 熟悉的 API:MLX 的 Python API 跟 NumPy 非常类似,同时 MLX 还有一个功能齐全的 C++ API,此外 MLX 还有类似 mlx.nnmlx.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 修了啊?!

在线等,挺急的。

这篇关于从头造轮子 or 重复造轮子?苹果开源 MLX,为自家芯片专属定制机器学习框架的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/466034

相关文章

HarmonyOS学习(七)——UI(五)常用布局总结

自适应布局 1.1、线性布局(LinearLayout) 通过线性容器Row和Column实现线性布局。Column容器内的子组件按照垂直方向排列,Row组件中的子组件按照水平方向排列。 属性说明space通过space参数设置主轴上子组件的间距,达到各子组件在排列上的等间距效果alignItems设置子组件在交叉轴上的对齐方式,且在各类尺寸屏幕上表现一致,其中交叉轴为垂直时,取值为Vert

Ilya-AI分享的他在OpenAI学习到的15个提示工程技巧

Ilya(不是本人,claude AI)在社交媒体上分享了他在OpenAI学习到的15个Prompt撰写技巧。 以下是详细的内容: 提示精确化:在编写提示时,力求表达清晰准确。清楚地阐述任务需求和概念定义至关重要。例:不用"分析文本",而用"判断这段话的情感倾向:积极、消极还是中性"。 快速迭代:善于快速连续调整提示。熟练的提示工程师能够灵活地进行多轮优化。例:从"总结文章"到"用

【前端学习】AntV G6-08 深入图形与图形分组、自定义节点、节点动画(下)

【课程链接】 AntV G6:深入图形与图形分组、自定义节点、节点动画(下)_哔哩哔哩_bilibili 本章十吾老师讲解了一个复杂的自定义节点中,应该怎样去计算和绘制图形,如何给一个图形制作不间断的动画,以及在鼠标事件之后产生动画。(有点难,需要好好理解) <!DOCTYPE html><html><head><meta charset="UTF-8"><title>06

学习hash总结

2014/1/29/   最近刚开始学hash,名字很陌生,但是hash的思想却很熟悉,以前早就做过此类的题,但是不知道这就是hash思想而已,说白了hash就是一个映射,往往灵活利用数组的下标来实现算法,hash的作用:1、判重;2、统计次数;

阿里开源语音识别SenseVoiceWindows环境部署

SenseVoice介绍 SenseVoice 专注于高精度多语言语音识别、情感辨识和音频事件检测多语言识别: 采用超过 40 万小时数据训练,支持超过 50 种语言,识别效果上优于 Whisper 模型。富文本识别:具备优秀的情感识别,能够在测试数据上达到和超过目前最佳情感识别模型的效果。支持声音事件检测能力,支持音乐、掌声、笑声、哭声、咳嗽、喷嚏等多种常见人机交互事件进行检测。高效推

poj2406(连续重复子串)

题意:判断串s是不是str^n,求str的最大长度。 解题思路:kmp可解,后缀数组的倍增算法超时。next[i]表示在第i位匹配失败后,自动跳转到next[i],所以1到next[n]这个串 等于 n-next[n]+1到n这个串。 代码如下; #include<iostream>#include<algorithm>#include<stdio.h>#include<math.

poj3261(可重复k次的最长子串)

题意:可重复k次的最长子串 解题思路:求所有区间[x,x+k-1]中的最小值的最大值。求sa时间复杂度Nlog(N),求最值时间复杂度N*N,但实际复杂度很低。题目数据也比较水,不然估计过不了。 代码入下: #include<iostream>#include<algorithm>#include<stdio.h>#include<math.h>#include<cstring

零基础学习Redis(10) -- zset类型命令使用

zset是有序集合,内部除了存储元素外,还会存储一个score,存储在zset中的元素会按照score的大小升序排列,不同元素的score可以重复,score相同的元素会按照元素的字典序排列。 1. zset常用命令 1.1 zadd  zadd key [NX | XX] [GT | LT]   [CH] [INCR] score member [score member ...]

【机器学习】高斯过程的基本概念和应用领域以及在python中的实例

引言 高斯过程(Gaussian Process,简称GP)是一种概率模型,用于描述一组随机变量的联合概率分布,其中任何一个有限维度的子集都具有高斯分布 文章目录 引言一、高斯过程1.1 基本定义1.1.1 随机过程1.1.2 高斯分布 1.2 高斯过程的特性1.2.1 联合高斯性1.2.2 均值函数1.2.3 协方差函数(或核函数) 1.3 核函数1.4 高斯过程回归(Gauss

金融业开源技术 术语

金融业开源技术  术语 1  范围 本文件界定了金融业开源技术的常用术语。 本文件适用于金融业中涉及开源技术的相关标准及规范性文件制定和信息沟通等活动。