小米开源移动端深度学习框架MACE,自主研发,专为IoT设备优化

允中 发自 凹非寺 量子位 报道 | 公众号 QbitAI

这可能是小米目前为止最重要的AI大动作。

昨天(6月28日),在2018开源中国开源世界高峰论坛现场,小米人工智能与云平台副总裁崔宝秋对外宣布,将正式开源小米自研的移动端深度学习框架Mobile AI Compute Engine,简称MACE

小米方面称,MACE是专门为移动设备优化的深度学习模型预测框架。

近年来,随着移动互联网的深入发展和IoT智能设备的普及,以及用户对智能性,低延迟和隐私保护的诉求变得越来越高,移动设备上的离线深度学习应用变得越来越普遍。

于是MACE从设计之初,便针对移动设备的特点进行了专门的优化。

针对移动设备优化

涉及6个方面:

速度:对于放在移动端进行计算的模型,一般对整体的预测延迟有着非常高的要求。在框架底层,针对ARM CPU进行了NEON指令级优化,针对移动端GPU,实现了高效的OpenCL内核代码。针对高通DSP,集成了nnlib计算库进行HVX加速。同时在算法层面,采用Winograd算法对卷积进行加速。

功耗:移动端对功耗非常敏感,框架针对ARM处理器的big.LITTLE架构,提供了高性能,低功耗等多种组合配置。针对Adreno GPU,提供了不同的功耗性能选项,使得开发者能够对性能和功耗进行灵活的调整。

系统响应:对于GPU计算模式,框架底层对OpenCL内核自适应的进行分拆调度,保证GPU渲染任务能够更好的进行抢占调度,从而保证系统的流畅度。

初始化延迟:在实际项目中,初始化时间对用户体验至关重要,框架对此进行了针对性的优化。

内存占用:通过对模型的算子进行依赖分析,引入内存复用技术,大大减少了内存的占用。

模型保护:对于移动端模型,知识产权的保护往往非常重要,MACE支持将模型转换成C++代码,大大提高了逆向工程的难度。

此外,MACE支持TensorFlow和Caffe模型,提供了转换工具,可以将训练好的模型转换成专有的模型数据文件,同时还可以选择将模型转换成C++代码,支持生成动态库或者静态库,可以大大提高模型的保密性。

目前MACE已经在小米手机上的多个应用场景得到了应用,其中包括相机的人像模式,场景识别,图像超分辨率,离线翻译(即将实现)等。

随着MACE一起开源的还有MACE Model Zoo项目,目前包含了物体识别,场景语义分割,图像风格化等多个公开模型。后续会增加更多的模型,同时也欢迎社区开发者共同参与。

以下是用MACE Model Zoo中的fast style transfer(快速风格迁移)模型在手机端生成的风格化图片。

传送门

关于该项目的Android的示例程序,可以下载编译好的APK文件进行安装(下载地址:https://cnbj1.fds.api.xiaomi.com/mace/demo/mace_android_demo.apk)。

MACE项目地址: https://github.com/XiaoMi/mace

MACE Model Zoo项目地址: https://github.com/XiaoMi/mace-models

作者系网易新闻·网易号“各有态度”签约作者

原文发布于微信公众号 - 量子位(QbitAI)

原文发表时间:2018-06-29

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏IT大咖说

两届黑客马拉松冠军:K8S深度学习平台实践经验分享

? 内容来源:2017年11月19日,饿了么资深后端工程师江骏在“11.19上海 | K8S Sail!系列技术沙龙”进行《饿了么Docker&K8S实践经验...

3759
来自专栏PPV课数据科学社区

数据仓库术语一览

数据仓库:数据仓库是一个支持管理决策的数据集合。数据是面向主题的、集成的、不易丢失的并且是时间变量。数据仓库是所有操作环境和外部数据源的快照集合。它并不需要非常...

4417
来自专栏新智元

另一种开源:OpenAI 介绍深度学习基础设施

【新智元导读】OpenAI 昨天在博客发文,结合实例,介绍了 OpenAI 进行深度学习研究时采用的基础设施配置,并且提供了相关开源代码。文章激起了很多反响,其...

4205
来自专栏新智元

【腾讯优图首度开源深度学习框架ncnn】主打手机端,同类cpu框架最快

【新智元导读】 腾讯 AI 三大支柱之一的腾讯优图实验室公布了成立以来的第一个开源项目ncnn,这是一个为手机端极致优化的高性能神经网络前向计算框架,无第三方依...

8269
来自专栏量子位

Facebook开源问答系统DrQA:基于单一信源回答开放域提问

问耕 编译整理 量子位 出品 | 公众号 QbitAI 今天一大早,Yann LeCun就转发了一条消息:Facebook开源了DrQA的代码。 DrQA是一个...

3807
来自专栏技术翻译

用于Web开发的前5个机器学习框架

目前,机器学习是软件开发中最热门的趋势之一。许多分析师甚至认为,机器学习将彻底改变几个程序的Web开发过程,包括Web和移动应用程序。

450
来自专栏机器之心

业界 | 提供免费计算资源,开发平台AI Studio零门槛实现AI能力

AI Studio 是百度推出的一站式开发平台:一个囊括了 AI 教程、代码环境、算法算力、数据集,并提供免费的在线云计算的一体化编程环境。用户不必纠结于复杂的...

1600
来自专栏PHP在线

基于用户投票的排名算法(一):Delicious和Hacker News

互联网的出现,意味着"信息大爆炸"。 用户担心的,不再是信息太少,而是信息太多。如何从大量信息之中,快速有效地找出最重要的内容,成了互联网的一大核心问题。 各种...

3358
来自专栏闻道于事

瀑布模型,冯.诺依曼结构——摘自百科

瀑布模型是一个软件开发架构,于1970年被温斯顿·罗伊斯(Winston Royce)提出。其核心思想是按工序将问题化简,将功能的实现与设计分开,便于分工协作,...

4199
来自专栏人工智能头条

Pytorch还是Tensorflow?英伟达工程师帮你总结了

702

扫码关注云+社区

领取腾讯云代金券