NPU CPU GPU

随着人工智能的高速发展,NPU这一名词进入了许多大众的视野,但是在这之前CPU,GPU的概念并没有被普及,所以对于NPU的概念,人们还是有很多误解。本文将对NPU的概念进行详细的阐述,并对其与CPU,GPU的区别进行分析。

CPU

cpu(central processing unit)中文译为中央处理器,是指集成电路中负责执行程序指令的部件。它是一种运算速度快、运算能力强、并行处理能力强的计算机芯片。CPU的主要功能是执行程序指令,包括数据处理、算术运算、逻辑运算、控制转移等。CPU的运算速度快,是计算机的基础,
是构成计算机的核心。

GPU

gpu(graphics processing unit)中文译为图形处理器,是指集成电路中负责执行图形处理任务的部件。它是一种运算速度快、运算能力强、并行处理能力强的计算机芯片。GPU的主要功能是执行图形处理任务,包括图像处理、视频处理、3D渲染、游戏渲染等。与cpu相比,
GPU并行运算能力要强很多,运算速度也要快很多。这是应为GPU拥有更多的运算单元,可以同时处理多个数据,从而提高运算速度。

NPU

npu(neural processing unit)中文译为神经处理器,是指集成电路中负责执行神经网络计算任务的部件。它是一种运算速度快、运算能力强、并行处理能力强的计算机芯片。NPU的主要功能是执行神经网络计算任务,包括神经网络训练、推理、量化等。

NPU与CPU,GPU的区别

在冯·诺依曼架构中,计算过程是串行的,即处理器从内存中读取指令和数据,执行指令后将结果存储回内存,再重复这个过程。这种架构的一个关键特征是存储器和处理器之间的数据传输,通常通过一条总线完成,因此容易产生“存储墙”问题,即内存访问速度成为系统瓶颈。

而在NPU中,处理单元之间的数据传输和通信更加灵活和并行化。NPU设计的核心思想是并行计算,其中有大量的处理单元(PE,Processing Elements)同时工作,且这些处理单元之间可以直接进行数据通信,避免了频繁访问全局存储器。NPU通过片上存储(如缓存)和处理单元之间的快速通信,加速数据处理,尤其适用于神经网络计算中的矩阵运算、卷积运算等。

CPU是典型的冯·诺依曼架构,它是集成电路中负责执行程序指令的部件,具有串行计算的特点,虽然与GPU相比一些特定任务如图像处理运算速度慢处理速度慢,运算能力一般,但它的可编程性、可扩展性较高。
如果说这CPU比做老板,那么gpu与npu就相当于员工,他们有自己分别的任务负责自己的专项,在自己的专项内可能业务能力比老板更强但其实老板什么都可以做,并且拥有决策和指令,能够调动员工

通图像可以看出,cpu拥有较大的控制单元(control unit)和运算单元(ALU),并且有专门的缓存区(cache)。gpu与cpu的结构相似,但gpu的运算单元(ALU)数量更多,并且采用多个控制单元和缓存,不仅
可以提高并行运算能力而且可以减少内存反复访问,从而提高运算速度。比如拿英国
的炸鱼薯条来举例,cpu会从制作炸鱼————>薯条————>饮料————>出餐,而gpu则是同时制作炸鱼,薯条,饮料,并且可以同时进行。最后一起出餐。

npu是一种高度定制化的芯片(ASIC),设计者可以根据自己的需求进行定制,比如可以选择不同的运算单元等,需要的门槛较低
虽然因为ASIC很“专一”,只做一件事,所以它就会比CPU、GPU等能做很多件事的芯片在某件事上做的更好,实现更高的处理速度和更低的能耗。但相应的,ASIC的生产成本也非常高。
说回npu(神经网络处理器),顾名思义,这家伙是想用电路模拟人类的神经元和突触结构。生物神经系统被称为“计算与存储一体”,是因为神经元不仅能传递和处理信息,还可以通过改变自身连接的强度来存储信息。这种能力使得每个神经元及其连接关系既负责计算也负责记忆。npu
利用这一特性,将计算单元与存储单元集成为pe(processing element)核心类似于一个神经元。
PE诞生正式开启电路对神经元和突触结构的模拟。

生物神经网络的工作原理
神经元(Neuron):

每个神经元的基本结构由树突(Dendrites)、胞体(Cell body)和轴突(Axon)组成。
树突从其他神经元接收信号,通过胞体处理信息,然后通过轴突将信号传递给下一个神经元。
突触(Synapse):

神经元之间通过突触相互连接。突触是两种神经元的接触点。
当一个神经元的电信号传到突触时,会释放出化学物质(如神经递质),引发下一个神经元的电信号,从而传递信息。
突触的连接强度决定了信号传递的强度,这类似于人工神经网络中的权重。(来源:知乎)

pe就是通过模拟这种操作运行的:
通过乘法单元和加法单元计算出权重 ,让激活单元判断是进行否进行激活操作。来模拟化学物质的刺激程度 ,是否能激活下一个神经元。神经元的连接是多分支化的,不仅来自多个神经元的信号,而且也可以将信号传给多个神经元,因此就构成了上图所示的PE的网状式结构

补充:
NPU 设计的目标是最大化处理深度学习任务的计算效率和数据带宽。为此,PE 核心负责复杂的神经网络计算,而 CTM/ICTM 通过在存储单元中直接计算降低了存储和传输开销。两者的结合能够提升 NPU 在处理深度学习任务时的整体效率和能效,使其能够更好地应对 AI 任务中的计算与数据带宽需求。


NPU CPU GPU
http://example.com/2024/10/25/npu cpu gpu/
作者
jdh
发布于
2024年10月25日
许可协议