<i id='7kcxh'></i>
    <acronym id='7kcxh'><em id='7kcxh'></em><td id='7kcxh'><div id='7kcxh'></div></td></acronym><address id='7kcxh'><big id='7kcxh'><big id='7kcxh'></big><legend id='7kcxh'></legend></big></address>

  1. <tr id='7kcxh'><strong id='7kcxh'></strong><small id='7kcxh'></small><button id='7kcxh'></button><li id='7kcxh'><noscript id='7kcxh'><big id='7kcxh'></big><dt id='7kcxh'></dt></noscript></li></tr><ol id='7kcxh'><table id='7kcxh'><blockquote id='7kcxh'><tbody id='7kcxh'></tbody></blockquote></table></ol><u id='7kcxh'></u><kbd id='7kcxh'><kbd id='7kcxh'></kbd></kbd>
    1. <ins id='7kcxh'></ins>

        <code id='7kcxh'><strong id='7kcxh'></strong></code>

        <dl id='7kcxh'></dl>

          <span id='7kcxh'></span>
          <i id='7kcxh'><div id='7kcxh'><ins id='7kcxh'></ins></div></i>

          <fieldset id='7kcxh'></fieldset>

          阿里开源首个移动AI项目:淘宝同款推理引擎

          • 时间:
          • 浏览:123
          • 来源:124软件资讯网
            [摘要]淘宝上用的移动AI手艺  ,你也可以用在自己的产物中了  。 刚刚 ,阿里巴巴宣布  ,开源自家轻量级的深度神经网络推理引擎MNN(Mobile Neural Netwo

            淘宝上用的移动AI手艺  ,你也可以用在自己的产物中了  。

            刚刚  ,阿里巴巴宣布 ,开源自家轻量级的深度神经网络推理引擎MNN(Mobile Neural Network) ,用于在智能手机、IoT装备等端侧加载深度神经网络模子 ,举行推理展望  。

            这是阿里开源的首个移动AI项目  ,已经用于阿里手机淘宝、手机天猫、优酷等20多个应用之中  。笼罩直播、短视频、搜索推荐、商品图像搜索、互动营销、权益发放、宁静风控等场景  。在IoT等移动装备场景下 ,也有若干应用 。

            阿里表现  ,在iOS、Android的CPU、GPU性能上 ,MNN已经普遍领先业界  。

            他们选择深度神经网络模子MobileNet V2和SqueezeNet V1.1举行了测试 。

            Android方面以小米6为例  ,MobileNet V2上泯灭时间约为27毫秒  ,SqueezeNet V1.1上泯灭约为25毫秒  ,领先业界至少30%;

            iOS方面以iPhone 7为例 ,MobileNet V2上泯灭时间约为15毫秒  ,SqueezeNet V1.1上泯灭约为14.8毫秒 ,领先业界至少15% 。

            淘宝端智能无线手艺专家离青说  ,MNN开源之后 ,每隔两个月都市举行一次更新  ,公布经由淘宝应用验证的版本  。

            MNN的两大功效与四大特点

            基于淘宝和达摩院的研究结果  ,阿里巴巴在2017年10月正式组建了MNN团队  。

            经由淘宝手艺部、搜索工程团队、达摩院团队、优酷等各方气力的打磨  ,以及双11和集五福等重大营业项目的磨练  ,在离青看来  ,MNN已经是一个成熟的推理引擎了 。

            现在  ,MNN可以提供模子转换和盘算推理两部门功效 。

            模子转换部门资助开发者兼容差别的训练框架 。

            当前 ,MNN已经支持Tensorflow(Lite)、Caffe和ONNX ,PyTorch/MXNet的模子可先转为ONNX模子再转到MNN  。而且  ,也能通过算子融合、算子替换、结构调整等方式优化图  。

            盘算推理部门致力于高效完成推理盘算  。

            为了更好地完成对模子的加载、盘算图的调理  ,以及各盘算装备下的内存分配、Op实现等使命  。

            他们在MNN中应用了多种优化方案  ,包罗在卷积和反卷积中应用Winograd算法、在矩阵乘法中应用Strassen算法、低精度盘算、多线程优化、内存复用、异构盘算等  。

            △MNN架构设计

            离青先容称  ,在这样的架构设计下  ,MNN具备了以下的四大特点:

            轻量性:针对端侧装备特点深度定制和裁剪  ,无任何依赖  ,可以利便地部署到移动装备和种种嵌入式装备中  。

            通用性:支持Tensorflow、Caffe、ONNX等主流模子文件花样  ,支持CNN、RNN、GAN等常用网络  。

            高性能:不依赖任何第三方盘算库  ,依赖大量手写汇编实现焦点运算 ,充实施展ARM CPU的算力  。好比  ,在iOS装备上  ,可以开启GPU加速(Metal)  ,常用模子上快于苹果原生的CoreML 。

            易用性:有高效的图像处置惩罚模块  ,笼罩常见的形变、转换等需求  ,一样平常情形下 ,无需分外引入libyuv或opencv库处置惩罚图像 。

            MNN不仅支持回调机制  ,可以在网络运行中插入回调  ,提取数据或者控制运行走向;还支持只运行网络中的一部门  ,或者指定CPU和GPU间并行运行 。

            离青先容  ,这一项目的焦点目的 ,就是进一步降低开发工程师和算法工程师在移动情况中使用深度学习手艺的门槛  。

            这样的一个引擎  ,应用到现实中是什么样的情形呢?

            这里有一个淘宝的例子——

            手机淘宝春节运动:扫年货  ,集五福

            2019年春节时代  ,淘宝通过扫年货的方式加入到了阿里“集五福”运动之中 。

            详细的使用场景是  ,通过扫一扫商品识别能力  ,来识别红色年货  ,并剖析照片中有年货的概率  ,凭据概率来发放相关权益  。

            首先 ,为了扫描年货 ,淘宝在服务端用百万张年货图片训练出了一个可以判别年货的深度神经网络模子  。

            接下来 ,就需要MNN施展作用了  。

            用户通过相机扫描年货时 ,淘宝会获取相机中的照片数据  。然后  ,对照片做预处置惩罚 ,包罗图片的缩放、颜色空间的转换等  。

            离青说 ,扫年货是一个基于相机的应用场景  ,使用云端AI会消耗用户大量的流量去传输逐帧照片、服务端的盘算资源  ,同时响应速率也会取决于网络状态 。

            而MNN ,可以通过端侧AI  ,制止了网络开销  ,使整体体验流通、稳固  。

            它能够联合训练好的模子和经由处置惩罚的数据 ,快速做出响应的盘算处置惩罚  ,剖析出照片中有年货的概率 。

            若是照片中有年货的概率到达淘宝设定的尺度 ,就可以认定用户扫描到了年货  ,进而发放相关的权益 。

            这只是阿里将移动AI应用到自身营业之中的一个场景;MNN  ,也只是阿里众多移动AI项目中的一个 。

            在离青看来  ,移动AI领域的应用、框架/引擎、硬件方面都有着许多的可能性 。

            接下来  ,他们将会在维持MNN轻量、通用、易用、高性能等方面特点的情形下  ,进一步增强在端侧焦点算法的投入  ,降低开发者使用门槛  ,探索怎样在云+端联合的情形下  ,施展出更强的AI能力  。

            若是你对这个项目感兴趣  ,请收好下面传送门:

            https://github.com/alibaba/MNN

            在这个项目中 ,阿里巴巴提供了使用说明文档和基于图片、视频流的示例应用等等  。

            他们也发出呼吁 ,希望各人多多举行体验、反馈 ,用MNN构建出差别的人工智能应用~

            One more thing

            今年3月份正式宣布加入阿里的框架大牛贾扬清  ,在MNN项目开源评审时也给出了自己的建议  。

            在贾扬清看来  ,与Tensorflow、Caffe2等同时笼罩训练和推理的通用框架相比  ,MNN更注重在推理时的加速和优化  ,解决在模子部署的阶段的效率问题 ,从而在移动端更高效地实现模子背后的营业 。

            这和服务器端TensorRT等推理引擎的想法不约而同  。

            离青说  ,这样的转变 ,让MNN有了更切合使用场景的定位 ,对于其进一步生长  ,和为开发者服务  ,都有很大的资助  。