来源:机器之心

「我把大语言模型下到我的 iPhone 上,它神奇地跑起来了!」

对于陈天奇等人开源的新技术,大家一致的评论是「Amazing」。

最近人们都在研究 ChatGPT,大语言模型(LLM)彻底改变了科技领域的格局,但对于 AI 开发者来说,并不是人人都有上万块 A100 的。为了跑得起大模型,就要寻找各种优化方法。

在让大模型变小这条路上,人们做了很多尝试,先是 Meta 开源了 LLaMA,让学界和小公司可以训练自己的模型。随后斯坦福研究者启动了 Lamini,为每个开发者提供了从 GPT-3 到 ChatGPT 的快速调优方案。

最近这个叫 MLC LLM 的项目可谓一步登天,因为它能让你「在任何设备上编译运行大语言模型。

MLC LLM 为我们在各类硬件上原生部署任意大型语言模型提供了解决方案,可将大模型应用于移动端(例如 iPhone)、消费级电脑端(例如 Mac)和 Web 浏览器。

该项目是由 TVM、MXNET、XGBoost 作者,CMU 助理教授,OctoML CTO 陈天奇等多位研究者共同开发的,参与者来自 CMU、华盛顿大学、上海交通大学、OctoML 等院校机构,同时也获得了开源社区的支持。

  • 项目地址:https://github.com/mlc-ai/mlc-llm

  • Demo:https://mlc.ai/mlc-llm/

借助 MLC LLM 方案,我们可以在移动端部署和运行大型语言模型,例如在 iPhone 上运行聊天机器人:

在 Web 浏览器上运行聊天机器人:

当然,在 Windows 和 Linux 上本地运行也是肯定可以的,聊天机器人应用程序能通过 Vulkan 平台在 GPU 上运行:

MLC-LLM 推出不到两天,GitHub 的 Star 量已经接近一千。在社交网络上人们纷纷点赞,表示 MLC-LLM 让我领教了低精度跑 AI 的可怕程度:

也有人晒出了自己的使用体验,iPhone 飞行模式本地跑大语言模型:

简单来说,MLC LLM 是一种通用解决方案,它允许将任何语言模型本地部署在各种硬件后端和本地应用程序上。此外,MLC LLM 还提供了一个高效的框架,供使用者根据需求进一步优化模型性能。

MLC LLM 旨在让每个人都能在个人设备上本地开发、优化和部署 AI 模型,而无需服务器支持,并通过手机和笔记本电脑上的消费级 GPU 进行加速。具体来说,MLC LLM 支持的平台包括:

  • iPhone

  • Metal GPU 和英特尔 / ARM MacBook;

  • 在 Windows 和 Linux 上支持通过 Vulkan 使用 AMD 和 NVIDIA GPU;

  • 在 Windows 和 Linux 上 通过 CUDA 使用 NVIDIA GPU;

  • 浏览器上的 WebGPU(借助 MLC LLM 的配套项目 Web LLM)。

项目概览

为了实现在各类硬件设备上运行 AI 模型的目标,研究团队首先要解决计算设备和部署环境的多样性问题,主要挑战包括:

  • 支持不同型号的 CPU、GPU 以及其他可能的协处理器和加速器;

  • 部署在用户设备的本地环境中,这些环境可能没有 python 或其他可用的必要依赖项;

  • 通过仔细规划分配和积极压缩模型参数来解决内存限制。

  • MLC LLM 提供可重复、系统化和可定制的工作流,使开发人员和 AI 系统研究人员能够以 Python 优先的方法实现模型并进行优化。MLC LLM 可以让研究人员们快速试验新模型、新想法和新的编译器 pass,并进行本地部署。

原生部署

为了实现原生部署,研究团队以机器学习编译(MLC)技术为基础来高效部署 AI 模型。MLC LLM 借助一些开源生态系统,包括来自 HuggingFace 和 Google 的分词器,以及 LLaMA、Vicuna、Dolly 等开源 LLM。

