手机AI跑分泛滥 作为消费者在挑选时究竟应该看什么?( 三 )


手机AI跑分泛滥 作为消费者在挑选时究竟应该看什么?
本文插图

手机AI跑分泛滥 作为消费者在挑选时究竟应该看什么?
本文插图
从v4的测试结果不难看出 , 在这个版本的评分过程中 , 降低了浮点运算的权重 , 因此 , 麒麟990胜出的分值相比v3版本来说 , 大幅降低 , 但由于v4版本依然让FP16浮点运算保持了很高的权重 , 因此AI Benchmark的此次版本更新并未影响原有趋势 , 对于这点 , 我们在下图拆解的AI Benchmark的细项测试中可以更明显地看出端倪 。

手机AI跑分泛滥 作为消费者在挑选时究竟应该看什么?
本文插图
其中的Avg. Init Times (ms) , 也就是“平均初始化时间”的数值越低越好
由于第五代Qualcomm人工智能引擎AI Engine更重视INT8定点模式 , 因此搭载骁龙865移动平台的三星最新机型在INT8性能上更好 , 准确度也更高 , 并且能够获得INT8带来的省电优势 。
手机AI跑分泛滥 作为消费者在挑选时究竟应该看什么?
本文插图
此外 , 还需要注意的是 , 如上图所示 , 苏黎世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等等的优化实现是有一个很精细化的分工的 。


推荐阅读