CPU/GPU/TPU/NPU

本文介绍了CPU、GPU、TPU和NPU四种处理器的区别和特点。CPU作为中央处理器,擅长控制和复杂运算;GPU则以大量计算单元为主,适合并行处理简单重复任务,常用于图像处理和科学计算等领域。TPU是为谷歌的TensorFlow深度学习框架定制的芯片,提供显著的性能和效率提升。NPU则模仿人脑神经网络,适用于神经网络计算,其存储和计算一体化设计提高了运行效率。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

CPU

CPU英文全称是Central Processing Unit,中文全称是中央处理器,是计算机的核心器件,CPU通常由三个部分组成:计算单元、控制单元和存储单元。

GPU

GPU全称是Graphics Processing Unit,中文全称叫图形处理器,它也是由三个部分组成:计算单元、控制单元和存储单元。

CPU这边起码30%都是用在了控制单元,各个单元占比还算均衡,而GPU就夸张了,80%以上都用在了计算单元,偏科有点严重啊。

正是由于这种区别,导致CPU精于控制和复杂运算,而GPU精于简单且重复的运算。

另外CPU和GPU还有一个最大的区别:CPU是顺序执行运算,而GPU是可以大量并发的执行运算,通俗的说就是CPU做事情是一件一件来做,而GPU是很多件事情同时做。

GPU就是用很多简单的计算单元去完成大量的计算任务,纯粹的人海战术。这种策略基于一个前提,就是小学生A和小学生B的工作没有什么依赖性,是互相独立的。

但有一点需要强调,虽然GPU是为了图像处理而生的,但是我们通过前面的介绍可以发现,它在结构上并没有专门为图像服务的部件,只是对CPU的结构进行了优化与调整,所以现在GPU不仅可以在图像处理领域大显身手,它还被用来科学计算、密码破解、数值分析,海量数据处理(排序,Map-Reduce等),金融分析等需要大规模并行计算的领域。

上面我们提到的CPU和GPU都是通用芯片。

TPU

自从谷歌的AlphaGo打败李世石之后,谷歌在人工智能界的知名度也越来越大了,于是谷歌推出了它们的深度学习框架TensorFlow,这个深度学习框架也就此扬名世界。

有了好的算法框架,就得要有硬件来支持啊,传统的GPU行吗?

当然行,可是它毕竟是块通用的石头,要是打磨打磨就好了。

于是针对谷歌的深度学习框架TensorFlow专门定制的芯片诞生了,英文全称就叫Tensor Processing Unit,翻译为中文就是张量处理单元,它到底有多牛呢?比较下你就知道了:

TPU与同期的CPU和GPU相比,可以提供15-30倍的性能提升,以及30-80倍的效率(性能/瓦特)提升。

吼吼,这可不是一丁点的效率提升,是大大的提升。

NPU

NPU英文全称是Neural network Processing Unit, 中文叫神经网络处理器。

而这个NPU,即神经网络处理器,就是要模仿人的大脑神经网络,使之具备智能。

怎么模仿呢?

NPU工作原理是在电路层模拟人类神经元和突触,并且用深度学习指令集直接处理大规模的神经元和突触,一条指令完成一组神经元的处理。相比于CPU和GPU,NPU通过突触权重实现存储和计算一体化,从而提高运行效率。

 

### CPUGPUNPU 的区别及其应用场景 #### 中央处理器 (CPU) 中央处理器(CPU),通常被称为计算机的大脑,设计用于处理广泛类型的计算任务。这些任务包括但不限于运行操作系统功能、管理输入输出操作以及执行应用程序逻辑。现代多核CPU能够高效地分配资源来并发处理多个线程的任务[^1]。 对于批处理大小设置,默认每设备训练批次大小为8,适用于CPU核心的配置说明也体现了这一点。这意味着,在训练期间,每个CPU核心会接收固定数量的数据样本进行处理,以此平衡负载并提升效率。 ```python per_device_train_batch_size: int = field( default=8, metadata={"help": "Batch size per GPU/TPU/MPS/NPU core/CPU for training."} ) ``` #### 图形处理器 (GPU) 图形处理器(GPU)最初是为了加速图像渲染而设计的硬件单元,但随着技术的发展,其应用范围已经扩展到通用计算领域。相比于传统CPUGPU拥有更多的处理单元(ALUs),特别适合大规模矩阵运算和平行数据流处理。因此,在机器学习特别是深度学习方面表现尤为突出,因为这类算法往往涉及大量相似结构化的重复计算工作[^2]。 当涉及到评估阶段时,同样采用默认值8作为每设备评测批次尺寸,表明即使是在不同架构下(如GPU),保持一致性的批量规模有助于维持稳定性和可预测性。 ```python per_device_eval_batch_size: int = field( default=8, metadata={"help": "Batch size per GPU/TPU/MPS/NPU core/CPU for evaluation."} ) ``` #### 神经网络处理器 (NPU) 神经网络处理器(NPU)是一种专门为人工智能推理和训练定制优化过的集成电路芯片。相较于其他两种类型,NPUs更专注于支持特定的人工智能框架和技术栈,比如TensorFlow或PyTorch等,并且内置了许多针对卷积层、激活函数以及其他常见AI组件的高度专业化指令集和支持库。这使得它们能够在更低能耗的情况下实现更高的吞吐量和更快的速度,非常适合部署在边缘端设备上完成实时分析任务。 例如,在移动平台上,通过利用像苹果公司的Metal API这样的接口,可以更好地发挥出集成在其SoC内部的小型专用AI协处理器——即所谓的“Apple Neural Engine”的潜力,从而显著改善用户体验的同时减少延迟时间。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值