关键要点
- Apache 2.0 许可证——个人和商业使用均免费
- 截至 2026 年 9 月约有 23,000+ GitHub 星标,仓库地址 github.com/mlc-ai/mlc-llm
- 源自 CMU Catalyst、UW SAMPL、SJTU、OctoML 及更广泛 MLC 社区的合作
- Tianqi Chen——CMU 教授,Apache TVM、XGBoost 和 MXNet 的创建者,OctoML 联合创始人——是其主要贡献者之一
- 使用 ML 编译(Apache TVM、TensorIR、MetaSchedule)为每个目标生成优化运行时,而非依赖单一手工调优的引擎
- 可在 iOS/iPadOS、Android、Web 浏览器(通过 WebGPU)以及桌面/服务器(Linux、macOS、Windows,配合 CUDA、Vulkan、Metal 或 ROCm 加速)上运行
📍 简单一句话
MLC LLM 是一款免费、Apache 2.0 许可的通用 LLM 部署引擎,使用基于 Apache TVM 的机器学习编译技术,将模型编译为面向 iOS、Android、通过 WebGPU 运行的 Web 浏览器或桌面 GPU 的优化运行时。
💬 简单来说
大多数推理引擎是一个试图在任何环境下运行的手写程序;而 MLC LLM 则针对每个目标设备专门编译模型——就像编译器从同一份源代码为不同的 CPU 架构生成不同的机器码一样。
📌注: WebLLM(github.com/mlc-ai/web-llm)是同一 mlc-ai 组织下的独立姊妹项目,专注于完全在 Web 浏览器内运行模型,不涉及任何服务器端推理。
MLC LLM 是什么
MLC LLM 是一款免费的开源引擎,可将大语言模型编译为针对广泛目标平台(从手机到浏览器再到桌面 GPU)优化的原生运行时。 该项目将自己定位为"具备 ML 编译能力的通用 LLM 部署引擎"。
该项目托管在 github.com/mlc-ai/mlc-llm,采用 Apache 2.0 许可证,已获得约 23,000 个 GitHub 星标。它由 CMU Catalyst、UW SAMPL、SJTU、OctoML 及 MLC 社区的成员共同发起——是一个群体而非单一公司。CMU 教授、Apache TVM、XGBoost 和 MXNet 的创建者 Tianqi Chen 是其主要贡献者之一。
- 将模型编译为目标特定的优化运行时,而不是在每个平台上解释相同的通用代码
- 基于 Apache TVM 及相关编译器研究(TensorIR、MetaSchedule)实现按目标自动优化
- 从同一底层工具链支持 iOS/iPadOS、Android、Web 浏览器和桌面/服务器平台
- 拥有活跃的姊妹项目 WebLLM,专注于完全客户端、浏览器内的推理
这里的"ML 编译"究竟是什么意思
ML 编译把将模型部署到新设备,当作传统编译器把代码部署到新 CPU 架构那样处理——从单一模型描述自动生成优化的、目标特定的代码。 这正是让 MLC LLM 能够覆盖如此广泛硬件的核心理念。
- Apache TVM 提供了 MLC LLM 构建所依赖的编译器基础设施,将模型计算图转换为按目标优化的底层代码
- TensorIR 是在进行目标特定优化之前,用于描述张量计算的中间表示
- MetaSchedule 自动化搜索每个目标下高性能的内核实现,无需人工逐一手写和调优
- 最终结果是:同一个模型,基本上来自相同的源代码,就能编译为通过 CUDA 在 NVIDIA GPU 上运行、通过 Vulkan 或 ROCm 在 AMD GPU 上运行、通过 Metal 在 Apple GPU 上运行,或通过 WebGPU 在浏览器中运行
如何安装并部署 MLC LLM
MLC LLM 面向桌面/服务器使用场景以 Python 包形式安装,并为 iOS 和 Android 提供预构建应用;WebLLM 则以 JavaScript 包形式提供浏览器部署方案。 具体路径取决于目标平台。
- 1桌面/服务器使用:按照官方安装指南安装 MLC LLM 的 Python 包,其中涵盖 CUDA、Vulkan、Metal 和 ROCm 的配置。
- 2选择一个受支持的模型,使用 MLC LLM 的转换与编译工具为目标设备编译,或直接使用 MLC 社区已编译好的模型。
- 3移动端:MLC LLM 提供了将编译好的模型与运行时打包在一起的 iOS、Android 示例应用项目。
- 4无需服务器的浏览器部署:直接以 JavaScript/TypeScript 包的形式使用 WebLLM,它完全通过 WebGPU 在客户端运行。
- 5在目标设备或浏览器上运行并测试编译好的运行时,确认加速在预期的后端(CUDA、Vulkan、Metal、ROCm 或 WebGPU)上生效。
是否需要为每个平台重新编译模型?
通常需要。MLC LLM 的编译步骤会生成针对特定目标(某个 GPU 后端、移动操作系统或浏览器)优化的运行时,因此部署到新平台通常意味着需要为该目标重新编译。
MLC LLM 能否在没有 GPU 的情况下运行?
编译后的运行时主要围绕 GPU 加速路径(CUDA、Vulkan、Metal、ROCm、WebGPU 或移动端 OpenCL)构建;与 llama.cpp 等引擎不同,以 CPU 为中心的部署并非该项目的主要关注点。
MLC LLM 支持哪些平台和 GPU 后端
MLC LLM 的标志性特点是平台支持的广度,除了常规的桌面 GPU,还涵盖移动操作系统和 Web 浏览器。 很少有其他本地推理引擎能从一套工具链覆盖这样的组合。
- iOS/iPadOS —— 基于 Apple A 系列 GPU 的 Metal 加速
- Android —— 基于 Adreno 和 Mali GPU 的 OpenCL 加速
- Web 浏览器 —— 通过姊妹项目 WebLLM 实现的 WebGPU 和 WASM,无需服务器
- 桌面/服务器(Linux、macOS、Windows) —— CUDA(NVIDIA)、Vulkan(AMD/NVIDIA/Intel)、Metal(Apple)和 ROCm(AMD)
谁适合使用 MLC LLM
如果部署目标除了桌面 GPU 还包括移动设备或 Web 浏览器,就使用 MLC LLM;如果目标只是单一类型的平台,就使用更专一的引擎。
MLC LLM 与 llama.cpp 及其他引擎相比如何
与 MLC LLM 最接近的比较对象是其他追求广泛硬件支持的引擎,但在这一组中,只有它采用了基于编译器的方法并支持浏览器内部署。
评估 MLC LLM 时常见的误区
大多数误解源于期待一种即插即用的二进制体验,或者没有意识到 WebLLM 是一个独立的姊妹项目。
常见问题
MLC LLM 是什么?
MLC LLM 是一款免费、Apache 2.0 许可的引擎,使用机器学习编译技术,从一套工具链将大语言模型部署到手机、Web 浏览器和桌面 GPU。
MLC LLM 是谁创建的?
MLC LLM 由 CMU Catalyst、UW SAMPL、SJTU、OctoML 及 MLC 社区的成员共同发起。CMU 教授、Apache TVM、XGBoost 和 MXNet 的创建者 Tianqi Chen 是其主要贡献者之一。
MLC LLM 商用是否免费?
是的。MLC LLM 采用 Apache 2.0 许可证,个人和商业使用均免费。
MLC LLM 能在 Web 浏览器中运行吗?
可以,通过其姊妹项目 WebLLM,完全通过 WebGPU 在客户端运行模型,无需服务器端推理。
MLC LLM 中的"ML 编译"是什么意思?
它指的是使用编译技术(基于 Apache TVM,配合 TensorIR 和 MetaSchedule)为特定目标设备自动生成优化运行时,而不是依赖为每个平台手工调优的单一引擎。
MLC LLM 支持 iOS 和 Android 吗?
支持。iOS/iPadOS 通过 Apple A 系列 GPU 上的 Metal 支持,Android 通过 Adreno 和 Mali GPU 上的 OpenCL 支持。
MLC LLM 在桌面端支持哪些 GPU 后端?
CUDA(NVIDIA)、Vulkan(AMD、NVIDIA、Intel)、Metal(Apple)和 ROCm(AMD)。
是否需要为每个平台单独编译模型?
通常需要。MLC LLM 会将模型编译为针对特定目标优化的运行时,因此部署到新平台(不同的 GPU 后端、移动操作系统或浏览器)通常需要为该目标重新编译。
MLC LLM 与 llama.cpp 有何不同?
llama.cpp 是一款手写的 C/C++ 引擎,按硬件厂商手动调优后端。MLC LLM 则使用编译器(Apache TVM)按目标自动生成优化代码,这也是它能够进一步覆盖移动设备和通过 WebGPU 运行的 Web 浏览器的原因。
MLC LLM 是否适合大规模的 NVIDIA 专属生产级服务?
这并非其主要定位。对于 NVIDIA 专属的最大生产吞吐量,TensorRT-LLM 或 vLLM 是更专精的工具;MLC LLM 的优势在于跨越差异巨大的平台的广度,而非在单一平台上的极致吞吐量。
