小米开源自研移动端深度学习框架MACE

2024-01-08 01:38

本文主要是介绍小米开源自研移动端深度学习框架MACE,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

小米人工智能与云平台副总裁崔宝秋博士在开源中国开源世界高峰论坛上发表《小米 AI 时代的开源》演讲,并在会上宣布,开源小米自研的移动端深度学习框架 Mobile AI Compute Engine (MACE)。


小米开源自研移动端深度学习框架 MACE

6 月 28 日,小米人工智能与云平台副总裁崔宝秋博士在开源中国开源世界高峰论坛上发表《小米 AI 时代的开源》演讲,并在会上宣布,开源小米自研的移动端深度学习框架 Mobile AI Compute Engine (MACE)。

地址:https://github.com/XiaoMi/mace

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

据雷锋网了解,MACE 是专门为移动设备优化的深度学习模型预测框架,MACE 从设计之初,便针对移动设备的特点进行了专门的优化:

  • 速度:对于放在移动端进行计算的模型,一般对整体的预测延迟有着非常高的要求。在框架底层,针对 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 一起开源的还有 MACE Model Zoo 项目,目前包含物体识别,场景语义分割,图像风格化等多个公开模型。后续会增加更多模型。

小米开源自研移动端深度学习框架 MACE

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

据雷锋网了解,此前小米曾参与多个国际重大的开源项目,比如 Hadoop,HBase,Spark,TensorFlow 等,同时,小米也积极参与自研、具有通用性的软件系统。过去几年,小米相继推出了 Linden(分布式实时搜索系统),Open-Falcon(互联网企业级监控系统)、Pegasus(分布式 KV 存储系统)等一系列开源项目。

在 AI 方面,小米开源了自研的针对移动端设备优化的深度学习框架 MACE,目前已经支持内部的多个业务。

另外,6 月 29 日至 7 月 2 日雷锋网将在深圳举办 CCF-GAIR 大会,小米首席架构师、小米人工智能与云平台副总裁崔宝秋将作为嘉宾出席并发表演讲。

全球人工智能与机器人峰会(CCF-GAIR) 由中国计算机学会(CCF)主办,雷锋网、香港中文大学(深圳)承办,得到了深圳市政府的大力指导,是国内人工智能和机器人学术界、工业界及投资界三大领域的顶级交流盛会,旨在打造国内人工智能领域最具实力的跨界交流合作平台。

CCF-GAIR 2018 延续前两届的“顶尖”阵容,提供 1 个主会场和 11 个专场(仿生机器人专场,机器人行业应用专场,计算机视觉专场,智能安全专场,金融科技专场,智能驾驶专场,NLP 专场,AI+ 专场,AI 芯片专场,IoT 专场,投资人专场)的丰富平台,意欲给三界参会者从产学研多个维度,呈现出更富前瞻性与落地性相结合的会议内容与现场体验。


这篇关于小米开源自研移动端深度学习框架MACE的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/581916

相关文章

Java深度学习库DJL实现Python的NumPy方式

《Java深度学习库DJL实现Python的NumPy方式》本文介绍了DJL库的背景和基本功能,包括NDArray的创建、数学运算、数据获取和设置等,同时,还展示了如何使用NDArray进行数据预处理... 目录1 NDArray 的背景介绍1.1 架构2 JavaDJL使用2.1 安装DJL2.2 基本操

最长公共子序列问题的深度分析与Java实现方式

《最长公共子序列问题的深度分析与Java实现方式》本文详细介绍了最长公共子序列(LCS)问题,包括其概念、暴力解法、动态规划解法,并提供了Java代码实现,暴力解法虽然简单,但在大数据处理中效率较低,... 目录最长公共子序列问题概述问题理解与示例分析暴力解法思路与示例代码动态规划解法DP 表的构建与意义动

修改若依框架Token的过期时间问题

《修改若依框架Token的过期时间问题》本文介绍了如何修改若依框架中Token的过期时间,通过修改`application.yml`文件中的配置来实现,默认单位为分钟,希望此经验对大家有所帮助,也欢迎... 目录修改若依框架Token的过期时间修改Token的过期时间关闭Token的过期时js间总结修改若依

Go中sync.Once源码的深度讲解

《Go中sync.Once源码的深度讲解》sync.Once是Go语言标准库中的一个同步原语,用于确保某个操作只执行一次,本文将从源码出发为大家详细介绍一下sync.Once的具体使用,x希望对大家有... 目录概念简单示例源码解读总结概念sync.Once是Go语言标准库中的一个同步原语,用于确保某个操

五大特性引领创新! 深度操作系统 deepin 25 Preview预览版发布

《五大特性引领创新!深度操作系统deepin25Preview预览版发布》今日,深度操作系统正式推出deepin25Preview版本,该版本集成了五大核心特性:磐石系统、全新DDE、Tr... 深度操作系统今日发布了 deepin 25 Preview,新版本囊括五大特性:磐石系统、全新 DDE、Tree

Node.js 中 http 模块的深度剖析与实战应用小结

《Node.js中http模块的深度剖析与实战应用小结》本文详细介绍了Node.js中的http模块,从创建HTTP服务器、处理请求与响应,到获取请求参数,每个环节都通过代码示例进行解析,旨在帮... 目录Node.js 中 http 模块的深度剖析与实战应用一、引言二、创建 HTTP 服务器:基石搭建(一

MyBatis框架实现一个简单的数据查询操作

《MyBatis框架实现一个简单的数据查询操作》本文介绍了MyBatis框架下进行数据查询操作的详细步骤,括创建实体类、编写SQL标签、配置Mapper、开启驼峰命名映射以及执行SQL语句等,感兴趣的... 基于在前面几章我们已经学习了对MyBATis进行环境配置,并利用SqlSessionFactory核

HarmonyOS学习(七)——UI(五)常用布局总结

自适应布局 1.1、线性布局(LinearLayout) 通过线性容器Row和Column实现线性布局。Column容器内的子组件按照垂直方向排列,Row组件中的子组件按照水平方向排列。 属性说明space通过space参数设置主轴上子组件的间距,达到各子组件在排列上的等间距效果alignItems设置子组件在交叉轴上的对齐方式,且在各类尺寸屏幕上表现一致,其中交叉轴为垂直时,取值为Vert

Ilya-AI分享的他在OpenAI学习到的15个提示工程技巧

Ilya(不是本人,claude AI)在社交媒体上分享了他在OpenAI学习到的15个Prompt撰写技巧。 以下是详细的内容: 提示精确化:在编写提示时,力求表达清晰准确。清楚地阐述任务需求和概念定义至关重要。例:不用"分析文本",而用"判断这段话的情感倾向:积极、消极还是中性"。 快速迭代:善于快速连续调整提示。熟练的提示工程师能够灵活地进行多轮优化。例:从"总结文章"到"用

百度/小米/滴滴/京东,中台架构比较

小米中台建设实践 01 小米的三大中台建设:业务+数据+技术 业务中台--从业务说起 在中台建设中,需要规范化的服务接口、一致整合化的数据、容器化的技术组件以及弹性的基础设施。并结合业务情况,判定是否真的需要中台。 小米参考了业界优秀的案例包括移动中台、数据中台、业务中台、技术中台等,再结合其业务发展历程及业务现状,整理了中台架构的核心方法论,一是企业如何共享服务,二是如何为业务提供便利。