系统假设

系统假设

粗略估算的可信度取决于其所依据的输入,而这些输入很容易被忽略:加速器的峰值速率、模型的参数量、电价,以及每次运算的能耗。本附录将这些基准值和单位约定汇集为一份参考表,以便对本书中的任何定量估算进行核查、使用较新的数值进行更新,或跨章节进行校验。本附录还明确了这些估算所依赖的单位约定。这样,各章便可依据数值展开论证,而无须反复说明每个数值的来源。

如何使用本附录

当某一章指出 H100 具有某个脊点,或训练一个 7B 模型需要一定的内存容量时,其所依据的带宽、容量和模型规模均列于此处。局部估算可使用相关的“数值”和“单位”条目。各表按主题分组:加速器、参考模型、单次访问能耗、互连带宽、经济因素、生产规模基准,以及单位约定。这些假设来自厂商数据手册中的峰值、已发表的研究或行业报告、用于说明的市场或电网统计数据,以及本书的约定;section 1.1 集中列出了这些来源。

下面的计算展示了哪些假设对各项估算起主导作用,因此,当硬件规格或价格发生变化时,可以直接将变化代入计算,而无须改变方法。

本附录中的常量支持快速且可复现的计算。下面三个示例分别将其用于性能、容量和成本估算。

Napkin Math 1.1: 判定 Roofline 模型中的受限区间
问题: 对于给定的 H100 和工作负载算术强度,哪些操作受计算限制,哪些操作受内存限制?

变量: 对于处于 FP16/BF16 峰值性能下的 H100,采用 989 TFLOP/s 的峰值算力和 3.35 TB/s 的内存带宽。

计算: 将峰值 FLOP/s 除以内存带宽,得到 Roofline 模型的脊点:989 TFLOP/s/3.35 TB/s \(\approx\) 295.2 FLOP/byte。对于 \(n=\) 4,096 的大规模通用矩阵乘法(GEMM),其算术强度为 \(n/3 \approx\) 1,365.3 FLOP/byte。

结果: 算术强度高于 295.2 FLOP/byte 的操作受计算限制;低于该值的操作受内存限制。此处的 GEMM 示例受计算限制,而算术强度为 \(\approx 1\) FLOP/byte 的单词元自回归解码则严重受内存限制。

系统启示: 同一加速器可以同时具有充裕的算力和受限的内存资源。算术强度决定了工作负载实际消耗哪种资源。

吞吐量只是约束之一。训练还需要足够的容量来容纳权重、梯度和优化器状态。

Napkin Math 1.2: 估算训练状态的内存需求
问题: 使用混合精度自适应矩估计(Adam)训练一个 7B 模型,需要多少模型状态内存?

变量: 混合精度 Adam 存储 BF16 权重、梯度、FP32 主权重、动量和方差。模型状态的内存预算为每个参数 16 字节。

计算: 对于 7B 个参数,模型状态占用为 7 \(\times 10^9 \times\) 16 字节 = 112 GB。

结果: 一块 H100 配备 80 GB 的高带宽内存(HBM),因此,即使尚未计入激活值,仅模型状态就已超出单个加速器的容量。

系统启示: 优化器状态决定了训练内存需求的下限,而不能只看权重。仅从参数所占字节数出发进行容量规划,会低估实际需求。

模型能够装入内存,只能说明其具备可行性,尚不能确定运行成本。功率和运行时长提供了初步估算电费所需的其余量。

Napkin Math 1.3: 估算加速器电费
问题: 在本书为说明而设定的 GPT-3 规模场景中,仅加速器的电费是多少?

变量: 采用 1,024 块 A100,每个加速器的功率为 400 W,实际运行时长为 ~25 days,电价为 $0.12/kWh。

计算: 此次运行大约需要 \(3.14 \times 10^{23}\) FLOPs。按 A100 等效场景估算的电费为 ~25 days 的实际运行时长 \(\times\) 1,024 块 A100 \(\times\) 24 h/day \(\times\) 0.4 kW \(\times\) $0.12/kWh = ~$29,491.2。

结果: 仅加速器的电费约为 ~$29,491.2。这一仅依据加速器热设计功耗(TDP)的估算不包括主机 CPU、网络、存储、冷却和设施开销。最初的 GPT-3 训练使用的是 V100 时代的基础设施;这里采用的是本书为说明而设定的 A100 等效场景,并非已报告的配置,其运行时长也并非仅由峰值 FLOP/s 推导而来。

系统启示: 能耗可由功率和时间计算,但完整的成本核算还必须包括资本利用率、网络、存储、人员,以及失败或重复运行所产生的成本。

加速器规格

以下是本书 Roofline 模型、训练内存、能耗和成本示例所使用的加速器假设:各章所引用的每代加速器的峰值吞吐量、内存带宽、内存容量和 TDP。这些数值是厂商数据手册中的峰值——即粗略估算所用的上限,并非持续运行时的利用水平——来源包括 NVIDIA 产品文档和 IEEE Micro 架构文章 (NVIDIA Corporation 2017, 2020b, 2020a, 2021, 2018, 2024; Choquette et al. 2021; Choquette 2023)、AMD MI300X 文档 (AMD 2023)、Google 张量处理单元(TPU)相关出版物 (Jouppi et al. 2023),以及 Google Cloud 当前的 TPU v6e 规格页面 (Google Cloud 2026)。容量行保留了官方以十进制 GB 标示的标称值。各表从 table 2(Volta)和 table 3(Turing)开始,依次涵盖当前及面向未来的各代产品。

加速器规格总矩阵

table 1 中的加速器总矩阵汇总了主要 GPU、TPU、晶圆级加速器和领域专用 AI 加速器的规格。

