作为AI芯片的典型,目前华为、苹果等厂商都开始在NPU上发力。除此以外,开发者也在努力推进着手机端AI应用的发展。
策划&撰写:家衡
NPU(Neural Processing Unit,神经网络处理器),一直都是华为发布会上的热门词汇,这次的麒麟9000同样将NPU标记在芯片结构图的C位。而库克在介绍最先进的A14处理器时,也着重提到了NPU。
早在2013年,高通公司就提出了“Zeroth”处理器的概念,这款处理器可以模仿类似人脑的认知能力,并实现自我学习的功能。
在高通的设想中,Zeroth的终极目标就是形成标准化的新型处理架构,并且第一次提出了NPU的概念,这种芯片已经具备了AI芯片的雏形。
2017年,华为海思推出了麒麟970,这款芯片首次内置了独立NPU。
在此之后,几乎所有的手机厂商都将AI作为新的亮点,一颗SoC芯片如果没有足够的AI算力,似乎都不能被拿到台面上介绍。
如今距离提出NPU的概念已经过去了七年,AI芯片在手机端的发展似乎并不如人意。
如何理解NPU
传统CPU进行累加计算时,效率非常低,但当GPU做类似的计算,效率就会高很多。同样的道理,GPU主要被用来进行图像处理,并没有针对神经网络计算进行特殊优化,这时候使用专业针对神经网络计算的NPU,就可以大大提高计算效率并减少功耗。
假设我们面前有一条没有桥的河,我们应当如何过河?这时候大脑就会涌出各种想法并且比较各种方法的优劣。
NPU的工作就类比大脑,在手机中模拟所有可行的方案,并从中挑选一个最优解。有了NPU之后,手机的AI性能就能得到大幅的提升。
从麒麟970的单核NPU、到最新的麒麟9000的2 1三核NPU,NPU的升级也伴着华为的AI技术的发展,最能直观体会到的就摄像功能带来的进步。
比如取景时的智能场景识别功能,可以让系统快速识别拍摄的物体和场景,并自动做出优化调教。再比如被广大消费者惊叹的“月亮模式”,以及强大的智能防抖功能,再包括最新的物体识别。
这些功能都是通过NPU来弥补华为手机在CMOS尺寸以及ISP(图像信号处理)上与其他厂商的差距。
在麒麟970推出之后,AI功能逐渐拓展,从手持超级夜景到语音助手、节能优化、智慧识别、识图翻译......越来越多的应用场景都开始运用AI加速运算,这些都得益于NPU的支持。
硬件层面,NPU可以代替CPU进行处理,让SoC具备了更强的本地AI运算能力(类似于“硬解”)。相比较CPU的“软解”,“硬解”效率更高、速度更快、功耗也更低。
但即便NPU功能十分强大,如今NPU在手机日常的应用领域还处于初级阶段,它的重要性还远不如CPU、GPU和ISP,属于锦上添花的存在。
例如高通骁龙AI Engine引擎之中就没有独立的NPU单元,而联发科在Helio P60/P90引入的NeuroPilot AI技术最早也是通过多个单元协同计算(APU CPU GPU)。
AI芯片只是第一步
有了AI芯片的支持,或许能增强手机AI能力,但目前的AI芯片却不能很好地适配所有的软件。
比如,很多直播APP都有实时美颜功能,可以利用降噪、颜色空间转换实现磨皮、滤镜等基础功能,但使用不同的软件可能会造成耗电量过高的异常,这就是软件层面的不适配。
从整个市场上来看,目前AI芯片还处于算法主导到产品主导的过渡期,由于各家AI芯片的设计不同,AI方案架构方面都有不小区别,像寒武纪的“DIANNAO”、谷歌的TPU,再到华为的达芬奇架构,目前AI芯片的设计可谓百花齐放。除此以外,还有单一针对卷积神经网络的ASIC加速器,以及支持简单编程的通用型AI芯片。
这些种类繁多的AI芯片,推动了AI技术在手机端的普及,但不可避免会带来一些问题。
AI应用需要开发者的努力
虽然各家的AI芯片都开始集成独立的神经网络处理单元,但是在设计上有很大不同,这意味着在运行机器学习应用方面,几家AI芯片在性能和能耗上有很大差别。因此,第三方开发者是否针对几家的芯片设计进行优化,或只支持某一种设计,会对系统性能产生重大影响。
目前,大多数移动AI芯片在机器学习方面做了较为普适性的优化,而对一些特定的计算方式则没有进行太多优化。
就算开发者开发出同一款AI应用,其兼容性可能会存在很多问题。当AI应用的开发进入到实际的应用和业务层面,开发者面临着标准不同、API配适、软件优化等很多的难题。也就导致开发者必须针对不同厂商的设备进行逐个优化。加之安卓生态比较混乱,移动AI开发者很可能受到更多阻碍。
就拿之前提到获得AI技术加持的照相功能来讲,除了在画面上的提升,还是有很多人都会吐槽华为手机存在过分美颜、过度锐化、颜色失真等问题,但这些问题在iPhone上就很少被提及。
一直以来,苹果在照片成像上的AI技术都调教的恰到好处,不论是自带相机还是第三方相机,“拍照真实”也成为iPhone的卖点之一,很多专业摄影师已经选择将iPhone作为便携街拍设备。相比而言,“傻瓜式”的安卓手机更偏向摄影小白。
不过随着安卓手机厂商和应用开发者不断对系统以及APP进行优化,现在的安卓手机拍照也变得更加智能。
所以,AI芯片只是提供了手机AI应用的基石,真正要挖掘出移动端AI的魅力,还需要开发者针对AI芯片的能力开发出合适的应用。
结语
目前,以AI芯片为基础打造一个AI应用生态圈的愿望真的十分美好,但这个过程还有很长的路要走。硬件走在了前面,软件也要跟得上。
在未来,NPU或许也会像当年FPU之于CPU一样,成为移动Soc芯片的标准。或许在未来我们能在智能手机上体会到更棒的AI应用。
至少在现在,以NPU为首的AI芯片们,还有很长的路要走。