函数计算,深度学习推理是一定要用容器吗?

函数计算,深度学习推理是一定要用容器吗?

带你读《2022技术人的百宝黑皮书》——MNN 2.0 发布 ——移动端推理引擎到通用深度学习引擎(1)

作者:霞影(姜霄棠)出品:大淘宝技术MNN近期更新了2.0版本啦!在整体定位方面,相比于1.0版本的端侧深度学习引擎,MNN 2.0迈向了端云一体化的通用深度学习框架,一方面大幅优化了在服务端CPU和GPU上的性能;另一方面新增了类似OpenCV、Numpy的通用计算模块...

高校精品课-复旦大学-机器学习与深度学习

1 课时 |
105 人已学 |
免费

深度学习框架TensorFlow入门

24 课时 |
17302 人已学 |
免费

深度学习与自动驾驶

12 课时 |
3062 人已学 |
免费
开发者课程背景图

带你读《2022技术人的百宝黑皮书》——MNN 2.0 发布 ——移动端推理引擎到通用深度学习引擎(2)

通用性1. 支持 Tensorflow、Caffe、ONNX、Torchscripts 等主流模型文件格式,支持CNN / RNN / GAN / Transformer 等主流网络结构。2. 支持多输入多输出,支持任意维度的输入输出,支持动态输入(输入大小可变),支持带控制流的模型3. 算子丰富,...

带你读《2022技术人的百宝黑皮书》——MNN 2.0 发布 ——移动端推理引擎到通用深度学习引擎(3)

带你读《2022技术人的百宝黑皮书》——MNN 2.0 发布 ——移动端推理引擎到通用深度学习引擎(3)

技术挑战MNN 面临的技术挑战,如上图所示,主要是两个矛盾1.AI应用需要的复杂功能支持与受限制的程序体积之间的矛盾AI 模型本身包含多种算子,并在不断演进,如 ONNX 的算子数目前有 160 个左右,Tensorflow 接近 2000 个,MNN 需要以更精简的代码去实现 AI 模型所需要的这...

带你读《2022技术人的百宝黑皮书》——MNN 2.0 发布 ——移动端推理引擎到通用深度学习引擎(4)

带你读《2022技术人的百宝黑皮书》——MNN 2.0 发布 ——移动端推理引擎到通用深度学习引擎(4)

预推理MNN 在加载模型之后,会根据用户设定的输入形状,对模型中的算子做一遍预处理,降低算子种类,寻找最优计算策略,做资源分配。这个过程称为预推理。预推理相比推理过程是轻量的,若用户设定的输入形状不变,预推理不需要重复执行,可以降低推理延时。如上图所示,预推理主要包括如下...

带你读《2022技术人的百宝黑皮书》——MNN 2.0 发布 ——移动端推理引擎到通用深度学习引擎(5)

带你读《2022技术人的百宝黑皮书》——MNN 2.0 发布 ——移动端推理引擎到通用深度学习引擎(5)

表达式MNN 需要对接各种训练框架导出的模型格式,有如下特点:1. 训练框架随版本变迁会有不同的导出格式2. 训练框架随版本变迁有大量的算子新增与修改3. 不同训练框架的算子重合度高,但不完全一样为了抹平训练框架不同的差异,比较明确的做法就是定义MNN自己一套算子并实现前端,基于基于此对接各个训练框...

带你读《2022技术人的百宝黑皮书》——MNN 2.0 发布 ——移动端推理引擎到通用深度学习引擎(6)

带你读《2022技术人的百宝黑皮书》——MNN 2.0 发布 ——移动端推理引擎到通用深度学习引擎(6)

整体架构MNN可以分为主体(推理引擎)和工具两大部分。1.主体:亦即推理引擎,负责AI模型(张量计算图)的加载与执行,可分为调度(预推理)与执行(推理)两层。2.工具MNN-Converter:模型转换工具,由Fro...

带你读《2022技术人的百宝黑皮书》——MNN 2.0 发布 ——移动端推理引擎到通用深度学习引擎(7)

带你读《2022技术人的百宝黑皮书》——MNN 2.0 发布 ——移动端推理引擎到通用深度学习引擎(7)

性能优化MNN 的架构设计可以降低性能优化的成本,但性能优化本身仍然是MNN中最艰难复杂的工作,需要深入理解模型结构、算子实现、硬件架构,分析模型运行中的计算冗余,并将其尽可能地压制。冗余分析深度学习推理中存在的计算冗余大致可分为以下几类:1.结构冗余:模型结构中的无效计算节点,也是惟一可以无损去除...

带你读《2022技术人的百宝黑皮书》——MNN 2.0 发布 ——移动端推理引擎到通用深度学习引擎(8)

带你读《2022技术人的百宝黑皮书》——MNN 2.0 发布 ——移动端推理引擎到通用深度学习引擎(8)

结构/精度 图优化与模型量化结构冗余与精度冗余的压制一般需要离线工具辅助,MNN 对应提供了图优化、模型压缩工具,在端上则提供了部分架构的低精度的计算支持。1.图优化:基于一系列预先写好的模板,去除模型中的冗余计算,比如 Convolution 与 BatchNormal / Scale 的合并,D...

带你读《2022技术人的百宝黑皮书》——MNN 2.0 发布 ——移动端推理引擎到通用深度学习引擎(9)

带你读《2022技术人的百宝黑皮书》——MNN 2.0 发布 ——移动端推理引擎到通用深度学习引擎(9)

MNN实现了对稠密模型权重稀疏化训练的功能,导入MNN Python压缩工具包(mnncompress),设定mnncompress需要的参数,运行将原模型中权重部分数值稀疏化为0。需要注意的是稀疏化0元素的分布模式需要符合分块形态,才能最大化发挥加速性能。在常规的CPU GPU中并没有稀疏指令支持...

本页面内关键词为智能算法引擎基于机器学习所生成,如有任何问题,可在页面下方点击"联系我们"与我们沟通。

产品推荐

社区圈子

智能引擎技术
智能引擎技术
AI Online Serving,阿里巴巴集团搜推广算法与工程技术的大本营,大数据深度学习时代的创新主场。
4026+人已加入
加入
相关电子书
更多
深度学习框架实战-Tensorflow
TensorRT Introduction
端上智能-深度学习模型压缩与加速
立即下载 立即下载 立即下载

深度学习推理相关内容