Table 1: 加速器规格总矩阵:综合参考矩阵,对比生产环境 AI 硬件的架构、工艺节点、TDP、多精度计算吞吐量(FP64 至 INT8)、内存容量与带宽、片上 SRAM 容量,以及 FP16 Roofline 脊点(\(I_{\text{ridge}} = \text{Peak FP16 TFLOP/s}/\text{Memory Bandwidth (TB/s)}\))。
架构/芯片 工艺节点(nm) TDP(W) 计算峰值 TFLOPs/TOPS 内存容量与带宽 片上 SRAM \(I_{\text{ridge}}\)(FLOP/B)
NVIDIA V100 (SXM2 32 GB) 12nm (TSMC) 300 FP64: 7.8, FP32: 15.7, FP16: 125 (TC), INT8: 125 (TC) 32 GB HBM2 @ 0.90 TB/s 16 MB 138.9
NVIDIA A100 (80 GB SXM4) 7nm N7 (TSMC) 400 FP64: 9.7/19.5, FP32: 19.5, TF32: 156, FP16/BF16: 312, INT8: 624 80 GB HBM2e @ 2.04 TB/s 40 MB 153.0
NVIDIA H100 (80 GB SXM5) 4nm 4N (TSMC) 700 FP64: 34/67, FP32: 67, TF32: 494, FP16/BF16: 989, FP8: 1,978, INT8: 1,978 80 GB HBM3 @ 3.35 TB/s 50 MB 295.2
NVIDIA H200 (141 GB SXM5) 4nm 4N (TSMC) 700 FP64: 34/67, FP32: 67, TF32: 494, FP16/BF16: 989, FP8: 1,978, INT8: 1,978 141 GB HBM3e @ 4.80 TB/s 50 MB 206.0
NVIDIA B200 (192 GB SXM) 4nm 4NP (TSMC) 1000 FP64: 45/90, FP32: 90, TF32: 1,250, FP16/BF16: 2,250, FP8: 4,500, INT8: 4,500 192 GB HBM3e @ 8.00 TB/s 128 MB 281.3
NVIDIA L40S (48 GB PCIe) 4nm 4N (TSMC) 350 FP64: 1.4, FP32: 91.6, TF32: 183, FP16/BF16: 366, FP8: 733, INT8: 733 48 GB GDDR6 @ 0.86 TB/s 96 MB 423.6
Google TPU v1 28nm (TSMC) 75 INT8: 92 TOPS(浮点格式不适用) 8 GB DDR3 @ 0.034 TB/s 28 MB 不适用(2,705.9 INT8)
Google TPU v2 16nm (TSMC) 280(板卡) BF16/FP16: 45 TFLOPs 16 GB HBM @ 0.60 TB/s 32 MB 75.0
Google TPU v3 16nm (TSMC) 450(板卡) BF16/FP16: 123 TFLOPs 32 GB HBM2 @ 0.90 TB/s 32 MB 136.7
Google TPU v4 7nm N7 (TSMC) 170 BF16/FP16: 275, FP32: 275, INT8: 275 32 GB HBM2 @ 1.20 TB/s 48 MB 229.2
Google TPU v5e 7nm N7 (TSMC) 140 BF16/FP16: 197, FP8: 394, INT8: 394 16 GB HBM2e @ 0.82 TB/s 32 MB 240.5
Google TPU v5p 4nm 4N (TSMC) 450 BF16/FP16: 459, FP8: 918, INT8: 918 95 GB HBM3 @ 2.76 TB/s 96 MB 166.3
Google TPU v6e (Trillium) 4nm 4N (TSMC) 400 BF16/FP16: 926, FP8: 1,852, INT8: 1,852 32 GB HBM3 @ 1.64 TB/s 64 MB 564.6
Cerebras WSE-3 5nm N5 (TSMC) 23,000 FP16/BF16: 125,000, FP8: 250,000, INT8: 250,000 44,000 GB SRAM @ 21,000 TB/s 44,000 MB 5.95
AMD Instinct MI300X 5nm+6nm 3D 750 FP64: 163.4, FP32: 163.4, TF32: 653.7, FP16/BF16: 1,307.4, FP8: 2,614.9 192 GB HBM3 @ 5.30 TB/s 256 MB 246.7
Intel Habana Gaudi 2 7nm N7 (TSMC) 600 FP32: 38.5, TF32: 154, FP16/BF16: 307, FP8: 614, INT8: 614 96 GB HBM2e @ 2.45 TB/s 48 MB 125.3
Intel Habana Gaudi 3 5nm N5 (TSMC) 900 FP32: 115, TF32: 460, FP16/BF16: 1,835, FP8: 3,670, INT8: 3,670 128 GB HBM3e @ 3.70 TB/s 96 MB 495.9

NVIDIA V100

Table 2: NVIDIA V100(Volta):峰值规格来自 NVIDIA 的架构白皮书和产品数据表 (NVIDIA Corporation 2017, 2020b)。V100 引入了用于混合精度训练的 Tensor Core,并作为基准代际比较的参照。
NVIDIA Corporation. 2020b. NVIDIA V100 Tensor Core GPU Datasheet. NVIDIA product documentation.
假设 数值 单位
峰值 FP16 张量吞吐量(V100) 125 TFLOP/s
峰值 FP32 吞吐量(V100) 15.7 TFLOP/s
HBM 带宽(V100) 900 GB/s
HBM 容量(V100) 32 GB
TDP(V100) 300 W

NVIDIA T4

Table 3: NVIDIA T4(Turing):峰值规格来自 NVIDIA Tesla T4 产品文档 (NVIDIA Corporation 2018)。70 W 的 TDP 使这款低功耗推理加速器成为衡量单次推理成本的有效参照。
假设 数值 单位
峰值 FP16 张量吞吐量(T4) 65 TFLOP/s
峰值 INT8 吞吐量(T4) 130 TOPS
内存带宽(T4) 320 GB/s
TDP(T4) 70 W

