Home
Login

高效轻量级深度学习框架,专为移动端和嵌入式设备优化,支持模型推理和训练

Apache-2.0C++ 12.0kalibabaMNN Last Updated: 2025-06-20

MNN - 阿里巴巴开源轻量级深度学习框架

项目概述

MNN是一个高效轻量级的深度学习框架,支持深度学习模型的推理和训练,在设备端推理和训练方面具有业界领先的性能。目前,MNN已经集成到阿里巴巴30多个应用中,如淘宝、天猫、优酷、钉钉、闲鱼等,覆盖直播、短视频拍摄、搜索推荐、拍立淘、互动营销、权益发放、安全风控等70多个使用场景。

GitHub地址: https://github.com/alibaba/MNN

核心特性

1. 极致轻量化

  • iOS平台: armv7+arm64平台静态库大小约12MB,链接后可执行文件增量约2MB
  • Android平台: 核心so库大小约800KB (armv7a - c++_shared)
  • 使用MNN_BUILD_MINI可减少约25%的包大小
  • 支持FP16/Int8量化,可减少模型大小50%-70%

2. 广泛的模型支持

  • 框架支持: TensorFlow、Caffe、ONNX、Torchscripts
  • 网络类型: CNN、RNN、GAN、Transformer等常见神经网络
  • 算子支持:
    • 178个TensorFlow算子
    • 52个Caffe算子
    • 163个Torchscripts算子
    • 158个ONNX算子

3. 跨平台兼容性

  • 移动平台: iOS 8.0+, Android 4.3+
  • 嵌入式设备: 支持POSIX接口的设备
  • 多设备混合计算: CPU和GPU协同工作
  • IoT设备: 在物联网设备上也有应用

4. 高性能优化

  • 大量优化的汇编代码充分利用ARM/x64 CPU
  • 使用Metal/OpenCL/Vulkan支持移动端GPU推理
  • 使用CUDA和Tensor Core支持NVIDIA GPU
  • Winograd卷积算法广泛用于3x3、4x4、5x5、6x6、7x7等对称卷积
  • ARM v8.2架构FP16半精度计算支持,速度提升2倍
  • ARM v8.2 sdot和VNNI支持,速度提升2.5倍

架构支持矩阵

架构/精度 Normal FP16 BF16 Int8
CPU
Native B C B B
x86/x64-SSE4.1 A B B A
x86/x64-AVX2 S B B A
x86/x64-AVX512 S B B S
ARMv7a S S(ARMv8.2) S S
ARMv8 S S(ARMv8.2) S(ARMv8.6) S
GPU
OpenCL A S C S
Vulkan A A C A
Metal A S C S
CUDA A S C A
NPU
CoreML A C C C
HIAI A C C C
NNAPI B B C B

说明: S-强烈推荐 | A-支持良好 | B-支持但有问题 | C-不支持

核心组件

1. MNN-Converter

模型转换工具,支持将其他框架模型转换为MNN模型:

  • 支持TensorFlow(lite)、Caffe、ONNX、Torchscripts
  • 进行图优化以减少计算量

2. MNN-Compress

模型压缩工具,减少模型大小并提高性能

3. MNN-Express

支持控制流的模型执行,使用MNN算子进行通用计算

4. MNN-CV

轻量级图像处理库,类似OpenCV但基于MNN实现

5. MNN-Train

支持MNN模型训练

特色应用

MNN-LLM

基于MNN引擎开发的大语言模型运行时解决方案,目标是在每个人的平台(手机/PC/IoT)上本地部署LLM模型。支持:

  • 千问、百川、智谱、LLAMA等主流大语言模型
  • 全模态LLM Android应用
  • 文本生成、图像理解、语音转文本、文本生成图像

MNN-Diffusion

基于MNN引擎的稳定扩散模型运行时解决方案,支持在各平台本地部署稳定扩散模型。

学术成果

MNN相关研究成果已发表在顶级系统会议OSDI'22和MLSys 2020上,证明了其在学术界和工业界的影响力。

开发工具

MNN Workbench

可从MNN官网下载,提供:

  • 预训练模型
  • 可视化训练工具
  • 一键模型部署到设备

Python API

为机器学习工程师提供易用的Python接口,无需编写C++代码即可进行推理、训练和图像处理。

总结

MNN作为阿里巴巴开源的深度学习框架,凭借其轻量化、高性能、跨平台的特点,已成为移动端和嵌入式AI部署的优秀选择。无论是传统的CNN模型推理,还是最新的大语言模型部署,MNN都提供了完整的解决方案,是AI开发者不可多得的工具集。

Star History Chart