跳转到内容

加速器格局:GPU、TPU、ASIC 与国产芯片

设计一块 AI 加速器时,每个团队都要回答同一组问题:通用性换不换性能?显存多大才够?互联开放还是封闭?软件栈从零建还是寄生在 CUDA 上?不同答案造出了不同的芯片。本章横向对比主要玩家的设计哲学与真实参数,帮你建立"看规格表"的判断力——参数表上的大数字从不直接等于训练快。

NVIDIA 的路线是通用性优先:一个 GPU 同时吃下训练、推理、图形、科学计算,靠每一代加宽 Tensor Core、加大显存、加宽 NVLink 来保持领先。

参数A100H100 SXMH200B200
BF16 稠密算力312 TFLOPS9899892250
FP8 稠密算力—197919794500
显存80 GB HBM2e80 GB HBM3141 GB HBM3e192 GB HBM3e
显存带宽2.0 TB/s3.354.88
互联NVLink3 600 GB/sNVLink4 900900NVLink5 1800
功耗400 W700 W700 W1000 W

NVIDIA 真正的护城河不是单卡参数,是三层生态:CUDA 十八年的工具链与算子库、NCCL 等通信库对所有并行模式的覆盖、以及 Trellis 般的kernel 生态(cuBLAS/CUTLASS/FlashAttention 全部首发在 NVIDIA 上)。国产芯片替代的最大成本从来不是买卡,是重写这套软件栈。

Google TPU 的哲学与 GPU 相反:砍掉一切与矩阵乘无关的东西。没有图形管线、没有复杂的 warp 调度,计算核心是大面积脉动阵列(systolic array)——数据在阵列中逐拍流动、每个单元只做乘加,靠结构化数据流打满利用率。

参数TPU v5pTPU Trillium (v6e)说明
BF16 算力459 TFLOPS918脉动阵列
HBM95 GB32 GB(推理优化)
带宽2.8 TB/s
互联Pod 内 4800 芯片训练按 pod 租用

TPU 的取舍:

  • 换来的是利用率:脉动阵列对规整的大矩阵乘效率极高,配合 XLA 编译器做全局融合,MFU 常比同代 GPU 高一截
  • 付出的是灵活性:不规整算子(动态 shape、稀疏查表、变长序列)在脉动阵列上很别扭,全靠编译器兜底;生态绑定 JAX/PyTorch-XLA
  • 真正的强项在 pod:TPU 的设计单位从来不是单卡,是 8960 芯片的 pod——轨道优化拓扑与芯片同代设计,万卡训练的组网复杂度比 GPU 集群低

AWS Trainium2 / Inferentia2:自研训练/推理芯片,脉动阵列 + HBM,绑定 SageMaker/EKS 生态,按性价比切市场(Trainium2:~650 TFLOPS BF16、96 GB HBM3)。

Intel Gaudi3:主打互联集成——芯片内置 21 条 200 Gbps RoCE,不需要外置交换机组 8 卡环,赌的是"组网简单"这个卖点。

Groq LPU:推理专用,彻底砍掉 HBM,权重放片上 SRAM(230 MB/卡),靠 188 卡的大规模扇出换吞吐。把 roofline 走到极端的样本:SRAM 带宽 ~80 TB/s,解码延迟极低,但权重必须切到极小——只适合小模型高吞吐场景。

Cerebras:反过来,整片晶圆做成一颗芯片(90 万核心、44 GB 片上 SRAM),消灭卡间通信。适合超大 batch 训练,生态与通用性同样受限。

芯片BF16 算力显存互联软件栈
华为昇腾 910B~376 TFLOPS64 GB HBM2eHCCS ~392 GB/sCANN(类 CUDA)
寒武纪思元 590~折算接近 A10064 GB HBM2eMLUlinkNeuware
海光 DCU K100~与 MI50 同源32/64 GB类 ROCmDTK(兼容 ROCm/HIP)

三条现实约束:

一、制程与 HBM 是硬约束。 先进制程受限意味着单卡算力与能效有代差;HBM 供应同样是瓶颈。国产芯片的策略普遍是用数量与互联补单卡差距——所以集群软件(调度、容错、通信库)的质量比单卡参数更关键。

二、生态迁移是真实成本。 CANN/Neuware 与 CUDA 的算子覆盖、调试工具、社区答案都有差距。一个务实的评估方法:拿自己的真实模型(不是 benchmark)跑一遍,数一数多少算子走了 fallback、多少手写算子要移植。

三、训练框架适配在快速收敛。 PyTorch 的 device 抽象(torch.accelerator)与 FSDP 的设备无关化让迁移成本逐年下降;真正难的是自定义 CUDA kernel 的移植(Triton 的多后端是重要缓解)。

怎么比较:看规格表的四个陷阱

Section titled “怎么比较:看规格表的四个陷阱”

一、峰值算力的精度陷阱。 "1000 TFLOPS" 可能是 FP8 稀疏、也可能是 BF16 稠密——差 8 倍。比较前先归一到同一精度同一稠密度。

二、显存容量 ≠ 显存带宽。 大显存配窄带宽的卡(推理友好)与宽带宽的卡(训练友好)是两种产品,看你的瓶颈在哪一侧。

三、互联要看"哪些卡在一个域里"。 NVLink 域(8 卡全互联)、PCIe 拓扑、以及跨机的组网是三张不同的网,张量并行能不能跨机,直接由这个决定。

四、软件成熟度是隐藏的最大参数。 同样的纸面算力,生态成熟度能差 30–50% 的有效 MFU。买卡前先问:这个芯片上,我的模型栈(框架、算子、通信、调试)每一层都有人负责吗?

  • GPU 走通用+生态路线,护城河是 CUDA 工具链与算子库,不是单卡参数。
  • TPU 用脉动阵列 + XLA 换利用率和 pod 级扩展,代价是灵活性与生态绑定。
  • 专用芯片(Groq/Cerebras/Trainium)各自把 roofline 推向极端:SRAM、晶圆、性价比。
  • 国产芯片受制程与 HBM 约束,策略是集群与软件补单卡;生态迁移成本是评估重点。
  • 比较规格表:先归一精度与稠密度,再看带宽与互联域,最后评估软件成熟度。