最近几年,随着大语言模型、AI 绘图和智能体应用的发展,GPU 越来越频繁地出现在 AI 技术讨论中。
训练大模型需要 GPU,运行大模型需要 GPU,甚至个人电脑也开始强调 NPU。
但这里有几个值得弄清楚的问题:
- CPU、GPU、NPU 到底有什么区别?
- 为什么 GPU 特别适合 AI 计算?
- 有了 GPU,为什么还需要 CPU?
- NPU 是不是 GPU 的替代品?
- 如果只是运行一个 AI 应用,是否一定需要 GPU?
要回答这些问题,不能简单地把三者理解为性能高低不同的处理器。
它们实际上是针对不同计算任务设计的硬件,各自有不同的优势。
一、CPU、GPU、NPU:它们不是谁替代谁
先看一个简单的例子。
假设一个系统需要完成两类工作:
第一类是处理复杂的业务逻辑,例如判断用户权限、检查订单状态、执行退款规则。
第二类是对大量数据执行相似的数学计算,例如 AI 模型中的矩阵运算。
如果让同一种处理器承担所有任务,未必能够获得最好的效率。
这正是 CPU、GPU 和 NPU 出现不同分工的原因。
可以先建立一个基本认识:
- CPU:通用计算,擅长复杂逻辑和任务调度。
- GPU:大规模并行计算,擅长大量相似计算任务。
- NPU:专门针对神经网络计算优化的处理器,通常强调 AI 任务的能效。
它们的区别不在于简单的性能排名,而在于硬件设计所针对的计算任务不同。
二、CPU:为什么计算机仍然离不开它?
CPU(Central Processing Unit),即中央处理器。
它是计算机中负责执行程序指令和处理通用任务的核心部件。
可以把 CPU 理解为一个综合能力较强的处理中心。
它擅长处理:
- 程序执行和业务逻辑。
- 条件判断与分支控制。
- 操作系统任务调度。
- 数据库访问和数据处理。
- 不同类型任务之间的协调。
例如,一个在线订单系统收到退款请求:
- 接收用户请求。
- 检查用户登录状态。
- 判断用户是否具有退款权限。
- 查询订单和支付状态。
- 执行退款规则。
- 调用支付服务。
- 返回处理结果。
这些工作涉及大量条件判断、程序控制和外部服务交互,通常由 CPU 承担。
CPU 的设计特点
CPU 通常具有相对较少但功能较强的计算核心,并且在指令处理、缓存和复杂控制方面进行了大量优化。
它的优势是:
面对不同类型的任务,可以灵活地执行复杂指令和控制流程。
例如,程序可能需要先判断 A 条件,再根据结果选择执行 B 或 C。
这种具有复杂分支和依赖关系的工作,并不一定适合大规模并行处理。
因此,CPU 在通用计算、低延迟任务和复杂程序控制方面具有重要优势。
但当任务变成大量结构相似、可以同时执行的计算时,CPU 就不一定是最合适的选择了。
三、GPU:为什么 AI 模型特别需要它?
GPU(Graphics Processing Unit),即图形处理器。
GPU 最初主要用于图形和图像处理。
例如,计算机需要渲染一张图片时,画面包含大量像素,每个像素都需要执行一定的计算。
这些计算中,有很多可以独立进行。
与逐个处理相比,同时处理大量相似任务,能够显著提高整体计算吞吐量。
GPU 的设计正是围绕这种并行计算能力展开的。
1. 什么是并行计算?
假设有 100 万个数字,每个数字都需要执行相同的计算:
将它乘以 2,再加上 10。
这些计算彼此独立,不需要等待前一个数字计算完成。
可以将任务分配给多个计算单元,同时执行。
这就是并行计算(Parallel Computing)。
CPU 也能够通过多核心等方式执行并行任务,但 GPU 的设计更加侧重于大规模并行处理。
NVIDIA 在 CUDA Programming Guide 中解释了这种设计差异:CPU 更侧重快速执行单个执行线程,而 GPU 更侧重同时执行大量线程,以获得更高的整体吞吐能力。
2. 为什么 AI 模型需要大量并行计算?
AI 模型并不是凭空产生答案的。
当用户输入一段文字时,模型需要将输入转换为数字表示,再经过一系列计算,最终生成预测结果。
在这些计算中,矩阵运算占据了重要位置。
例如,神经网络需要对输入数据和模型中的权重进行大量乘法、加法等计算。
当模型规模变大时,需要处理的数据和计算量也会随之增加。
而这些计算中的很多部分具有高度重复、可以并行执行的特点。
这就让 GPU 有了用武之地。
3. GPU 在模型训练和推理中分别做什么?
AI 模型有两个需要区分的阶段。
模型训练(Training)
模型通过大量训练数据学习规律,并根据预测误差调整内部参数。
训练过程需要反复进行大量计算。
GPU 能够利用并行计算能力加速这些过程,因此成为大型模型训练的重要硬件。
模型推理(Inference)
模型训练完成后,接收新的输入并生成预测结果。
例如,用户输入问题,大语言模型根据输入内容生成回答。
推理同样需要大量计算,因此 GPU 也被广泛用于大型模型的推理服务。
需要注意:
GPU 并不是 AI 计算的唯一选择。它只是特别适合大量并行计算任务的一种硬件。
模型规模、计算特点和运行环境不同,实际选择也会不同。
四、NPU:为什么还需要一种专门的 AI 处理器?
NPU(Neural Processing Unit),即神经网络处理器。
与 CPU 的通用计算和 GPU 的大规模并行计算不同,NPU 是专门针对神经网络计算进行优化的处理单元。
可以把它理解为:
CPU 是通用处理器,GPU 是擅长并行计算的处理器,而 NPU 则针对特定 AI 计算进行了专门设计。
1. NPU 解决什么问题?
随着 AI 应用进入手机、笔记本电脑和其他终端设备,越来越多的 AI 任务需要在本地完成。
例如:
- 手机拍照时的 AI 图像处理。
- 本地语音识别。
- 人脸识别。
- 部分本地 AI 助手功能。
如果所有 AI 任务都交给 GPU 处理,可能会带来额外的功耗和资源占用。
NPU 针对支持的神经网络运算进行了优化,能够在适合的场景中提供较好的能效。
因此,它特别适合部分需要持续运行、对功耗敏感的本地 AI 推理任务。
2. NPU 是不是只能运行小模型?
不是。
NPU 并不是按照设备大小来定义的,也不能简单地理解为只能运行小型 AI 模型。
例如,Intel Core Ultra 系列处理器已经将 NPU 集成到个人电脑平台中,提供专门的深度学习加速能力。
但 NPU 能运行什么模型,取决于具体硬件支持的计算类型、数据精度、软件运行环境和模型本身。
有些模型可以在 GPU 上运行,却不一定能够直接部署到某个 NPU 上。
因此,NPU 的核心特点是专用优化,而不是模型大小。
3. GPU 和 NPU 有什么区别?
两者都可以承担 AI 计算,但设计目标有所不同。
| 对比 | GPU | NPU |
|---|---|---|
| 设计定位 | 通用并行计算 | 神经网络专用加速 |
| 主要优势 | 并行计算能力和灵活性 | 支持任务上的能效优化 |
| 常见用途 | 大模型训练、推理、图形计算 | 本地 AI 推理等 |
| 软件生态 | GPU 计算框架和相关库较丰富 | 依赖芯片厂商及运行时支持 |
| 适用范围 | 多种并行计算任务 | 硬件支持的 AI 运算 |
需要强调的是,这并不是绝对的性能排名。
GPU 和 NPU 的实际表现,需要结合具体模型、硬件规格、软件支持和任务要求进行评估。
五、CPU、GPU、NPU 如何在一个 AI 系统中协作?
理解三种处理器后,还需要解决一个工程问题:
它们在实际 AI 应用中如何分工?
以一个在线 AI 客服系统为例。
用户提出:
「帮我查询一下订单退款进度。」
系统可能包含以下几个环节:
第一步:接收和处理请求。
应用服务接收用户请求,检查身份、权限和业务参数。
这部分主要由 CPU 执行。
第二步:调用 AI 模型。
如果需要大语言模型理解用户意图或生成回答,就需要将输入交给模型运行环境。
如果模型部署在云端 GPU 服务器上,GPU 负责模型的实际计算。
第三步:调用业务系统。
如果模型需要查询真实订单或退款状态,应用程序还需要调用相应业务 API。
这部分涉及网络请求、权限检查、业务流程和结果处理,仍然需要 CPU 及相关服务共同完成。
第四步:返回结果。
模型计算完成后,应用程序组织回答并返回给用户。
这个过程中,GPU 并不会替代业务系统,也不会自动负责用户权限、退款规则和 API 调用。
它承担的是模型计算任务。
一个简化的架构关系
用户请求
|
v
应用服务 / Java 后端
|
|-- 身份认证、业务判断、流程调度
| CPU
|
|-- 模型计算
| GPU / NPU / CPU
|
|-- 查询订单、调用退款 API
| CPU + 业务服务
|
v
组织结果并返回用户
这里需要注意:
GPU 和 NPU 并不是只能在模型服务中二选一。具体系统可以根据模型部署位置和运行环境选择不同的计算设备,也可以组合使用。
例如,部分个人电脑上的 AI 运行框架可以根据模型和硬件支持情况,利用 CPU、GPU 或 NPU 执行不同计算任务。
Apple 的 Core ML 也提供了利用 CPU、GPU 和 Neural Engine 优化设备端模型运行的能力。
六、训练模型和运行模型,硬件选择一样吗?
不完全一样。
训练和推理虽然都需要计算,但它们的工作目标不同。
| 对比 | 模型训练 | 模型推理 |
|---|---|---|
| 目的 | 学习和调整模型参数 | 使用训练好的模型 |
| 主要工作 | 大量计算、反向更新 | 根据输入产生结果 |
| GPU | 大型模型训练的重要算力来源 | 大型模型推理的重要算力来源 |
| CPU | 数据准备、任务调度等 | 请求处理、数据预处理等 |
| NPU | 取决于具体训练框架和硬件能力 | 常用于支持的本地 AI 推理 |
为什么训练阶段通常更依赖 GPU?
因为训练需要反复处理大量数据,并根据计算结果更新模型参数。
为什么推理不一定需要 GPU?
因为推理只需要使用已经训练完成的模型生成结果。
如果模型较小、计算量有限、并发请求不高,CPU 可能已经足够。
如果模型需要较高的计算吞吐量,GPU 可能更合适。
如果是设备端支持的 AI 任务,并且对功耗和本地运行有要求,NPU 也可能是合适的选择。
因此,不能简单地认为训练必须使用 GPU,推理也必须使用 GPU。
七、实际项目中,应该如何选择 CPU、GPU 和 NPU?
选择硬件时,不应该先问哪个处理器最强,而应该先分析业务需求。
可以从以下六个维度判断。
1. 模型规模
模型规模会影响运行所需的计算资源和内存。
大型模型通常需要更强的计算能力和更大的内存空间。
但不能只看模型文件大小,还需要考虑运行时的中间数据和其他资源开销。
2. 计算特点
如果任务包含大量可以并行执行的计算,GPU 通常更值得考虑。
如果任务主要涉及复杂控制、条件判断和串行逻辑,CPU 通常更合适。
如果任务属于 NPU 支持的神经网络计算,则可以考虑 NPU。
3. 并发量和响应速度
假设系统每天只有几十次 AI 请求,与每天处理数十万次请求,硬件需求显然不同。
需要根据实际并发量和响应时间要求选择计算资源。
4. 内存和显存
硬件即使拥有很强的计算能力,如果无法容纳模型和运行所需的数据,也无法正常完成任务。
因此,内存和显存容量也是重要的选型因素。
5. 软件和模型兼容性
硬件能否运行模型,还取决于软件生态。
需要检查:
- 模型是否支持目标硬件。
- 推理框架是否支持对应设备。
- 相关算子是否能够正常执行。
- 是否需要额外的模型转换或量化。
- 是否存在不支持的计算操作。
不能只看芯片宣传的计算性能。
6. 成本和功耗
对于长期运行的 AI 服务,还需要考虑:
- 硬件采购成本。
- 云端算力租赁成本。
- 电力和散热成本。
- 设备维护成本。
- 单位请求的计算成本。
最终选择应该是满足业务要求且综合成本合理的方案,而不是单纯追求最高性能。
八、如何验证硬件选择是否合理?
如果要在实际项目中选择 CPU、GPU 或 NPU,不能只看产品参数或厂商宣传。
更可靠的方法是使用同一个模型,在目标硬件上进行对比测试。
1. 建立统一测试条件
至少保证:
- 使用相同的模型版本。
- 使用相同的测试数据。
- 尽量保持相同的输入长度和输出要求。
- 明确模型精度和量化方式。
- 记录使用的推理框架和运行时版本。
- 对每种硬件使用其合理支持的优化配置,并记录配置差异。
如果测试条件不同,最终结果就不具备直接可比性。
2. 关注哪些指标?
| 指标 | 主要用途 |
|---|---|
| 首次加载时间 | 判断模型启动成本 |
| 平均响应时间 | 了解整体响应速度 |
| P50 / P95 延迟 | 观察典型和较慢请求的响应表现 |
| 吞吐量 | 判断单位时间能够处理多少请求 |
| 内存/显存占用 | 判断资源需求 |
| 功耗 | 判断长期运行的能源成本 |
| 兼容性 | 判断模型是否能够稳定运行 |
如果测试的是大语言模型,还可以关注每秒生成 Token 数量。
对于训练任务,则可以关注每个训练步骤耗时、总训练时间、训练稳定性以及最终模型效果。
3. 为什么不能只看计算速度?
假设 GPU 的计算速度很快,但模型加载、数据传输或内存访问成为瓶颈。
那么整个应用的响应速度可能并没有明显提升。
同样,NPU 即使在支持的计算任务上具有较好的能效,如果模型存在不兼容的操作,也可能无法完整运行。
因此,硬件测试需要关注完整运行链路,而不只是某一个计算单元的理论性能。
硬件选择的最终依据应该是实际业务效果,而不是单一的芯片参数。
九、总结:AI 不只是模型,也需要合适的计算基础
CPU、GPU 和 NPU 分别针对不同类型的计算任务进行了优化。
CPU 负责通用计算和复杂程序控制,是整个计算系统的重要基础。
GPU 擅长大规模并行计算,能够高效处理 AI 模型中大量重复的数学运算,因此成为大型模型训练和推理的重要算力来源。
NPU 则针对神经网络计算进行专门优化,在支持的任务中能够提供具有竞争力的能效,尤其适合部分设备端 AI 场景。
三者不是简单的替代关系,而是可以根据任务需求协同工作。
理解它们的区别,最终不是为了记住三个硬件名称,而是为了回答一个更实际的问题:
当一个 AI 应用真正运行起来时,哪些任务应该交给 CPU,哪些任务适合 GPU,又有哪些任务可以交给 NPU?
这才是理解 AI 算力基础设施的起点。
参考资料
- NVIDIA:CUDA Programming Guide — Introduction。介绍 CPU 与 GPU 的设计目标、并行计算特点以及 GPU 在 AI 计算中的应用。
- Intel:CPU vs. GPU: Powerful Options for Your Computing Needs。介绍 CPU、GPU、NPU 的定位及协作方式。
- Intel:A Guide to Deploying AI Apps on AI PCs。介绍 AI PC 中 CPU、GPU、NPU 的应用分工和本地 AI 部署。
- Intel:Intel Neural Processing Unit — Technical Datasheet。介绍 NPU 的深度学习加速单元及相关硬件设计。
- Apple:Core ML Documentation。介绍如何利用 CPU、GPU 和 Neural Engine 在 Apple 设备上执行机器学习任务。