
MNN 是一个高效、轻量的深度学习框架。它支持深度学习模型的推理与训练,在端侧推理和训练方面具有业界领先的性能。目前,MNN 已集成到阿里巴巴集团超过 30 个应用中,如淘宝、天猫、优酷、钉钉、闲鱼等,覆盖直播、短视频拍摄、搜索推荐、拍立淘、互动营销、权益发放、安全风控等超过 70 个使用场景。此外,MNN 也应用于嵌入式设备,如物联网设备。
MNN-LLM 是基于 MNN 引擎开发的大语言模型运行时解决方案。该项目的使命是在每个人的平台(手机/PC/IOT)上本地部署 LLM 模型。它支持通义千问、百川、智谱、LLAMA 等流行的大语言模型。MNN-LLM 用户指南
MNN-Diffusion 是基于 MNN 引擎开发的稳定扩散模型运行时解决方案。该项目的使命是在每个人的平台本地部署稳定扩散模型。MNN-Diffusion 用户指南

在阿里巴巴内部,MNN 作为 Walle 系统中计算容器的基础模块,Walle 是首个端到端、通用、大规模的设备-云协同机器学习生产系统,已发表在顶级系统会议 OSDI’22。MNN 的关键设计原则和广泛的基准测试结果(与 TensorFlow、TensorFlow Lite、PyTorch、PyTorch Mobile、TVM 对比)可在 OSDI 论文中找到。基准测试的脚本和说明位于路径 “/benchmark”。如果 MNN 或 Walle 的设计对您的研究或生产使用有所帮助,请引用我们的 OSDI 论文:
@inproceedings {proc:osdi22:walle,
author = {Chengfei Lv and Chaoyue Niu and Renjie Gu and Xiaotang Jiang and Zhaode Wang and Bin Liu and Ziqi Wu and Qiulin Yao and Congyu Huang and Panos Huang and Tao Huang and Hui Shu and Jinde Song and Bin Zou and Peng Lan and Guohuan Xu and Fei Wu and Shaojie Tang and Fan Wu and Guihai Chen},
title = {Walle: An {End-to-End}, {General-Purpose}, and {Large-Scale} Production System for {Device-Cloud} Collaborative Machine Learning},
booktitle = {16th USENIX Symposium on Operating Systems Design and Implementation (OSDI 22)},
year = {2022},
isbn = {978-1-939133-28-1},
address = {Carlsbad, CA},
pages = {249--265},
url = {https://www.usenix.org/conference/osdi22/presentation/lv},
publisher = {USENIX Association},
month = jul,
}
MNN 的文档位于 Read the docs。
您也可以阅读 docs/README 来构建文档的 HTML 版本。
MNN Workbench 可从 MNN 官网 下载,它提供预训练模型、可视化的训练工具,以及一键将模型部署到设备的功能。
MNN_BUILD_MINI 可减少约 25% 的包大小,但限制模型输入尺寸固定。Tensorflow、Caffe、ONNX、Torchscripts 模型格式,并支持 CNN、RNN、GAN、Transformer 等常见神经网络。Tensorflow 算子、52 个 Caffe 算子、163 个 Torchscripts 算子、158 个 ONNX 算子。MNN 支持的架构/精度如下表所示:
| 架构 / 精度 | 常规 | FP16 | BF16 | Int8 | |
|---|---|---|---|---|---|
| CPU | Native | B | C | B | B |
| x86/x64-SSE4.1 | A | C | C | A | |
| x86/x64-AVX2 | S | C | C | A | |
| x86/x64-AVX512 | S | C | C | 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 | |
| QNN | C | B | C | C |
基于 MNN(张量计算引擎),我们提供了一系列用于推理、训练和通用计算的工具。
群组讨论主要为中文。但我们欢迎并会帮助英语使用者。
钉钉讨论群:
群 #4 (可用):160170007549
群 #3 (已满)
群 #2 (已满):23350225
群 #1 (已满):23329087
MNN 的早期版本,作为移动推理引擎并专注于手动优化,也已发表在 MLSys 2020。如果 MNN 曾对您的研究有所帮助,请引用该论文:
@inproceedings{alibaba2020mnn,
author = {Jiang, Xiaotang and Wang, Huan and Chen, Yiliu and Wu, Ziqi and Wang, Lichuan and Zou, Bin and Yang, Yafeng and Cui, Zongyang and Cai, Yu and Yu, Tianhang and Lv, Chengfei and Wu, Zhihua},
title = {MNN: A Universal and Efficient Inference Engine},
booktitle = {MLSys},
year = {2020}
}
Apache 2.0
MNN 参与者:淘宝技术部、搜索工程团队、达摩院团队、优酷及其他阿里巴巴集团员工。
MNN 参考了以下项目:
- Caffe
- flatbuffer
- gemmlowp
- Google Vulkan demo
- Halide
- Mace
- ONNX
- protobuffer
- skia
- Tensorflow
- ncnn
- paddle-mobile
- stb
- rapidjson
- pybind11
- pytorch
- bolt
- libyuv
- libjpeg
- opencv
- onnxruntime