AI算力的基石:CPU、GPU、DPU、TPU和NPU

科技   2024-11-04 09:55   吉林  
人工智能的发展对算力提出了更高的要求。从芯片的计算能力来看,GPU做浮点计算的能力是CPU的10倍左右,因而在人工智能领域中应用最为广泛。另外深度学习加速框架通过在GPU之上进行优化,再次提升了GPU的计算性能,有利于加速神经网络的计算。随着人工智能的发展,计算芯片不断从通用化向专用化发展,出现了DPU、TPU、NPU等芯片,在不同领域发挥着越来越关键的作用。

01 CPU

CPU全称为中央处理单元(Central Processing Unit),是计算机的核心部件和“大脑”,负责计算机的总体运行。CPU的结构主要包括运算器(ALU, Arithmetic and Logic Unit)、控制单元(CU, Control Unit)、寄存器(Register)、高速缓存器(Cache)和它们之间通讯的数据、控制及状态的总线。

简单来说就是:计算单元、控制单元和存储单元,架构如下图所示:

其中,计算单元主要执行算术运算、移位等操作以及地址运算和转换;存储单元主要用于保存运算中产生的数据以及指令等;控制单元则对指令译码,并且发出为完成每条指令所要执行的各个操作的控制信号。

02 GPU

GPU全称为图形处理单元(Graphics Processing Unit)。GPU最初是用在个人电脑、工作站、游戏机和一些移动设备(如平板电脑、智能手机等)上运行绘图运算工作的微处理器。从架构图我们就能很明显的看出,GPU的构成相对简单,有数量众多的计算单元和超长的流水线,特别适合处理大量的类型统一的数据。

但GPU无法单独工作,必须由CPU进行控制调用才能工作。CPU可单独作用,处理复杂的逻辑运算和不同的数据类型,但当需要大量的处理类型统一的数据时,则可调用GPU进行并行计算。

著名的英伟达公司是GPU供应商,其全球市场占有率高达87%。其A100和H100系列GPU在AI训练和高性能计算领域表现出色,特别是在深度学习和矩阵乘法方面进行了优化,大幅提升了训练效率。国内几乎所有的云服务提供商都采用A100芯片来支持其数据中心的AI计算

03 为什么相比CPU,GPU更适合于AI运算?

CPU适合于通用计算,处理不同的计算任务,但不适合进行图形运算等AI计算。主要是两个原因:浮点计算能力较弱、不擅长并行计算。

CPU的整型计算能力较强,但不擅长浮点计算。CPU的设计主要是为了满足通用计算的需求,擅长处理复杂的逻辑控制和串行任务,包括算术运算、逻辑判断、数据存取等,这些任务主要涉及整型计算。然而,AI运算,尤其是深度学习模型的训练和推理,主要涉及矩阵运算和张量运算,这些任务对浮点运算性能的要求较高。尽管CPU也能执行浮点运算,但其浮点运算性能远不如GPU,这使得CPU在处理大规模的AI模型时显得力不从心。

GPU(图形处理单元)专为处理高密度浮点运算而设计,拥有多个计算单元,能够同时处理大量的数据,这种并行处理能力使得GPU在AI运算中表现出色。相比之下,CPU的顺序执行方式在处理大规模数据时效率较低

AI模型的训练和推理过程中涉及大量的数据并行处理,这需要高性能的浮点运算能力。虽然CPU在某些情况下可以使用,例如数据集规模较小或非并行算法时,但其整体表现不如GPU

04 DPU

DPU全称为数据处理单元(Data Processing Unit),是一种可编程处理器,主要由处理核心、硬件加速器元件和高性能网络接口组合而成。DPU主要用于以数据为中心的大规模工作负载,包括数据传输、规约、保护、压缩、分析和加密等,比如数据中心的网络、存储及安全操作。其实际应用可能包括AI与机器学习、大数据分析和处理、视频转码与流媒体、网络流量处理与安全,以及存储I/O加速。

DPU能够与CPU和GPU协同工作,负责增强计算能力并处理日益复杂的现代数据工作负载。DPU能够替CPU分担网络和通信工作负载,释放资源以处理应用程序。通过将处理核心同硬件加速器相结合,DPU能够大规模处理数据相关工作负载,在提高性能的同时降低处理延迟。DPU能够处理云环境内的大规模数据类任务,或者驱动AI、深度学习算法及其他数据密集型应用的高强度工作负载。随着数据中心对算力需求和密度的提升,DPU能够轻松扩展以适应越来越多、愈发复杂的工作负载。此外,DPU能被直接纳入现有硬件基础设施当中,从而建立起灵活且适应性更强的数据中心架构。DPU可以通过冗余及高可用性等特性增强可靠性,确保硬件发生故障时关键数据处理仍可维持良好的连续性。DPU能够为CPU分担处理任务、特别是高度复杂的任务,借此降低数据中心内的总体硬件数量、进而削减相应的管理成本。

