Login

高效輕量級深度學習框架,專為移動端和嵌入式設備優化,支持模型推理和訓練

Apache-2.0C++ 12.6kalibabaMNN Last Updated: 2025-07-24

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