NVIDIA A100

Ampere 代际的规格(table 4)是本书大多数训练示例的参照。

Table 4: NVIDIA A100(Ampere):峰值规格来自 NVIDIA 的架构白皮书、80 GB 数据表和架构文章 (NVIDIA Corporation 2020a, 2021; Choquette et al. 2021)。A100 是训练示例中最常引用的加速器;80 GB HBM2e 和 TF32 Tensor Core 提供了内存容量与计算强度的参照。
NVIDIA Corporation. 2021. NVIDIA A100 Tensor Core GPU Datasheet. NVIDIA product documentation.
假设 数值 单位
峰值 FP16 张量吞吐量(A100) 312 TFLOP/s
峰值 FP32 吞吐量(A100) 19.5 TFLOP/s
峰值 INT8 吞吐量(A100) 624 TOPS
峰值 TF32 吞吐量(A100) 156 TFLOP/s
HBM 带宽(A100) 2039 GB/s
HBM 容量(A100) 80 GB
TDP(A100) 400 W

NVIDIA H100

对于 Hopper 时代的估算,参考值包括 FP8 Tensor Core 和 Transformer Engine(table 5)。

Table 5: NVIDIA H100(Hopper):峰值规格来自 Hopper 架构概述 (Choquette 2023)。FP8 Tensor Core 和 Transformer Engine 是 Hopper 代际训练与模型服务估算的关键依据。
假设 数值 单位
峰值 FP16 张量吞吐量(H100) 989 TFLOP/s
峰值 FP32 CUDA 吞吐量(H100) 67 TFLOP/s
峰值 FP8 张量吞吐量(H100) 1979 TFLOP/s
峰值 INT8 吞吐量(H100) 1979 TOPS
峰值 TF32 吞吐量(H100) 494 TFLOP/s
HBM 带宽(H100) 3.35 TB/s
HBM 容量(H100) 80 GB
TDP(H100) 700 W

NVIDIA B200

前瞻性容量规划示例采用 Blackwell 代际的规格(table 6)。

Table 6: NVIDIA B200(Blackwell):峰值规格来自 NVIDIA Blackwell 产品文档 (NVIDIA Corporation 2024)。前瞻性容量规划示例使用其 HBM3e 带宽和 FP8 吞吐量。
假设 数值 单位
峰值 FP16 张量吞吐量(B200) 2250 TFLOP/s
峰值 FP8 张量吞吐量(B200) 4500 TFLOP/s
峰值 FP4 吞吐量(B200) 9000 TFLOP/s
HBM 带宽(B200) 8 TB/s
HBM 容量(B200) 180 GB
TDP(B200) 1000 W

AMD Instinct MI300X

为与其他部分使用的 H100 级硬件进行比较,MI300X 的容量、带宽、吞吐量和功耗规格提供了跨厂商基准(table 7)。

Table 7: AMD Instinct MI300X:峰值规格来自 AMD Instinct MI300X 产品文档 (AMD 2023)。较大的 HBM 容量(192 GB)和较高的带宽使其成为内存受限工作负载中常用的跨厂商基准。
假设 数值 单位
峰值 FP16 张量吞吐量(MI300X) 1307 TFLOP/s
HBM 带宽(MI300X) 5.3 TB/s
HBM 容量(MI300X) 192 GB
TDP(MI300X) 750 W

Google TPU v4 和 v6e

在比较不同加速器系列的训练经济性时,TPU 的指标提供了一种基于专用集成电路(ASIC)的替代方案(table 8)。

Table 8: Google TPU v4 和 v6e(Trillium):TPU v4 的数值来自 Google 的 TPU 出版物 (Jouppi et al. 2023),TPU v6e 的数值来自 Google Cloud 当前的 Trillium 规格页面 (Google Cloud 2026)。
假设 数值 单位
峰值 BF16 吞吐量(TPU v4) 275 TFLOP/s
内存带宽(TPU v4) 1200 GB/s
峰值 BF16 吞吐量(TPU v6e) 918 TFLOP/s
内存带宽(TPU v6e) 1638 GB/s

CPU 和移动端/边缘处理器

边缘和移动端机器学习示例采用不同的性能基准(table 9),与数据中心吞吐量形成鲜明对比,以说明部署目标为何会影响每一项设计决策。

Table 9: CPU、移动端 NPU 和边缘设备规格:用于边缘和移动端示例的说明性参考值(并非某一单一 SKU 的厂商峰值)。与数据中心加速器的对比表明,部署目标为何会影响每一项设计决策。
假设 数值 单位
峰值 FP32 吞吐量(参考 CPU) 1 TFLOP/s
DRAM 带宽(参考服务器) 50 GB/s
参考 NPU 吞吐量(iPhone 15 Pro) 35 TOPS
内存带宽(iPhone 15 Pro) 51.2 GB/s
TDP(移动设备,参考值) 5 W
功耗(边缘目标检测器,参考值) 2 W
电池容量(手机,参考值) 15 Wh

模型规格

以下是训练成本、内存占用和推理工作负载示例所依据的参考模型假设:参数量、单次推理的 FLOP 预算,以及已发表的训练规模参照值。已发表的模型规模依据原始论文、模型报告和官方模型文档 (Devlin et al. 2019; Radford et al. 2019; Brown et al. 2020; Dubey et al. 2024; He et al. 2016; Sandler et al. 2018; Ultralytics 2023)。推理 FLOP 预算由本书推导得出:BERT-Base 使用序列长度 128,ResNet-50 和 MobileNetV2 使用 224 \(\times\) 224 图像,YOLOv8-Nano 使用 640 \(\times\) 640 图像;视觉模型将每次乘加计为两次 FLOP。GPT-3 的训练 FLOP 数依据 (Brown et al. 2020);25 天与 1,024 块 A100 的组合由本书编者设定。GPT-4 的参数量和训练 GPU 天数采用公开的第三方混合专家(MoE)估算值 (Patel and Wong 2023),因为 GPT-4 技术报告未披露架构规模。章节在估算 GPT-3 规模的训练时间时,使用 table 10。

