但这再也不是当年从2000ms降低到700ms那样的飞跃了。
而如果我们放眼大一些的模型,比如Inception V3,那么情况会是:
又或是打开ARM v8.2的情况下,不论是fp16还是quant,性能都可以有一段跃迁:
你看,可以为业务带来质变优化的点依然存在。而这些,正是我们暂时按下ARM优化的原因。
通用性
除了性能,用户最为关心的指标就是通用性。性能再好,业务模型跑不起来都白搭。而MNN背靠阿里巴巴的众多智能场景,久经各方业务的磨炼,在支持算子的数量、算子实现的质量上,都可谓久经考验。但如果不是MNN的死忠粉,可能都很难意识到,我们在通用性方面下的苦功。
模型转换上,我们没有将Caffe、TensorFlow、TensorFlow Lite的转换转嫁给三方的工具,尽量避免模型格式间转换导致的失败。从开源到现在,在支持的转换算子总量上,MNN翻了一番还多。
算子实现上,我们在计算后端的支持上,应该也是业界最广的。除了前文所述的ARM v8.2,我们在GPU算子的支持上,也不遑多让。
注:计算算子数量时,对Binary、Unary、Reduce算子,统一到友商口径,采用拆分成多种的方式计算。
易用性
易用性方面,在过去的一年,我们也着墨颇多。
可视化上,我们在跨平台可视化工具 Netron 上增加了对MNN模型的支持。
模型压缩上,我们的工具同时支持了KL和ADMM两种量化方式,即可以采用Post-training Quantization 降低量化门槛,也可以采用Quantization Aware Training 来提升量化的精度。
模型测评上,我们提供的校验工具和Profiler工具,可以帮助开发者快速定位模型中的问题所在。
前端语言上,我们还打通了MNN和Python的桥接,方便算法工程师们,在自己熟悉的平台、熟悉的语言上,完成开发、校验。
除了工程之外,文档示例上,我们也没落下。我们搭建了 中英文的文档集 ,也和社区一起搭建了我们的 示例集 。
想点大事
如果跳出引擎的小圈子,放眼整个AI生态圈,端侧AI近几年发展到底怎么样呢?
我们以云侧AI为标尺,可以把端侧AI拆解为上下两层:
- 基础设施
如前所述,不只是性能,推理引擎在通用性、易用性等方面还有待完善。而推理引擎也只是解决了模型在端侧运行的问题,从端侧AI部署的完整迭代来说,模型转换、模型压缩、开发调试、效果评估、算法和工程怎么高效协同等等,需要优化、提效的流程,还有很多。
- 上层应用
从应用角度来说,目前端侧AI应用的广度和深度都是不够的 —— 一方面,杀手级的应用不多,甚至基本就没有;另一方面,AI应用的门槛还比较高,很多长尾需求难以落地。可以说,端侧AI的业务价值还没有充分被挖掘出来。因此,相比于烈火烹油的云侧AI,或是三端一体的Flutter,我们都还需要和社区站在一起,做更进一步的探索。
我们真切得认为端侧AI还处于发展的初期,更需要从业者一起努力推动行业发展,而不是把弹药浪费在无尽的对比内耗上面。我们期望和大家在真正有益于繁荣AI生态的方向上,探索出一片新的空间。
端智能团队
淘宝基础平台部-端智能团队欢迎移动端计算优化工程师和推理引擎架构师的加入。对新技术感兴趣,善于创新突破,渴望用新技术给用户带来创新体验的同学请联系我们。
简历投递至吕行:chengfei.lcf@alibaba-inc.com
链接:
-
https://github.com/lutzroeder/netron
-
https://www.yuque.com/mnn/cn/tool_quantize
-
https://www.yuque.com/mnn/cn/bhz5eu
-
https://www.yuque.com/mnn/cn
-
https://www.yuque.com/mnn/cn/demo_zoo
✿ 拓展阅读
**作者|**MNN团队
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数Java工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年Java开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Java开发知识点,真正体系化!
由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!
如果你觉得这些内容对你有帮助,可以扫码获取!!(备注Java获取)
![img](https://i-blog.csdnimg.cn/blog_migrate/804d031166f49b2810bbda89504ce3bf.jpeg)
文末
我将这三次阿里面试的题目全部分专题整理出来,并附带上详细的答案解析,生成了一份PDF文档
- 第一个要分享给大家的就是算法和数据结构
- 第二个就是数据库的高频知识点与性能优化
- 第三个则是并发编程(72个知识点学习)
- 最后一个是各大JAVA架构专题的面试点+解析+我的一些学习的书籍资料
还有更多的Redis、MySQL、JVM、Kafka、微服务、Spring全家桶等学习笔记这里就不一一列举出来
《互联网大厂面试真题解析、进阶开发核心学习笔记、全套讲解视频、实战项目源码讲义》点击传送门即可获取!
+我的一些学习的书籍资料**
[外链图片转存中…(img-nqwoTFiC-1713474223136)]
还有更多的Redis、MySQL、JVM、Kafka、微服务、Spring全家桶等学习笔记这里就不一一列举出来
《互联网大厂面试真题解析、进阶开发核心学习笔记、全套讲解视频、实战项目源码讲义》点击传送门即可获取!