admin管理员组

文章数量:1594626

从NPU-SLAM-EDA技术分析
参考文献链接
https://mp.weixin.qq/s/XFtGmGJE9tWCbsPgaCyXJQ
https://mp.weixin.qq/s/eUGDEqnP5d1bnlerfabyVg
https://mp.weixin.qq/s/ExsUyaTLW2UDUhVmcyaQaw
https://mp.weixin.qq/s/KmpUJcFKL2mj6rs9cknODQ
https://mp.weixin.qq/s/k3BAnvt1UBwpgg-qNNv8pg
https://mp.weixin.qq/s/s7Od97ZctPDyWfn8I-J1LQ
什么是NPU?NPU都有哪些优势?
传统的CPU/GPU也可以做类似的任务,但是针对神经网络特殊优化过的NPU单元,性能会比CPU/GPU高得多。渐渐的,类似的神经网络任务也会由专门的NPU单元来完成。
NPU(嵌入式神经网络处理器/网络处理器)是一种专门应用于网络应用数据包的处理器,采用“数据驱动并行计算”的架构,特别擅长处理视频、图像类的海量多媒体数据。

NPU也是集成电路的一种,但区别于特殊用途集成电路(ASIC)的单一功能,网络处理更加复杂、更加灵活,一般可以利用软件或硬件依照网络运算的特性特别编程从而实现网络的特殊用途,在一块芯片上实现许多不同功能,以应用于多种不同的网络设备及产品。
NPU的亮点在于能够运行多个并行线程 —— NPU通过一些特殊的硬件级优化,比如为一些真正不同的处理核提供一些容易访问的缓存系统,将其提升到另一个层次。这些高容量内核比通常的“常规”处理器更简单,因为不需要执行多种类型的任务。这一整套的“优化”使得NPU更加高效,这就是为什么这么多的研发会投入到ASIC中的原因。
NPU的优势之一在于,大部分时间集中在低精度的算法,新的数据流架构或内存计算能力。与GPU不同,更关注吞吐量而不是延迟。
NPU处理器模块
NPU处理器专门为物联网人工智能而设计,用于加速神经网络的运算,解决传统芯片在神经网络运算时效率低下的问题。NPU处理器包括了乘加、激活函数、二维数据运算、解压缩等模块。
• 乘加模块用于计算矩阵乘加、卷积、点乘等功能,NPU内部有64个MAC,SNPU有32个。
• 激活函数模块采用最高12阶参数拟合的方式实现神经网络中的激活函数,NPU内部有6个MAC,SNPU有3个。
• 二维数据运算模块用于实现对一个平面的运算,如降采样、平面数据拷贝等,NPU内部有1个MAC,SNPU有1个。
• 解压缩模块用于对权重数据的解压。为了解决物联网设备中内存带宽小的特点,在NPU编译器中会对神经网络中的权重进行压缩,在几乎不影响精度的情况下,可以实现6-10倍的压缩效果。
NPU:手机AI的核心载体
大家都知道,手机正常运行离不开SoC芯片,SoC只有指甲盖大小,却“五脏俱全”,其集成的各个模块共同支撑手机功能实现,如CPU负责手机应用流畅切换、GPU支持游戏画面快速加载,而NPU就专门负责实现AI运算和AI应用的实现。

