这股AI芯片架构的浪潮源于一个共识:通用CPU性能增长放缓,行业需要为人工智能这类特定领域设计专用架构。这些新架构,如GPU、TPU及其他专用芯片,其核心设计理念各不相同,分别在可编程性、计算效率和扩展方式上做出取舍。有的选择打造像瑞士军刀一样灵活的通用并行处理器(如NVIDIA GPU),有的则专注于极致的矩阵运算效率(如Google TPU),还有的则采用激进的晶圆级设计(Cerebras)或追求完全确定的执行时间(Groq)。最终,每种架构都在性能、成本和能效之间找到了自己独特的平衡点,共同构成了当前“百花齐放”的AI计算格局。
AI计算的核心问题
AI模型,尤其是Transformer模型,其计算本质上是一系列大规模的矩阵乘法,中间穿插着一些逐元素操作。无论是模型训练、提示词处理(prefill)还是逐词生成(decode),核心挑战始终是如何高效地将海量数据(权重和激活值)喂给计算单元。这个问题被称为“内存墙”:计算单元的处理速度呈指数级增长,而内存带宽的增长却远远落后。
解决数据移动的游戏,就是AI芯片架构的核心。理解一个芯片,归根结底要回答四个问题:数据存在哪里?如何移动到计算单元?计算单元长什么样?以及芯片之间如何大规模通信?
不同的AI工作负载对芯片的要求也不同:
- 训练 (Training) 和提示词处理 (Prefill): 这两种场景都处理大批量数据,计算任务是大型矩阵与矩阵的乘法(GEMM),计算密集度高。
- 解码 (Decode): 这是自回归的逐词生成过程,每次只处理一个词,计算任务变为矩阵与向量的乘法(GEMV),计算强度急剧下降,成为一个带宽密集型问题。
各种架构都在用自己的方式解决这个“数据移动”的游戏。
NVIDIA GPU
NVIDIA GPU的理念是打造一个大规模并行、可编程的处理器。通过其软件平台 CUDA,开发者可以利用数千个线程来运行各种可并行的计算任务,从模型训练到图形渲染,再到科学计算。每一代GPU都在可编程的“流式多处理器”(SM)上增加新的硬件加速功能,但底层的编程模型保持不变。
- 核心赌注 1:可编程性。 AI工作负载是不断变化的,所以保持芯片的可编程性至关重要,让开发者能用CUDA解决新问题。
- 核心赌注 2:用大规模多线程隐藏延迟。 数据访问延迟是不可预测的,所以通过让硬件调度器在海量待命线程中随时切换,来掩盖等待时间。
- 核心赌注 3:异步内存层次结构。 将内存管理的一部分控制权交给程序员,通过TMA(张量内存加速器)等异步机制,让数据加载和计算可以并行进行,实现软件层面的流水线。
架构与计算
一个NVIDIA GPU由上百个被称为流式多处理器 (SM) 的核心组成。每个SM内部又包含多个计算单元:
- CUDA Cores: 负责处理所有非矩阵乘法的计算,如激活函数、归一化等。
- Tensor Cores: 专门用于执行矩阵乘加运算(
D = A * B + C),贡献了绝大部分的AI算力。从Hopper架构开始,Tensor Core的操作变得异步,允许线程在发出矩阵计算指令后继续执行其他任务(如加载下一个数据块),极大地提升了类似FlashAttention这类内核的效率。
内存与数据移动
GPU拥有一个深度的内存层次结构:从片外的HBM高带宽内存,到片上的L2缓存,再到每个SM内部的L1缓存/共享内存(SMEM),以及最新的张量内存(TMEM)。数据移动的方式也越来越高效:
- Ampere架构 (A100): 引入
cp.async指令,允许数据从HBM异步复制到SMEM,无需占用线程的寄存器。 - Hopper架构 (H100): 引入TMA(张量内存加速器),一个专用的DMA引擎。线程只需提交一个数据块的描述,TMA就能在后台完成所有地址计算和数据搬运,彻底解放了计算线程。
扩展方式
- 向上扩展 (Scale-up): 通过 NVLink 和 NVSwitch 将多达72个GPU(在NVL72系统中)连接成一个具有统一内存地址空间的“超级GPU”。任何GPU都可以直接读写其他GPU的内存,延迟极低。
- 向外扩展 (Scale-out): 通过 InfiniBand 或以太网将多个“超级GPU”节点连接成一个大规模集群。这种连接的带宽较低,延迟较高,用于数据并行或模型流水线并行。
软件生态
CUDA是NVIDIA最深的护城河。它不仅仅是一个编程语言,更是一个历经近二十年积累的庞大生态系统,包含了无数第三方开发的库、工具和优化内核。开发者对CUDA的熟悉以及NVIDIA嵌入到各大AI实验室的工程师支持,使得切换到其他平台的成本异常高昂。
Google TPU
TPU(张量处理单元)的设计哲学恰好与GPU相反:它不是一个通用的并行处理器,而是一个为矩阵乘法而生的专用机器。TPU放弃了硬件调度器、缓存和线程等通用组件,将所有调度任务都交给 XLA编译器 在运行前完成。省下的芯片面积全部用于堆砌更多的计算单元。
- 核心赌注 1:脉动阵列 (Systolic Array)。 矩阵乘法是核心,所以用硬件脉动阵列来最高效地执行它。数据在阵列中流动并复用,极大地减少了对内存的访问。
- 核心赌注 2:软件管理的内存。 放弃硬件缓存,所有片上内存(VMEM、CMEM)都是由编译器明确管理的暂存区,以实现可预测的性能。
- 核心赌注 3:编译器负责一切。 AI模型的计算图是静态的,因此可以在编译时就规划好每一个时钟周期、每一次内存访问,硬件只需忠实执行。
架构与计算
TPU的核心是TensorCore,它包含:
- MXU (Matrix Unit): 一个巨大的脉动阵列(如256x256),权重预先加载到阵列的计算单元中保持不动(权重固定),激活值则流过整个阵列。这种设计最大化了数据复用。
- VPU (Vector Processing Unit): 负责处理非矩阵运算,与MXU并行工作。
- Scalar Unit: 一个简单的控制单元,负责按顺序发出VLIW(超长指令字)指令包,驱动整个TensorCore。
扩展方式
TPU的扩展方式也与NVIDIA不同。它没有昂贵的交换机,而是通过直接互连的方式构建集群。
- 向上扩展 (Scale-up): 通过 ICI (Inter-chip Interconnect) 将数千个TPU芯片直接连接成一个2D或3D环面(Torus)网络。在软件层面,这数千个芯片可以被视为一个统一的计算设备。
- 光学电路交换机 (OCS): 在机柜之间,Google使用OCS来动态地重构环面网络的拓扑,以适应不同的工作负载或绕过故障芯片,这使得TPU Pod的规模可以达到近万个芯片。
软件生态
TPU的软件栈是编译器驱动的。开发者使用 JAX (或PyTorch/XLA) 编写模型,XLA编译器 负责将高级代码转换成最优的底层硬件指令。XLA会完成算子融合、内存分配、数据布局和多芯片任务分片等所有优化工作。
在GPU上,开发者编写内核;在TPU上,开发者编写数值程序,剩下的交给编译器。
AMD GPU
AMD Instinct GPU采取了与NVIDIA不同的策略。它没有在每个计算单元(CU)内部进行激进的创新,而是专注于封装技术和开放生态。AMD率先使用了小芯片(Chiplet)和3D堆叠技术,并在内存容量上持续领先,同时大力推动ROCm作为CUDA的开源替代品。
- 核心赌注 1:内存为王。 AI推理任务越来越受限于内存容量,所以每一代产品都在HBM容量上力求超越对手。
- 核心赌注 2:先进封装。 在其他人还在用单片设计时,率先采用3D堆叠技术,将多个计算和I/O小芯片集成在一个封装内,如MI300系列。
- 核心赌注 3:开放生态。 通过 ROCm 和 HIP 工具链提供与CUDA兼容的编程体验,并联合业界推动UALink(对标NVLink)和UEC(高性能以太网)等开放标准。
架构与扩展
AMD的计算单元(CU)设计相对保守,但通过先进封装技术将越来越多的CU集成在一起。MI300X通过3D堆叠技术将8个计算小芯片(XCD)和4个I/O小芯片(IOD)封装在一起,并集成了高达256 MB的Infinity Cache(一个巨大的片上末级缓存)。
在扩展方面,AMD的策略是:
- 向上扩展 (Scale-up): 通过Infinity Fabric将8个GPU连接成一个全互联的节点。未来将通过开放的UALink标准实现机柜级别的扩展。
- 向外扩展 (Scale-out): 完全押注于以太网,通过其收购的Pensando提供DPU和NIC,并推动Ultra Ethernet Consortium (UEC)标准。
软件生态
ROCm是AMD对抗CUDA的武器。它旨在提供一个开源、与CUDA语法兼容的软件平台。虽然在性能和成熟度上与CUDA仍有差距,但通过支持PyTorch、Triton等业界主流框架,AMD正在努力缩小这一差距。其策略是拥抱开源社区,而不是试图从零开始复制一个封闭的CUDA生态。
其他专用架构
Cerebras WSE
Cerebras采取了最激进的策略:不切割晶圆。其晶圆级引擎(WSE)是单个巨大的芯片,集成了近百万个小型计算核心和几十GB的片上SRAM。
- 理念: 通过消除芯片间的通信瓶颈来解决“内存墙”问题。所有内存都在片上,访问延迟只有一个时钟周期。
- 内存模型: 训练时,采用权重流式传输,即模型权重从外部存储(MemoryX)流过晶圆,而激活值则固定在片上SRAM中。这使得模型大小不受片上内存限制。
- 推理模型: 推理时,模型权重被固定在多个WSE系统的SRAM中,以实现极低的单用户解码延迟,这是其当前的核心卖点。
- 挑战: 极高的成本、有限的片上内存容量(SRAM密度已停止增长)以及封闭的软件生态。
AWS Trainium
作为云厂商自研芯片的代表,Trainium是一个务实的追随者。它借鉴了Google TPU的成功经验(脉动阵列、软件管理内存、XLA编译器),并将其与AWS自家的云基础设施(如Nitro网络)深度集成。
- 理念: 芯片只是云服务的一个组件。通过自研,可以在保证性能的同时,为AWS客户提供比商业芯片更优的性价比。
- 特色: 设计了专用的集合通信核心(CC-Cores),将all-reduce等通信操作从主计算单元上卸载下来,实现了计算与通信的硬件级并行。
- 生态: 完全集成在AWS生态内,通过Neuron SDK和对OpenXLA的支持,为PyTorch和JAX用户提供服务。
Groq LPU
Groq LPU(语言处理单元)的设计核心是确定性(Determinism)。它移除了所有可能导致性能波动的组件(如缓存、调度器),让编译器在运行前就精确计算出每个操作的执行时间。
- 理念: 性能应该是可预测、可重复的。通过静态调度整个芯片乃至整个集群,消除所有不确定性。
- 架构: 采用独特的“张量流处理器”设计,数据在不同的功能切片(矩阵单元、向量单元、内存单元)之间以固定的节奏流动。
- 内存与扩展: 完全依赖片上SRAM,这意味着单个芯片无法容纳大型模型。模型必须被分片到由数百个LPU组成的、通过其专用网络直接连接的集群上。
- 结局: 其技术和团队最终被NVIDIA以授权和招聘的形式吸收,成为NVIDIA产品线中一个专注于低延迟推理的补充。
架构对比总结
| 特性 | NVIDIA GPU (B200) | Google TPU (Ironwood) | AMD GPU (MI350X) | Cerebras WSE-3 | AWS Trainium 2 | Groq LPU |
|---|---|---|---|---|---|---|
| 设计哲学 | 可编程、通用并行 | 专用矩阵加速器 | 先进封装、开放生态 | 晶圆级、SRAM为王 | 云原生、快速跟随 | 确定性、静态调度 |
| 核心计算单元 | Tensor Core (异步) | Systolic Array (256x256) | Matrix Core (波前同步) | 90万个数据流核心 | Systolic Array (128x128) | MXM (320x320) |
| FP8算力 (稠密) | 4.5 PetaFLOPS | 4.6 PetaFLOPS | 10 PetaFLOPS | ~0.016 PetaFLOPS* | 1.3 PetaFLOPS | 0.75 PetaFLOPS |
| 内存类型/容量 | HBM3e / 192 GB | HBM / 192 GB | HBM3e / 288 GB | SRAM / 44 GB | HBM3 / 96 GB | SRAM / 230 MB |
| 内存带宽 | 8.0 TB/s | 4.4 TB/s | 8.0 TB/s | 21 PB/s (片上总和) | 4.9 TB/s | 80 TB/s (片上总和) |
| 向上扩展 (Scale-up) | NVLink (72-GPU机柜) | ICI Torus (9k+芯片Pod) | Infinity Fabric (8-GPU节点) | 晶圆本身 | NeuronLink (64-chip) | RealScale (千片级) |
| 软件生态 | CUDA (主导) | JAX / XLA (编译器驱动) | ROCm (开放追赶) | 封闭、编译器匹配 | Neuron SDK / XLA | 封闭、编译器驱动 |
- 算力趋同: 各主流厂商在单个芯片的峰值算力上差距不大。
- 内存容量: AMD凭借其封装优势,在HBM容量上持续保持领先。
- 扩展规模: NVIDIA在机柜级“向上扩展”方面领先,而Google TPU在“Pod级”的芯片数量上无人能及。
- 功耗增长: 旗舰芯片的功耗已普遍超过1000W,液冷成为必然选择。
- 激进派的权衡: Cerebras和Groq为了极致的带宽和延迟,牺牲了内存容量,这决定了它们必须通过大规模集群来运行大模型,并主要在低延迟推理这一细分市场竞争。