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

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

大家好,我是讯享网,很高兴认识大家。

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

很多团队都在做移动端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算法应用“好快省”的“计算软件平台”,在技术上通常可分为自下而上和自上而下两条路径。其中,自下而上的路径,类似传统的高性能计算技术,又可分为单计算单元高性能,和多计算单元协同高性

小讯
上一篇 2025-02-19 14:16
下一篇 2025-01-24 15:46

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/35123.html