手机上带AI功能这事还得从华为说起,华为是第一个将NPU(neural-network processing units嵌入式神经网络处理器)用于手机上,更是第一个将NPU集成到手机CPU上的公司。
2017年,华为推出自研架构NPU,相比传统标量、矢量运算模式,华为自研架构NPU采用3D Cube针对矩阵运算做加速,因此,单位时间计算的数据量更大,单位功耗下的AI算力也更强,相对传统的CPU和GPU实现数量级提升,实现更优能效。
华为采用外挂的方式最早将寒武纪的NPU用于Mate10,一年之后,华为将寒武纪NPU的IP集成到了980上,又一年之后,华为抛弃了寒武纪在990上采用了自研的达芬奇NPU。
Galaxy中的NPU也是内置于移动处理器中,以利用先进的神经网络并为Galaxy S20/S20 +/S20 Ultra和Z Flip提供更高水平的视觉智能。NPU为场景优化器提供动力,增强了识别照片中内容的能力,并提示相机将其调整为适合主体的理想设置。现在,也比以前的Galaxy模型更准确。还使前置摄像头能够模糊自拍照的背景并创建散景效果。不仅如此,NPU还可以帮助设备上的AI Bixby Vision。
NPU与GPU的关系
GPU虽然在并行计算能力上尽显优势,但并不能单独工作,需要CPU的协同处理,对于神经网络模型的构建和数据流的传递还是在CPU上进行。同时存在功耗高,体积大的问题,性能越高的GPU体积越大、功耗越高、价格也昂贵,对于一些小型设备、移动设备来说将无法使用。因此,一种体积小、功耗低、计算性能高、计算效率高的专用芯片NPU诞生了。
NPU工作原理是在电路层模拟人类神经元和突触,并且用深度学习指令集直接处理大规模的神经元和突触,一条指令完成一组神经元的处理。相比于CPU和GPU,NPU通过突触权重实现存储和计算一体化,从而提高运行效率。
NPU是模仿生物神经网络而构建的,CPU、GPU处理器需要用数千条指令完成的神经元处理,NPU只要一条或几条就能完成,因此在深度学习的处理效率方面优势明显。实验结果显示,同等功耗下NPU的性能是GPU的118倍。
各芯片架构特点总结
• CPU —— 70%晶体管用来构建Cache,还有一部分控制单元,计算单元少,适合逻辑控制运算。
• GPU —— 晶体管大部分构建计算单元,运算复杂度低,适合大规模并行计算。主要应用于大数据、后台服务器、图像处理。
• NPU —— 在电路层模拟神经元,通过突触权重实现存储和计算一体化,一条指令完成一组神经元的处理,提高运行效率。主要应用于通信领域、大数据、图像处理。
• FPGA —— 可编程逻辑,计算效率高,更接近底层IO,通过冗余晶体管和连线实现逻辑可编辑。本质上是无指令、无需共享内存,计算效率比CPU、GPU高。主要应用于智能手机、便携式移动设备、汽车。

CPU/GPU/NPU/FPGA各自的特点
CPU作为最通用的部分,协同其他处理器完成着不同的任务。GPU适合深度学习中后台服务器大量数据训练、矩阵卷积运算。NPU、FPGA在性能、面积、功耗等方面有较大优势,能更好的加速神经网络计算。而FPGA的特点在于开发使用硬件描述语言,开发门槛相对GPU、NPU高。
可以说,每种处理器都有优势和不足,在不同的应用场景中,需要根据需求权衡利弊,选择合适的芯片。
NPU的实际应用场景
• 拍照时通过NPU实现AI场景识别,并利用NPU运算修图
• NPU判断光源和暗光细节合成超级夜景
• 通过NPU实现语音助手的运行
• NPU配合GPU Turbo预判下一帧实现提前渲染提高游戏流畅度
• NPU预判触控提高跟手度和灵敏度
• NPU判断前台后台网速需求差异配合实现Link Turbo
• NPU判断游戏渲染负载智能调整分辨率
• 把降低游戏时AI的运算负载交给NPU以省电
• NPU实现CPU和GPU的动态调度
• NPU辅助大数据广告推送
• 通过NPU实现输入法AI智能联想词的功能
相关信息
• APU:Accelerated Processing Unit, 加速处理器,AMD公司推出加速图像处理芯片产品。
• BPU:Brain Processing Unit, 地平线公司主导的嵌入式处理器架构。
• CPU:Central Processing Unit 中央处理器, 目前PC core的主流产品。
• DPU:Dataflow Processing Unit 数据流处理器,Wave Computing 公司提出的AI架构。
• FPU:Floating Processing Unit 浮点计算单元,通用处理器中的浮点运算模块。
• GPU:Graphics Processing Unit 图形处理器,采用多线程SIMD架构,为图形处理而生。
• HPU:Holographics Processing Unit 全息图像处理器, 微软出品的全息计算芯片与设备。
• IPU:Intelligence Processing Unit,Deep Mind投资的Graphcore公司出品的AI处理器产品。
• MPU/MCU:Microprocessor/Micro controller Unit,微处理器/微控制器,一般用于低计算应用的RISC计算机体系架构产品,如ARM-M系列处理器。
• NPU:Neural Network Processing Unit,神经网络处理器,是基于神经网络算法与加速的新型处理器总称,如中科院计算所/寒武纪公司出品的diannao系列。
• RPU:Radio Processing Unit 无线电处理器,Imagination Technologies 公司推出的集合集Wifi/蓝牙/FM/处理器为单片的处理器。
• TPU:Tensor Processing Unit 张量处理器,Google 公司推出的加速人工智能算法的专用处理器。目前一代TPU面向Inference,二代面向训练。
• VPU:Vector Processing Unit 矢量处理器,Intel收购的Movidius公司推出的图像处理与人工智能的专用芯片的加速计算核心。
• WPU:Wearable Processing Unit 可穿戴处理器,Ineda Systems公司推出的可穿戴片上系统产品,包含GPU/MIPS CPU等IP。
• XPU:百度与Xilinx公司在2017年Hotchips大会上发布的FPGA智能云加速,含256核。
• ZPU:Zylin Processing Unit,由挪威Zylin公司推出的一款32位开源处理器。
OPPO首个自研芯片NPU
OPPO未来科技大会(OPPO INNO DAY 2021)上,OPPO芯片产品高级总监姜波揭秘了其历时近两年研发的首个自研芯片马里亚纳 MariSilicon X。

