AI Silicon的诞生:从通用CPU到专用加速器
第 1 章 AI Silicon 的诞生:从通用 CPU 到专用加速器
深度学习对算力的需求,并不是过去四十年 CPU 性能自然演进所能承受的平稳增长曲线,而是一条在过去十年里以每年 4–10 倍斜率向上攀升的指数函数。这条曲线撞上的是 2005 年以后半导体行业三面已经合拢的墙:Dennard 缩放终结、功耗墙抬升、单核主频天花板回落。这三面墙意味着,仅靠"等下一代工艺"已经无法再获得免费的性能增益,行业必须从体系结构层面寻找新的杠杆——这就是 Domain-Specific Architecture(领域专用架构,DSA)的现实起点。本章将沿着物理、工作负载、体系结构、商业四个维度,回答一个看似简单却决定整个行业走向的问题:AI 芯片为何必须从通用 CPU/GPU 迈向专用加速器?
---
1.1 物理墙的合拢:摩尔定律放缓与 Dennard 缩放终结的量化证据
1.1.1 "免费午餐"的终结
1986 年到 2005 年的二十年间,半导体行业享受着一组近乎完美的协同缩放关系:晶体管尺寸每代缩小约 30%,单管数量翻倍,单管功耗下降约 30%,单管性能提升约 40%。这三者合在一起意味着——每瓦特可获得的性能以每年约 1.5× 的速度指数提升。这就是所谓 Dennard 缩放,它使得 CPU 主频从 1985 年的 16 MHz 一路飙升至 2005 年的接近 4 GHz,单线程性能几乎自动随着工艺节点前进。
转折点出现在 90 nm 节点附近。当栅氧厚度逼近 1.2 nm 的物理极限、漏电流随阈值电压下降而指数上升时,单位面积功耗不再随工艺线性下降。Mark Horowitz 在 2011 年 ISSCC 的开创性 plenary talk 中给出了一组后来被反复引用的数据:每代晶体管数继续翻倍,但每瓦特性能提升从 1986–2005 年的 1.5×/年骤降至 2005 年以后的约 1.2×/年。这意味着,工艺节点仍能堆出更多晶体管,但这些晶体管再也无法靠"自动提速"来使用——它们必须被组织成并行结构,否则只能以更低的主频运行。
1.1.2 功耗墙与暗硅
功耗墙(Power Wall)的物理表达可以写为:
$$P = \alpha \cdot C \cdot V^2 \cdot f$$
其中 $\alpha$ 是翻转活动因子,$C$ 是负载电容,$V$ 是供电电压,$f$ 是频率。在 Dennard 缩放时代,$V$ 与 $C$ 同时下降使得 $f$ 可以上升而 $P$ 不变。但当 $V$ 不能再按比例下降而只能以亚线性方式下降时:
$$f \propto \frac{(V - V_{th})^{\alpha}}{V}$$
上式表明,达到额定功耗预算 $P_{\max}$ 时,$f_{\max}$ 不再随工艺前进。这就是 Intel 在 2004 年取消 4 GHz 计划、在 2005 年推出多核架构 Core Duo 的根本原因。
更深一层的推论是 Dark Silicon:在给定功耗预算下,一颗 22 nm 处理器在 22 nm 节点只能点亮 50% 的晶体管,到了 8 nm 节点这个比例下降到 25% 以下(Esmaeilzadeh et al., ISCA 2011)。这意味着每代工艺"多出来"的晶体管,在不改变体系结构的前提下,只能被关掉。要让它们工作,必须从"通用标量"切换到"领域专用并行"。
1.1.3 Moore 定律的延续与速度差异
值得注意的是,Moore 定律(晶体管数量翻倍)本身并未在 2005 年停止——2 nm 节点仍能堆出超过 1000 亿晶体管。但是:
- **晶体管密度**:2 nm GAA 相对 28 nm 提升约 32×。
- **每瓦性能**:2 nm 相对 28 nm 提升约 4–5×。
- **单线程性能**:2 nm 相对 28 nm 提升约 3–4×。
- **峰值 FLOP/s/W(HPC 视角)**:2 nm 相对 28 nm 提升约 8–10×。
密度红利与能效红利已经显著解耦。这给体系结构设计师留下了一个巨大的"密度 vs 效率"鸿沟需要弥合。GPU/CPU 是这种解耦的受害者——它们的标量/SIMT 单元无法消化新增的晶体管预算;而 DSA 是受益者——它可以将新增晶体管全部投入并行乘加单元、片上存储、专用数据通路。
> 判断标准:当工艺节点进步带来的密度红利约为能效红利的 5–8 倍时,就进入了 DSA 设计的"经济甜区"。AI 工作负载恰好落在这个甜区里。
---
1.2 工作负载革命:AI 算术强度与 Roofline 模型
1.2.1 算术强度(Arithmetic Intensity)
AI 工作负载的根本特征是极高的算术强度。定义算术强度 $I_A$ 为:
$$I_A = \frac{\text{FLOPs}}{\text{Bytes Moved (主存层面)}}$$
传统 HPC 标量代码 $I_A \approx 1\text{–}10$ FLOP/Byte;科学计算中的 stencil 与 FFT $I_A \approx 10\text{–}50$;线性代数核函数如稠密矩阵乘法 $I_A \approx 100\text{–}200$。而深度学习的核心核函数——GEMM(General Matrix Multiply)、卷积、自注意力——其 $I_A$ 在大 batch / 长序列情形下可以达到 $I_A > 200$ FLOP/Byte,FP8 GEMM 甚至可达 $I_A > 400$。
这就是 Roofline 模型(Williams, Waterman, Patterson, CACM 2009)的现实意义。在以内存带宽为横轴、算力为纵轴的 Roofline 图上:
$$\text{Achieved FLOP/s} = \min\left( \pi, I_A \cdot \beta \right)$$
其中 $\pi$ 是峰值算力,$\beta$ 是内存带宽。当 $I_A > \pi / \beta$(machine balance)时,应用进入 compute-bound 区域;否则进入 memory-bound 区域。NVIDIA A100 的 $\pi / \beta \approx 312 / 2 = 156$ FLOP/Byte,H100 为 $989 / 3.35 \approx 295$ FLOP/Byte,Google TPU v5p 估算约 $459 / 2.76 \approx 166$ FLOP/Byte。AI 训练在大 batch 训练 transformer 时几乎总是 compute-bound,这意味着设计师的优化重点不在内存子系统,而在乘加阵列的吞吐与利用率。
1.2.2 GEMM 与 Attention 的复杂度结构
具体来看 transformer 自注意力机制:
$$\text{Attention}(Q, K, V) = \text{softmax}\left(\frac{QK^T}{\sqrt{d_k}}\right)V$$
- 投影 $Q, K, V$:3 个 GEMM,每个 $2 \cdot B \cdot N \cdot d^2$ FLOPs。
- $QK^T$:$2 \cdot B \cdot N^2 \cdot d$ FLOPs。
- 与 $V$ 相乘:$2 \cdot B \cdot N^2 \cdot d$ FLOPs。
- 前馈 FFN:$2 \cdot B \cdot N \cdot d \cdot d_{ff}$(典型 $d_{ff} = 4d$)。
当序列长度 $N \gg d$ 时(例如 $N = 8192, d = 128$),注意力计算从二次方增长开始主导整体 FLOPs。这与 GEMM 不同——GEMM 是天然的规则计算,attention 引入了 softmax 这一非线性算子和 causal mask 的稀疏化倾向,给 DSA 提供了不同于纯 GEMM 加速器的优化机会(如 FlashAttention 的 SRAM 复用)。
1.2.3 训练 vs 推理的算术强度差异
训练阶段的反向传播需要保存中间激活,内存带宽压力骤增,$I_A$ 显著降低;推理阶段(特别是自回归生成)则受限于单个 token 的访存模式,$I_A$ 在 decode 阶段可能跌到 1–10 FLOP/Byte,完全 memory-bound。这一差异解释了为什么 NVIDIA 在 H100 中加入 FP8 训练专用路径、为什么 Groq 与 Cerebras 等推理 DSA 选择不同的内存策略。
---
1.3 架构范式转折:从 SIMD/SIMT/MIMD 到 DSA
1.3.1 通用并行架构的谱系
回顾过去四十年的并行架构选择:
| 架构范式 | 代表 | 优点 | 在 AI 时代的局限 | |---------|------|------|----------------| | SIMD(Single Instruction Multiple Data) | Cray-1 向量单元、SSE/AVX | 高效处理规则数组 | 难表达条件分支与不规则访存 | | SIMT(Single Instruction Multiple Threads) | NVIDIA GPU、Huawei Ascend | 程序员友好(线程级并行 + 标量代码) | warp/wavefront 内分支分歧带来利用率损失 | | MIMD(Multiple Instruction Multiple Data) | 多核 CPU、Cerebras WSE | 灵活 | 控制开销大,单核效率低 | | DSA | TPU、Tesla Dojo、Trainium | 数据流特化、利用率 70%+ | 通用性差、IC 设计成本高 |
2012 年 AlexNet 在 ImageNet 上以 10.8% top-5 error 击败传统手工特征路线后,业界用 2 块 GTX 580(共 6 GFLOP/s FP32)完成了 5–6 天的训练。当时 GPU 的崛起并不是因为它"最适合作 AI",而是因为深度卷积恰好是规则、密集、高并行、可被 SIMT 高效表达的 GEMM-like 算子,CUDA 又恰好提供了相对成熟的开发环境。SIMT 是 GPU 时代的过渡形态,不是终态。
1.3.2 TPU 脉动阵列:第一个大规模 DSA 的工程范本
Google TPU v1(2016 年公开发表,2015 年内部部署)是一个标志性事件。它的核心 MXU(Matrix Multiply Unit)采用 256×256 脉动阵列(systolic array),按 8-bit 整数计算峰值可达 92 TOPS。一个脉动阵列周期内,数据在相邻 PE(Processing Element)之间流动,每个 PE 完成一次乘加后即把部分和沿对角方向传递给下一级,从根本上消除寄存器写回和访存次数。
脉动阵列的理论意义在于:当矩阵规模 $M, N, K$ 都很大时,数组利用率可以无限接近 100%(实际 TPU v2/v3 的 MXU 利用率在生产 transformer 训练中稳定在 60–75%),而 GPU 在大 GEMM 上常常因 warp 调度与 L2 争用掉到 40–55%。
TPU 的核心 DSA 原则后来被广泛继承:
1. 将片上 SRAM 视为稀缺资源:TPU v1/v2 单芯片 SRAM 约 28–32 MiB,权重与激活驻留片上,避免 HBM 往返。 2. 以高维张量为操作粒度:BFloat16 的 $128 \times 128$ 矩阵乘作为 ISA 一级指令。 3. 让数据流动代替指令调度:脉动阵列本质上是空间数据流,编译器决定路由。 4. 将控制平面与数据平面解耦:TPU v1 的 host CPU 仅负责数据分发,所有算子执行完全在芯片上。
这四项原则构成了 AI DSA 的设计语法。后续的 Trainium、Tesla Dojo、华为 Ascend、Tenstorrent Grayskull 在不同维度上做出了变体。
1.3.3 为什么 SIMT 不够
从硬件工程角度,SIMT 的代价是:每个 warp 32 个 lane 在每个周期必须执行相同指令,意味着控制流必须对齐;硬件需要 per-lane 谓词寄存器和分歧同步机制;寄存器文件按 per-lane 组织,规模随 lane 数线性扩张。当工作负载是稀疏 attention、MoE 路由、动态 shape 的推理任务时,SIMT 的利用率会显著恶化。
DSA 的回应是:放弃 ISA 通用性,换取数据流利用率的确定性。代价是 NRE 成本与软件生态从零搭建——这正是 Silicon Economics 必须讨论的问题。
---
1.4 三套战略起源:NVIDIA、Google、Huawei 的路径分化
1.4.1 NVIDIA:CUDA 护城河与 CUDA-X 生态
NVIDIA 的 GPU 并不是为 AI 而生,CUDA 也不是为 AI 而设计——CUDA 首发于 2006 年,最初面向科学计算。但 NVIDIA 在 2012–2016 年间做出了三组决定:
1. 深度绑定 cuDNN:把 GEMM、卷积、attention 的最优实现以库形式发布,绕过 ISA 通用性的局限。 2. Tensor Core 化:2017 年 Volta 引入第一代 Tensor Core,矩阵乘成为 ISA 一级指令。Hopper 进一步引入 FP8、Transformer Engine、DPX 指令。 3. NVLink + NVSwitch:把"多卡通信"作为头等公民,把单卡峰值 FLOPs 让位给集群级 scaling。
结果是 NVIDIA 形成了一个由 硬件(DSA-like tensor 单元)+ 系统(NVLink/NVSwitch/InfiniBand)+ 软件(CUDA + cuDNN + NCCL + TensorRT) 构成的护城河。Hopper 时代的 H100 SXM 单卡峰值 989 TFLOPS(FP8 sparse 1979 TFLOPS),但真正决定 LLM 训练成本的并非单卡,而是 800 张 H100 通过 NVLink + IB 互联后能达到的 cluster-level MFU(Model FLOPs Utilization)。
1.4.2 Google:自有工作负载驱动的 ASIC 路径
Google 的 TPU 路线源于内部搜索、Translate、Photos、YouTube 推荐系统的训练与推理体量。2013 年 Google 内部深度学习工作负载已经超过通用 CPU 数据中心的承载极限,而 NVIDIA GPU 的供应与价格无法满足 TCO(Total Cost of Ownership)要求。TPU v1 是 Google 第一代内部 ASIC,部署规模数千片,2018 年 TPU v2 进入 Cloud TPU 商业化,2023 年 TPU v5p 与 Trillium 形成完整代际。
Google TPU 的战略逻辑与 NVIDIA 完全不同:
- **芯片-网络-数据中心协同设计**:每代 TPU 都与 Google 自研 ICI(Inter-Chip Interconnect)、OCS(Optical Circuit Switch)、Borg 调度系统共同发布。
- **Pod 规模优先**:TPU v4 pod 包含 4096 颗芯片,v5p pod 达 8960 颗;这一规模显著高于 GPU 集群。
- **软件栈与硬件解耦**:JAX/XLA/TF 编译栈将 Google 工作负载直接编译到 TPU,绕过 CUDA 生态。
1.4.3 Huawei Ascend:算力国产化驱动
Huawei 昇腾(Ascend)910 系列从 2018 年发布到 2024 年的 910B/910C,进入了一个完全不同的战略环境:受美国出口管制约束,先进制程代工与 HBM 采购受限。Ascend 910B 采用了 7 nm 中芯国际 SMIC N+2 工艺,单卡 FP16 算力约 376 TFLOPS;910C 据公开供应链信息采用双 die 封装 + 国产 HBM,目标对标 H100。
Ascend 的战略逻辑可总结为三点:
1. 软硬件全栈替代:CANN(Compute Architecture for Neural Networks)替代 CUDA,MindSpore 替代 PyTorch,硬件 + 软件 + 框架三层同步替代。 2. Da Vinci 架构专注重计算:达芬奇架构的核心是 3D Cube 引擎,专为大矩阵乘设计;与 SIMT 路径相对独立。 3. 超节点互联:910C 通过 HCCS(Huawei Cache Coherent System)与天成互联协议构建 384 卡超节点。
> 三条路径的对比:NVIDIA 是"软件驱动硬件",Google 是"工作负载驱动硬件",Huawei 是"地缘政治驱动硬件"。三者殊途同归地指向了同一个结论——专用化不可逆。
---
1.5 Silicon Economics:先进制程的设计成本曲线
1.5.1 单芯片 NRE 成本
一颗 5 nm AI 加速器从 RTL 到 tape-out 的 NRE(Non-Recurring Engineering)成本,按公开行业数据估算:
| 工艺节点 | 大致年份 | 单芯片 NRE 估算 | mask set 成本 | |---------|---------|----------------|--------------| | 28 nm | 2011 | ~$30–50M | $1–2M | | 16 nm | 2015 | ~$80–120M | $5–8M | | 7 nm | 2019 | ~$200–300M | $20–25M | | 5 nm | 2022 | ~$400–600M | $30–50M | | 3 nm | 2024 | ~$700M–1B+ | $50–80M |
NVIDIA H100(Hopper,4 nm TSMC)的总设计成本业界估算在 $1.5–2B 区间,Blackwell B100/B200 进一步突破 $2B。这种成本结构意味着:
- **只有