智能手机早期诞生时,它的智能只能说是“Smart”。发展至今,我们再说到智能手机时,它的智能早已超越了“Smart”而变为了“AI”(人工智能)。不得不说,近年来,伴随着AI技术更多、更广泛地应用于智能手机当中,用户开始渐渐地感觉到,手边的这台便携智能终端是真的开始智能了,其最大的体现就是功能的进一步丰富与好用。
与此同时,还有一个问题摆在消费者的面前,那就是“选择”。据不完全统计,仅今年上半年,全新发布的智能手机就有几十款,面对这么多的产品,用户该如何选择?成为大多数消费者购机的主要困扰。于是,为了帮助消费者更好地去挑选带有AI功能的智能手机产品,继智能手机性能、拍照“跑分”后,终于,又来了针对AI性能的“跑分”。
当下,随着“AI跑分”逐渐“成熟”(并非真的成熟,仅仅是越来越多地出现在大众视野中),究竟该如何解读这样的一个“跑分”?从消费者的角度来看,如何理解这样的“跑分”?“AI跑分”是否具有参考价值?一系列的问题进一步困扰着广大的消费者。早先,笔者的一位友人也曾问道,难道不是像性能与拍照跑分一样,分高就证明性能好、分低就证明性能差吗?笔者负责任地告诉他,当然不是!至于为什么?那正是这篇文章想要跟你讲的!
AI性能究竟取决于什么?
了解AI技术的人想必都会懂得,AI技术并不是简单的运算快慢可以评判得了的。考虑到大多数用户并非对AI技术了解得那么深入,在正式开始讲讲“AI跑分”复杂在哪前,笔者认为还是有必要普及一些有关终端侧AI性能的基本知识。
无论是终端侧AI还是云端侧AI,在为用户提供服务的过程中,决定服务质量优劣的一大因素,就是神经网络。如今,我们常说的神经网络主要是指受人类大脑活动方式的启发打造的算法模型。在其正式投入使用前,神经网络首先需要经过训练阶段,也就是常说的机器学习阶段。即通过大量数据的学习,让人工神经网络可以基于数据得出一些结论、或者是基于特定数据完成新的推理。例如小米智能手机的AI魔法换天功能,就是在一套算法中,大量学习了带有“天”的图片为数据基础,进而演化到在功能实现的过程中,算法自己可以准确地识别出图片中“天”的所在,并自动进行替换。
因此,算法模型的完善与否,自然成为决定AI性能的关键因素之一。当然,算法还是要运行在硬件上,以智能手机上的终端侧AI来说,除了算法模型的质量外,运算能力当然也是评判AI性能的重要标准。而AI跑分,往往就是针对硬件的能力进行测试,并将测试结果带入到一套打分体系下,加以权重后,形成一个最终得分来展现终端AI性能的优劣。
听方法论似乎觉得没什么不妥,但在实际执行的过程中,可就没有想象中那么简单了。如今,令广大消费者大呼AI跑分看不懂的关键在于不同第三方机构提供的AI跑分结果大相径庭。究竟应该相信谁?消费者显然已经看懵了。
AI跑分大相径庭背后,反映出了什么?
究竟为什么智能手机AI跑分的成绩会出现截然不同的结果呢?为了说明这样一个问题。在此,笔者针对目前市面上比较常见的三大AI跑分软件、机构进行详细讲解,尽可能做到通俗易懂让消费者可以做到一目了然!
AIMark
首先是AIMark,它是当下比较常见的一款安装在智能手机上的AI跑分软件,是由鲁大师开发,主要采用了面向图像分类、图像识别和图像分割的ResNet-34、Inception-V3、Mobilenet-SSD和DeepLab-v3+模型来进行测试。
在评分标准上,终端设备在AIMark获取的分值取决于移动平台处理数据集和执行特定目标识别的效率(简单说就是“跑”算法的速度以及识别的准确率)。
先来看下由国外著名硬件测试网站Hothardware整理的几组跑分成绩:
可以看到,在AIMark的测试中,高通骁龙865移动平台的表现脱颖而出,这主要取决于865移动平台所支持的第五代Qualcomm人工智能引擎AI Engine。因此,在结果中Galaxy S20 Pro和一加8的AI跑分成绩远超其他终端。
同时,我们还可以看到,尽管Pixel 4 XL和Galaxy Note 10都搭载骁龙855移动平台,但由于采用了不同的软件配置和人工神经网络应用支持,两款机型的表现有很大差异。
AITuTu
AITuTu也是目前市面上为智能手机进行AI跑分时常用的APP,它也是采用了面向图像分类的Inception-v3神经网络以及面向目标检测的MobileNet-SSD来进行测试。评分标准上,基于终端处理数据的速度以及准确性来衡量综合分值。
同样的几组跑分如下:
在AITuTu的跑分结果上看,采用高通骁龙移动平台的终端设备依旧领先。
苏黎世AI跑分应用(ETH AI Benchmark)
苏黎世AI跑分也是如今经常被厂商所提及的第三方AI跑分机构,相比此前的两款跑分APP,苏黎世的AI Benchmark评估的是一些关键的AI和计算机视觉算法的速度、准确率和内存要求。测试方案包括图像分类与人脸识别方法、用于图像超分辨率和图像增强的人工神经网络、玩Atari游戏和进行背景虚化模拟的AI模型以及自动驾驶系统中所用的算法。算法结果能够以可视化图形的方式呈现,进而了解其在不同AI领域的最新表现。
这里通过两个ETH AI Benchmark的版本(v3、v4)测试成绩来分析:
首先是比较早版本的ETH AI Benchmark v3,可以看到,得分的情况似乎不太平衡。从最终得分的确定过程可以看到,v3版本的跑分尤其重视浮点(FP)运算的性能,让浮点运算的权重很高。因此,包含针对浮点运算单独优化的专用AI处理器的麒麟990得分遥遥领先。
接下来是ETH AI Benchmark v4的测试结果:
从v4的测试结果不难看出,在这个版本的评分过程中,降低了浮点运算的权重,因此,麒麟990胜出的分值相比v3版本来说,大幅降低,但由于v4版本依然让FP16浮点运算保持了很高的权重,因此AI Benchmark的此次版本更新并未影响原有趋势,对于这点,我们在下图拆解的AI Benchmark的细项测试中可以更明显地看出端倪。
其中的Avg. Init Times (ms),也就是“平均初始化时间”的数值越低越好
由于第五代Qualcomm人工智能引擎AI Engine更重视INT8定点模式,因此搭载骁龙865移动平台的三星最新机型在INT8性能上更好,准确度也更高,并且能够获得INT8带来的省电优势。
此外,还需要注意的是,如上图所示,苏黎世AI跑分还有一个问题在于,其采用的是Android NN API(安卓平台基础SDK)。但实际上,使用骁龙SDK的厂商比例为94%,使用Android NN API的比例小于1%。而苏黎世跑分由于不支持骁龙SDK,导致在测试中并不能发挥出骁龙平台的全部AI性能。而在AIMark和AITutu上则由于能够支持骁龙SDK让该平台的AI性能得到了更好的发挥。
看过了这些测试,究竟反映出了什么呢?笔者进行了一个简单的总结:
一、是否支持特定SDK会对AI跑分结果造成影响
SDK是什么?其中文译名是“软件开发工具包”,一般来说,是AI硬件供应商提供给软件开发者、以方便其在软件端实现AI功能的开发者工具。例如,高通有名为SNPE的SDK、联发科技有NeuroPilot、海思有HiAI等等。从上面的AI跑分表现可以看到,当软件基于某家厂商的SDK进行测试时,优势还是非常明显的!而这种优势并不是“作弊”,而是通过软件的兼容性优化将硬件的AI性能发挥到极致,毕竟AI是通过软件与硬件的结合实现。因此,似乎目前市面上的AI跑分的做法都过于极端,对于厂商SDK的支持情况不同导致它们走向了不同的结果,这样得到的分数,很难让用户一目了然地了解智能手机的AI性能。
二、对INT8与FP16运算的支持
在苏黎世AI跑分的单项得分中我们可以看到,麒麟990与骁龙865分别针对不同的数据格式进行了适配优化。高通更重视INT8,华为则选择了FP16。其实,这两种在AI计算深度学习模型中常见的数据格式并没有优劣、好坏之分。只是在手机端的AI应用中,往往要根据实际使用场景进行综合考量的选择。在现实场景下,目前大多数智能手机应用采用的是INT8,因其总体上能效更高,并且采用INT8的AI模型效率和精度也在不断提升。相比之下,目前FP16可以带来较高的精度,但实际上绝大多数消费者应用并不需要,并且其也会带来成倍增长的能耗;显然,INT8对于智能手机似乎要更合适一些。
另外,需要补充的一点是,高通在AI方面一直不同于其他厂商,采取的是异构设计思路,也就是利用多种不同引擎协同完成AI任务,以在精度和功耗之间取得最佳平衡。比如骁龙865实现的是高性能、低功耗、连接、安全等特性结合在一起的全系统AI,包括CPU、GPU、Hexagon处理器、ISP、Qualcomm传感器中枢、安全处理单元、调制解调器,甚至Quick Charge等等。我们刚刚一直在谈的INT8主要是基于其中Hexagon处理器的支持——包括INT8、INT16定点运算;而与此同时,其GPU实现的AI计算则最主要是FP16、FP32浮点运算。从中,我们就能看出,为了实现其所说的“在精度和功耗之间取得最佳平衡”的结果,高通对INT8和FP16等等的优化实现是有一个很精细化的分工的。
三、AI跑分智能表现终端设备AI性能的一方面
AI跑分现阶段显然还无法做到像CPU、GPU跑分那样,通过多个维度来进行测试,并得出一个比较公认的分数供用户参考。显然,各家AI跑分所使用的用于测试的算法模型以及方法都太过单一,不太能够还原用户真实使用AI应用的场景。因此,大部分的分数对于用户来说,参考价值有限。以目前的测试情况,不排除有厂商针对测试算法模型进行单独优化获取高分的可能。
写在最后
笔者认为,针对AI跑分这件事来说,消费者还需要牢记那句经典广告语,“别看广告,看疗效!”随着智能手机AI技术的应用逐渐丰富,诸如AI魔法换天、AI美颜、AI瘦身、AI魔法分身、AI语音助手等越来越多的应用在智能手机端落地。目前的AI跑分,最需要注意的是它们各自针对INT8定点与FP16浮点性能的权重差别,因为二者的差别在上述三种常见的AI跑分评分体系中,占据了极大的话语权。
就目前消费者可以买到的智能手机产品来看,INT8在移动应用中是最为常见的。因此,就目前的市场情况来看,INT8足以满足目前绝大多数主流消费者的使用需求。而FP16并不适合主流消费者,并且更加耗电。
落到产品端,根据三家AI跑分的测试结果来看,采用高通骁龙移动平台的智能终端,在Qualcomm人工智能引擎AI Engine的加持下,对INT8进行了很好的优化,加之目前大部分安卓端调用AI运算的应用均采用了高通提供的SDK,软硬相结合的情况下,使得基于高通骁龙移动平台打造的AI智能手机可将AI性能发挥到极致,并且,不会因此而牺牲续航,这显然是用户愿意看到的!