手机芯片谁是AI之王?高通、联发科均超华为
尽管相当数量的人工智能服务,是由云计算网络提供,但在响应低延迟、保护隐私、应用场景等方面,手机AI芯片无可替代。例如人脸解锁,图像增强、识别,智能助手,拍照场景识别,这些你我每天都会接触的功能,离不开手机神经引擎的加持。
AI-Benchmark测评
AI-Benchmark是苏黎世联邦理工学院(ETH Zürich)计算机视觉实验室Andrey Ignatov开发的AI基准测试程序,它不依赖于每个SoC供应商自己的SDK工具和API基准,能更客观地展示终端性能。
其测试任务包括以下9项(http://ai-benchmark.com/tests.html):
- 目标识别/分类:这是一个非常基础但很强大的神经网络,能够基于一张照片识别1000个不同的对象类别,准确率约为70%。经过量化,其大小可小于 5MB,再加上低耗内存,可在几乎所有现有智能手机上使用。
- 精确目标识别/分类:这是对上一个网络的进一步扩展,更加精确,但代价是规模是原来的4倍,且对计算的要求较高。一个明显的优势是——它可以处理分辨率更高的图像,这意味着更精确的识别和更小目标的检测。
- 人脸识别:实现方式为,对于每个人脸图像,神经网络会对人脸编码并生成128维的特征向量,该特征向量不随缩放、移动或旋转而改变。然后在数据库中检索和此向量最匹配的特征向量(以及对应的身份),数据库里包含数亿个此类信息。
- 图像去模糊:模糊是通过一种最原始、最简单、最轻量级的神经网络 SRCNN(只有 3 个卷积层)去除的。即便如此,它仍然显示出相当令人满意的结果。
- 图像超分辨率:使用一个19层的VGG-19网络。尽管目前来看,该网络的表现并不惊艳,也不能重建高频部分。但它对于绘画仍是理想的解决方案,因为该网络可以让图像变得更加清晰、平滑。
- 另一种图像超分辨率:任务同上,但完成方法略有不同,如果使用其他神经网络训练我们的神经网络会如何?我们安排两个网络去完成两个不同的任务:网络尝试解决上面提到的超分辨率问题,网络B观察其结果,尝试找到其中的缺陷并惩罚网络A。
- 语义图像分割:根据车载摄像头拍摄的照片检测19类目标(如车、行人、路、天空等)。
- 图像增强:经过恰当训练的神经网络可以让旧手机上的照片看起来更时髦。
- 内存极限:任务4使用的SRCNN是最轻便、简单的神经网络之一,这项测试的目的是找到设备的极限,即这个最简易的网络到底能处理多大的图像。
一骑绝尘 or 不分胜负
在刚出炉的2019年2月排行中,高通骁龙855位列榜首,紧随其后是联发科Helio P90处理器。而华为最强手机处理器麒麟980(去年9月发布),在这项测试中,已被骁龙855大幅甩开35%。
骁龙855(总分19769)对浮点和量化神经网络都能提供出色的硬件加速——前者依靠Adreno 640 GPU,而量化网络则运行在Hexagon 690 DSP中。这种组合省略了AI独立运算单元,依旧是传统的CPU/GPU及DSP/ISP兼职处理AI任务。这种设计思路,令SoC更小巧,也更容易开发,但原本用于图形任务设计的GPU,在更远的未来可能会触及架构瓶颈,难免还要面对芯片架构的一次大调整。
芯片之争既是长跑,也是冲刺。
关于量化网络开发神经网络时最大的挑战是让其真正起效,训练一般希望速度快准确率高。使用浮点算法是保持结果精确最简单的方式——GPU拥有加速浮点算法库,所以不需要过多关注其他数值格式。而随着大量神经网络模型投入实际应用。训练计算需求随研究者数目线性增长,预测所需的周期与用户数目成正比。这意味着纯预测效率迫在眉睫。这就是量化神经网络的用武之地:量化网络最初的动机是减小模型文件尺寸,在模型载入后仍然转换回浮点数,这样你已有的浮点计算代码无需改动即可正常运行,另一个量化的动机是降低预测过程的计算资源需求。虽然只是中端芯片,但联发科P90(总分18231)的实际AI性能,几乎与骁龙旗舰处理器不分伯仲(虽然P90理论GMAC参数占下风),它采用了独立的AI芯片——其设计来自GPU“魔改”,以优化深度学习任务。与竞争对手相比,这款芯片的不足在于CPU性能弱了30%,GPU也差强人意。
华为麒麟980(总分14646)发布已近半年,虽然账面成绩逊一筹,但值得指出的是,它的浮点性能与两个对手不分胜负,这意味着运行浮点神经网络任务,亦相差无几——这是当下AI研究和开发的主流技术,而且每个网络架构,都能以浮点模型训练。反之则不然,能转换为量化模型的网络较少,且常常伴随着准确度大幅下降。所以在2019年初,华为麒麟980仍算强大。
回顾历史,早在2004年,华为开始组建手机芯片研发队伍,经过5年研发,到2009年,才拿出第一款海思K3。到2014年初,推出麒麟910,首次采用28nm制程,才有自己的名声。整个2014年,华为不停的迭代,一共发布了6款芯片,终于有了长足进步。
再到2015年11月,麒麟950 SoC发布,采用16nm FinFET Plus工艺,勉强追上高通。而在950之后,华为又在2016年发布了960,2017年发布970,再到2018年7月发布710、8月发布980,终于开始领跑——之后的一个季度,华为麒麟970/980家族几乎垄断了AI-Benchmark商用设备榜单。
那么,目前地表最强的移动AI处理器最终花落骁龙855?隔壁苹果家的A12X Bionic可能并不同意(AI-Benchmark目前只支持Android平台)。
(本文为AI科技大本营原创文章,转载请微信联系 1092722531)