MACE简介

MACE是一个针对移动端异构计算平台优化的神经网络计算框架,强调性能、功耗和用户体验。它通过NEON、OpenCL、HexagonHVX等技术进行性能优化,支持功耗管理,确保系统响应,降低内存占用,并提供模型加密保护。MACE适用于多种硬件,包括CPU、GPU和DSP,兼容多种设备,但知名度和生态相对较小。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

移动端推理,相比云端推理,不同的地方:

1. 移动端推理,抹去了网络延迟;云端推理延迟高;计算延迟通过定点量化、模型压缩、高度优化的CPU汇编代码和SIMD、设备定制生成的OpenCL GPU代码、winograd等op加速算法来降低;

2. 移动端推理,转移云计算成本到用户身上了;

3. 移动端推理,数据不上云,增强了用户数据隐私保护

4. 移动端推理,要降低功耗,别让用户手机掉电太快发热太狠;(通过减少访存量,减少计算量,来实现)

5. 移动端推理,受内存/显存大小限制,要减少模型和库的大小,可用模型剪枝、稀疏化、蒸馏、定点量化等模型压缩技术;

6. 移动端推理,要考虑多种设备的兼容性,兼容各种型号的CPU/GPU/DSP/NPU

7. 移动端推理,占用GPU的同时尽量少阻碍UI图形渲染等影响用户体验的地方;(通过拆分大kernel来实现)

8. 版权保护:通过对C代码的混淆,使得反编译更加困难;

Mobile AI Compute Engine (MACE) 是一个专为移动端异构计算平台优化的神经网络计算框架。 主要从以下的角度做了专门的优化:

  • 性能

    • 代码经过NEON(ARMv7以上的SIMD)指令,OpenCL以及Hexagon HVX专门优化,并且采用 Winograd算法来进行卷积操作的加速。 此外,还对启动速度进行了专门的优化。

  • 功耗

    • 支持芯片的功耗管理,例如ARM的big.LITTLE(通过高低性能处理器的协作来降低功率)调度,以及高通Adreno GPU功耗选项。

  • 系统响应

    • 支持自动拆解长时间的OpenCL计算任务,来保证UI渲染任务能够做到较好的抢占调度, 从而保证系统UI的相应和用户体验。

  • 内存占用

    • 通过运用内存依赖分析技术,以及内存复用,减少内存的占用。另外,保持尽量少的外部 依赖,保证代码尺寸精简。

  • 模型加密与保护

    • 模型保护是重要设计目标之一。支持将模型转换成C++代码,以及关键常量字符混淆,增加逆向的难度。

  • 硬件支持范围

    • 支持高通,联发科,以及松果等系列芯片的CPU,GPU与DSP(目前仅支持Hexagon)计算加速。 同时支持在具有POSIX接口的系统的CPU上运行。

MACE 的核心框架是 C++,算子分别设计为 OpenCL 和汇编语言,具体选择哪个取决于底层的硬件,而周边工具则采用了更灵活的 Python。

相对于 Caffe/Caffe2/TensorFlow Lite,MACE 最大的优势是对 CPU、GPU 和 DSP 等异构计算的支持,劣势则是知名度和生态有不小的差距;而 Core ML 作为不同平台的专有框架,应用场合目前没有与 MACE 重叠。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值