我们的手机究竟需不需要这么多的“人工智能”?

  从2018年的岁初到年尾,人工智能都是手机行业的关键词。

  手机厂商忙不迭给用户灌输这样一个认知:AI会让你的手机更智能,并推出了智能语音助手、面部解锁、照片智能分类等一系列应用。事实证明,行业趋势总会导致产业链上游的变革,处于产业链顶端的手机芯片也不例外。

  苹果A12和麒麟980都宣称搭载了NPU单元来增强手机的AI处理能力,高通特意在骁龙845的宣传中加入了“人工智能”的标签,三星刚推出的Exynos 9820成为首个集成NPU单元的Exynos系列芯片,联发科则在Helio P70中强调了“AI专核”的概念……

  如果你不是一位IC领域的专家,看到NPU、AI专核等一系列概念后势必会一头雾水,AI专核到底是什么,又扮演了什么样的角色?这正是本文的初衷。

  人工智能芯片到底是什么?

  回答这个问题之前,先来弄明白两个概念,什么是CPU和GPU?

  简单来说,CPU就是手机的“大脑”,也是手机正常运行的“总指挥官”。GPU被翻译成图形处理器,主要工作确实是图像处理。

  再来说说CPU和GPU之间的分工,CPU遵循的是冯诺依曼架构,核心就是“存储程序,顺序执行”,就像是做事一板一眼的管家,什么事情都要一步一步来。假如你让CPU去种一棵树,挖坑、浇水、植树、封土等工作都要独自一步一步进行。

  如果让GPU去种一棵树的话,会喊来小A、小B、小C等一同来完成,把挖坑、浇水、植树、封土等工作分割成不同的子任务。这是因为GPU执行的是并行运算,即把一个问题分解成若干个部分,各部分由独立的计算单元去完成。恰好图像处理的每一个像素点都需要被计算,与GPU的工作原理不谋而合。

  


  就如同一位知乎大神打的比方:CPU像是老教授,积分、微分什么都会算,但有些工作是计算大量一百以内的加减乘除,最好的方法当然不是让老教授挨个算下去,而是雇上几十个小学生把任务分配下去。这就是CPU和GPU的分工,CPU负责大型运算,GPU为图像处理而生,从电脑到智能手机都是如此。

  但当人工智能的需求出现后,CPU和GPU的分工就出现了问题,人工智能终端的深度学习和传统计算不同,借由后台预先从大量训练数据中总结出规律,得到可以给人工智能终端判定的参数,比如训练样本是人脸图像数据,实现的功能在终端上就是人脸识别。

  CPU往往需要数百甚至上千条指令才能完成一个神经元的处理,无法支撑起大规模的并行运算,而手机上的GPU又需要处理各种应用的图像处理需求。强行使用CPU和GPU进行人工智能任务,结果普遍是效率低下、发热严重。  大连渤海医院电话是多少 http://yyk.39.net/hospital/f9a8f_registers.html

  这就需要高通、联发科们拿出解决方案出来,不那么凑巧的是,各家移动芯片大厂的解决思路还不太一样。

  高通目前商用的旗舰处理器是骁龙845,搭载了Adreno 630 GPU,相比于上一代的骁龙835,AI处理能力提升了3倍,并且支持多个平台的神经网络系统。可能是出于对GPU性能的自信,又或许是没有意识到AI需求的来临,高通并没有独立的AI运算单元,仍然是依靠CPU、GPU、DSP等来兼职处理AI需求。

  联发科一直都是被低估的玩家,所给出的解决方案和谷歌的TPU有些类似,使用了ASIC(专用集成电路)的形式,打造了专门处理人工智能需求的AI专核,成为整合在HelioP60、Helio P70等芯片中的一小块IP。AI专核的优点在于运行速度快、功耗低,可以和CPU、GPU进行协同分工,CPU负责大型运算,GPU承担图像处理,AI专核负责深度学习相关的场景。

  文初所提到的NPU,翻译成中文就是神经网络处理器,即苹果A12、麒麟980和Exynos 9820提供的解决方案,其实也是AI专核的一种。通俗来说就是人工智能加速器,因为GPU是基于块数据处理的,但手机上的AI应用是需要实时处理的,人工智能加速器刚好解决了这个痛点,把深度学习相关的工作接管过来,从而缓解CPU 和GPU 的压力。

  可以看到,苹果A12、麒麟980、Exynos 9820的NPU单元和AI专核有着相似的原理,将CPU和GPU的计算量分开,诸如面部识别、语音识别等AI相关的任务卸载到ASIC上处理,AI专核早已成为一种行业趋势。

  只不过目前“NPU”的概念还没有完全统一,有些玩家仍以集成多个DSP核心的方式来调动资源的支持,寒武纪的IP在处理mobilenetv1/v2又有一些问题,因此突显出在这方面,联发科的步子要迈得更大一些。

  AI专核是跨越还是幻想?

  用一个“专核”来处理AI场景并非没有缺陷,比如功能单一、开发时间长、增加芯片的成本、占据手机空间,大概也是高通没有选择这种解决方案的原因。

  


  不过要判断AI专核是超前的跨越还是无用的幻想,只需要来对比几个实际的使用场景。

  以时下应用最广泛的AI人脸识别为例,这是一个“扫描检测”和“结果判断”的过程,需要在扫描过程中判断五官坐标定位、人脸属性识别、人脸特征提取等,然后在判断时根据人脸特征、人脸识别、活体验证等进行比对。人脸识别并非是纯算法方面的事情,还需要涉及到CPU、GPU、VPU、DLA 等多个运算单元。

  有媒体做过这样一个对比测试,分别是搭载联发科Helio P60、高通骁龙845和骁龙710的智能手机进行人脸识别,前者搭载了AI专核,后两者采用了软件优化的解决方案,最终人脸识别速度分别是316.5ms、687.5ms和950ms。同样都定位在中端处理器,联发科HelioP60的人脸识别速度碾压了骁龙710,甚至比骁龙845还要节约近一半的时间,AI专核的优势可见一斑。

  为何会出现如此悬殊的差距?人脸识别的过程需要摄像头先识别出人脸,无论是光线阴暗或者面朝别处,然后精准判断脸部的特征点,比如眼睛多大、脸有多长,与已知样本进行比较,确定这个人是谁。整个过程中需要极高的算力支撑,拥有AI专核的HelioP60自然比CPU、GPU兼职处理的芯片更高效,哪怕是旗舰级的骁龙845。

  在AI专核上尝到了甜头后,联发科在HelioP70中继续升级了AI专核,AI处理能力相比于上一代提升了30%,支持更复杂的AI应用,例如人体姿态识别、 AI 视频编码、照片实时美化、场景检测、 AR 功能等等。


猜你喜欢

转载自blog.51cto.com/14195265/2349965