作者:霞影(姜霄棠)
出品:大淘宝技术
MNN近期更新了2.0版本啦!在整体定位方面,相比于1.0版本的端侧深度学习引擎,MNN 2.0迈向了端云一体化的通用深度学习框架,一方面大幅优化了在服务端CPU和GPU上的性能;另一方面新增了类似OpenCV、Numpy的通用计算模块,以完整覆盖学习任务的前处理、模型运行、后处理3阶段。下面本文将对MNN 2.0的相关技术做详细介绍。
MNN 及技术挑战
MNN 简介
MNN 是一个轻量级的深度学习引擎,核心解决深度神经网络模型在各类设备,尤其是移动设备/嵌入式设备的推理与训练问题。目前,MNN已经在淘宝、手猫、优酷、聚划算、UC、飞猪、千牛等 30 多个 App 中使用,覆盖直
播、短视频、搜索推荐、商品图像搜索、互动营销、权益发放、安全风控等场景,每天稳定运行上亿次。基于 MNN 实现了首个端到端、通用型、规模化产业应用的端云协同机器学习系统—— Walle ,相关论文发表在系统领域顶级会议 OSDI'22 上。
MNN 的特点是轻量、通用、易用、高效:
轻量性
1.主体功能(模型推理CPU+GPU)无任何依赖,代码精简,可以方便地部署到移动设备和各种嵌入式设备中。
iOS平台:功能全开的MNN静态库 armv7+arm64大小12MB左右,链接生成可执行文件增加大小2M左右。裁剪主体功能后静态库大小6.1M ,链接生成可执行文件增加大小 600 KB。
Android平台:主体功能 armv7a - c++_shared 动态库大小800KB左右。
2.支持采用 Mini 编辑选项进一步降低包大小,大约能在上述库体积基础上进一步降低 25% 左右。
3.支持模型FP16/Int8压缩与量化,可减少模型50% - 75% 的体积
带你读《2022技术人的百宝黑皮书》——MNN 2.0 发布 ——移动端推理引擎到通用深度学习引擎(2) https://developer.aliyun.com/article/1248037?groupCode=taobaotech