Table 10: 参考模型规格:计算示例所用的参数量和 FLOP 预算。BERT、GPT-2、GPT-3、Llama、ResNet-50、MobileNetV2 和 YOLOv8 各行采用原始论文、模型报告或官方模型文档 (Devlin et al. 2019; Radford et al. 2019; Brown et al. 2020; Dubey et al. 2024; He et al. 2016; Sandler et al. 2018; Ultralytics 2023)。GPT-4 各行引用 (OpenAI et al. 2023) 作为官方模型系列的来源,并引用 (Patel and Wong 2023) 作为本版所用公开 MoE 参数量和 GPU 天数估算值的来源。
假设 数值 单位
推理 FLOP 数(BERT-Base) 2.2e+10 flop
参数量(BERT-Base) 1.1e+08 param
参数量(Llama 3 8B) 8.03e+09 param
隐藏维度(GPT-2) 1600 -
层数(GPT-2) 48 -
参数量(GPT-2) 1.5e+09 param
参数量(GPT-3) 1.75e+11 param
情景持续时间(GPT-3 规模) 25 d
参考训练 FLOP 数(GPT-3) 3.14e+23 flop
参数量(GPT-4,公开 MoE 估算值) 1.76e+12 param
参考训练 GPU 天数(GPT-4) 2.5e+06 GPU-days
推理 FLOP 数(ResNet-50) 8.2e+09 flop
参数量(ResNet-50) 2.56e+07 param
推理 FLOP 数(MobileNetV2) 6e+08 flop
参数量(MobileNetV2) 3.50487e+06 param
推理 FLOP 数(YOLOv8-Nano) 8.7e+09 flop

训练内存约定

训练内存的粗略估算采用粗略估算提示框及若干训练章节中使用的混合精度 Adam 存储模型:BF16 权重、BF16 梯度、FP32 主权重,以及 Adam 的一阶矩和二阶矩缓冲区(每个参数合计 16 字节)。这是本书的约定,而非实测的硬件常数。BF16 数据通路遵循既有的 BFLOAT16 混合精度实践 (Kalamkar et al. 2019);FP32 主权重模式沿用早期 FP16 研究 (Micikevicius et al. 2017; NVIDIA 2017),Adam 的一阶矩和二阶矩缓冲区则依据 (Kingma and Ba 2015)。Table 11 列出了各组成部分的字节宽度;将每个参数的字节数(混合精度 Adam)乘以参数量,即可得到不含激活值的训练状态内存占用。

Table 11: 训练内存约定:混合精度 Adam 中每个参数的存储开销(不计激活值时为 2 + 2 + 12 = 16 字节)。这是本书用于粗略估算的约定;有关混合精度训练的背景,参见 (NVIDIA 2017)。
假设 数值 单位
权重/梯度位宽(BF16) 2 bytes
主权重位宽(FP32) 4 bytes
每个参数的主权重 + Adam 状态(FP32) 12 bytes
每个参数的字节数(混合精度 Adam) 16 bytes

硬件和模型假设确定了什么在何处运行;能耗假设 则从运算和内存访问层面确定设计在散热和经济上是否可行。

能耗常数

Horowitz 对 45 nm 工艺下算术运算和 32 位 DRAM 访问的估计 (Horowitz 2014),以及本书为寄存器和 SRAM 访问、MobileNetV2 推理及 5G 传输提供的示例参考值,共同构成了本书效率比较的依据,但这些值并非与工艺无关。Table 12 列出了从寄存器到 DRAM 的访问能耗层级。这一层级量化说明了数据复用为何在内核设计中起主导作用。

Table 12: 每次运算与访问的能耗:算术运算和 32 位 DRAM 访问的估计采用 Horowitz 的 45 nm 模型 (Horowitz 2014),每字节 DRAM 能耗一行由该估计推导而来。寄存器、SRAM、MobileNetV2 和 5G 各行是本书使用的示例参考值。一次能耗为 0.1 pJ 的寄存器访问与一次能耗为 640 pJ 的 DRAM 访问之间约 6,400× 的倍数差距,解释了数据复用为何在机器学习内核优化中起主导作用。
假设 数值 单位
寄存器访问能耗 0.1 pJ
L1 SRAM 访问能耗 0.5 pJ
L2 SRAM 访问能耗 2 pJ
DRAM 访问能耗(32 位) 640 pJ
DRAM 访问能耗(每字节) 160 pJ/byte
FP16 乘法能耗(45 nm) 1.1 pJ/multiply
FP32 乘法能耗(45 nm) 3.7 pJ/multiply
INT8 乘法能耗(45 nm) 0.2 pJ/multiply
MobileNetV2 推理能耗(参考值) 0.1 mJ
每 MB 的 5G 传输能耗 100 mJ/MB

精度与算术运算能耗层级

table 13 中的算术运算能耗层级比较了现代 7nm、5nm 和 3nm 硅工艺节点上,不同浮点、张量和整数精度下加法与乘法每次运算所需的能量(\(E_{\text{op}}\),单位为 pJ/op)。

