综合百科

前n项求和公式方法等比

前n项求和公式方法等比

今日我们探讨的话题是NPU。

大家对CPU和GPU这些常见的计算单元已经相当熟悉,但对NPU的工作原理和具体作用可能还不太了解。NPU,即网络处理器,是专门应用于AI领域的计算单元。相较于CPU和GPU这些通用计算单元,NPU是一种特型计算单元,理论上无需通用化,只需专注于“AI加速”。

虽然目前对NPU的开发和利用还处于初级阶段,其应用也仅限于一些功能如摄像头背景虚化和降噪等,但实际上,NPU的计算架构设计特性决定了它具备比GPU更快的AI计算加速能力。要了解这一点,首先需要了解NPU如何从硬件层面实现网络的加速。

以英特尔的首个集成NPU的处理器——Meteor Lake(第一代酷睿Ultra)为例,其NPU架构设计主要包括两个计算引擎,而核心部分是两组MAC阵列(乘和累加器)。

我们都知道,AI大模型的推理计算主要是进行矩阵乘法和加法,生成预测数据,并通过不断计算使预测数据与真实数据达到最大程度的拟合。MAC阵列就是为了这一目的而设计,因此MAC阵列的数量直接影响乘法与加法计算的速度。最新的Lunar Lake(第二代酷睿Ultra处理器)中,NPU的计算引擎增加到了6个,MAC阵列也扩充到了6组,理论算力提升3倍。但由于目前AI计算的主要负载在GPU上,NPU的加速优势暂时无法充分展现。

那么为什么NPU更适合做AI计算加速呢?这要先从GPU如何做矩阵计算说起。以简单的4×4矩阵乘法为例,GPU和NPU的加速本质在于提升乘法和加法计算的速度。

GPU擅长并行计算,内部有多个可以同时工作的乘法与加法计算单元。但每次计算前,都需要先将数据加载到缓存中,然后GPU控制器从缓存中取出数据放入乘进行计算,再将结果放回缓存。之后控制器将计算结果放入加中求和,再一次将结果放回缓存,最后求出最终的和。这个过程需要多次数据在缓存和计算单元之间的传输。

而NPU的计算架构则简化了这个过程。NPU的计算阵列通过新建的管道直接将乘和加相连,乘计算完的中间结果直接流入加进行加法计算,只需一条指令即可完成整个乘法到加法的计算过程。

GPU和NPU的计算架构设计并没有绝对的优劣之分。GPU是通用计算单元,其计算器设计思路可以满足各种计算公式的自由构建。而NPU是专用计算单元,不需要那么高的灵活性,因此人为加入管道后,只进行特定公式计算即可。

在AI时代,GPU和NPU等计算单元已经与传统意义上的GPU、NPU有所区别。例如,某些NPU计算单元除了包含专用于AI计算的矩阵阵列外,还会融合向量、标量计算单元甚至CPU核心,以更好地满足AI计算时不同的算子需求。不同的计算架构设计、不同规模的计算矩阵也会决定其擅长处理哪种数据类型。例如我们常提到的FP16、INT8、INT4等数据类型,其计算速度与乘加计算器架构的设计和矩阵规模直接相关。


前n项求和公式方法等比

你可能也会喜欢...