机器之心报导
机器之心编辑部
从此,大模型能够在任何设备上编译运转。
「我把大言语模型下到我的 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 等院校组织,一起也获得了开源社区的支撑。
-
项目地址:github.com/mlc-ai/mlc-…
-
Demo: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,对业界产生了深远的影响。使用这一东西,机器学习算法能够自动编译成可供下层硬件执行的机器言语,然后能够使用多种类型的算力。
在人们的尽力下,我们或许很快就能看到云 + 端侧别离布置大模型的下一代运用。
参考链接:
zhuanlan.zhihu.com/p/625959003
mlc.ai/mlc-llm/
mlc.ai/web-llm/
github.com/mlc-ai/web-…