麒麟 970 真的是当前最强手机 AI 芯片吗?至少苏黎世联邦理工学院的研究人员是这样认为的。在他们开发的 AI Benchmark 应用中,搭载麒麟芯片的华为 P20 Pro 的神经网络处理性能第一,比第二名一加 6 手机(搭载高通骁龙 845)的 3.4 倍还高。这款 APP 目前已经在 Google Play Store 上线,任何人都可以用来测试自己的手机“是否准备好进入 AI 时代了”。
高通、华为、联发科有什么共通点?这三家厂商都做加速手机、平板等移动设备中计算机视觉、NLP 以及其他机器学习任务的硬件架构。然而其中存在一个问题,即开发者难以判断哪家的芯片对特定平台的算法优化较好。于是来自 ETH Zurich(苏黎世联邦理工学院)的研究员开发了一个名为 AI Benchmark 的 APP,可用于测试手机上机器学习算法的表现。
不过,目前这款 APP 只适用于安卓手机。
AI Benchmark APP
据国外媒体 TechCruch 报道,ETH Zurich 的研究人员开发了一个基准系统来评估用于常见 AI 任务的众多神经网络架构。他们希望通过这种方式帮助 AI 研究员、芯片厂商以及安卓开发者,来测试 AI 模型在不同设备上运行时的表现。
“因为没有相关信息(指算法表现的信息。除了一些内建 APP 的 AI 算法融合到了手机固件,当前所有的 AI 算法都在服务器上远程运行),所以我们想要开发一种工具清晰展示每种设备的表现与能力。”研究员 Andrey Ignatov 在接受 TechCrunch 专访时表示。
AI Benchmark APP 运行计算机视觉任务时的测试,图片:Kyle Wiggers/Venture Beat
当前手机 AI 性能排行榜
AI Benchmark APP 能评估智能手机在一系列开源算法中的性能,这些算法执行图像分类、人脸识别、图像超分辨率以及图像增强、分割以及去模糊的任务。AI Benchmark 甚至还可以测试无人驾驶汽车中使用的神经网络的性能。研究人员预测,这种神经网络最终可能会运行在与智能手机芯片类似的芯片上。
在手机上打开该 APP,它会产生算法输出的可视化效果,并给出一个影响芯片系统和 RAM 速度的分数。(一般来说,神经网络越大,处理它所需的内存就越多。)
AI Benchmark 自己测试并列出了一个排行榜,华为 P20 Pro 以 6397 的得分高居榜首,第二名得分为 1875。
1. 华为 P20 Pro – 6397
2. 一加 6 – 1875
3. 索尼 Xperia XZ2 – 1664
4. 三星 Galaxy S9+ – 1494
5. 雷蛇 Razer Phone – 1470
6. 三星 Galaxy S9 – 1446
7. 一加 5T – 1440
8. 一加 5 – 1416
9. 三星 Galaxy Note 8 – 1408
10. 小米 Mi Mix 2 – 1405
在该工具的官网上,目前排名前 15 的手机型号。
机器之心小编也下载了 AI Benchmark,在平均长达 5 分钟、所有 9 项测试结束之后(需耗去 4% 的电量),我们使用的国行版三星 S9 手机拿到了 1594 分,这个分数在高通骁龙 845 芯片的手机里还算不错,也超过了官方排行榜中该型号手机原来的分数,或许是固件更新的功劳?
搭载麒麟 970 芯片的华为 P20 Pro 分数达到了 4573,不及排行榜上的分数(我们的测试机未更新到最新版本系统)。
我们也测试了搭载骁龙 835 的“谷歌官方机”Pixel 2 的跑分:1210。
我们的测试分数,从左至右:华为 P20 Pro、三星 S9、Pixel 2。
那么针对这些旗舰机型的对比结果如何呢?Ignatov 将团队的初步成果总结为“有趣且荒诞”。
Ignatov 称,高通芯片可以加速那些并不兼容所有安卓版本的量化或压缩神经网络。不使用高通骁龙软件开发的典型网络则无法利用其 Hexagon DSP AI 加速芯片,尽管 Ignatov 注意到如果实现“恰当驱动”,此类网络可以从中受益。
“如果你正在研发一款使用 AI 能力的 app,那么你在骁龙 SoC 上无法获得任何加速,除非你研发的 app 只为骁龙处理器服务。”Ignatov 称。
另一方面,华为的麒麟芯片性能强大——可以提供近 10 倍的神经网络加速,但是这与量化的神经网络并不兼容。华为称今年麒麟芯片将支持量化神经网络。(Ignatov 注意到华为 P20 和 P20 Pro 是市面上唯一运行 Android 8.1 Oreo 为应用程序提供人工智能加速的手机。)
至于三星的 Exynos 处理器和联发科的 NeuroPilot AI 平台,评测结果就有点参差不齐了。
三星自有的处理器只支持 Android 8.1 及以上版本的 AI 加速,且由于功耗优化和调节(power throttling),其性能变化“很大”,有时甚至高达 50%。
同时,联发科的芯片组——那些同时支持量化神经网络和普通神经网络的型号,性能稍稍弱于三星和华为的硬件。
“总之,骁龙理论上可以提供优秀的结果,但是缺乏强劲的驱动;华为现在的结果比较突出,且不久的未来可能是最好的;三星目前不支持加速(这种情况可能很快就会改变,因为三星目前正在研发自己的 AI 芯片),但是 CPU 很强大;联发科在中端设备上效果较好,但没有什么突破。”Ignatov 称。
AI Benchmark 是如何测试手机AI性能的
据官网介绍,该 benchmark 包含 9 个在手机上运行独立神经网络的计算机视觉任务。这些网络包含大量架构,能让我们评估解决人工智能问题的不同方法的表现和局限性。
任务 1:目标识别/分类
神经网络:MobileNet – V1 | CPU, NPU, DSP
图像分辨率:224 x 224 px
ImageNet 准确率:69.7%。
这是一个非常基础但很强大的神经网络,能够基于一张照片识别 1000 个不同的对象类别,准确率约为 70%。经过量化,其大小可小于 5Mb,再加上低耗内存,它可在几乎所有现有智能手机上使用。
任务 2:目标识别/分类
神经网络:Inception – V3 | CPU, NPU, DSP
图像分辨率:346 x 346 px
ImageNet 准确率:78.0 %
这是对上一个网络的进一步扩展:更加精确,但代价是规模是原来的 4 倍,且对计算的要求较高。一个明显的优势是——它可以处理分辨率更高的图像,这意味着更精确的识别和更小目标的检测。
任务 3:人脸识别
神经网络:Inception – Resnet – V1 |CPU
图像分辨率:512×512 px
LFW 得分:0.987
这个任务无需过多介绍:根据人脸照片识别出这个人。实现方式如下:对于每个人脸图像,神经网络会对人脸编码并生成一个 128 维的特征向量,该特征向量不随缩放、移动或旋转而改变。然后在数据库中检索和此向量最匹配的特征向量(以及对应的身份),数据库里包含数亿个此类信息。
任务 4:图像去模糊
神经网络:SRCNN 9-5-5 | CPU, NPU, DSP
图像分辨率:300 x 300 px
Set-5 得分 (x3):32.75 dB
还记得用手机拍出的模糊照片吗?这个任务就是:让图片变得清晰。在最简单的情况下,这种失真是通过对未损坏的图像应用高斯模糊来建模的,然后尝试使用神经网络来恢复它们。在这个任务中,模糊是通过一种最原始、最简单、最轻量级的神经网络 SRCNN(只有 3 个卷积层)去除的。即便如此,它仍然显示出相当令人满意的结果。
任务 5:图像超分辨率
神经网络:VGG – 19 | CPU, NPU, DSP
图像分辨率:192 x 192 px
Set-5 得分 (x3):33.66 dB
你有过缩放照片的经历吗?缩放时是不是会有失真、细节丢失或清晰度下降的问题?这项任务就是让缩放过的照片看起来和原图一样。在本任务中,网络被训练用于完成一项等效的任务:将给定的缩小后图像(如缩小四倍)恢复至原图。此处我们使用一个 19 层的 VGG-19 网络。尽管目前来看,该网络的表现并不惊艳,也不能重建高频部分。但它对于绘画仍是理想的解决方案,因为该网络可以让图像变得更加清晰、平滑。
任务 6:图像超分辨率
神经网络:SRGAN | 仅 CPU
图像分辨率:512 x 512 px
Set-5 得分(x4):29.40 dB
任务同上,但完成方法略有不同:如果我们使用其他神经网络训练我们的神经网络会如何?我们安排两个网络去完成两个不同的任务:网络 A 尝试解决上面提到的超分辨率问题,网络 B 观察其结果,尝试找到其中的缺陷并惩罚网络 A。听起来是不是很酷?实际上真的很酷,尽管该方法不尽完美,但结果往往非常惊艳。
任务 7:语义图像分割
神经网络:ICNet | 仅 CPU
图像分辨率:384 x 576 px
CityScapes (mIoU):69.5 %
有没有想过在手机上运行自动驾驶算法?这没什么不可能,至少你可以完成一大部分任务——根据车载摄像头拍摄的照片检测 19 类目标(例如,车、行人、路、天空等)。在下图中,你可以看到最近专为低性能设备设计的 ICNet 网络的像素级分割结果(每个颜色对应每个目标类别)。
任务 8:图像增强
神经网络:ResNet – 12 | CPU, NPU, DSP
图像分辨率:128 x 192 px
DPED PSNR i-得分:18.11 dB
看旧手机上的照片是不是觉得很难受?这个问题可以解决:经过恰当训练的神经网络可以让旧手机(即使是 iPhone 3GS)上的照片看起来非常好、非常时髦。要做到这一点,网络要观察、学习如何将来自低端设备的照片优化成像用 DSLR 相机拍出来的一样。当然,这一奇迹有一些明显的缺陷(如:每次换新手机模型都要重新训练网络),但得到的图像看起来非常好,尤其是旧设备上的照片。
任务 9:内存极限
神经网络:SRCNN 9-5-5 | CPU, NPU, DSP
图像分辨率:4 MP
# 参数:69.162
在任务 4 中我们已经认识了 SRCNN,它是最轻便、简单的神经网络之一。但即便如此,在处理高分辨率照片时,它也会让大多数手机“给跪”,因为要处理高清照片,手机至少要有 6GB 的内存。这项测试的目的是找到你设备的极限,即这个最简易的网络到底能处理多大的图像?
最后,你可以去谷歌商店下载此APP测试下自己手机运行神经网络的能力,不服跑个分?