Table 13: 精度与算术运算能耗层级:不同数据格式(FP64、FP32、TF32、FP16、BF16、FP8 E4M3/E5M2、INT32、INT8、INT4)和半导体工艺节点(7nm、5nm、3nm)下,加法与乘法每次运算的能耗(\(E_{\text{op}}\),单位为 pJ/op)。能耗的缩放关系体现了乘法器对位宽的二次依赖 \(O(b^2)\),以及加法器对位宽的线性依赖 \(O(b)\) (Horowitz 2014; Dally et al. 2021)。
精度/数据格式 7nm 节点(\(E_{\text{op}}\) pJ) 5nm 节点(\(E_{\text{op}}\) pJ) 3nm 节点(\(E_{\text{op}}\) pJ) 相对 FP32 的能耗比(3nm)
FP64(64 位浮点数) 加法: 0.90/乘法: 2.50 加法: 0.58/乘法: 1.62 加法: 0.38/乘法: 1.05 2.23\(\times\)
FP32(32 位浮点数) 加法: 0.40/乘法: 1.10 加法: 0.26/乘法: 0.72 加法: 0.17/乘法: 0.47 1.00\(\times\)(基准)
TF32(19 位 TensorFloat) 加法: 0.28/乘法: 0.65 加法: 0.18/乘法: 0.42 加法: 0.12/乘法: 0.27 0.57\(\times\)
FP16(16 位 IEEE 浮点数) 加法: 0.20/乘法: 0.45 加法: 0.13/乘法: 0.29 加法: 0.08/乘法: 0.19 0.40\(\times\)
BF16(16 位 Bfloat16) 加法: 0.18/乘法: 0.40 加法: 0.12/乘法: 0.26 加法: 0.08/乘法: 0.17 0.36\(\times\)
FP8(E4M3/E5M2) 加法: 0.09/乘法: 0.20 加法: 0.06/乘法: 0.13 加法: 0.04/乘法: 0.08 0.17\(\times\)
INT32(32 位整数) 加法: 0.10/乘法: 0.80 加法: 0.06/乘法: 0.52 加法: 0.04/乘法: 0.34 0.72\(\times\)
INT8(8 位整数) 加法: 0.03/乘法: 0.20 加法: 0.02/乘法: 0.13 加法: 0.013/乘法: 0.085 0.18\(\times\)
INT4(4 位整数) 加法: 0.010/乘法: 0.060 加法: 0.006/乘法: 0.039 加法: 0.004/乘法: 0.025 0.053\(\times\)

这些能耗成本体现在芯片层面,但实际机器学习系统还需要通过互连搬移数据,包括加速器之间、机架之间以及通过广域网传输数据。下一节列出各章估算通信开销时使用的带宽假设。

互连与网络带宽

这些带宽假设 适用于各章分析梯度同步、流水线气泡、检查点 I/O 或跨数据中心延迟的场景。NVLink 和 PCIe 的速率依据加速器产品文档 (NVIDIA Corporation 2017, 2020a; Choquette 2023);InfiniBand 架构规范为该协议族提供依据 (InfiniBand Trade Association 2000),而当前的高速产品系列和以太网路线图则为现代链路速率示例提供依据 (NVIDIA 2026; Ethernet Alliance 2025);光纤中光速所确定的下限来自物理恒等关系。Table 14 列出了 NVLink、InfiniBand、PCIe、非易失性内存快速接口(NVMe)和以太网的速率,以及光在光纤中的传播速度。

Table 14: 互连与网络带宽:各链路系列的带宽依据厂商规格、InfiniBand 架构规范以及当前的产品/路线图文档 (InfiniBand Trade Association 2000; NVIDIA 2026; Ethernet Alliance 2025)。NVLink 速率为双向聚合速率;其他链路速率为每个方向的标称速率。光纤中的光速决定了跨数据中心延迟的下限。
假设 数值 单位
NVLink 带宽(V100) 300 GB/s
NVLink 带宽(A100) 600 GB/s
NVLink 带宽(H100) 900 GB/s
InfiniBand HDR 链路速率 200 Gb/s
InfiniBand NDR 链路速率 400 Gb/s
InfiniBand XDR 链路速率 800 Gb/s
PCIe Gen4 x16 速率 32 GB/s
PCIe Gen5 x16 速率 64 GB/s
NVMe 顺序读取带宽 7 GB/s
10 GbE 链路速率 10 Gb/s
100 GbE 链路速率 100 Gb/s
光纤中的光速 200000 km/s

互连与网络互连结构物理规格表

table 15 中的物理规格表详细列出了主机总线、加速器互连、网络互连结构和缓存一致性接口的带宽、延迟、成帧方式、直接内存访问(DMA)支持以及每比特能耗。

