距离海思麒麟970和高通骁龙845发布也有一段时间了,今天我了解一下这两颗人工智能SOC,说说它们的差异和优缺点。
首先是970内置的寒武纪的NPU,首先说明一点,这个NPU是寒武纪开发的,寒武纪和华为的这次合作是顶尖学术成果和工业界顶尖SoC团队的共同奉献的一个经典成功案例,但必须也要说明,寒武纪的IP核是以加密形式交付给海思的,不否认海思在评估寒武纪的IP、SoC集成开发中的工作和技术含量,但是这个IP核本身的归属,必须讲明白。NPU的功能就是针对某类任务的硬解,这就和视频硬解是一个道理。其实就芯片本身来说,并没有涉及到什么秒天秒地的黑科技,可以简单得认为就是在CPU的基础上加入了一个针对某些特定场合优化的协处理器,而协处理器却早有应用。
因为CPU是针对通用的计算任务的解码芯片,所以它虽然可以适应不同场合,但它对专门场合就不能针对优化,这个时候就需要加入一个协处理器,像图像处理器GPU或者iPhone上的运动协处理器。加入专门的NPU无疑能提升AI性能,但也会提升功耗,有得就有失。
如果我们认为麒麟970和835的CPU性能一样的话,NPE在835上性能应该可以到麒麟970内置NPU的一半的。什么概念呢?NPU能搞定的任务NPE(835上的NPE)都能搞定,NPE搞不定的任务NPU一样吃瘪。而NPE能搞定的任务NPU不一定能搞定,因为用GPU加速的NPE论灵活性是NPU这种专用芯片没法比的,所以我认为加入了NPU有些许得不偿失。
而高通骁龙的845平台采取了不同于华为的方案。高通采取和运用CPU+GPU+DSP构成一个SDK神经网络,没有像华为一样加入专门的协处理器。其实早在820的时代高通就采取了类似的AI方案,但它没有意识到开放开发环境的重要性,只提供给特定的几个用户使用,导致了高通820的zeroth神经处理引擎几乎无人问津,而845采用的NPE DSK,成功把CPU、GPU、DSK结合起来,将845的AI提升到硬件层次,当然,这种方案在性能上肯定不如独立的NPU,但我想性能并不是845的主轴,反而开放才是845真正的伏笔。
而在AI生态和功能这一方面,高通几乎还是一片空白,845在一月发布,目前还没有手机搭载。虽然高通在发布会描绘的前景很美好,它支持的人脸识别性能甚至超过了iPhoneX,但具体表现还是要等三月份之后。而华为的AI目前已有一些应用,诸如图像识别处理,拍照美颜,智能学习使用者习惯的一些功能。
AI芯片的出现其实是AP(CPU+GPU)遇到了瓶颈,纳米制程和构架的限制下的无奈之举。在目前看来实用性不高,但AI和17年的全面屏一样,都会是未来发展的方向。相信随着他的发展越来越好。