阿里巴巴开源移动端多模态LLM工具——MNN

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

MNN-LLM 是一个基于 MNN 引擎开发的大型语言模型运行时解决方案。该项目的使命是将 LLM 模型部署在每个人的本地平台上(手机/PC/物联网)。它支持流行的大型语言模型,如千问、百川、智谱、LLAMA 等。

MNN-Diffusion 是一个基于 MNN 引擎开发的稳定扩散模型运行时解决方案。该项目的使命是在每个人的平台上本地部署稳定扩散模型。

在阿里巴巴内部,MNN作为Walle系统中的计算容器基础模块,Walle系统是首个端到端、通用且大规模的设备-云协同机器学习生产系统,该系统已在顶级系统会议OSDI'22上发表。MNN的关键设计原则和广泛的基准测试结果(与TensorFlow、TensorFlow Lite、PyTorch、PyTorch Mobile、TVM的对比)可以在OSDI论文中找到。基准测试的脚本和说明放在"/benchmark"路径下。

主要特点

轻量级
  • 针对设备进行优化,无依赖项,可轻松部署到移动设备和各种嵌入式设备。
  • iOS 平台:armv7+arm64 平台的静态库大小约为 12MB,链接的可执行文件大小增加约为 2M。
  • Android 平台:核心 so 文件大小约为 800KB(armv7a - c++_shared)。
  • 使用 MNN_BUILD_MINI 可以将包大小减少约 25%,但限制了固定模型输入大小。
  • 支持 FP16 / Int8 量化,可以将模型大小减少 50%-70%。
多功能性
  • 支持 TensorflowCaffeONNXTorchscripts,并支持常见的神经网络,如 CNNRNNGANTransformer
  • 支持具有多输入或多输出的 AI 模型,各种维度格式,动态输入,控制流。
  • MNN 支持近似全量的 AI 模型操作符。转换器支持 178 个 Tensorflow 操作符,52 个 Caffe 操作符,163 个 Torchscripts 操作符,158 个 ONNX 操作符。
  • 支持 iOS 8.0+、Android 4.3+ 以及具有 POSIX 接口的嵌入式设备。
  • 支持多设备混合计算。目前支持 CPU 和 GPU。
高性能
  • 通过大量优化的汇编代码实现核心计算,以充分利用 ARM / x64 CPU。
  • 使用 Metal / OpenCL / Vulkan 支持移动设备上的 GPU 推理。
  • 使用 CUDA 和 tensorcore 支持 NVIDIA GPU,以获得更好的性能。
  • 卷积和转置卷积算法高效且稳定。Winograd 卷积算法广泛用于更好地处理对称卷积,如 3x3、4x4、5x5、6x6、7x7。
  • 支持 FP16 半精度计算的新架构 ARM v8.2 速度提升两倍。使用 sdot 和 VNNI 的 ARM v8.2 速度提升 2.5 倍。

支持的架构/精度MNN如下所示:

  • S:支持且运行良好,深度优化,推荐使用
  • A:支持且运行良好,可以使用
  • B:支持但有bug或未优化,不推荐使用
  • C:不支持
架构 / 精度 常规 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

News 🔥

2025/05/12\] android app 支持 qwen2.5 omni 3b and 7b ![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/d1351e21e12644bdb34cb5f460642e71.png) ![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/f8ee9b8ee35843558313d27d8de6c926.png) ![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/cff817bc9ed64c04af33d902d16bd7cc.png) **代码**:https://github.com/alibaba/MNN/

相关推荐
xier_ran26 分钟前
深度学习:从零开始手搓一个深层神经网络
人工智能·深度学习·神经网络
却道天凉_好个秋27 分钟前
OpenCV(二十六):高斯滤波
人工智能·opencv·计算机视觉
FIT2CLOUD飞致云30 分钟前
支持CAS身份认证,支持接入Oracle11数据源,SQLBot开源智能问数系统v1.3.0版本发布
ai·数据分析·开源·智能问数·sqlbot
汗流浃背了吧,老弟!35 分钟前
语言模型(Language Model)介绍
人工智能·语言模型·自然语言处理
沫儿笙36 分钟前
IGM焊接机器人节气设备
人工智能·机器人
Vadaski43 分钟前
为什么每个团队都需要一套私有 Context 工程
人工智能
是Yu欸1 小时前
仓颉迁移实战:将 Node.js 微服务移植到 Cangjie 的工程化评测
微服务·云原生·开源·node.js·vim·gitcode·cangjie
人工智能训练1 小时前
Docker中容器的备份方法和步骤
linux·运维·人工智能·ubuntu·docker·容器·nvidia
高洁011 小时前
具身智能-8家国内外典型具身智能VLA模型深度解析
深度学习·神经网络·aigc·transformer·知识图谱
渡我白衣1 小时前
深入 Linux 内核启动:从按下电源到用户登录的全景解剖
java·linux·运维·服务器·开发语言·c++·人工智能