Table 15: 互连与网络互连结构物理规格表:涵盖主机总线、GPU 互连、交换机、网络互连结构和一致性接口(PCIe Gen3–Gen7、NVLink 1–5、NVSwitch 1–4、InfiniBand EDR–XDR、RoCE v2、CXL 1.1–3.1)的综合物理规格表。各列列举了单向与聚合带宽、PHY/链路延迟、线路编码/成帧方式、DMA 和 GPUDirect 能力,以及物理层能耗成本(\(E_{\text{link}}\),单位为 pJ/bit)。
总线/互连标准 单向与聚合带宽 延迟 编码/成帧 DMA/GPUDirect 支持 能耗成本(\(E_{\text{link}}\))
PCIe Gen3 (x16) 15.75 GB/s 单向/31.5 GB/s 聚合 400–500 ns 128b/130b NRZ PCIe P2P, GPUDirect RDMA 14.0 pJ/bit
PCIe Gen4 (x16) 31.50 GB/s 单向/63.0 GB/s 聚合 250–400 ns 128b/130b NRZ PCIe P2P, GPUDirect RDMA 10.0 pJ/bit
PCIe Gen5 (x16) 63.00 GB/s 单向/126.0 GB/s 聚合 150–250 ns 128b/130b NRZ PCIe P2P, GPUDirect RDMA, CXL 1.1/2.0 8.0 pJ/bit
PCIe Gen6 (x16) 126.00 GB/s 单向/252.0 GB/s 聚合 100–150 ns PAM4(256B 微片) PCIe P2P, GPUDirect RDMA, CXL 3.0/3.1 6.0 pJ/bit
PCIe Gen7 (x16) 252.00 GB/s 单向/504.0 GB/s 聚合 <100 ns PAM4(512B 微片) PCIe P2P, GPUDirect RDMA, CXL 3.1+ 4.5 pJ/bit
NVLink 1 (P100) 20 GB/s 单向/40 GB/s 聚合(每链路) 200–300 ns NRZ (20 Gb/s) GPUDirect P2P/RDMA 10.0 pJ/bit
NVLink 2 (V100) 25 GB/s 单向/50 GB/s 聚合(每链路) 150–200 ns NRZ (25.78 Gb/s) GPUDirect P2P/RDMA 8.0 pJ/bit
NVLink 3 (A100) 25 GB/s 单向/50 GB/s 聚合(每链路) 100–150 ns NRZ (50 Gb/s) GPUDirect P2P/RDMA 6.5 pJ/bit
NVLink 4 (H100) 25 GB/s 单向/50 GB/s 聚合(每链路) 80–100 ns PAM4 (100 Gb/s) GPUDirect P2P, SHARP 聚合 4.5 pJ/bit
NVLink 5 (B200) 50 GB/s 单向/100 GB/s 聚合(每链路) 60–80 ns PAM4 (200 Gb/s) GPUDirect P2P, NVLink 网络卸载 3.5 pJ/bit
NVSwitch 1 (Volta) 每芯片聚合带宽 900 GB/s ~100 ns NRZ 硬件 P2P 交叉开关路由 8.5 pJ/bit
NVSwitch 2 (Ampere) 每芯片聚合带宽 2.4 TB/s ~90 ns NRZ 硬件 P2P 交叉开关, SHARP v2 6.5 pJ/bit
NVSwitch 3 (Hopper) 每芯片聚合带宽 3.2 TB/s ~70 ns PAM4 SHARP v3 网内计算 4.5 pJ/bit
NVSwitch 4 (Blackwell) 每芯片聚合带宽 14.4 TB/s ~50 ns PAM4 SHARP v4, FP8 归约引擎 3.2 pJ/bit
InfiniBand EDR 100 Gbps(12.5 GB/s 单向) ~0.50 \(\mu\text{s}\) (500 ns) 64b/66b NRZ GPUDirect RDMA(Verbs) 15.0 pJ/bit
InfiniBand HDR 200 Gbps(25.0 GB/s 单向) ~0.60 \(\mu\text{s}\) (600 ns) 64b/66b PAM4/NRZ GPUDirect RDMA, SHARP v2 10.0 pJ/bit
InfiniBand NDR 400 Gbps(50.0 GB/s 单向) ~0.50 \(\mu\text{s}\) (500 ns) 256b/257b PAM4 GPUDirect RDMA, SHARP v3 7.0 pJ/bit
InfiniBand XDR 800 Gbps(100.0 GB/s 单向) ~0.40 \(\mu\text{s}\) (400 ns) PAM4(200G/通道 微片) GPUDirect RDMA, SHARP v4 5.0 pJ/bit
RoCE v2 以太网 100–800 Gbps(12.5–100 GB/s 单向) 1.0–2.5 \(\mu\text{s}\) NRZ/PAM4 (802.3) GPUDirect RDMA (RoCEv2 UDP/IP) 8.0–12.0 pJ/bit
CXL 1.1 63 GB/s 单向/126 GB/s 聚合 (x16) ~200 ns 128b/130b NRZ cxl.io, cxl.cache, cxl.mem 8.0 pJ/bit
CXL 2.0 63 GB/s 单向/126 GB/s 聚合 (x16) ~180 ns 128b/130b NRZ SLD/MLD 内存池化 7.5 pJ/bit
CXL 3.0 126 GB/s 单向/252 GB/s 聚合 (x16) ~120 ns 256B 微片 PAM4 P2P 内存池化与互连结构交换机 5.5 pJ/bit
CXL 3.1 126 GB/s 单向/252 GB/s 聚合 (x16) ~110 ns 256B 微片 PAM4 全局集成内存, TEE 5.0 pJ/bit

经济常数

这些价格假设 为 table 16 中总拥有成本(TCO)和能源成本的粗略估算提供基础。它们是用于比率分析的示例性费率,处于超大规模云服务商的量级(其思路与 (Patterson et al. 2021) 中的碳核算示例类似),并非针对特定地区或合同的报价。当绝对价格起主导作用时,应以本地数值替换这些参考值。

Table 16: 经济假设:用于 TCO 粗略估算的示例性云端电价和出站流量费率(2024–2025 年的数量级)。本地部署的成本结构有所不同;相对量级可为设计权衡提供指导。
假设 数值 单位
云端电价 0.12 dollar/kWh
云端每 GB 出站流量价格 0.09 dollar/GB

经济常数确定了单位计算和数据传输的价格,但如果不了解所涉及的规模,这些常数就意义有限。生产环境中的机器学习系统每天处理数百万至数十亿次请求——这些数字如此庞大,以至于缺少具体参照就很难形成直观认识。

规模参考

table 17 中的这些规模假设 为容量规划示例中的“多大才算大?”提供参照,给出电子邮件和搜索量、自动驾驶车辆传感器流以及标准 1080p 和 4K 视频格式的示例性数量级基准。它们是量级参考值,并非针对特定年份经审计的统计数据。