OPPO芯片产品高级总监姜波在发布会上展示马里亚纳 MariSilicon X芯片
马里亚纳 MariSilicon X是一个影像专用NPU(神经网络处理器),采用台积电6nm工艺,AI算力高达18TOPS,比苹果最新的A15 15.8TOPS的AI性能还高,同时,MariSilicon X能效比达到了11.6TOPS/W。
作为一家手机终端公司,OPPO竟然在首个自研芯片上就挑战业内顶尖的6nm工艺,并且NPU的性能和能效比也达到了业界领先水平,这不禁让人好奇,OPPO自研芯片的决心从何而来?

从最直观的产品的层面看,马里亚纳 MariSilicon X将搭载在OPPO明年第一季度发布的Find系列旗舰手机上,会为消费者带来突破性的视频拍摄功能。

马里亚纳 MariSilicon X影像专用NPU
从技术层面细细解读,将会发现马里亚纳 MariSilicon X背后,藏着OPPO的计算摄影秘密,以及这家志在探索未来的企业对新十年技术发展趋势的判断。
为什么是影像专用NPU?
当市场的竞争更加激烈,智能手机的创新越来越难之时,全球手机出货量前五的手机厂商们都希望通过自研芯片,用更好的软硬协同,实现差异化的功能和体验,获得消费者的青睐。
差异化竞争的焦点,是消费者最容易感知的影像功能。自2018年开始,手机行业对于AI影像功能的关注只增不减。2020腾讯手机行业洞察白皮书指出,消费者对摄像头、电池的关注度显著提升,其中摄像头的关注度增长率仅次于操作系统。
手机影像系统是一个很长的链条,包括前端传感器、镜头、马达,承载图像处理的ISP芯片,以及后端标定和调优等过程。手机巨头们在整个影像系统上都争相布局,比如,OPPO过去十年,在定制图像传感器、摄像头模组、镜头方面有大量积累,还基于通用SoC平台积累了许多AI算法。
“手机业界已经发现在AI算力的支持下,AI算法已经超越传统ISP算法的效果。因此,目前主流的趋势是用AI算法替代传统算法。”拥有十多年图像处理领域丰富经验的爱芯元智ISP负责人、系统架构师张兴对雷峰网说,“手机厂商已经在拍照中享受到了AI算法带来的好处,包括超级夜景、AI美颜等功能,从趋势来看未来几年,AI拍照最火的几个功能会从拍照推向视频。这就需要一颗高效的芯片,将AI算法和传统ISP进行更好结合。”
将算力、AI与拍照和摄影融合,都代表着手机行业一个重要的趋势——计算摄影。所谓的计算摄影,是利用数字计算而非传统的光学处理的图像。比如超级夜景功能,利用高算力以及AI降噪算法等,将拍摄的多张照片合成为同一张,输出一张明亮清晰的照片。
从谷歌、苹果,到OPPO,整个手机业界的领导者都在通过计算摄影不断突破手机摄影能力的上限。
不过,通用SoC并不能完全满足计算摄影的需求。OPPO芯片产品高级总监姜波指出,“AI降

本文标签: 技术NPUSLAMeda