为什么会有 AI Infra
2012 年,AlexNet 在两块 GTX 580 上训练了大约六天。每块卡只有 3 GB 显存,装不下整个网络,于是作者手写了跨卡的通信代码,把网络按通道切成两半。
这在当时是一个工程细节,不是一个领域。
十三年后,训练一个前沿模型需要上万张加速器协同数月,机房的电力供应成为比芯片供应更硬的约束,一根光模块的误码能让整个集群慢 20%,而"每百万 token 多少钱"成了产品能否成立的前提。中间发生的事,就是 AI Infra 从"细节"变成"学科"的过程。
本章讲这个过程,以及它留下的四个约束——后面十一章都在这四个约束里打转。
第一次:从一块卡到一台机器(约 2012–2016)
Section titled “第一次:从一块卡到一台机器(约 2012–2016)”深度学习复兴的头几年,核心问题是"怎么用好一块 GPU"。
为什么是 GPU? 神经网络的主体运算是矩阵乘法——大量彼此独立的乘加。CPU 为低延迟的串行任务优化,有复杂的分支预测、乱序执行、大缓存,但只有几十个核心;GPU 为高吞吐的并行任务优化,砍掉这些复杂机制,换来数千个简单核心。对矩阵乘这类"算术密度高、分支少、数据规整"的负载,GPU 的吞吐能高出一到两个数量级。
CUDA(2006 年发布)让通用计算成为可能,cuDNN(2014)把卷积、池化、归一化等标准算子做到接近硬件极限。这一阶段的关键词是算子优化:把单个 kernel 写快。
同时出现了第一批分布式训练系统:Google 的 DistBelief(2012)、参数服务器架构(Li et al., 2014)。它们主要服务两类负载——大规模稀疏模型(广告点击率预估)和 CNN 的数据并行。
第二次:从一台机器到一个集群(约 2017–2021)
Section titled “第二次:从一台机器到一个集群(约 2017–2021)”Transformer(2017)改变了模型的形状。它几乎全部由稠密矩阵乘构成,参数量可以随层数和宽度自由堆叠,且堆叠确实带来效果提升——这就打开了"往大了做"的正反馈。
BERT-Large(2018,340M 参数)还能在单机八卡上训完,GPT-3(2020,175B)就必须切到几千张卡上。"模型放不进一张卡"从例外变成常态,于是并行策略成了必修课。
这一阶段诞生了今天仍在用的核心工具:
| 年份 | 工作 | 解决什么问题 |
|---|---|---|
| 2017 | Volta / Tensor Core | 专用矩阵乘单元,半精度吞吐提升一个数量级 |
| 2018 | 混合精度训练成熟 | 用 FP16 算、FP32 存,省显存省带宽 |
| 2019 | Megatron-LM | 张量并行:在单个算子内部切矩阵 |
| 2019 | GPipe / PipeDream | 流水线并行:按层切,并处理由此产生的空闲 |
| 2020 | ZeRO | 把冗余的优化器状态、梯度、参数分片存储 |
| 2020 | NCCL 成熟 | 集合通信的事实标准 |
关键词从算子优化变成并行策略。工程师要回答的问题不再是"这个 kernel 能不能更快",而是"这个模型该怎么切、切完通信量是多少、能不能和计算重叠"。
第三次:从算力约束到系统约束(约 2022 至今)
Section titled “第三次:从算力约束到系统约束(约 2022 至今)”模型继续变大,但瓶颈换了位置。四件事同时发生:
内存墙。 算力的增长速度持续快于带宽的增长速度。结果是越来越多的算子不再受限于"能算多快",而是受限于"数据搬得多快"。FlashAttention(2022)是这个转变的标志性工作——它的加速完全来自减少显存读写,一个浮点运算都没有省。这类"不改变数学、只改变数据流动"的优化,此后成为主流。
推理成本主导。 模型训练一次,推理无数次。当一个模型每天服务数十亿次请求,推理侧 1% 的成本优化就超过训练侧 50% 的优化。vLLM 的 PagedAttention(2023)把显存碎片消除、吞吐提升数倍,这类工作的经济价值超过多数训练侧改进。
可靠性成为一等问题。 万卡集群的平均无故障时间以小时计。一个训练作业跑两个月,中间必然遇到几十次硬件故障。于是"有效训练时间占比"成了比峰值性能更重要的指标——一个跑得慢但从不掉链子的集群,实际产出可能高于一个跑得快但天天挂的集群。
电力成为硬约束。 单卡功耗从 300 W 走向 1000 W 以上,单机柜从 10 kW 走向 100 kW 以上,风冷让位于液冷。很多地方买得到卡,但供不上电、散不掉热。这是唯一一个软件解决不了的约束。
关键词变成端到端效率:不是某一层快,而是从数据到美元的整条链路不浪费。
算力需求的增长速度
Section titled “算力需求的增长速度”这个领域被推着走的根本原因,是训练算力的增长速度远超硬件本身的进步:
| 里程碑 | 年份 | 训练算力(约) | 硬件规模(约) |
|---|---|---|---|
| AlexNet | 2012 | 2 块 GTX 580,6 天 | |
| ResNet-50 | 2015 | 8 卡,数天 | |
| BERT-Large | 2018 | 64 TPU,4 天 | |
| GPT-3 175B | 2020 | 约万卡·天量级 | |
| PaLM 540B | 2022 | 6144 TPU v4,约 2 个月 | |
| Llama 3 405B | 2024 | 16384 张 H100,约 2 个月 |
从 AlexNet 到 Llama 3,训练算力增长了约八个数量级。同期单卡算力(同精度、稠密)大约增长了两个半数量级。
差出来的五个半数量级,全部由系统工程填补——更多的卡、更好的并行策略、更高的利用率、更低的数值精度、更少的浪费。
这就是这个领域存在的理由:硬件给不了的,系统得想办法给。
今天做 AI Infra,实质是在四个约束下求解。
峰值算力是上限,但实际拿到多少取决于利用率。一个千卡训练如果只发挥出四成算力,意味着六成的钱打了水漂。利用率的损失来自哪里——通信没藏住、数据供不上、算子写得差、并行策略选错——是全书最主要的话题。
两层含义,都很硬:
- 容量决定"放不放得下"。一个 70B 参数的模型,训练时光是模型状态就要 1.1 TB,远超单卡的 80–192 GB。
- 带宽决定"跑多快"。当一个算子的运算量相对于它要搬的数据太少时,加速器大部分时间在等数据。
容量靠分片和卸载解决,带宽靠融合和降精度缓解。第三、四章会把这两件事量化。
模型切得越细,卡与卡之间要交换的数据越多。而通信带宽的层级落差巨大——同一台机器内部的卡间带宽,可以比跨机器高一个数量级。
于是并行策略的设计本质上是一个权衡:切得细省显存但通信重,切得粗通信轻但放不下。第六章讲通信的代价模型,第十章讲怎么权衡。
这是唯一一个不能靠软件解决的约束。它决定了:
- 单机柜能放多少卡(功率密度)
- 集群规模的物理上限(园区供电能力)
- 为什么先进液冷机房把 PUE 做到 1.1 以下是件大事(同样的电,多出近两成给计算)
- 为什么很多"有卡"的地方仍然建不成集群
四个约束互相耦合
Section titled “四个约束互相耦合”这才是难的地方:
- 降低数值精度同时缓解算力、内存、通信三项——但可能损害模型质量。
- 增加并行度缓解内存——但加重通信。
- 提高功耗上限换取性能——但撞散热墙,且能效未必更好。
- 增大批量提高算力利用率——但增加内存占用,且可能影响收敛。
AI Infra 的工作就是在这个四维空间里找可行解,而不是在任何单一维度上求最优。
这个岗位在做什么
Section titled “这个岗位在做什么”一句话:让上层的人不必关心下层的细节,而在必须关心时,替他们关心。
具体分三类:
| 类型 | 做什么 | 典型产出 | 什么时候最值钱 |
|---|---|---|---|
| 让它跑起来 | 环境、驱动、框架、集群搭建、打通链路 | 一个能用的训练/推理平台 | 从 0 到 1 时 |
| 让它跑得快 | 并行策略、内核优化、通信调优、数据管道 | 利用率从两成到四成 | 百卡到千卡规模 |
| 让它一直跑 | 故障检测、检查点、弹性、监控、容量规划 | 有效时间占比从七成到九成五 | 千卡以上规模 |
三类工作的相对价值随集群规模变化。小规模时第二类回报最高;万卡规模时第三类反而更值钱——因为在那个规模上,"不挂"比"快"稀缺得多。
与相邻领域的边界
Section titled “与相邻领域的边界”与算法/建模:算法决定要算什么,Infra 决定怎么算得快、算得省。边界经常模糊——FlashAttention 是算法还是系统?MoE 是模型设计还是并行策略?量化是压缩方法还是工程手段?这些交叉地带往往收益最大,也最需要两边都懂的人。
与传统 HPC:共享大量工具(MPI、InfiniBand、Slurm、拓扑感知调度)与思路(强扩展、通信避免、roofline 分析)。差别在于 HPC 多用双精度、紧耦合、问题规模固定;AI 多用低精度、可容忍一定异步、规模可变。从 HPC 转过来的人上手最快,缺的主要是框架与生态。
与云计算/SRE:共享容器、调度、可观测性、SLO 这套方法论。差别在于 AI 负载的资源粒度粗(整卡起步)、作业是全有或全无的、状态巨大(TB 级检查点)、且对拓扑敏感。
从这三个方向转过来的人,缺的东西各不相同:
| 背景 | 通常缺 | 建议重点读 |
|---|---|---|
| 算法 / 建模 | 硬件与网络直觉 | 第 3、6 章,第二、三卷 |
| HPC | 框架、生态、低精度 | 第 5、12 章,第四、五卷 |
| 云原生 / SRE | 加速器、数值、并行 | 第 3、5、10 章,第二、四卷 |
| 后端 / 一般软件 | 以上全部 | 顺序读完本卷 |
三个常见误解
Section titled “三个常见误解”"AI Infra 就是运维 GPU 集群。" 运维是其中一部分,但核心工作是性能工程与系统设计。判断标准很简单:一个纯运维岗不需要知道 是什么,而 AI Infra 需要天天算这个(第十一章)。
"只要买最强的卡就行。" 软件栈成熟度往往比峰值算力更决定实际吞吐。一块峰值高但算子覆盖不全、通信库不成熟的卡,实际产出可能只有标称的零头。
"大模型是全部。" 按集群规模与营收贡献计,推荐/广告系统在多数大型互联网公司长期是最大的 AI 负载,只是它不上新闻。第八章会讲清它与大模型在系统层面的根本差异。
- 三次转折:算子优化(2012–2016)→ 并行策略(2017–2021)→ 端到端效率与可靠性(2022–)。
- 训练算力十三年增长约八个数量级,单卡算力只增长约两个半——差额五个半数量级由系统工程填补。
- 四个约束:算力、内存(容量 + 带宽)、通信、电力散热;它们互相耦合,只能求可行解不能求单项最优。
- 三类工作:让它跑起来、跑得快、一直跑;集群越大,第三类越值钱。
- 参数服务器至今仍是推荐系统主流;别把大模型的经验当作全部。