从头造轮子 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

相关文章

Python Dash框架在数据可视化仪表板中的应用与实践记录

《PythonDash框架在数据可视化仪表板中的应用与实践记录》Python的PlotlyDash库提供了一种简便且强大的方式来构建和展示互动式数据仪表板,本篇文章将深入探讨如何使用Dash设计一... 目录python Dash框架在数据可视化仪表板中的应用与实践1. 什么是Plotly Dash?1.1

基于Flask框架添加多个AI模型的API并进行交互

《基于Flask框架添加多个AI模型的API并进行交互》:本文主要介绍如何基于Flask框架开发AI模型API管理系统,允许用户添加、删除不同AI模型的API密钥,感兴趣的可以了解下... 目录1. 概述2. 后端代码说明2.1 依赖库导入2.2 应用初始化2.3 API 存储字典2.4 路由函数2.5 应

Python GUI框架中的PyQt详解

《PythonGUI框架中的PyQt详解》PyQt是Python语言中最强大且广泛应用的GUI框架之一,基于Qt库的Python绑定实现,本文将深入解析PyQt的核心模块,并通过代码示例展示其应用场... 目录一、PyQt核心模块概览二、核心模块详解与示例1. QtCore - 核心基础模块2. QtWid

C++原地删除有序数组重复项的N种方法

《C++原地删除有序数组重复项的N种方法》给定一个排序数组,你需要在原地删除重复出现的元素,使得每个元素只出现一次,返回移除后数组的新长度,不要使用额外的数组空间,你必须在原地修改输入数组并在使用O(... 目录一、问题二、问题分析三、算法实现四、问题变体:最多保留两次五、分析和代码实现5.1、问题分析5.

最新Spring Security实战教程之Spring Security安全框架指南

《最新SpringSecurity实战教程之SpringSecurity安全框架指南》SpringSecurity是Spring生态系统中的核心组件,提供认证、授权和防护机制,以保护应用免受各种安... 目录前言什么是Spring Security?同类框架对比Spring Security典型应用场景传统

最新Spring Security实战教程之表单登录定制到处理逻辑的深度改造(最新推荐)

《最新SpringSecurity实战教程之表单登录定制到处理逻辑的深度改造(最新推荐)》本章节介绍了如何通过SpringSecurity实现从配置自定义登录页面、表单登录处理逻辑的配置,并简单模拟... 目录前言改造准备开始登录页改造自定义用户名密码登陆成功失败跳转问题自定义登出前后端分离适配方案结语前言

Java进阶学习之如何开启远程调式

《Java进阶学习之如何开启远程调式》Java开发中的远程调试是一项至关重要的技能,特别是在处理生产环境的问题或者协作开发时,:本文主要介绍Java进阶学习之如何开启远程调式的相关资料,需要的朋友... 目录概述Java远程调试的开启与底层原理开启Java远程调试底层原理JVM参数总结&nbsMbKKXJx

Python结合Flask框架构建一个简易的远程控制系统

《Python结合Flask框架构建一个简易的远程控制系统》这篇文章主要为大家详细介绍了如何使用Python与Flask框架构建一个简易的远程控制系统,能够远程执行操作命令(如关机、重启、锁屏等),还... 目录1.概述2.功能使用系统命令执行实时屏幕监控3. BUG修复过程1. Authorization

无需邀请码!Manus复刻开源版OpenManus下载安装与体验

《无需邀请码!Manus复刻开源版OpenManus下载安装与体验》Manus的完美复刻开源版OpenManus安装与体验,无需邀请码,手把手教你如何在本地安装与配置Manus的开源版OpenManu... Manus是什么?Manus 是 Monica 团队推出的全球首款通用型 AI Agent。Man

SpringBoot集成图片验证码框架easy-captcha的详细过程

《SpringBoot集成图片验证码框架easy-captcha的详细过程》本文介绍了如何将Easy-Captcha框架集成到SpringBoot项目中,实现图片验证码功能,Easy-Captcha是... 目录SpringBoot集成图片验证码框架easy-captcha一、引言二、依赖三、代码1. Ea