MLC LLM 的主要工作流基于 Apache TVM Unity,通过扩展 TVM 后端使模型编译更加透明和高效。

  • Dynamic shape:该研究将语言模型烘焙(bake)为具有原生 Dynamic shape 支持的 TVM IRModule,避免了对最大输入长度进行额外填充的需要,并减少了计算量和内存使用量。

  • 可组合的 ML 编译优化:MLC LLM 可以执行许多模型部署优化,例如更好的编译代码转换、融合、内存规划和库卸载(library offloading),并且手动代码优化可以很容易地合并为 TVM 的 IRModule 转换,成为一个 Python API。

  • 量化:MLC LLM 利用低位量化来压缩模型权重,并利用 TVM 的 loop-level TensorIR 为不同的压缩编码方案快速定制代码生成。

  • 运行时(Runtime):TVM 编译生成的库能够通过 TVM runtime 在设备的原生环境中运行,TVM runtime 支持 CUDA/Vulkan/Metal 等主流 GPU 驱动以及 C、JavaScript 等语言的绑定。

此外,MLC 还为 CUDA、Vulkan 和 Metal 生成了 GPU shader,并通过 LLVM 支持多种 CPU,包括 ARM 和 x86。通过改进 TVM 编译器和运行时,使用者可以添加更多支持,例如 OpenCL、sycl、webgpu-native。

MLC-LLM 的发布让我们再次感受到了陈天奇 TVM 的力量。

陈天奇是机器学习领域知名青年学者,2019 年任卡耐基梅隆大学机器学习、计算机科学系助理教授。早在 2017 年,他和他的同时开源了著名深度学习框架 TVM,对业界产生了深远的影响。利用这一工具,机器学习算法可以自动编译成可供下层硬件执行的机器语言,从而可以利用多种类型的算力。

在人们的努力下,我们或许很快就能看到云 + 端侧分别部署大模型的下一代应用。

参考链接:

https://zhuanlan.zhihu.com/p/625959003

https://mlc.ai/mlc-llm/

https://mlc.ai/web-llm/

https://github.com/mlc-ai/web-llm/tree/main

欢迎大家加入我的这个”AIGC与GPT“知识星球,价格便宜,目前已有近120人

作为一个大厂算法工程师和机器学习技术博主,我希望这个星球可以:

  • 【最全免费资源】免费chatgpt-API,最新AIGC和GPT相关pdf报告和手册。

  • 【最专业算法知识】Transformer、RLHF方法、多模态解读及其论文分享。

  • 【最新变现姿势】如何结合ChatGPT应用落地,各种可以作为副业的AIGC变现方式,打好这个信息差。

  • 【最有趣AICG】ChatGPT+midjourney拍电影,制作壁纸,漫画等等有趣的AICG内 容分享。

一些截图:

