MLC LLM:将LLMs部署到消费类硬件的优势、挑战以及解决方案

一、前言

随着生成人工智能(AI)和大语言模型(LLM)的快速发展,基于LLM的应用越来越普及。然而,大规模的模型需要密集计算和庞大的资源,使得许多公司无法承担从头开始训练模型的成本。目前,大部分厂商提供基于云端的LLM服务,需要联网才能使用。这对于需要在专用网络中部署LLM的情况,提供云端模型能力从成本投入和应用效果上来看并不一定是最合适的解决方案。

为了解决这个问题,研究人员正在寻找将LLM直接部署在终端设备(如智能柜、一体机、登记终端)和消费类设备(笔记本电脑、手机)上的方法。这种部署方式将带来以下优势:

  • 更快的响应时间:本地部署可以减少网络延迟,提高用户体验。

  • 提高隐私和数据安全性:将计算任务保留在用户设备上,降低数据泄露风险。

  • 离线使用能力:用户无需始终保持与云服务器的连接,可以在无网络环境下使用LLM。

实现这一目标需要解决计算设备和部署环境的多样性挑战,包括:

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

  • 部署在可能没有现成Python或其他依赖项的用户设备本机环境上。

  • 解决内存限制,通过精心规划分配和压缩模型参数。

为了应对这些挑战,研究人员正在探索机器学习编译领域,结合机器学习编程抽象、学习驱动的搜索、编译和优化库运行时。庆幸的是,在机器学习开源领域,MLC LLM正在解决大语言模型如何快速简单的部署在消费级设备上,这将为AI生态系统带来新的机遇和突破,推动人工智能技术在各个领域的普及和应用。然而小米很早已经嗅到了在国内LLM的创新应用模式,在消费级设备上部署针对特定场景进行微调训练的LLM,以支撑前端AI应用。

2023年8月14日,也就是今天,在雷军的年度演讲中,雷军提到小米全面拥抱大模型,小爱同学已经开始升级大模型。目前小米公司已经成功在手机端侧初步跑通大模型,雷军表示,目前小米的手机端侧大模型在部分场景下的效果媲美云端60亿参数的大模型运算能力。

二、什么是 MLC LLM ?

MLC LLM 是一种通用解决方案,允许将任何语言模型本地部署在各种硬件后端和本机应用程序上,并为每个人提供一个高效的框架,以便针对自己的用例进一步优化模型性能。 一切都在本地运行,无需服务器支持,并通过手机和笔记本电脑上的本地 GPU 进行加速。支持的平台包括:

https://sundun-rdcenter.feishu.cn/space/api/box/stream/download/asynccode/?code=Y2UxMGRmZTBmMDU5ZDMyMTUyODcwMDI0MDFmMDRhNzRfTmpQMXRIWXgzOEFMYk9mN0ZsZWZNU2ZvalRGTFNBNGRfVG9rZW46U0hicmJhSFlyb1ZpbUp4ZjJvemNGN29jbnNnXzE2OTIyNTMzMzQ6MTY5MjI1NjkzNF9WNA

MLC LLM 提供可重复、系统且可定制的工作流程,使开发人员和人工智能系统研究人员能够以注重生产力、Python 优先的方法实施模型和优化。这种方法可以快速试验新模型、新想法和新编译器通道,然后本地部署到所需目标。此外,我们通过扩大 TVM 后端来不断扩展 LLM 加速,使模型编译更加透明和高效。

MLC-LLM 项目由三个不同的子模块组成:模型定义、模型编译和运行时。

https://sundun-rdcenter.feishu.cn/space/api/box/stream/download/asynccode/?code=ZTJhYjQ4NDFhMmRjNDhkYTM5MGU5MzMwZTdjNzBiZjRfZm5hakkwSUZ4OW1vSjBMWEpQdHhGOXJFRTdNajJBRWdfVG9rZW46TW1idGJ6SEJub3RUaTB4UmhTV2MxaVYybk5oXzE2OTIyNTMzMzQ6MTY5MjI1NjkzNF9WNA

➀ Python 中的模型定义。MLC 提供各种预定义架构,例如 Llama(例如 Llama2、Vicuna、OpenLlama、Wizard)、GPT-NeoX(例如 RedPajama、Dolly)、RNN(例如 RWKV)和 GPT-J。模型开发人员可以仅使用纯 Python 定义模型,而无需接触代码生成和运行时。

➁ Python 中的模型编译。模型由TVM Unity编译器编译,其中编译配置为纯 Python。MLC LLM 将基于 Python 的模型量化并导出到模型库并量化模型权重。可以用纯 Python 开发量化和优化算法,以针对特定用例压缩和加速 LLM。

➂ 平台本机运行时。每个平台上都提供了 MLCChat 的变体:用于命令行的C++ 、用于 Web 的Javascript 、用于 iOS 的Swift和用于 Android 的Java,可通过 JSON 聊天配置进行配置。应用程序开发人员只需熟悉平台原生运行时即可将 MLC 编译的 LLM 集成到他们的项目中。

官方提供了不同平台预构建的MLC Chat应用程序部署包,我们可以在以下平台上尝试预构建的模型:

  • iPhone

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

技术狂潮AI

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值