Table 17: 生产规模与数据速率参考:示例性工作负载和传感器速率参考值,以及标准 1080p 和 UHD 4K 视频参数。
假设 数值 单位
Gmail 每日邮件量 1.21e+11 -
Google 每日搜索量 8.5e+09 -
Waymo 传感器数据速率(低值) 1 TB/h
Waymo 传感器数据速率(高值) 19 TB/h
1080p 帧宽度 1920 -
1080p 帧高度 1080 -
4K 帧宽度 3840 -
4K 帧高度 2160 -
每个 RGB 像素的字节数 3 bytes
视频帧率(标准) 30 Hz

上述假设采用统一的单位约定:十进制数据前缀、彼此区分的 FLOPs 和 FLOP/s 量,以及下一节定义的别名。

单位约定

Table 18 明确了本书所有定量示例采用的单位约定。每一行给出 1 alias \(=\) \(k\) base 中的乘数 \(k\)。数据前缀采用十进制 SI(\(\mathrm{KB} = 10^3\) 字节,而非 1024 字节)。二进制 IEC 存储前缀出现在少数专门讨论存储的内容中,但此处未予列出,因为本书多数集群规模估算采用十进制 KB/GB/TB。吞吐量(FLOP/s、GB/s)将这些别名与时间结合;将量纲不相容的量相加(将字节数与 FLOP/s 相加)是粗略估算中的类别错误,而非单位换算。

硬件容量是唯一有意保留的例外。厂商使用十进制符号标注内存,但实际交付的是二进制数量。标称为 80 GB 的加速器提供 \(80 \times 2^{30}\) 字节,而标称配备 512 KB SRAM 的微控制器提供 \(512 \times 2^{10}\) 字节。本书同时保留厂商给出的数值和单位标注,因此,写作 80 GB 的容量是标称值,而非将其换算为十进制后的结果。所有其他数据量,包括模型占用空间、激活值大小和传输量,均采用上述十进制前缀。当计算示例从设备容量中减去计算所得的占用空间时,两项均以十进制表示,使页面上给出的运算能够由读者复现。

Table 18: 单位约定:十进制 SI 别名及换算因子(本书用于粗略估算的约定)。FLOP/s 和 GB/s 等吞吐量形式采用相同约定,将工作量或数据量除以时间。
别名 乘数 基本单位
byte 1 byte
KB 1000 byte
MB 1e+06 byte
GB 1e+09 byte
TB 1e+12 byte
PB 1e+15 byte
flop 1 flop
GFLOPs 1e+09 flop
TFLOPs 1e+12 flop
ZFLOPs 1e+21 flop
param 1 param
Mparam 1e+06 param
Gbps 1e+09 bit/s
NS \(10^{-9}\) second
US \(10^{-6}\) second
MS \(10^{-3}\) second
second 1 second
hour 3600 second
day 86400 second
joule 1 joule
watt 1 watt
meter 1 meter

每项假设还附有来源记录,使读者能够将数值追溯至其原始来源。

假设来源

Table 19 按证据类别对本附录的定量输入进行分组,并列明各组所依据的主要参考文献。厂商规格和标准定义公开发布的上限,经过同行评审的测量提供经验参考,而明确标注的编者设定情景则在不存在长期有效的通用常数时提供示例数值。这一区分使读者能够判断输入的证据分量、更新具有时效性的数值,并采用适当的本地替代值复现估算。

