作为 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 芯片们,还有很长的路要走。