好快省--移动端AI算法部署技术栈

本文探讨了移动端AI算法部署如何达到“好、快、省”的要求,包括指标体系、技术栈及其对性能的影响。重点讨论了算法模型小型化、单计算单元高性能和多计算单元协同高性能的技术,如量化、轻量架构、通道剪枝、权重稀疏、编译优化和多计算单元协同,并分析了它们对accuracy、latency、energy efficiency和memory的影响。

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

转自我的知乎专栏: https://zhuanlan.zhihu.com/p/143510419 

 

很多团队都在做移动端AI的某个具体的技术点,但部署AI算法的时候和产品线交流,产品一线其实对具体用什么技术并不关心,产品线就希望某个算法能跑得又好又快又省。所以,不局限于某个具体的技术点,本文整理了移动端AI算法部署技术栈。要满足产品苛刻的性能要求,部署时一定是多种技术的综合利用。

 

指标体系

产品要求的又好又快又省,指标化其实就是几类:

1. 效果(好):

1.1 准:Accuracy

AI算法效果一般用accuracy表示,当然具体的任务还有一些具体的量化指标,但核心理念都是准确率。

效果(accuracy)是算法团队需要解决的核心问题,移动端工程化部署的时候,accuracy不会提高,甚至某些技术还会牺牲一些accuracy,以换取更好的执行效率。

2. 效率(快、省):

2.1 快:latency

也就是单次AI算法模型运行(inference)的时间。

参见业界推崇的MLperf评测体系,不同任务有不同的指标:Single stream任务,主要用latency,也有用fps(frame per second)的,latency和fps可以直接换算;Offline任务,可以用throughput。

2.2 省(功耗):energy efficiency

移动端必须要考虑功耗问题。功耗的评测体系有点乱,以前看MLperf,功耗的评测也还是open question。看国内几个有名的AI跑分软件,都没有功耗的跑分。当然,可以理解,功耗是不好测试的。

参考国外的一些评测,功耗可以用 fps/w 或 mah / inference 来衡量。

2.3 省(存储):memory

现在移动设备(比如,手机)存储越来越大,memory一般来说够用。当然,我们还是应该监控存储的使用情况。

 

除开产品直接的要求外,工程化部署的成本也需要被考虑,比如软件和硬件的成本:

3. 成本(低)

3.1 软件成本:flexibility

移动端已有大量可选的软件框架和算子实现库。低成本的技术需要尽量复用已有的软件框架和库。

3.2 硬件成本

选择新的芯片/计算设备,在性能/能效上肯定会更好,但新计算单元的成本肯定会更高。不过对软件团队来说,一般芯片或能用的计算设备是确定的,硬件资源上没太多选择/决策空间。

 

综上,“好、快、省”的具体要求就是软件平台“高accuracy,低latency,高energy efficiency,低memory size,高flexibility”。当然,没有一个技术能对所有的指标友好,很多技术都是在几个指标间进行平衡。

 

技术栈

对AI算法应用的部署,涉及的模块和其间的关系可如下图:

所以,对支撑AI算法应用“好快省”的“计算软件平台”,在技术上通常可分为自下而上和自上而下两条路径。其中࿰

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值