Table 19: 假设来源目录:附录章节与来源类别及参考文献之间的快速对照。
附录章节 来源类型 主要参考文献
加速器规格 厂商数据手册中的峰值;编者设定的 CPU/移动端参考值;主规格矩阵(table 1) (NVIDIA Corporation 2017, 2018, 2020a, 2024; Choquette et al. 2021; Choquette 2023; AMD 2023; Jouppi et al. 2023; Google Cloud 2026);CPU/移动端各行为编者设定
模型规格 已发表论文、模型报告和官方文档;编者设定的 GPT-3 情景;GPT-4 规模取自公开分析 (Devlin et al. 2019; Radford et al. 2019; Brown et al. 2020; Dubey et al. 2024; He et al. 2016; Sandler et al. 2018; Ultralytics 2023; OpenAI et al. 2023; Patel and Wong 2023)
训练内存约定 本书约定(混合精度 Adam 布局) (Kingma and Ba 2015; Kalamkar et al. 2019; Micikevicius et al. 2017; NVIDIA 2017)
能耗常数 已发表的 45 nm 算术运算/DRAM 估算;VLSI 综合工艺节点缩放;精度能耗层级(table 13) 算术运算/DRAM 采用 (Horowitz 2014; Dally et al. 2021);寄存器/SRAM、MobileNetV2 和 5G 各行为编者设定
互连带宽 厂商规格;InfiniBand 标准;PCIe/NVLink/CXL 标准;物理规格表(table 15) (NVIDIA Corporation 2017, 2020a; Choquette 2023; InfiniBand Trade Association 2000; NVIDIA 2026; Ethernet Alliance 2025)
经济假设 示例性云服务/公用事业费率 (Patterson et al. 2021)(方法论背景)
规模参考 示例性工作负载速率;标准视频约定 工作负载速率由编者设定;视频采用标准格式定义
单位约定 十进制 SI;本书记号 编者设定
NVIDIA Corporation. 2017. NVIDIA Tesla V100 GPU Architecture. NVIDIA Whitepaper.
NVIDIA Corporation. 2018. NVIDIA Tesla T4 Tensor Core GPU. NVIDIA product documentation.
NVIDIA Corporation. 2020a. NVIDIA A100 Tensor Core GPU Architecture. NVIDIA Whitepaper, V1.0.
NVIDIA Corporation. 2024. NVIDIA Blackwell Architecture. NVIDIA product documentation.
Choquette, Jack, Wishwesh Gandhi, Olivier Giroux, Nick Stam, and Ronny Krashinsky. 2021. “NVIDIA A100 Tensor Core GPU: Performance and Innovation.” IEEE Micro 41 (2): 29–35. https://doi.org/10.1109/mm.2021.3061394.
Choquette, Jack. 2023. “NVIDIA Hopper H100 GPU: Scaling Performance.” IEEE Micro 43 (3): 9–17. https://doi.org/10.1109/mm.2023.3256796.
AMD. 2023. AMD Instinct MI300X Accelerators. AMD product documentation.
Jouppi, Norm, George Kurian, Sheng Li, Peter Ma, Rahul Nagarajan, Lifeng Nai, Nishant Patil, et al. 2023. “TPU v4: An Optically Reconfigurable Supercomputer for Machine Learning with Hardware Support for Embeddings.” Proceedings of the 50th Annual International Symposium on Computer Architecture, 1–14. https://doi.org/10.1145/3579371.3589350.
Google Cloud. 2026. TPU v6e.
Devlin, Jacob, Ming-Wei Chang, Kenton Lee, and Kristina Toutanova. 2019. “BERT: Pre-Training of Deep Bidirectional Transformers for Language Understanding.” Proceedings of the 2019 Conference of the North American Chapter of the Association for Computational Linguistics: Human Language Technologies, 4171–86. https://doi.org/10.18653/v1/n19-1423.
Radford, Alec, Jeffrey Wu, Rewon Child, David Luan, Dario Amodei, and Ilya Sutskever. 2019. Language Models Are Unsupervised Multitask Learners. OpenAI.
Brown, Tom B., Benjamin Mann, Nick Ryder, Melanie Subbiah, Jared Kaplan, Prafulla Dhariwal, Arvind Neelakantan, et al. 2020. “Language Models Are Few-Shot Learners.” Advances in Neural Information Processing Systems 33: 1877–901. https://doi.org/10.48550/arxiv.2005.14165.
Dubey, Abhimanyu, Abhinav Jauhri, Abhinav Pandey, Abhishek Kadian, et al. 2024. The Llama 3 Herd of Models. arXiv preprint arXiv:2407.21783.
He, Kaiming, Xiangyu Zhang, Shaoqing Ren, and Jian Sun. 2016. “Deep Residual Learning for Image Recognition.” 2016 IEEE Conference on Computer Vision and Pattern Recognition (CVPR), 770–78. https://doi.org/10.1109/cvpr.2016.90.
Sandler, Mark, Andrew Howard, Menglong Zhu, Andrey Zhmoginov, and Liang-Chieh Chen. 2018. “MobileNetV2: Inverted Residuals and Linear Bottlenecks.” 2018 IEEE/CVF Conference on Computer Vision and Pattern Recognition, 4510–20. https://doi.org/10.1109/cvpr.2018.00474.
Ultralytics. 2023. YOLOv8.
OpenAI, Josh Achiam, Steven Adler, Sandhini Agarwal, Lama Ahmad, Ilge Akkaya, Florencia Leoni Aleman, et al. 2023. “GPT-4 Technical Report.” arXiv Preprint arXiv:2303.08774, ahead of print. https://doi.org/10.48550/arXiv.2303.08774.
Patel, Dylan, and Gerald Wong. 2023. GPT-4 Architecture, Infrastructure, Training Dataset, Costs, Vision, MoE. SemiAnalysis Blog.
Kingma, Diederik P., and Jimmy Ba. 2015. “Adam: A Method for Stochastic Optimization.” 3rd International Conference on Learning Representations (ICLR).
Kalamkar, Dhiraj, Dheevatsa Mudigere, Naveen Mellempudi, Dipankar Das, Kunal Banerjee, Sasikanth Avancha, Dharma Teja Vooturi, et al. 2019. A Study of BFLOAT16 for Deep Learning Training.
Micikevicius, Paulius, Sharan Narang, Jonah Alben, Gregory Diamos, Erich Elsen, David Garcia, Boris Ginsburg, et al. 2017. “Mixed Precision Training.” arXiv Preprint arXiv:1710.03740.
NVIDIA. 2017. Training with Mixed Precision.
Horowitz, Mark. 2014. “1.1 Computing’s Energy Problem (and What We Can Do about It).” 2014 IEEE International Solid-State Circuits Conference Digest of Technical Papers (ISSCC), 10–14. https://doi.org/10.1109/isscc.2014.6757323.
Dally, William J., Stephen W. Keckler, and David B. Kirk. 2021. “Evolution of the Graphics Processing Unit (GPU).” IEEE Micro 41 (6): 42–51. https://doi.org/10.1109/mm.2021.3113475.
InfiniBand Trade Association. 2000. InfiniBand Architecture Specification Volume 1. InfiniBand Trade Association.
NVIDIA. 2026. NVIDIA Quantum-X800 InfiniBand Platform. NVIDIA product documentation.
Ethernet Alliance. 2025. 2025 Ethernet Roadmap. Ethernet Alliance roadmap.
Patterson, David, Joseph Gonzalez, Quoc Le, Chen Liang, Lluis-Miquel Munguia, Daniel Rothchild, David So, Maud Texier, and Jeff Dean. 2021. “Carbon Emissions and Large Neural Network Training.” arXiv Preprint arXiv:2104.10350.

总结

本附录是全书所用定量输入的参考目录,汇集了加速器和模型规格、训练内存约定、能耗常数、互连带宽、经济与规模参考、单位约定及来源。这些数值来自厂商峰值、已发表的测量、标准和编者设定的情景,因此具有不同的证据分量,其时效性衰减速度也各不相同。

应将这些表格用作初始输入,而非通用常数。对于每项估算,应记录所用表格行、单位约定及来源;用本地数值替换具有时效性的峰值、价格和速率;区分物理上限、实测运行点与情景假设;并说明哪些假设主导了结果。这样既能使粗略估算可复现,也能明确哪个输入决定了结论。

Back to top
← 中文书架