田海立@CSDN 2020-10-24
随着华为Mate40 pro及其搭载的海思麒麟9000处理器的发布,其手机和移动soc的AI性能也双双登上了AI-Benchmark的榜首位置。其具体指标如何呢,为什么能登上榜首?本文从CPU性能、NNAP-INT8量化性能、NNAPI-FP16浮点性能、NNAPI-INT8精度和NNAPI-FP16精度等诸多指标因素来分析,借此分析当前Android生态各家移动soc AI性能态势也就明朗了。
《AI Benchmark测试原理、v4测试项变化以及榜单数据解读》介绍了AI-Benchmark测试AI的原理:在Android系统上测试AI性能;基于Android NNAPI来测试,用各种TensorFlow Lite模型(不同数据类型和算子)从不同角度来测试AI性能。AI Benchmark v4版本更新了测试模型、测试方法与目标,相应的评分标准都有所变化。
《AI Benchmark v4榜首风云:麒麟9000登上榜首》介绍了随着华为Mate40 pro及其搭载的海思麒麟9000处理器的发布,其AI性能也双双登上了AI-Benchmark的手机和移动soc的榜首。
其具体指标如何呢,为什么是它在榜首?本文将从CPU性能、NNAPI-INT8性能、NNAPI-FP16性能、精度等诸多方面来进一步分析,借此您也可了解当前Android生态各家移动soc AI性能态势。
这里选取AI-Benchmark榜单上各家数据,每家选取一款得分最高的soc:海思麒麟9000、MTK 天玑1000+、高通骁龙865 Plus以及三星Exynos 990。没有选取紫光展锐的虎贲T312以及SC9832A、Rockchip的RK3399等数据,是因为榜单上显示并它们并没有AI加速器的支持。
所选取对比的各家soc处理器的CPU与AI加速器以及各具体单项性能数据如下:
由此看出:
下面会逐项展开详细分析这些数据及其背后展现的AI处理能力的逻辑。
看CPU的配置:
各家CPU的代系:
所以,这里的CPU跑分不管是量化还是浮点基本都反应了ARM的CPU架构代次以及芯片制造工艺水平。
各个模型的详细跑分展开也进一步说明了这种情况:
各个模型运行Latency最低的就是麒麟9000和天玑1000+了。
NNAPI-INT8数据反应了AI加速器对INT8量化模型的支持情况和性能:
可以看到:海思麒麟9000的NNAPI 1.1超出第二名MTK天玑1000+很多(24398 vs 17124),看来NPU达芬奇架构在INT8的支持上也有了质的飞跃。 不过麒麟9000的NNAPI1.2不高(14280 vs 18559),可能是对NNAPI1.2新加的算子支持度不高导致。
各个模型的详细跑分展开说明了这种情况:
各个量化INT8模型测试中:
而且带背景的高亮部分应该是反应的Paralle能力,去除之后应该是麒麟9000 vs 天玑1000+:6 vs 4
因为不同的模型中的算子定义在不同的NNAPI版本中,而具体哪个模型反应了NNAPI 1.?的指标,AI-Benchmark官方并没直接给出,这里也就暂时不能定量的详细的给出。但这里基本反应了INT8的总分情况,麒麟9000对MTK天玑1000+:NNAPI 1.1 24398 vs 17124;NNAPI1.2 14280 vs 18559。
NNAPI-FP16数据反应了AI加速器对FP16浮点模型的支持情况和性能:
可以看到:不管是NNAPI1.1还是NNAPI1.2数据,海思麒麟9000完全领先其他各家,对比第二的MTK天玑1000+(NNAPI1.1得分:37064 vs 12970;NNAPI1.2得分:73781 vs 25879)。
各个模型的详细跑分展开说明了这种情况:
各个FP16浮点模型测试中:
带背景的高亮部分应该是反应的Paralle能力,去除之后麒麟9000 也有11个单个模型测试高居第一。
这基本反应了FP16的总分情况。
精度数据反应了AI加速器计算时的精度,所以也仅仅NNAPI-INT8和NNAPI-FP16才会考察该指标:
可以看到:麒麟9000的INT8以及骁龙865 Plus的FP16的精度数据较差。
各个模型的详细跑分展开说明了这种情况:
模型测试的精度结果中:
精度方面,对于麒麟9000是降低了些分数,对骁龙865 Plus来说就是跑分上不去的一大因素了。
并发数据反应了对多个AI推理任务的支持情况,从NNAPI-INT8和NNAPI-FP16考察该指标:
可以看到:麒麟9000对FP16支持比较好;天玑1000+对INT8支持比较好。
各个模型的详细跑分展开说明了这种情况:
各个模型并发测试结果中:
所以,总体并发性能看,麒麟9000对FP16支持比较好;天玑1000+对INT8支持比较好。
通过上面对各家最顶级soc的分析,可以看到目前整个Android生态移动soc市场(其实移动市场也就Apple的iPhone系列不在这个体系)中AI的支持情况:
通过达芬奇架构的NPU的加持,FP16性能,不管是NNAPI1.1还是NNAPI1.2数据,海思麒麟9000完全领先其他各家,对比第二的MTK天玑1000+(NNAPI1.1得分:37064 vs 12970;NNAPI1.2得分:73781 vs 25879)
INT8性能海思麒麟9000的NNAPI 1.1超出MTK天玑1000+很多(24398 vs 17124),看来NPU达芬奇架构在INT8的支持上也有了质的飞跃。 不过NNAPI1.2不高(14280 vs 18559),可能是对NNAPI1.2新加的算子支持度不高。
麒麟9000的INT8的精度不高,特别是三个模型MobileNet-V3、SRGAN以及DPED-ResNet的精度可以说是很差。光推理速度快,结果都是错的,这快的质量要大打折扣的。
MTK天玑1000+各方面都很均衡,各项指标(INT8量化性能、FP16浮点性能、INT8量化精度、FP16浮点精度、NNAPI1.2的支持)都很好,所以在麒麟9000发布之前,领先其他各家很多占据榜首(92.3k vs 当时的第二名高通骁龙865Plus的59.9k)。
当然天玑1000+是2019年的产品,麒麟9000是新发布的产品,这态势也只能说是目前的态势。
高通骁龙865 Plus各项指标(INT8量化性能、INT8量化精度、FP16浮点精度、NNAPI1.2的支持)都比较好,考虑到其FP支持是在GPU上做,FP16的整体性能数据不高也能理解,而其FP32能力是最强的,不过估计评分体系中所占比重不高。
但是其FP16的精度数据很低是比较意外的,特别是PyNet以及DPED-ResNet的精度很差,而FP16在整个评分体系中的比重又比较高,所以Qualcomm要提高它的评分,应该关注一下它GPU支持的精度问题。而且即便不是为了AI-Benchmark上的跑分,实际运行模型的时候,精度差也基本上是不被接受的。
CPU没什么特别可说的,基本比拼的是CPU的代次和工艺了。最新ARM架构、最先进工艺就意味着分数较高,不过CPU分数的差距也拉不开,差别也不大。
网站声明:如果转载,请联系本站管理员。否则一切后果自行承担。
加入交流群
请使用微信扫一扫!