DPU供应商可根据企业客户的需求在产品当中应用不同的技术和材质。DPU主要分为三种类型:基于SOC型,基于ASIC型和基于FPGA型。每一种都是针对特定用例或客户系统所量身定制。

05 TPU

TPU全称是张量处理单元(Tensor Processing Unit),是一款为机器学习而定制的芯片,经过了专门深度机器学习方面的训练,它有更高效能(每瓦计算能力)。

张量处理单元(TPUs)是Google打造的专为AI应用定制的集成电路芯片,其名字的灵感来源于Google TensorFlow开源深度学习框架。这些TPUs被用于AlphaGo人工智能驱动的Go player,后者在2016年打败了顶级围棋选手李世石(Lee Sedol),此外它还应用于谷歌搜索和谷歌街景。随着大模型的火爆,现在TPU已经走出Google,被广泛应用。

计算芯片的架构演进总呈现出从通用型向专用型转变的规律。CPU和GPU都是较为通用的芯片,但是有句老话说得好:万能工具的效率永远比不上专用工具。从产品逻辑来看,作为一种专用集成电路 (ASIC),TPU专为单一特定目的而设计,用以运行构建AI模型所需的独特矩阵和基于矢量的数学运算。而GPU的设计初衷是处理图像信息。因此,从架构设计的角度来看,相比于适合处理高度并行任务的GPU, TPU更适用于处理矩阵乘法等神经网络算法。TPU专为神经网络结构而设计,在相同制造工艺、能耗和芯片尺寸条件下,性能优于GPU3~5倍。在适用场景上,TPU为已有的算法和框架进行优化,性能和功耗表现均优于GPU,更适用于深度学习模型的大规模部署。

从长远来看,TPU比GPU在AI赛道上更具竞争力,具有更加广阔的应用前景。

06 NPU

NPU,即神经网络处理单元(Neural network Processing Unit),是一种专门设计用于加速神经网络计算的处理器。NPU通过专门的硬件架构和指令集,能够高效地执行神经网络的计算操作,包括矩阵乘法、向量运算和激活函数等。NPU的设计核心在于模拟人脑的神经网络结构,以高效、低功耗地执行深度学习等AI任务。

NPU的出现是为了弥补传统CPU和GPU在AI计算中的不足。CPU具有通用性强、逻辑处理能力高的特点,但在并行处理方面表现欠佳。而GPU则专注于并行计算能力强、适合大数据处理,尤其是图像处理。然而,这两种处理器在面对特定的AI计算任务时,依旧存在效率和能耗的瓶颈。为此,NPU被设计出来,以更高效率处理深度学习和机器学习所需的大规模矩阵运算等复杂任务。

NPU的架构专门从硬件层面上对神经网络计算进行了优化。NPU专注于执行深度学习所需的矩阵运算、卷积运算等操作,强调数据驱动的并行计算,具有专门的硬件加速器,如张量加速器、卷积加速器。其设计理念是模拟人脑神经元和突触,通过大规模并行处理单元和高效的互联结构,实现对深度神经网络中复杂计算的加速。NPU在操作视频、图像等海量多媒体数据方面表现尤其优异。

相比于CPU的单线程优化和GPU的并行计算优化,NPU在特定AI任务中潜在表现更为出众。例如,NPU可以高效处理复杂的神经网络推理,提升AI应用的实时性和响应速度。NPU的性能衡量标准通常以TOPS(每秒万亿次操作)为单位,反映其在处理AI任务时的效率和性能。例如,高通发布的集成ARM CPU与AI引擎NPU的芯片X Elite,其NPU模块的算力达到16TOPS,总算力达到75TOPS。

此外,NPU在能耗上也比CPU和GPU低很多,使其在移动设备中的应用特别具有优势。例如,OPPO自研的NPU在相同功耗下,性能是GPU的上百倍。

NPU主要用于物联网设备和人工智能边缘计算等领域,在AI PC和AI手机等领域的应用前景广阔。AI手机和AI PC有望成为未来手机和个人电脑的重要升级方向,而NPU则是这些产品中最重要的硬件增量方向之一。例如,在智能手机中,NPU可以用于实现人脸识别、语音识别等功能,使得这些任务能够在本地设备上高效地执行而无需依赖云端计算。这不仅提高了处理速度,还降低了数据传输带来的延迟和安全风险。


中国信通院《数据智能白皮书》下载方式:

1、关注本公众号“金融IT那些事儿”

2、公众号后台回复关键字:智能,即可下载

金融IT那些事儿
资深企业架构师,数字化转型专家,TOGAF企业架构鉴定级认证专家认证,《企业架构驱动数字化转型》专著作者,20年金融业、制造业企业信息化经验,分享数字化转型、企业架构、数据资产、商业模式、战略转型等内容
 最新文章