3. 计算硬件基础:CPU、GPU、TPU、NPU等加速器的特点与适用场景

3.1 核心原理:从通用计算到专用计算的谱系

AI算力集群的底层差异,首先来自计算芯片的架构设计取向。理解这些芯片,需要抓住一条主线:从“通用”走向“专用”的权衡。通用芯片追求“什么都能算”,专用芯片追求“特定算法算得极快”。这条谱系上依次排列着CPU、GPU、NPU、TPU,以及FPGA、ASIC等更偏定制的选项。

CPU(中央处理器)的核心设计目标是低延迟控制流。它包含强大的分支预测器、乱序执行引擎和大容量缓存,擅长处理复杂的逻辑判断、操作系统调度和串行任务。其算力密度(每平方毫米芯片面积的计算能力)并不高,但“什么都能跑”的灵活性无可替代。

GPU(图形处理器)最初为图形渲染设计,本质是大规模并行吞吐机。它由数千个简单计算核心组成,遵循SIMT(单指令多线程)模式,非常适合矩阵乘法、卷积等数据并行任务——这正是深度学习训练和推理的主要计算模式。GPU的显存带宽极高,能快速搬运海量权重和中间激活值。

NPU(神经网络处理单元)是面向神经网络推理/训练中特定算子(如卷积、矩阵乘、激活函数)深度优化的处理器。它通常采用脉动阵列或类脉动架构,将乘加运算流水化执行,减少指令开销。NPU的能效比(每瓦特算力)显著优于GPU,但灵活性受限。

TPU(张量处理单元)是Google设计的专用ASIC(专用集成电路),第一代TPU仅用于推理,后续版本支持训练。其核心是脉动阵列(Systolic Array),让数据像波浪一样在计算单元间流动,极大减少寄存器读写和指令发射能耗。TPU与Google的TensorFlow/PyTorch插件深度绑定,在Google Cloud上提供云服务。

关键认知:AI集群中不存在“唯一最优芯片”。训练阶段通常以GPU/TPU为主力,推理阶段则大量混用NPU、GPU甚至CPU。选型取决于工作负载形态(训练还是推理)、精度要求(FP32/FP16/INT8)、时延预算和成本约束。
计算芯片架构谱系:通用性 → 专用性 通用计算 专用加速 CPU 控制流 · 低延迟 核心数:8~64 擅长:逻辑/串行/调度 精度:FP64/FP32 GPU 并行吞吐 · SIMT 核心数:数千~数万 擅长:矩阵乘/卷积 精度:FP32/FP16/BF16 NPU 算子专用 · 脉动阵列 核心:MAC阵列 擅长:INT8/INT4推理 能效比极高 TPU ASIC · 张量专用 脉动阵列(TPU v2+) 支持训练/推理 云服务绑定 典型参数对比(以2024年主流产品为例) 指标 CPU (Xeon/EPYC) GPU (H100/A100) NPU (昇腾910B) TPU v5e FP16算力 ~2 TFLOPS ~990 TFLOPS ~376 TFLOPS ~197 TFLOPS 显存/缓存 L3 256MB HBM3 80GB HBM2e 64GB HBM2e 32GB 互联带宽 PCIe 5.0 x16 NVLink 900GB/s HCCS 392GB/s ICI 288GB/s 典型功耗 350W 700W 310W 200W

3.2 方法流程:AI工作负载如何映射到不同芯片

在实际AI集群中,选择哪种芯片不是拍脑袋决定,而是遵循一套可复用的评估流程。以下四个步骤是业界常用的决策框架:

  1. 分析计算特征:统计模型中各类算子的占比。如果卷积和矩阵乘法占90%以上,则适合GPU/NPU/TPU;如果包含大量动态shape、稀疏控制流(如循环神经网络中的逐时间步处理),则CPU或GPU的灵活性更占优。
  2. 确定精度需求:训练通常需要FP16/BF16以保证梯度精度;推理则可用INT8/INT4量化。GPU对FP16/BF16支持成熟,NPU/TPU对低精度推理优化更激进。
  3. 评估时延与吞吐:在线推荐系统要求毫秒级响应,适合用NPU或小批量GPU;离线批量训练则追求吞吐量,大规模GPU集群或TPU Pod是主流。
  4. 核算TCO(总拥有成本):包括硬件采购、功耗、散热、机房空间、运维人力。NPU/TPU的能效比优势在大规模部署时能显著降低电费。