陈天奇等人新作引爆AI界相关推荐

  1. iPhone直接跑大模型!陈天奇等人新作引爆AI界,算力不是问题了

    ©作者 | 机器之心编辑部 来源 | 机器之心 从此,大模型可以在任何设备上编译运行. 「我把大语言模型下到我的 iPhone 上,它神奇地跑起来了!」 五一假期还没过完,大模型领域的技术就已经发展到 ...

  2. 陈天奇等人新作引爆AI界!手机原生跑大模型,算力不是问题了

    点击下方卡片,关注"CVer"公众号 AI/CV重磅干货,第一时间送达 点击进入->[Transformer]微信技术交流群 转载自:机器之心 从此,大模型可以在任何设备上编 ...

  3. 自动生成硬件优化内核:陈天奇等人发布深度学习编译器TVM

    有了 TVM,业界与学界开发者们可以快速.轻松地在各个系统(包括手机.嵌入式设备与低功耗芯片)上部署深度学习应用程序,同时无须担心资源与速度的限制.「TVM 作为神经网络和硬件后端之间的共同层,消除了 ...

  4. 陈天奇任CTO,TVM团队成立OctoML:让任何硬件都能部署机器学习模型

    陈天奇任CTO,TVM团队成立OctoML:让任何硬件都能部署机器学习模型 据机器之心消息,知名人工智能青年学者.华盛顿大学博士陈天奇于近期参与创建了创业公司 OctoML,担任 CTO 一职. 随着 ...

  5. 陈天奇:我的 iPhone可以跑大模型了!

    Datawhale开源 开源:陈天奇,CMU,编辑:机器之心 从此,大模型可以在任何设备上编译运行. 「我把大语言模型下到我的 iPhone 上,它神奇地跑起来了!」 五一假期还没过半,大模型领域的技 ...

  6. 【AI新星耀名校】陈天奇、朱俊彦、金驰加盟CMU、普林斯顿

    点击"简说Python",选择"置顶/星标公众号" 福利干货,第一时间送达!   新智元报道   来源:百度百科.个人主页等 编辑:金磊.小芹.张佳 本文转载自 ...

  7. 陈天奇的tvm更新了:VTA,开源AI芯片栈

    陈天奇 发表于 tvm社区  量子位 搬运 | 公众号 QbitAI 华盛顿大学陈天奇博士近日在tvm社区介绍了VTA(Versatile Tensor Accelerator)项目,量子位全文搬运如 ...

  8. 华盛顿大学成立SAML实验室:陈天奇参与,推进未来AI系统全栈研究

    安妮 发自 凹非寺 量子位 出品 | 公众号 QbitAI △ 陈天奇 昨天,TVM.XGBoost.cxxnet等机器学习工具的作者陈天奇宣布,自己所在的华盛顿大学新成立了一个实验室,组织代号& ...

  9. 北大「通班」!AI界泰斗朱松纯领衔、IEEE Fellow 陈宝权出任副院长

    转自 | 新智元 [导读]AI院成立.通班开班.智能学院成立,北大人工智能学科发展建设迎来新篇章!IEEE Fellow陈宝权教授加盟北大智能学院,携手朱松纯院长砥砺前行. 去年春天,北京大学通用人工 ...

最新文章

  1. 【转】U3D手游《苍穹变》性能优化经验谈
  2. 【转】如何拿到半数面试公司Offer——我的Python求职之路
  3. Python 实现 csv文件转换成json文件
  4. 倒计时3天!携手开发者,一起精准打造数智未来!
  5. Python单元测试介绍及单元测试理解,单元测试的自动生成(对函数进行测试)
  6. flutter 获取定位_Flutter 实现高德定位
  7. Java同步—线程池的创建和使用
  8. Fixed the bug:while running alert/confirm in javascript the chrome freezes
  9. bartlett方差齐性检验_数据总体分布检验
  10. python3.5和python3.6关于json模块的区别
  11. 双线性插值GPU加速
  12. hbase regionserver挂掉报错has too many store files delaying flush up to 90000ms
  13. 导图解文 从梦想到财富(05)世界第八大奇迹,知者赚不知者被赚
  14. web前端期末大作业——HTML+CSS简单的旅游网页设计与实现
  15. 流程二备选方案及评估
  16. java 54张扑克牌_Java基础高级综合练习题扑克牌的创建
  17. STM32F10xxx20xxx21xxxL1xxxx Cortex-M3程序设计手册 阅读笔记二(1):Cortex-M3处理器程序模型
  18. 折半查找法(二分搜索法)
  19. springCloud与它的好兄弟微服务
  20. 腾讯 天美一面凉经<2021.03.19>

热门文章

  1. 302_火狐浏览器访问报302错误,chrome 可以正常访问
  2. 速腾聚创16线激光雷达录的数据包运行LeGO-LOAM
  3. SQL-结构化查询语言
  4. 利用Python进行数据分析第二版复现(九)
  5. MLK | 那些常见的特征工程
  6. 让你不再害怕结构体-C语言结构体详解
  7. 安装VMware Workstation Pro以及纯国产的达梦数据库
  8. 内连级元素有哪些_内联元素和块级元素
  9. 【工厂模式与抽象工厂】—— 每天一点小知识
  10. 油猴子脚本【隐藏MSDN里的代码成员】