本文目录导读:

- 苹果的 MLX(以及 MLX-LM)—— 目前最火的新秀
- 微软的 ONNX Runtime(ORT) + DirectML —— 工业级跨平台老牌霸主
- 阿里的 MNN —— 移动端(Android/iOS)性能冠军
- 国内的 llama.cpp —— 极简且性能极致的传奇
- 麦洛科技(原中科院计算所)的 llm.mnn 或 LiteKit —— 国内商业落地标杆
- 特别推荐:MediaPipe LLM Inference API(Google)
- 如何选择?(实用建议)
端侧(On-Device)大模型推理框架的开源生态非常活跃,端侧推理的核心挑战在于内存受限(模型太大装不下)和算力受限(手机/PC算力不如服务器),因此框架的优化重点在于量化、算子融合、内存复用和异构计算(NPU/GPU/CPU协同)。
以下是目前最主流、开源且维护活跃的框架,按“生态和适用性”分类:
苹果的 MLX(以及 MLX-LM)—— 目前最火的新秀
- 特点:由苹果机器学习团队开源,专为 Apple Silicon(M系列芯片)设计,API 极其接近 NumPy / PyTorch,Python 开发者上手极快。
- 优势:统一内存架构让 M 系列芯片在跑大模型时带宽利用率极高,推理速度惊人,支持 4-bit/8-bit 量化。
- 适用:MacBook / iPad / iPhone(通过 Swift),如果你用苹果全家桶,强烈推荐。
- 开源地址:
github.com/ml-explore/mlx和ml-explore/mlx-lm
微软的 ONNX Runtime(ORT) + DirectML —— 工业级跨平台老牌霸主
- 特点:微软开源的推理引擎,支持 Windows、Linux、iOS、Android 全平台,通过 ONNX 模型格式,几乎所有大模型(如 Llama、Qwen)都可以导出为 ONNX。
- 优势:经过微软和社区极致的系统级优化(算子融合、内存池),性能稳定,结合 DirectML(Windows 硬件加速层)可以在所有显卡(包括 AMD/Intel)上运行。
- 适用:Windows PC 端、云边端一体场景,以及需要稳定、长期维护的工业级应用。
- 项目:
github.com/microsoft/onnxruntime+github.com/microsoft/DirectML
阿里的 MNN —— 移动端(Android/iOS)性能冠军
- 特点:阿里开源的移动端推理引擎,一直霸榜端侧 AI 基准测试(AI-Benchmark),新版本(2.x)加入了针对 LLM 的重度优化(如 KV Cache 优化、投机采样)。
- 优势:在低配置 Android 手机上优化得极好,支持 NPU、GPU、CPU 等多种后端,内存占用控制极佳。
- 适用:Android / iOS App 内置大模型(如手机助手、离线翻译)。
- 开源地址:
github.com/alibaba/MNN
国内的 llama.cpp —— 极简且性能极致的传奇
- 特点:纯 C/C++ 实现,零依赖(无 Python、无 CUDA),专为 CPU 和边缘设备设计,GGUF 格式模型文件已成为端侧模型的标准格式。
- 优势:苹果 M 系列、Windows/ Linux CPU 上表现极佳,支持范围极广(从树莓派到服务器),社区贡献了大量优化,包括最新的量化算法(如 Q4_K_M)。
- 适用:所有 CPU 为主的端侧设备(PC、树莓派、老旧手机),以及想要深入学习底层推框架原理的开发者。
- 开源地址:
github.com/ggerganov/llama.cpp
麦洛科技(原中科院计算所)的 llm.mnn 或 LiteKit —— 国内商业落地标杆
- 特点:除了 MNN,国内还有百度的 Paddle Lite、腾讯的 NCNN(经典但主要针对CV)。
- 推荐:如果是为了国内 App 快速落地,ncnn(腾讯)+ llama.cpp 的组合也常见,但 MNN 是目前对 LLM 支持最友好的国产框架。
特别推荐:MediaPipe LLM Inference API(Google)
- 不用自己部署推理引擎,直接用 Google 的 MediaPipe 内置的 LLM API,能在手机 GPU 上跑 Gemma、Llama 等小模型,开发者友好,但对 GPU 型号有要求(优先要求支持 TFLite Delegates)。
如何选择?(实用建议)
- 你手头是 MacBook / 苹果手机 -> 首选 MLX,性能体验最顺滑。
- 你是做 Windows 桌面应用 -> 选 ONNX Runtime + DirectML。
- 你是做 Android/iOS 手机 App -> 选 MNN(兼容性好、省内存)。
- 你只想快速在电脑上本地跑一个模型(不写代码) -> 下载 llama.cpp 或 Ollama(基于 llama.cpp 的封装)。
- 如果模型要跑在 NPU(神经网络处理器)上 -> 优先看 ONNX Runtime(因为硬件厂商如高通、联发科都提供 ORT 的 NPU 后台)。
补充一个细节:目前这些框架都已经支持主流的 量化技术(如 GPTQ 的端侧版、AWQ、GGUF 格式),这决定了你能否在 8GB 内存的手机上塞进一个 7B 参数的模型(大概占用 4~5GB 内存),选框架时,看一下它最近的更新日志里对 Llama-3 / Qwen-2.5 的支持和 KV Cache 的优化,这些直接关系到大模型生成速度。