实操建议:在项目初期,先用GPU跑通模型验证正确性,再用profiling工具(如NVIDIA Nsight、PyTorch Profiler)定位瓶颈算子。如果发现80%时间消耗在少数几个卷积/矩阵乘算子,且模型结构稳定,再考虑迁移到NPU或TPU做生产部署。

3.3 案例/场景:三种典型集群的芯片选型

场景一:大语言模型(LLM)训练集群

训练GPT-3级别(1750亿参数)的模型,需要数千张GPU或TPU。NVIDIA H100/A100凭借NVLink全互联和成熟的CUDA生态成为事实标准。Google则使用TPU v4/v5 Pod,通过高速ICI互联组成超大集群。此场景的核心诉求是高带宽、低延迟的卡间通信,芯片本身的FLOPS只是部分因素。

场景二:边缘AI推理(自动驾驶/安防)

车载域控制器或摄像头边缘盒子对功耗和成本极其敏感。NPU(如地平线征程系列、Mobileye EyeQ)或带NPU的SoC成为首选。它们将卷积、池化、激活函数硬化为专用流水线,以5~15W的功耗实现数十TOPS的INT8算力。相比之下,GPU在此类场景中功耗过高,CPU算力又不足。

场景三:混合云AI平台

大型云厂商通常同时提供CPU、GPU、NPU实例。例如阿里云同时提供GPU(A100)和NPU(含光800)实例;华为云提供昇腾NPU集群。用户按需选择:训练任务用GPU,大规模推理用NPU,CPU则用于数据预处理、模型服务编排等“胶水”逻辑。

3.4 误区/复盘:选型中的常见陷阱

误区一:“算力越高,训练越快”
峰值FLOPS只是理论上限。实际训练速度受制于数据加载、通信同步、算子调度效率。一张H100如果喂不饱数据,可能不如两张A100跑得快。复盘时务必用有效算力利用率(MFU)衡量,而非只看规格表。
误区二:“NPU能跑所有模型”
NPU对算子支持有严格边界。Transformer中的FlashAttention、MoE(混合专家)路由等动态算子,在NPU上可能需要重写为特定实现,甚至无法高效运行。迁移前必须做算子兼容性清单检查。
误区三:“CPU在AI集群中无用”
实际上,CPU负责数据预处理(图像解码、文本tokenize)、分布式训练框架的协调、模型服务中的请求路由。一个8卡GPU服务器通常需要2颗32核以上的CPU才能喂饱GPU。忽略CPU规划会导致GPU空转。

复盘清单:每次完成AI集群设计后,建议对照以下问题检查:

检查项 具体问题
工作负载匹配 模型算子是否与芯片指令集匹配?动态shape比例是否过高?
精度支持 训练是否需要BF16?推理量化后精度损失是否可接受?
互联瓶颈 卡间通信带宽是否满足梯度同步需求?是否需NVLink/ICI/HCCS?
软件生态 框架版本是否支持该芯片?是否需要额外编译器(如XLA、Triton)?
能效与散热 机房单机柜功率上限是多少?液冷还是风冷?

总结而言,CPU、GPU、NPU、TPU并非替代关系,而是互补关系。一个成熟的AI算力集群,往往是“CPU负责指挥调度,GPU/NPU/TPU负责重计算”的混合体。理解每种芯片的架构基因和适用边界,才能在设计集群时做出理性决策,避免“拿着GPU的锤子,看什么都像钉子”的思维定式。