4. 硬件选型与异构计算:CPU vs GPU vs TPU vs FPGA
在AML推理链路中,硬件选型直接决定了延迟天花板。不同计算架构在并行度、内存带宽、数据流控制和编译优化上存在本质差异。本章从微架构特征出发,对比CPU、GPU、TPU、FPGA四类处理器在低延迟推理场景下的适用性,并给出可落地的选型策略。
核心观点:低延迟推理没有“万能芯片”。延迟敏感度、模型结构、批处理大小、精度需求共同决定最优硬件。异构计算的核心是将计算模式与硬件微架构对齐。
4.1 四类处理器微架构对比
| 维度 | CPU | GPU | TPU | FPGA |
|---|---|---|---|---|
| 计算模型 | 控制流 + 标量 | SIMT 向量 | Systolic Array | 数据流 + 流水线 |
| 并行粒度 | 指令级 / 线程级 | 线程束级 (Warp) | 矩阵级 (MXU) | 流水线级 / 位宽级 |
| 内存层次 | 多级缓存 + 大容量DRAM | HBM + L2 + Shared Mem | HBM + 统一缓冲区 | BRAM + URAM + DDR |
| 延迟特征 | ns级响应,确定性高 | μs级启动,吞吐优先 | μs级,批处理优化 | ns级,确定性极高 |
| 典型延迟 (单次推理) | 1-10 ms | 5-50 ms | 2-20 ms | 0.1-5 ms |
| 编程难度 | 低 (标准C++/Python) | 中 (CUDA/OpenCL) | 高 (XLA/TF专用) | 高 (HLS/Verilog) |
| 能效比 (TOPS/W) | 低 | 中 | 高 | 极高 |
关键洞察:CPU的延迟优势在于单线程响应速度和缓存命中率;FPGA的延迟优势在于无指令取指开销的纯数据流架构。GPU和TPU的延迟主要来自线程调度和批处理累积。
4.2 低延迟场景硬件选型策略
选型策略需要根据延迟预算和模型特征进行分层决策。以下给出三个典型场景的推荐方案:
4.2.1 场景一:在线服务 < 10ms P99
- 推荐硬件:CPU (Intel Xeon with AMX / AMD EPYC with AVX-512) + FPGA 加速卡
- 理由:CPU处理前处理、后处理及控制逻辑;FPGA卸载Transformer中的矩阵乘和注意力计算。
- 典型配置:Intel Xeon 8480+ (AMX BF16) + Xilinx Alveo U280
- 延迟实测:BERT-Large单次推理可达 3-5ms (FPGA) vs 8-12ms (纯CPU)
4.2.2 场景二:批量推理 < 50ms P99
- 推荐硬件:GPU (NVIDIA L40S / H100) 或 TPU v5e
- 理由:GPU/TPU在batch size ≥ 4时吞吐优势明显,适合广告推荐、内容审核等场景。
- 典型配置:NVIDIA H100 (FP8 Tensor Core) + TensorRT-LLM
- 延迟实测:LLaMA-7B batch=8 可达 25-35ms
4.2.3 场景三:极致低延迟 < 1ms P99
- 推荐硬件:FPGA (Xilinx Versal / Intel Agilex) 或 专用ASIC
- 理由:FPGA可实现端到端流水线,无中断、无调度抖动;ASIC如Groq LPU进一步消除内存墙。
- 典型配置:Xilinx Versal AI Core + 定制HLS内核
- 延迟实测:ResNet-50 单次推理可达 0.3-0.8ms
避坑提示:不要盲目追求GPU的TFLOPS。当batch size = 1时,GPU的利用率通常低于30%,而延迟却比CPU高2-5倍。对于在线实时推理,优先考虑CPU+FPGA异构方案。
4.3 异构计算架构设计
异构计算不是简单堆叠硬件,而是设计数据流管道,让每个计算阶段运行在最合适的处理器上。以下给出一个典型的低延迟推理异构架构:
4.4 硬件选型决策流程
以下决策树帮助团队快速锁定硬件方案:
- 延迟预算 < 1ms? → FPGA 或 ASIC;跳过GPU/TPU。
- 延迟预算 1-10ms? → CPU + FPGA 异构;CPU处理动态部分,FPGA卸载固定计算。
- 延迟预算 10-50ms? → GPU (batch=1~4) 或 TPU;使用TensorRT/XLA优化。
- 延迟预算 > 50ms? → GPU (大batch) 或 TPU;优先吞吐。
- 模型是否包含动态shape/控制流? → 必须保留CPU核;FPGA/TPU难以高效处理。
- 是否需要确定性延迟? → FPGA > CPU > GPU > TPU;GPU的线程调度抖动不可控。
实战建议:在项目初期使用CPU+GPU方案快速验证,然后根据延迟瓶颈将热点算子迁移到FPGA。不要一开始就追求全FPGA方案,开发周期和调试成本会显著增加。
4.5 关键指标与选型对照表
| 指标 | CPU | GPU | TPU | FPGA |
|---|---|---|---|---|
| P99延迟 (batch=1) | 2-8 ms | 8-30 ms | 5-20 ms | 0.2-3 ms |
| P99延迟 (batch=8) | 15-50 ms | 10-40 ms | 8-25 ms | 2-10 ms |
| 延迟抖动 (σ) | < 5% | 10-30% | 5-15% | < 2% |
| 能效 (W/推理) | 高 | 中 | 低 | 极低 |
| 开发周期 | 1-2周 | 2-4周 | 4-8周 | 8-16周 |
| 适用模型 | 小模型 / 树模型 | 大模型 / CNN / Transformer | 超大模型 / 矩阵密集 | 固定结构 / 低延迟 |
选型口诀:CPU保底,GPU提吞吐,TPU压成本,FPGA砍延迟。异构计算的核心是“让每个计算找到最合适的硅片”。