还记得专门用于测试手机 AI 性能的应用 AI Benchmark 吗?去年 7 月,来自苏黎世联邦理工学院的研究人员推出了这项测试,引发了人们的广泛关注。现在这款 APP 已经推出了 2.12 版。最近,开发者们放出了最新一代手机芯片骁龙 855、麒麟 980 和三星猎户座 9820 的测试成绩。
这一次,骁龙 855 看起来处于领先位置了——这款芯片并没有采用神经网络处理单元,仅靠 GPU 和 DSP 的协同工作就取得了很好的效果。要知道,在上次骁龙 845 和麒麟 970 的对比中,华为芯片的 AI 性能还是高通的 3 倍多。在官方网站上,AI Benchmark 展示了对最近发布的所有带有 AI 加速器的移动芯片组的浮点和量化性能的测试结果:
AI Benchmark 网站:http://ai-benchmark.com/
人们可以在 Google Play 上下载 APP 对自己的手机进行 AI 性能测试。
同时,研究人员还介绍了最新测试的主要发现:
骁龙 855 相比联发科 P90 多出了 6-15 倍浮点和量化加速性能
麒麟 980 具有类似的浮点网络加速性能,在量化模型性能上有可能略小一些
骁龙 845 的浮点运算性能相比骁龙 855 要低 10%,在整数运算速度上慢 20-60%
麒麟 970 的速度约比麒麟 980 慢 30-50%
谷歌 Pixel 的缺席:由于性能不足,Pixel Visual Core 没有开放任何 SDK 给开发者,所以未有测试结果
三星猎户座(Exynos)9810 情况与谷歌相同,没有开放 SDK,所有成绩都是在 CPU 上跑出的
三星猎户座 9820:正式结果即将推出,目前的原型机测试结果好坏参半
目前的手机芯片榜单,骁龙 855 评分最高。
最快的 AI 芯片?高通骁龙 6150?三星 Galaxy S10?
过去几个月,AI Benchmark 的得分被用于很多事件和出版物中,引发了很多关于一些新推出的芯片组和手机性能的问题。下面是我们对 2019 年 2 月更新分数和结果的官方解释。
在目前的 AI Benchmark 排行榜上,骁龙 855 排名最高,毫无疑问它是市场上可用的最快芯片组之一。它展示了非常强的 AI 性能,并为浮点和量化神经网络提供了硬件加速:首先推理是在 Adreno 640 GPU 上完成的,而量化神经网络是在其内置的 Hexagon 690 DSP 上运行的。GPU 和 DSP 的这种结合让高通不必使用单独的 NPU 来加速 AI 计算,这导致更小的 SoC 尺寸并使开发变得更容易。
然而,这一决策也有其代价——骁龙的 GPU 无法完全用于运行神经网络,因为它最初是为纯计算机图形任务而设计的,因此在运行 AI 计算时,只能使用其很少的功率。这可能会导致未来产品开发中出现一些困难,因为通常有两种方法可以提高骁龙的 AI 能力:提高 GPU 性能或彻底改变其设计,虽然后者会导致整个图形系统和驱动程序的改变。第三个选择是引入单独的专用 AI 芯片,这实际上可能是高通下一代高端 SoC 会采用的情况。
MediaTek P90 对市场来说是个惊喜。为什么联发科的这款中档芯片组评分如此高?答案很简单——它的 AI 性能完全能够与骁龙 855 相媲美。与高通相反,联发科决定研发一款独立的 AI 芯片,该芯片是基于其内部 GPU 设计而构建的,经过大幅修改,可用于深度学习任务。结果令人印象很深刻——尽管 P90 的理论 GMAC 性能明显低于骁龙 855,但它们在 AI 任务中的真实速度却几乎一致。并且,它并没有因为速度而牺牲计算的准确率,有时甚至比默认安卓驱动程序更高。与高通和麒麟的旗舰 SoC 和相当平庸的 GPU 相比,这款 SoC 的唯一缺点是 CPU 性能下降了 30 %,但它不用于 AI 任务,因此实际上与我们的测试无关。
麒麟 980 差不多是半年前推出的,但分数却低于骁龙 855 和 Helio P90。这是否意味着它做得更差?并不是。它的浮点性能几乎与上述 SoC 的情况相同,也就是说当你运行浮点神经网络时会获得相当的速度。需要强调的是这仍然是 AI 研究和开发中使用的主要模型类型:每个网络架构都可以被训练成浮点模型。相反,只有一些架构可以被转换为量化模型,因为这通常会导致准确率大幅下降,而对面部识别、图像超分辨率或图片增强等任务来说这是不可接受的。这里显示麒麟芯片组的性能仍然很强。
但为什么它的分数更低呢?从一开始,这款 SoC 就有两个主要问题:无法处理大量数据和加速量化神经网络。虽然第一个问题已在最新的 Beta 版本固件中得到修复(在原型机测试中成绩已有提升),但第二个问题目前仍未得到解决。由于技术问题,麒麟的 NPU 无法通过 NNAPI 加速整数运算,它会转而使用 Arm NN 驱动进行基于 GPU 的加速,在这种情况下其性能会低于高通和联发科——从而导致基准测试分数较低。
目前看来麒麟 980 仍然是一块非常优秀的芯片,但它在量化运算上有一些显著的缺陷。
在过去的一年里,三星明显在这场 AI 博弈中落后了——高通正为骁龙的 DSP 开发其第一个 NNAPI 驱动,华为推出了搭载 NPU 的麒麟 970,联发科首次尝试在其 Helio P60 SoC 芯片上加速神经网络,但三星手机却普遍缺乏 AI 加速支持,尽管宣传材料中有一些关于其视觉处理单元的信息,但该单元的性能、规格和 SDK 从未对外公布。与 Pixel Visual Core AI 芯片的情况相同,由于性能不够强大,谷歌决定不为外部开发者提供任何 SDK 或驱动,尽管他们之前给出过承诺。
新的三星 Exynos 9820 SoC 芯片会改变这一局面吗?目前已经测试了搭载该芯片的 S10 手机,第一印象非常复杂。现在只希望三星能够在 S10 发布之前大幅改善其驱动。高通、华为及联发科的芯片最终也将和三星的 SoC 一起加入排行榜。
还需要指出的是,三星还是有机会在 AI 性能上扳回一局的,Mali GPU 可以大幅加速浮点及量化神经网络,三星只需整合 Arm NN 就能实现加速,但在这种情况下,在下一代三星手机安卓 Q 固件发布(不会早于今年年底)之前,这种加速可能不会实现。
原型机和排名更新:骁龙 SDM6150 和三星 S10 得分
目前 AI Benchmark 的原型机排名。
高通 SDM6150 SoC 的测试结果本月有所更新:它最新的驱动为浮点网络带来了加速支持,如今该芯片在 AI Benchmark 的测试基准上能够取得 12,000 分。根据我们的测试,其单核 CPU 表现可媲美骁龙 845,但在多核测试中它的速度低了 20-30%。量化和浮点运算的测试表明,骁龙 6150 可能与骁龙 845 搭载了同样的 Hexagon 685 DSP,尽管它的 GPU 相比于 Adreno 630 大约慢了 2-2.5 倍。无论如何,如果该 SoC 配备最新的驱动且有合理的价格,它必定会成为一个重磅玩家。
搭载骁龙 855 的三星 Galaxy S10 和 S10+最终出现在了我们榜单上(手机还未发布)。如同所预期的,这两款手机的测试结果非常接近之前公开的联想 Pro GT 手机得分,它们搭载了同样的芯片:得分约为 21,000 分,可能是如今最快的智能手机了。
LG 正在其搭载骁龙 845 的高端手机上测试升级 Android P。此次更新将会包含最新的高通 NNAPI 驱动,能够把手机的 AI 能力带到新高度:搭载这种驱动的 LG G7 ThinQ 运行神经网络的速度是先前 Android Oreo 固件的 8 倍。同样的驱动在三星 Galaxy S9+手机的 Android 9.0 升级中也有,该手机搭载的是骁龙 845。此外,搭载同样芯片的 Vivo 手机很快也会有同样的驱动。但不幸的是,装配骁龙 845 的许多其他设备要么是旧版高通驱动,要么默认 Android NNAPI 驱动,不能为深度学习任务提供任何硬件加速。
UNISOC SC9863:在 AI Benchmark 中,来自展讯公司的此入门级芯片达到了骁龙 650 的水平。尽管缺少硬件 AI 加速器,但它包含 8 个 Cortex-A55 核,支持 Arm v8.4-A 点积指令,从而能够快速运行许多神经网络。该 SoC 可能适合预算有限但需要基础 AI 能力的手机。
目前在 AI Benchmark 量产手机排行榜上最高的竟是一台搭载骁龙 845 芯片的三星 S9+,安卓 9.0 的驱动能够带来如此高的 AI 性能提升?
这看起来有些吓人,我们进行了一些自己的测试。
在机器之心的编辑部里,我们找到了一台华为 Mate 20 Pro(无屏下指纹版本,搭载麒麟 980)和一台三星 S9(骁龙 845 版本,安卓 8.0)进行了测试,华为手机获得了 15009 分,而三星手机为 5190 分。看起来,Mate 20 Pro 在 16 位浮点数运算和内存方面占据优势。