|
1.什么是npu?
NPU的英文全称为“Neural-network Processing Unit”,即神经网络处理单元。与之对应的,CPU是中央处理器、GPU是图形处理器。“神经网络”听起来可能有些晦涩难懂,但换成“人工智能”“AI”似乎就熟悉多了。
简单来说,NPU就是手机上专门处理人工智能深度学习的硬件。看到这里,不少人可能会想到高通骁龙820上首次搭载的NPE。的确,NPE和NPU有类似之处,它的英文全称为“Neural Processing Engine”,即神经处理引擎。NPE和NPU都能处理类似的任务,但NPE是软件层面,而NPU是硬件层面。如果拿电脑举例,显卡是其图像处理器,是硬件;而寒霜、虚幻、EGO等都是游戏引擎,仍属于软件。当然高通的NPE还是要借助CPU和GPU完成的。
由于神经网络算法及机器学习需要涉及海量的信息处理,而当下的 CPU / GPU 都无法达到如此高效的处理能力,所以需要有一个独立的处理芯片来做这个事。
ARM在今年早些时候发布了Cortex-A75和A55 CPU以及Mali-G72 GPU设计,它们均具备更高级的机器学习算法,但并非通过NPU实现。
ARM用于提升SoC机器学习能力的关键在于计算数据库(Compute Library),其中包括一整套用于成像和视觉项目的功能,以及谷歌TensorFlow等机器学习框架,开发者可以利用这些内容重新编译自己需要的版本。
除了ARM,高通也拥有自己的Hexagon SDK,同样包括机器学习的通用矩阵算法,可以实现更高效的DSP运行效率。此外,高通Symphony System Manager SDK则提供了一套专门优化计算机视觉、图像及数据处理和低级算法的API,也适用于智能手机的常见处理需求。
2.搭载npu有什么好处?
NPU 可以帮助手机更精准和快速地识别拍摄场景,让手机选择最合适的图像处理算法,在双摄背景虚化时,让手机对边缘虚化的处理更准确,还有最近很火的 AR 相机,NPU 可显著提高渲染的速度,降低功耗。再比如说,有了 NPU 之后,手机可以将语音和语义识别的部分工作转移到手机本地,提高语音和语义识别的表现,提高手机中语音交互应用(比如语音输入法、智能语音助手)的体验。
手机NPU通常用来:
一、用户行为学习
通过了解用户经常会在哪些地方做什么事情,来分析用户的使用习惯,目的是在经过一段时间的学习之后,自动为用户在某些场景实现某些功能。从而优化手机的内存运存,及时做出系统资源优化。
二、是图像识别
图像识别或许是最近经常听到的一个名词,以往我们的手机无法知道一张图片里,除了我们的脸之外,还有些什么,而如今借助 NPU 这类芯片,手机能够知道你在哪里拍了什么照片,经过长时间不断的学习用户拍照的习惯之后,手机便能在你拍摄的过程中实时分析拍摄场景,并分别针对不同的场景进行相机参数的设置,从而实现随手拍出好照片。
|
|