答疑特辑(三):矩阵秩的参数计数、TPU 训练架构与 AI 芯片算力全景

10473 字
52 分钟
答疑特辑(三):矩阵秩的参数计数、TPU 训练架构与 AI 芯片算力全景

AI 生成内容声明

开场:这一篇回答哪四个问题#

《答疑特辑(二):浮点数五问》 末尾预告过一批问题,说”将在答疑特辑(三)里逐一回答”。本篇就是兑现预告,回答四个问题:

  1. 《答疑特辑(一)》里说”秩为 rrm×nm \times n 矩阵只需要 r(n+mr)r(n+m-r) 个参数就能描述”,这个 r(n+mr)r(n+m-r) 里的 "r-r" 是什么意思
  2. 上一批答疑里说”只有 TPU v1 是纯推理,v2 起训练推理通吃”——TPU 到底怎么做训练?Gemini 是怎么在 TPU 上训出来的?
  3. 既然 TPU 推理很强,为什么它的纸面算力(峰值 TFLOPS)看起来不如 NVIDIA 的 B200/B300?是哪里”低”了?
  4. 承接上一个问题:2026 年各家最先进的 AI 芯片(GPU/TPU/NPU)到底怎么比?NPU 和 GPU、TPU 差在哪?

四个问题其实是两条线:问题 1 是纯数学(线性代数的收尾),问题 2、3、4 是一条硬件主线,从”TPU 怎么训练”一路推到”今天买卡怎么选”。问题 2、3、4 会大量引用 Google 的论文原文和厂商官方文档,所有数字都标了口径——芯片对比最容易翻车的不是算错,而是拿不同口径的数字硬比


问题一:秩为 rr 的矩阵为什么只需要 r(n+mr)r(n+m-r) 个参数?"r-r" 从哪来?#

直接回答#

秩为 r 的 m×n 矩阵的流形维数=r(m+nr)\text{秩为 } r \text{ 的 } m \times n \text{ 矩阵的流形维数} = r(m + n - r)

其中 "r-r"(准确说是被括号外的 rr 相乘后对应的 r2-r^2)来自一个非常具体的东西:低秩分解 M=UVTM = UV^\mathrm{T} 不唯一。朴素计数 r(m+n)r(m+n) 把每一份”分解”都当成一份”矩阵”,但同一个矩阵有无穷多种分解方式,重复计数的部分恰好是 r2r^2 个参数。减去这 r2r^2 个冗余,再把 r2r^2 提出来一个因子 rr,就得到 r(n+mr)r(n+m-r) 里那个 r-r

下面把每一步讲清楚,这个结论值得彻底搞懂,因为它是所有低秩压缩技术(MLA、LoRA、SVD 量化)共同的数学账本

第一步:低秩分解与朴素计数#

MRm×nM \in \mathbb{R}^{m \times n} 是秩为 rr 的矩阵。上一篇(特辑(一)的 Q1、Q2)讲过,任何秩为 rr 的矩阵都能分解成两个瘦长矩阵的乘积:

M=UVT,URm×r,VRn×rM = U V^\mathrm{T}, \qquad U \in \mathbb{R}^{m \times r}, \quad V \in \mathbb{R}^{n \times r}

(特辑(一)里还证明过:秩 rr 矩阵的列空间可以由 rr 个列向量张成,把 MM 的列投影到这 rr 个基上就得到 VVUU 是”基”,VTV^\mathrm{T} 是”坐标”。)

UUmrmr 个元素,VVnrnr 个元素,于是朴素计数是:

参数个数=mr+nr=r(m+n)\text{参数个数} = mr + nr = r(m + n)

这个数对不对?不对,它多算了。多算的部分就是问题的主角。

第二步:分解不唯一——冗余在哪#

关键观察:同一个 MM 可以由完全不同的 (U,V)(U, V) 对产生。取任何一个 r×rr \times r 可逆矩阵 GG(可逆 = 满秩),做替换:

U=UG,V=VGTU' = U G, \qquad V' = V G^{-\mathrm{T}}

其中 GTG^{-\mathrm{T}} 表示 (G1)T(G^{-1})^\mathrm{T}(先求逆再转置)。代入分解:

U(V)T=(UG)(VGT)T=UGG1VT=UVT=MU' (V')^\mathrm{T} = (U G)(V G^{-\mathrm{T}})^\mathrm{T} = U G \cdot G^{-1} V^\mathrm{T} = U V^\mathrm{T} = M

中间那步用了两个性质:转置的乘积性质 (AB)T=BTAT(AB)^\mathrm{T} = B^\mathrm{T}A^\mathrm{T}(特辑(一)的 Q6 专门讲过它),以及 GG1=IG G^{-1} = I。结果是:GGr2r^2 个自由参数变了,MM 却一个元素都没变

所有可逆 r×rr \times r 矩阵的集合叫一般线性群,记作 GL(r)\mathrm{GL}(r),它的自由参数个数是 r2r^2r×rr \times r 矩阵有 r2r^2 个元素,“可逆”只是排除测度为零的奇异子集,不减少维数)。于是:

冗余自由度=r2\text{冗余自由度} = r^2

直觉版本UUVV 之间有一层”互相抵消”的自由度。把 UU 的某一列放大 cc 倍,再把 VV 的对应行缩小 cc 倍,乘积不变——这就是一个”纯变换、不改变结果”的方向,rr 列对 rr 行,一共有 r2r^2 个这样的方向。

第三步:两种严格计数,把 r2r^2 个冗余消掉#

方法一:纤维法(商空间视角)。 把”参数空间”看作所有 (U,V)(U, V) 对的集合,维数是 r(m+n)r(m+n)。每个矩阵 MM 对应的所有分解 (U,V)(U, V) 构成一条”纤维”,而 GL(r)\mathrm{GL}(r) 在这条纤维上自由地作用(上面的 GG 变换),所以每条纤维的维数恰好是 r2r^2。矩阵流形的维数 = 参数空间维数 − 纤维维数:

dim=r(m+n)r2=r(m+nr)\dim = r(m+n) - r^2 = r(m+n-r)

方法二:固定主块法(参数化视角)。 不绕弯,直接数”真正独立的参数”。因为 MM 的秩是 rr,它的行向量张成一个 rr 维子空间,rr 行一定线性无关(必要时重排行,这里讨论”一般位置”的矩阵,重排不影响维数结论)。设 UtopU_{\text{top}}UU 的前 rr 行,它可逆,于是可以选 G=Utop1G = U_{\text{top}}^{-1}UU 的前 rr 行变成单位矩阵:

U=(IrA),AR(mr)×rU = \begin{pmatrix} I_r \\ A \end{pmatrix}, \qquad A \in \mathbb{R}^{(m-r) \times r}

IrI_rr×rr \times r 单位矩阵,已经没有任何参数了——这一步精确吃掉了 r2r^2 个自由度。剩下的参数一目了然:

  • AA(mr)×r(m-r) \times r 个元素;
  • VVn×rn \times r 个元素。

总参数:

(mr)r+nr=rmr2+rn=r(m+nr)(m-r)r + nr = rm - r^2 + rn = r(m + n - r)

两种方法殊途同归,都得到 r(m+nr)r(m+n-r)。方法一的优点是概念干净(“减去冗余”),方法二的优点是看得见摸得着(“把 UU 钉死成 IrI_r”)。r(m+nr)r(m+n-r) 里的 r-r,就是括号外那个 rr 提出去之后剩下的 r2-r^2——它对应”同一矩阵的 r2r^2 个重复分解”。

验证:r=1r=1r=2r=2 的小例子#

r=1r=1:公式给出 m+n1m + n - 1。秩 1 矩阵就是外积 M=uvTM = u v^\mathrm{T}uRmu \in \mathbb{R}^mvRnv \in \mathbb{R}^n,朴素计数 m+nm+n。多算的 11 个参数是什么?是缩放:对任意 c0c \neq 0

uvT=(uc)(cv)Tu v^\mathrm{T} = \left(\frac{u}{c}\right) (c v)^\mathrm{T}

同一个矩阵对应无穷多个 (u,v)(u, v) 对,它们差一个标量 cc——这个 cc 就是多算的那 11 个参数,正是 r2=1r^2 = 1GL(1)\mathrm{GL}(1) 冗余。所以秩 1 矩阵的真实参数是 m+n1m+n-1

r=2r=2m=n=3m=n=3:公式给出 2×(3+32)=82 \times (3+3-2) = 8。可以验证:3×33 \times 3 矩阵共 9 个元素,而”秩恰好为 2”是一个方程条件(3×33 \times 3 矩阵行列式 =0=0),9 − 1 = 8,对上了。GL(2)\mathrm{GL}(2)r2=4r^2=4 个冗余让朴素计数 2×6=122 \times 6 = 12 减到 8。

直觉:把 r(n+mr)r(n+m-r) 拆开看#

r(n+mr)r(n+m-r) 还可以拆成更可读的形式:

r(n+mr)=rm基 U+rn坐标 Vr2冗余r(n+m-r) = \underbrace{rm}_{\text{基 } U} + \underbrace{rn}_{\text{坐标 } V} - \underbrace{r^2}_{\text{冗余}}

也可以看成”每个基向量对应 (n+m)(n+m) 个坐标,但基向量之间的规范变换不能算参数”:rr 个基向量张成一个 rr 维子空间,而”描述一个 rr 维子空间”本身的自由度是 r(mr)r(m-r)(固定主块法里 AA 的部分),剩下的 rnrn 是坐标。两种读法都指向同一件事:低秩不是”少存几个数”那么简单,它本质上是在说”矩阵的信息集中在 rr 个方向上”——方向(子空间)加上坐标,才是全部的独立信息。

回到 MLA:这笔账怎么算#

把这个计数公式用到《MLA 完全拆解》上,账就非常清楚了。MLA 用潜变量压缩 KV:下投影 WDKVRdc×dW^{DKV} \in \mathbb{R}^{d_c \times d}、上投影 WUKRd×dcW^{UK} \in \mathbb{R}^{d \times d_c},其中 dc=512d=5120d_c = 512 \ll d = 5120(DeepSeek-V2 的配置)。

完整的 K/V 投影矩阵本来是 d×d=5120×5120d \times d = 5120 \times 5120,两个投影(K 和 V)就是 2×5120252402 \times 5120^2 \approx 5240 万参数。MLA 用两个瘦矩阵的乘积代替它:

WUKWDKVWfullKVW^{UK} W^{DKV} \approx W^{KV}_{\text{full}}

复合矩阵 WUKWDKVW^{UK} W^{DKV} 的秩至多是 min(dc,d)=512\min(d_c, d) = 512,参数总量是 5120×512+5120×512=5245120 \times 512 + 5120 \times 512 = 524 万——用我们的公式验证上限:r(m+nr)=512×(5120+5120512)498r(m+n-r) = 512 \times (5120 + 5120 - 512) \approx 498 万,是复合矩阵秩的上限对应的最小参数。相比之下完整矩阵的 5240 万参数,差距约一个数量级。

为什么秩这么小还不损失能力? 这正是特辑(一)Q2 讲过的结论:KV 信息的有效维度远小于 5120,绝大多数方向上的信息是噪声。低秩分解用 r(n+mr)r(n+m-r) 个参数去逼近”信息本就在 rr 维子空间里”的真矩阵,丢掉的是噪声方向。r(n+mr)r(n+m-r) 不只是个计数公式,它是”信息压缩可行”的数学保证——知道一个矩阵只需要这么多参数,才敢把权重缓存压缩这么多倍。


问题二:TPU 不是只做推理吗?训练到底怎么做——Gemini 与 TPU 训练架构#

先纠正前提:从 v2 起 TPU 就是训练推理通吃#

“TPU 只做推理”只对 2015 年设计的第一代 TPU 成立(TPU v1 论文,ISCA 2017)。v1 是纯推理芯片:INT8 脉动阵列、没有向量单元、不更新权重、指令由主机通过 PCIe 逐条下发。本站《TPU v1 完全拆解(一)》讲过它的 CISC 指令集,那套东西只能”跑前向”。

2018 年发布的 TPU v2 做了三个结构性改变,让它能训练:

  1. 新增向量处理单元(VPU)与标量单元——v1 只有”矩阵乘 + 累加”一条流水,激活函数、归一化、逐元素运算全部做不了;v2 的 VPU 专门做这些非矩阵运算;
  2. bfloat16 训练精度——16 位尾数 8 位指数的 BF16 在训练精度和显存/带宽之间取了平衡,矩阵乘单元用 BF16 输入、FP32 累加(和 GPU 的混合精度训练同一思路,详见《浮点数与数值稳定性》);
  3. XLA 编译器把训练图静态编译成芯片指令——训练不再是”主机逐条喂指令”,而是整个计算图编译好一次性下发。

之后的每一代都沿着这条”训练推理通吃”的路线走:v3 双 TensorCore、水冷;v4(2023 年 ISCA 论文)SparseCore 与光互连;v5p 面向大模型训练;v7 Ironwood(2025 年发布)官方定位是”inference era”,但能力是训练级的。

训练需要什么硬件能力,TPU 怎么满足#

训练一个 Transformer 的每一步(step)包含三类计算:

  1. 前向传播LL 层矩阵乘(QKV 投影、注意力分数、输出投影、FFN 两个投影),全部是 GEMM;
  2. 反向传播:每层要算三个矩阵乘——权重的梯度 dW=XTdYdW = X^\mathrm{T} dY、输入的梯度 dX=dYWTdX = dY \cdot W^\mathrm{T}、注意力的梯度(更复杂,但本质还是 GEMM 的组合)。所以反向的矩阵乘数量大约是前向的 2-3 倍;
  3. 优化器更新:Adam 需要逐元素更新一阶矩、二阶矩,还有梯度裁剪、LayerNorm/RMSNorm 的归一化、dropout 掩码——全是逐元素运算

TPU 的对应关系一目了然:矩阵乘全在 MXU(矩阵乘单元) 上做——v2 及以后的 MXU 是 128×128 脉动阵列,每 8 个周期完成一次 [8,128]×[128,128][8,128] \times [128,128] 的 BF16 矩阵乘(FP32 累加);逐元素运算在 VPU 上做;控制流(循环、条件、通信调度)在标量单元上做。v1 缺的正是 VPU 和标量单元,所以 v1 连梯度都没法算。

还有第四类需求容易被忽略:状态存储。训练比推理多吃一份”模型 + 梯度 + 优化器状态”的显存——混合精度训练里权重存 BF16,但 Adam 的动量、方差通常存 FP32,实际显存开销是权重的好几倍。TPU 的 HBM 容量从 v2 的 16 GB 一路涨到 v7 的 192 GB,一部分原因就是为了装下训练状态。数据并行时每个芯片要存完整模型副本(含梯度与优化器状态),芯片显存直接决定单芯片能装多大的模型。

训练软件栈:JAX、XLA 与 GSPMD#

硬件只是半边,TPU 训练的另一半是软件。Google 的训练栈和 NVIDIA 的”CUDA + PyTorch”哲学完全不同:

  • 单一控制器(single controller)模型:整个训练程序是一个 Python 进程(JAX 程序),你写的是”单机单卡”风格的代码,框架负责把它拆到几千颗芯片上;
  • GSPMD 分区器:XLA 编译器里的 GSPMD(Generalized SPMD,Xu et al. 2021)自动决定每个张量怎么切分、每段计算放在哪颗芯片上。用户给一个标注(“这个张量按 batch 切分”或”按隐藏维切分”),GSPMD 推导出完整的通信方案——这相当于把 NVIDIA 生态里手写的 DDP/张量并行/流水并行的分工,交给编译器自动做;
  • MegaScale 编译器 pass:在 GSPMD 分区之后,静态地把集合通信(AllReduce 等)调度到与计算重叠的位置,减少通信等待。论文里说这一步让 step 时间几乎没有波动;
  • 通信原语:数据并行(每芯片完整模型副本,梯度 AllReduce)、张量并行(权重切分,输出 AllReduce)、流水并行(层切分,段间通信)在 GSPMD 里都是”标注”级别的选择,混合使用由编译器编排。

一个直观的对比:在 GPU 生态里,“8 卡训练”意味着你要手写 DDP 或者引入 Megatron-LM/DeepSpeed 做 3D 并行;在 TPU 生态里,“4096 芯片训练”的代码复杂度接近写一个单卡 JAX 脚本——代价是编译器承担了全部调度决策,你失去手工调度的自由度。

集群互连:从 2D torus 到 OCS 光交换#

单颗芯片能算,几千颗芯片要连得起来。TPU 集群的互连设计是它和 GPU 集群最大的架构差异之一:

  • v2/v3 时代:芯片通过片间互连(ICI)组成 2D torus(环形网格)。TPU v3 pod 是 1024 颗芯片(2048 个 TensorCore),论文《Scale MLPerf-0.6 models on Google TPU-v3 Pods》(2019)详细记录了在 1024 芯片 pod 上训练 ResNet-50 到 76.3% 精度只花 2.2 分钟、吞吐 105 万张图/秒,其中的 2D torus all-reduce 是主要优化点;
  • v4 时代:单 pod 扩到 4096 颗芯片,共享 256 TiB HBM,总算力超过 1 ExaFLOPS(BF16)。拓扑从 2D 升级到 3D torus,并且引入了本篇最值得讲的东西——OCS(光电路交换机)

OCS 是 TPU v4 论文(arXiv:2304.01433,ISCA 2023,Google 的 Norm Jouppi 团队)的核心贡献,图 1 把原理画得很清楚:

TPU v4 论文 Figure 1:一个 4×4×4 芯片立方体的六个面分别连到三个 OCS,OCS 用 MEMS 微镜阵列直接为光纤建立光路连接(来源:TPU v4 论文,arXiv:2304.01433)
TPU v4 论文 Figure 1:一个 4×4×4 芯片立方体的六个面分别连到三个 OCS,OCS 用 MEMS 微镜阵列直接为光纤建立光路连接(来源:TPU v4 论文,arXiv:2304.01433)

图中的立方体是一个 4×4×4 = 64 芯片的”构建块”,它的六个面各引出一组光纤;下方三个 OCS 用可动的微镜阵列把光纤两两对接。与以太网/InfiniBand 的”包交换”不同,OCS 是光路直连——建立连接后数据在光纤里全程光速直达,没有包头解析、没有排队、没有拥塞。

OCS 带来了四个训练集群最想要的性质:

  1. 拓扑可按任务重配:每次任务分配时,OCS 把 64 芯片的 4×4×4 块拼成任意形状的 3D torus(比如 8×8×4、8×8×8),重配大约 10 秒——训练任务的通信模式不一样(有的需要全对全、有的需要环状),拓扑跟着任务走;
  2. 扭环(twisted torus)免费:普通的 3D torus 全对全带宽受限于环面切割,扭环把每层的连接”拧”一下,对全对全吞吐提升明显——论文实测 4×4×8 torus 的全对全带宽从 39.6 GB/s 提升到 65.4 GB/s(每 TPU)。在硬连线的系统里换拓扑要改布线,在 OCS 系统里只是重载一张路由表;
  3. 成本功耗低:OCS 和光器件只占系统总成本的 <5%、功耗的 <3%,论文对比说比 InfiniBand 更便宜、功耗更低、延迟更低;
  4. 容错:4096 节点的超算能容忍约 1000 台 CPU 主机随时不可用(可用性 99%–99.9%),OCS 把故障节点的流量重路由掉,而不是整个任务失败。

TPU v4 芯片封装与液冷板:中央是 ASIC,四角是 4 颗 HBM2 内存,四块板卡构成一个液冷单元(来源:TPU v4 论文 Figure 2)
TPU v4 芯片封装与液冷板:中央是 ASIC,四角是 4 颗 HBM2 内存,四块板卡构成一个液冷单元(来源:TPU v4 论文 Figure 2)

TPU v4 的封装(论文 Figure 2):中央的 ASIC 四周紧贴 4 颗 HBM2(32 GiB @ 1200 GB/s),每块板 4 颗芯片液冷。把内存封装在计算单元旁边、用高带宽片内互连,是 TPU 在训练集群里保持”每芯片带宽充足”的关键——训练每步都要读写全部权重和梯度,内存带宽不够就会让整颗芯片空转。

TPU v4 超级计算机的 64 个机柜(8 组,每组 8 个,各配一套冷却分配单元),构成 4096 芯片的 SuperPod(来源:TPU v4 论文 Figure 3)
TPU v4 超级计算机的 64 个机柜(8 组,每组 8 个,各配一套冷却分配单元),构成 4096 芯片的 SuperPod(来源:TPU v4 论文 Figure 3)

4096 芯片 SuperPod 的物理形态(论文 Figure 3)。v4 之后的规模继续膨胀:v5p 单 pod 达 8,960 颗芯片(最大单任务 6,144 颗 3D torus),v7 Ironwood 单 SuperPod 达 9,216 颗芯片、共享 1.77 PB HBM。单芯片的性能提升之外,TPU 的差异化优势越来越集中在”集群这一层”。

跨数据中心的扩展在 Gemini 论文里有明确记载(见下节):Ultra 规模下,Google 用自研的集群内/跨集群网络把多个数据中心的 SuperPod 组合成一个同步训练的大集群——SuperPod 内部是模型并行(张量/流水并行),SuperPod 之间是数据并行,两层并行加起来就是 Gemini Ultra 的并行方案。

Gemini 是怎么在 TPU 上训出来的#

Gemini 技术报告(Gemini Team, Google,2023 年 12 月发布,2025 年 5 月修订)里有一节专门的”Training Infrastructure”,以下是论文原文的关键句(本站翻译):

“We trained Gemini models using TPUv5e and TPUv4, depending on their sizes and configuration.”——Gemini 系列模型用 TPUv4 和 TPUv5e 训练,按模型规模与配置选择。

“Training Gemini Ultra used a large fleet of TPUv4 accelerators owned by Google across multiple datacenters.”——训练 Gemini Ultra 用了 Google 自有的、横跨多个数据中心的 TPUv4 大集群。

“TPUv4 accelerators are deployed in ‘SuperPods’ of 4096 chips, each connected to a dedicated optical switch, which can dynamically reconfigure 4x4x4 chip cubes into arbitrary 3D torus topologies in around 10 seconds.”——TPUv4 以 4096 芯片的 SuperPod 部署,每个 SuperPod 连接专用光交换机,能在约 10 秒内把 4×4×4 芯片块重配成任意 3D torus 拓扑。

这几句话把上一节的内容全部串起来了:Gemini Ultra 这种万亿参数级模型,训练是在多个数据中心、多个 SuperPod、每 pod 4096 颗芯片的规模上同步进行的。论文还给出了训练软件栈的官方描述——单一控制器的 JAX/Python 程序、GSPMD 分区、MegaScale 静态通信调度(详见上节)。

Gemini 3 时代(2025 年底发布)的规模更上层楼:Google 官方宣布其旗舰模型训练部署在自研 TPU 上,Ironwood(TPU v7)的 SuperPod 就是为这类负载设计的——9,216 颗芯片、42.5 ExaFLOPS(FP8)、1.77 PB 共享 HBM(数据见 Google Cloud TPU v7 官方文档)。

规模之痛:故障、SDC 与 goodput#

训练集群规模到几千上万颗芯片,真正的敌人不是算力而是故障。Gemini 论文给了三个非常有信息量的数字:

  1. goodput 从 85% 提到 97%:几千颗芯片的训练任务,按常规做法(定期把权重 checkpoint 到持久存储)恢复一次故障要很久,实际”有效训练时间”只有 85%。Gemini 改用冗余内存副本——模型状态在内存里保留多份副本,芯片故障后直接从完好的副本恢复,恢复时间大幅缩短,最大规模训练任务的 goodput 从 85% 提升到 97%。这是”用显存换时间”的典型工程决策;
  2. SDC 每周来一次:Silent Data Corruption(静默数据损坏)指硬件算错但不报错——结果悄悄变错,训练损失曲线根本看不出来。论文说在 Gemini 的规模下,大概每一到两周就会有一次 SDC 事件影响训练。检测手段是确定性重放:同一个计算重跑一遍对比结果,不一致就锁定出错芯片(配合空闲机器上的主动扫描与热备替换);
  3. 恢复路径决定一切:正是因为恢复快,才敢把集群利用率压到接近 100%;如果每次故障要等几小时的 checkpoint 恢复,调度器就会倾向于保守(预留冗余、降低利用率)。

这几条对理解”AI Infra”至关重要:万卡训练系统里,稳定性和可恢复性比峰值算力更能决定产出。这也是为什么 TPU 坚持”固定拓扑 + 编译器全权调度”——确定性换来的不仅是性能,还有可诊断性:拓扑固定、执行确定性高,出问题才好重放、才好定位。


问题三:为什么”推理快”的 TPU,纸面算力不如 B200/B300?#

问题本身需要修正:同口径下并不低#

先给结论:“TPU 纸面算力不如 B 系列”在多数口径下是错觉,是拿不同的尺子比出来的。 用同一把尺子(FP8、稠密、单芯片)量,2025-2026 年的对比是:

芯片官方口径峰值FP8 稠密/芯片显存显存带宽每瓦定位
TPU v7 Ironwood4,614 TFLOPS FP8约 4.6 PFLOPS192 GB HBM3e约 7.4 TB/s2× Trillium 每瓦性能
NVIDIA B200FP4 稀疏 18 PFLOPS约 4.5 PFLOPS192 GB HBM3e8 TB/s通用训练推理
NVIDIA B300 (Ultra)FP4 稠密 15 PFLOPS约 5–7.5 PFLOPS(来源口径不一)288 GB HBM3e8 TB/s推理/测试时扩展

(Ironwood 数据来自 Google Cloud TPU v7 文档TrendForce 报道;B200/B300 数据来自 FS Blog 的 B300 vs B200 对比,B300 的 FP8 数字不同来源在 5–7.5 PFLOPS 之间,本文标注区间。)

同是 FP8 稠密:Ironwood ≈ B200,比 B300 略低一点——差距是 10%-30% 这个量级,而不是”几倍”。那”几倍”的感觉从哪来?因为 B300 对外宣传的主打数字是 15 PFLOPS FP4 稠密,而 Ironwood 主打 4.6 PFLOPS FP8——15 除以 4.6 ≈ 3.3 倍,这就是”纸面差距”的来源。问题出在:FP4 和 FP8 不是同一把尺子。

口径一:精度——FP4、FP8 与稀疏的换算#

把精度换算关系摆清楚:

  • FP8 ≈ 2× BF16:同样是稠密计算,FP8 的峰值一般是 BF16/FP16 的两倍(单位时间内处理的元素数相同,每个元素位数减半);
  • FP4 ≈ 2× FP8:B300 的 FP4 稠密 15 PFLOPS ≈ FP8 稠密的 7.5 PFLOPS;
  • 2:4 稀疏再 ×2:NVIDIA 的”稀疏”数字基于 2:4 结构化稀疏(每四个权重中恰好两个为零,硬件跳过零元素),官方数字通常是稠密的 2 倍。B200 宣传的”18 PFLOPS FP4”是”FP4 稠密 9 × 稀疏 2”叠出来的。

所以 B300 的完整数字链是:FP4 稀疏 30 PFLOPS ≥ FP4 稠密 15 ≥ FP8 稠密 7.5 ≥ BF16 稠密约 3.5。宣传页上取最左端,对比表里取最右端,中间差了 8 倍——这就是”纸面算力”的全部秘密。

为什么 TPU 不跟牌?两个原因:

  1. 推理事实精度是 FP8。当前大模型推理的主流量化终点是 FP8(DeepSeek-V3/V4、Qwen 等开源模型的 FP8 权重都是标准配置),FP4 在质量上仍有风险,是 2025-2026 才刚起步的”下一代”;Google 把 Ironwood 的标称精度定在 FP8,是因为它的目标客户(自家 Gemini + Cloud 客户)实际上就跑 FP8;
  2. 稠密 vs 稀疏:TPU 的脉动阵列设计目标是稠密计算,不宣传稀疏收益——Google 不需要用营销数字抢客户,它的芯片主要服务自家模型,利用率比纸面峰值重要得多。

口径二:系统——SuperPod 与机架不是一个量纲#

单芯片对比只是第一步。把尺度拉到”系统”:

系统规模总算力显存总量
Ironwood SuperPod9,216 芯片42.5 EFLOPS FP81.77 PB HBM
GB300 NVL72 机架72 GPU约 0.36 EFLOPS FP8(约 1.1 EF FP4 稠密)约 20 TB

(GB300 NVL72 的 FP8 数字按太平洋证券研报口径约 0.36 EFLOPS,FP4 稠密约 1.08 EFLOPS,见 NVIDIA Blackwell Ultra 发布解读。)

42.5 / 0.36 ≈ 118 倍——但这不是”芯片更强”,而是 9,216 / 72 ≈ 128 倍的芯片数量差距。按单芯片折算,Ironwood 4.6 PFLOPS FP8 ≈ GB300 的 5 PFLOPS FP8,几乎打平。

真正的差异在形态:Google 把 9,216 颗芯片用 3D torus + OCS 连成一个统一寻址的共享内存超算(1.77 PB 直接可寻址),NVIDIA 的可比形态是 NVLink 域内的 NVL72 机架(72 GPU)。要做 10,000 卡级推理服务,Google 买一个 SuperPod,NVIDIA 生态要买 128 个机架再用 InfiniBand/以太网连起来——后者每一层的组网、路由、拥塞控制都是额外开销和不确定性。TPU 的”系统优势”不在单芯片,在把超大集群做成一个确定性的整体。

口径三:利用率与每瓦——Roofline 的启示#

第三把尺子最反直觉:同样跑一个模型,TPU 能跑出比 GPU 更高的峰值利用率。TPU v4 论文给过一张经典的 Roofline 图:

TPU v4 论文 Figure 16:TPU v4、TPU v3 与 NVIDIA A100 的 Roofline 模型,以及各种 DNN 模型在其中的位置(来源:TPU v4 论文,arXiv:2304.01433)
TPU v4 论文 Figure 16:TPU v4、TPU v3 与 NVIDIA A100 的 Roofline 模型,以及各种 DNN 模型在其中的位置(来源:TPU v4 论文,arXiv:2304.01433)

Roofline 图把”算力上限(横轴为计算强度,纵轴为可达性能)“画成天花板:计算强度低于拐点的是带宽受限(memory-bound),高于拐点的是算力受限(compute-bound)。图里可以看到 TPU v4 的 roofline 在大部分区域高于 v3 和 A100,且各类 DNN 模型(卷积、Transformer 等)落在相对靠右的位置——这意味着对主流模型,v4 的”带宽×计算强度”组合能支撑更高的实际性能。

论文给出的数据支撑:大型语言模型在 TPU v4 上训练,平均可以达到约 60% 的峰值 FLOPs;v5p 之后 Google 生态的统计口径是”算力利用率超过 50%“,而 GPU 生态的同类统计常见 20%-40%。原因有两层:

  1. 架构匹配:Transformer 的计算就是密集矩阵乘 + 简单逐元素运算,这正是脉动阵列 + 向量单元的组合拳;编译器(XLA)把整个计算图静态编排好,没有 GPU 那种 kernel 启动、调度、内存栅栏的零碎开销;
  2. 确定性调度:固定拓扑 + 静态编译 = 每个 step 的时间几乎恒定,没有”某次 kernel 慢了拖累整批”的波动,调度器可以把流水线排到最满。

推理场景下这个差距被放大:decode 阶段是典型 memory-bound(每生成一个 token 都要把全部权重从 HBM 读一遍),此时峰值算力几乎不起作用,起作用的是”每字节搬运能算出多少有用的 FLOP”——也就是能否把带宽利用率打满。TPU 的固定数据流 + 静态调度在这一点上天然有优势,这才是”TPU 推理快”的真正来源:不是峰值高,而是实际利用率高、延迟波动小

每瓦口径同样反转:Ironwood 官方口径是 Trillium(v6e)的约 2 倍每瓦性能;TPU v4 论文实测对 v3 是 2.7× 每瓦提升、对同规模 A100 系统”1.2–1.7× 更快且省 1.3–1.9× 功耗”。数据中心里,每瓦性能 = 电费 = 运营成本,这个口径下 TPU 是赢家。

“推理快”到底快在哪#

把三把尺子合起来,回答”为什么推理快的 TPU 纸面算力低”:

  1. 纸面算力比的是”峰值”,推理吃的是”带宽×利用率”——decode 阶段峰值算力大半闲置,B 系列和 TPU 都在空转,比的是谁能把带宽用满、把队列排满;
  2. “纸面差距”来自精度口径(FP4 稀疏 vs FP8 稠密,可差 8 倍)与系统口径(单芯片 vs SuperPod)的双重错位;
  3. TPU 的真实优势是确定性:固定拓扑、静态编译、恒定 step 时间——在 9,216 芯片规模上这是可运维性(呼应问题二讲的 goodput 与 SDC 问题),在推理服务上这是稳定的 P99 延迟。

一句话:峰值算力是营销语言,利用率与确定性才是系统语言。 社区对 B300 与 B200 的对比同样印证了这一点——Spheron 的对比文章 分析的是”B300 贵出来的钱在推理里买到了什么”,结论是收益主要来自 288 GB 显存(能装下更大模型/更长上下文)与更快的注意力单元(SFU EX2),而不是峰值数字本身:

B300 与 B200 推理对比的社区解读(Spheron 博客封面图)
B300 与 B200 推理对比的社区解读(Spheron 博客封面图)

社区对比 B300/B200 时关注的重点是显存容量(288 GB vs 192 GB)、注意力加速单元与每 token 成本,而非 FP4 峰值——这再次说明推理选型要看”每 token 成本和延迟分布”,而不是单芯片峰值。

小结:一张表看懂#

口径Ironwood (TPU v7)B200B300谁赢
FP8 稠密/芯片约 4.6 PFLOPS约 4.5 PFLOPS约 5–7.5 PFLOPSB300 略胜,其余打平
FP4 稠密/芯片未宣传(FP8 为主)约 9 PFLOPS15 PFLOPSB 系列(但推理实际用不上)
显存192 GB192 GB288 GBB300
系统形态9,216 芯片 SuperPod,1.77 PB 共享NVLink 域 72 GPUNVL72 机架 20 TB量级不同,TPU 集群一体化更强
算力利用率LLM 训练约 60% 峰值20–40%(生态统计)同上TPU
每瓦性能2× TrilliumTPU
软件生态XLA/JAX(Google 自用为主)CUDA(全行业)CUDANVIDIA(生态深度不可比)

选型结论:自用、自研模型、要超大集群一体化 → TPU;要生态兼容、灵活部署、市场主流软件栈 → NVIDIA;两者都不冲突——Google 的 SuperPod 不对标卖,市面上能买到的主流还是 NVIDIA 与国产替代。


问题四:GPU、TPU、NPU 到底差在哪?2026 年各家旗舰怎么选?#

特辑(一)的 Q11 已经给过一张 AI 芯片全景速查表(H100 到 Groq LPU),这里不重复那张表,补三块它没有的:“NPU”这个词到底指什么、端侧 NPU 全景(手机/PC)、以及一个可以长期使用的对比框架

“NPU”是个筐:端侧 NPU 与数据中心 NPU#

“N”PU 里的 N 是 Neural——NPU = 神经网络处理器。问题在于这不是一个架构分类,而是一个市场叫法:凡是”专门为神经网络设计的、不叫 GPU 也不叫 TPU 的加速器”,都可以叫 NPU。实际市面上有两个截然不同的东西共用这个名字:

端侧 NPU(手机/PC/汽车):集成在 SoC 里的一个小型 AI 加速子系统。它不是一个能独立跑大模型的完整芯片,而是和 CPU、GPU 共享内存的协处理器,负责语音识别、图像处理、视频超分、人脸检测这类低延迟小模型任务,功耗预算通常只有几瓦。代表:苹果 Neural Engine、高通 Hexagon NPU、Intel NPU、AMD XDNA。

数据中心 NPU(云/服务器):完整的独立加速卡/芯片,架构上是真 ASIC——华为昇腾、寒武纪思元、百度昆仑芯、亚马逊 Trainium(AWS 官方就叫”AI 芯片”而非 NPU)。它们对标的是 NVIDIA GPU 和 Google TPU,只是厂商不叫 GPU 也不叫 TPU,于是统称 NPU。

分清这两个语境,是读懂所有 NPU 文章的前提——“NPU 只能跑小模型”和”NPU 算力对标 H100”这两句话都对,但说的是完全不同的东西。

端侧 NPU 全景:40 TOPS 的门槛之战#

端侧 NPU 的强度单位是 TOPS(每秒万亿次整数运算,INT8 口径)。2024 年微软给”AI PC”划了一条硬线:Copilot+ PC 认证要求 NPU ≥ 40 TOPS(外加 16 GB 内存、256 GB 存储),带得动 Recall、实时字幕翻译、Windows Studio 特效等端侧功能。2026 年各家旗舰的格局(Local AI Master 的 2026 NPU 对比,厂商宣传峰值口径):

厂商芯片NPU TOPS(INT8 峰值)备注
高通骁龙 X Elite(第一代)45首批 Copilot+ 芯片
高通骁龙 X2 Elite(2026)80–85目前 Windows 端最强;独此一家能本地跑量化 7B 模型
IntelCore Ultra 200V(Lunar Lake)48NPU4
IntelCore Ultra 300(Panther Lake,2026.1)最高 50NPU5;老产品 Meteor Lake 只有 11 TOPS、不够格
AMDRyzen AI 300(Strix Point)50(PRO 版最高 55)全 SKU 标配 50,含入门款
AMDRyzen AI 400(Gorgon Point,2026)60移动旗舰
AppleM4 Neural Engine38macOS 生态,不参与 Copilot+
AppleM5(2025.10)官方不再公布 TOPS把 AI 计算并入 GPU 的神经加速器,报相对提速

三个读表要点:

  1. 40 TOPS 是及格线不是性能线:45、48、50 的差异对日常 Copilot+ 功能几乎无感,真正的分水岭是”够不够 40”;
  2. TOPS 是峰值不是有效性能:同样 50 TOPS,跑本地 7B 模型时受制于内存带宽——高通的 LPDDR5X 大带宽让它成为唯一能原生跑量化 7B 的 Windows NPU,Intel/AMD 的 NPU 主流只能带 1–3B 模型,再大就得卸载到 GPU;
  3. 软件栈比硅片更能决定体验:苹果 Core ML 最成熟、Intel 的 ISV 合作(Adobe、Zoom 等)最多、高通和 AMD 生态在追赶——2026 年行业共识是”瓶颈在软件不在硅”。

TOPS 不是一切:带宽与软件栈#

对端侧本地 LLM 来说,公式很简单:decode 阶段每 token 要把模型权重读一遍,所以本地模型吞吐 ≈ 内存带宽 ÷ 模型大小。一个 4-bit 量化的 7B 模型约 4 GB,LPDDR5X 带宽 100+ GB/s 时理论最快约 25 token/s;NPU 算力再强,带宽不够也只能干等(这与问题三讲的”推理是 memory-bound”是同一个物理事实)。苹果 M5 的 Neural Engine 标称不高但实际体验好的原因就在这里:统一内存架构 + 高带宽 + 成熟的 Core ML 栈,没有 CPU/GPU/NPU 之间的拷贝开销。所以选端侧芯片时,看三样:TOPS(够不够 40)、内存带宽(决定本地模型速度)、软件栈(决定模型能不能跑起来),TOPS 只是最便宜的入场券。

数据中心 NPU 2026:昇腾 950、昆仑芯 P800 与寒武纪#

数据中心 NPU 里,国产三强是 2026 年最活跃的玩家(数据来源:中国工业新闻网《国产AI芯片”三强”并起》东方财富《华为昇腾950深度解读》):

华为昇腾 950 系列(2026 年)——“一芯双构”:同一个 Ascend 950 Die 衍生两个型号,按负载形态分工:

  • 950PR(Prefill & Recommendation,2026 年 Q1 量产):主打 Prefill(长 prompt 高算力需求)与推荐场景,FP8/MXFP8/HiF8 约 1 PFLOPS、MXFP4 约 2 PFLOPS、INT8 4096 TOPS,128 GB 自研 HiBL HBM(1.6 TB/s 带宽),600 W 液冷,支持 SIMD/SIMT 双编程模型;
  • 950DT(Decode & Training,2026 年 Q4):主打 Decode(memory-bound,带宽决定吞吐)与训练,144 GB HiZQ 2.0 HBM、4 TB/s 带宽——为 decode 把带宽做上去,是昇腾对”推理瓶颈是带宽”的直接回应;
  • 超节点形态:Atlas 950 展示版 1,024 卡(16 柜)1 EFLOPS FP8,满配规划 8,192 卡 8 EFLOPS FP8、总内存 1,152 TB、全光互连。2026 年出货目标 75 万片(对比:2025 年约 20 万片量级)。

百度昆仑芯 P800(第三代,2025-2026):自研 XPU-P 架构(基于 RISC-V 扩展 50+ 条 AI 指令),FP16 345 TFLOPS、INT8 1280 TOPS,300 W 风冷,主打”每瓦算力 8.3 TOPS/W”的能效路线;64 卡/机柜 3D-Torus 超节点方案。

寒武纪思元系列:国产老牌 NPU 厂商,产品线覆盖训练推理,但 2026 年旗舰的具体算力官方未完整公开(特辑(一)的全景表已如实标注),公开市场表现更多体现在中标与出货。

国产 NPU 的共同策略和 TPU 如出一辙:软件栈自研(CANN/自研编译器)+ 超节点整机交付 + 确定性调度,并在”不靠最先进制程”的前提下用系统级优化(互联、HBM 定制、双编程模型)追赶——这正是问题二、三里 TPU 那套”系统战”哲学的国产翻版。

GPU/TPU/NPU 的三维对比框架#

把三类芯片放在三个维度上对比,可以长期复用:

维度GPU(NVIDIA/AMD)TPU(Google)数据中心 NPU(昇腾/昆仑芯/寒武纪)端侧 NPU(高通/苹果/Intel/AMD)
本质通用 SIMT 处理器 + 张量核脉动阵列 ASIC + 向量单元ASIC,但开始补可编程性(昇腾 SIMD+SIMT)SoC 里的低功耗协处理器
可编程性最高(CUDA/任意算法)中(XLA 图编译,JAX 生态)中低(CANN/自研栈,兼容层在补)低(专用小算子,ONNX 子集)
能效低(通用性代价)高(专用数据流)高(专用 + 定制 HBM)最高(毫瓦级)
生态CUDA 18 年积累,全行业XLA/JAX,Google 自用为主国产替代政策驱动,兼容层追赶Core ML / 厂商 SDK
场景训练 + 通用推理自家大模型训练推理 + Cloud国产化训练推理手机/PC 端侧 AI 功能
确定性低(调度/抢占波动)高(静态编译 + 固定拓扑)中(超节点内确定性)高(固定负载)

三个判断规则:

  1. 按负载形态选:训练(反向传播的灵活性)→ GPU 或训练型 ASIC(TPU v5p、昇腾 950DT);大规模稠密推理 → 利用率与带宽优先(TPU/昇腾);端侧小模型 → 只有 NPU;
  2. 按软件栈选:CUDA 生态意味着”今天就能跑 vLLM/SGLang”,ASIC 生态意味着”要么自研要么等兼容层”——对个人和中小企业,生态兼容性的权重远超纸面算力;
  3. 别拿峰值当唯一指标:峰值只回答”极限在哪里”,利用率回答”平时能用到多少”,带宽回答”推理能不能吃饱”,确定性回答”延迟能不能预测”——推理选型按这个顺序看四样东西

特辑(一)的全景表(H100 → Groq LPU → 昇腾 950)与本篇的端侧表、数据中心 NPU 表合起来,就是 2026 年 8 月时点的完整图景:训练由 NVIDIA 主导、Google 用 TPU 自给自足、国产 NPU 在政策与市场双轮下放量、端侧 NPU 用 40 TOPS 划出 AI PC 的及格线。芯片市场没有全能冠军,只有”和你的负载形态最匹配”的选项。


小结:四个问题的答案速查#

问题一句话答案
r(n+mr)r(n+m-r)r-r低秩分解 M=UVTM=UV^\mathrm{T} 不唯一,GL(r)\mathrm{GL}(r)r2r^2 个参数是冗余;r(m+n)r2=r(m+nr)r(m+n)-r^2 = r(m+n-r)。固定 UU 的前 rr 行为单位阵可精确吃掉这 r2r^2 个自由度
TPU 怎么做训练v2 起加向量单元、BF16、XLA 编译;MXU 算 GEMM、VPU 算逐元素、JAX/GSPMD 自动并行;v4 起 4096 芯片 SuperPod + OCS 光交换按任务重配拓扑;Gemini Ultra 用跨数据中心 TPUv4 集群同步训练,冗余内存副本把 goodput 从 85% 提到 97%
TPU 纸面算力为什么”低”口径错位:B 系列主打 FP4 稀疏(宣传数字 = FP8 稠密的 8 倍),且比的是峰值而非利用率;同口径 FP8 稠密 Ironwood 4.6 PF 与 B200 4.5 PF 打平;TPU 真优势是利用率(LLM 训练约 60% 峰值)、每瓦性能与集群确定性
GPU/TPU/NPU 怎么选NPU 是市场叫法不是架构:端侧 NPU 是 SoC 协处理器(40 TOPS 门槛、带宽与软件栈决定体验),数据中心 NPU(昇腾/昆仑芯/寒武纪)是对标 GPU 的 ASIC;按负载形态、软件生态、带宽与确定性四样东西选

上一篇的预告里说”答疑特辑(三)将回答另外四个问题”,本篇如约答完。四条线里,问题一给线性代数画上句号(秩的计数是特辑(一)Q1/Q2 的收官),问题二、三、四把 TPU 从”推理芯片”误解里彻底解放出来——它是和 GPU 走完全不同路线的训练推理通吃的确定性系统。如果对这篇还有新问题,评论区见,攒够一批继续出答疑特辑(四)。

参考资料#

  1. TPU v4: An Optically Reconfigurable Supercomputer for Machine Learning with Hardware Support for Embeddings(ISCA 2023,本文 OCS、SuperPod、Roofline 三张图与全部 v4 数据来源)
  2. Gemini: A Family of Highly Capable Multimodal Models(技术报告,TPUv4/TPUv5e 训练、goodput 85%→97%、SDC 检测的原文出处)
  3. Scale MLPerf-0.6 models on Google TPU-v3 Pods(TPU v3 1024 芯片 pod 与 2D torus all-reduce 的实证论文)
  4. In-Datacenter Performance Analysis of a Tensor Processing Unit(TPU v1 论文,v1 纯推理架构依据)
  5. TPU v7 Ironwood 官方文档(4,614 TFLOPS FP8/芯片、192 GB、9,216 芯片 SuperPod、42.5 EFLOPS)
  6. Google Unveils 7th-Gen TPU Ironwood with 9,216-Chip Superpod(TrendForce 报道)
  7. TPU v5p 官方文档(459 TFLOPS BF16、8,960 芯片 pod)
  8. NVIDIA B300 vs B200: Key Differences Explained(FS Blog,B200/B300 算力与显存规格)
  9. B300 vs B200 for AI Inference: Is Blackwell Ultra Worth the Premium?(Spheron 博客,对比封面图来源)
  10. NPU Comparison 2026: Intel vs Qualcomm vs AMD vs Apple(Local AI Master,端侧 NPU TOPS 数据)
  11. NPU Guide 2026: TOPS, Copilot+ PCs & Memory Bandwidth Explained(Solidaitech,40 TOPS 门槛与带宽分析)
  12. 国产AI芯片”三强”并起:国产替代趋势已从政策驱动转向市场驱动(中国工业新闻网,昇腾/昆仑芯/寒武纪 2026 动态)
  13. 华为昇腾950深度解读:不靠先进制程,用系统战对标英伟达(东方财富号,950PR/950DT 与 Atlas 950 超节点参数)
  14. GSPMD: General and Scalable Parallelization for ML Computation Graphs(XLA 分区器原始论文)
  15. DeepSeek-V3 Technical Report(FP8 权重训练与推理的事实精度现状)
  16. 答疑特辑:秩与 SVD、RoPE 旋转矩阵、投机解码原理与 AI 芯片全景(本站:问题一的计数公式出处,问题四的全景表前作)
  17. 答疑特辑(二):浮点数五问——无限循环小数、spacing at 1、Python 精度与舍入方式详解(本站:本篇问题清单的预告出处)
  18. TPU v1 完全拆解(一):为推理而生的领域专用架构与指令集(本站:v1 架构与”纯推理”背景)
  19. TPU v1 完全拆解(二):脉动阵列、weight-stationary 数据流与 Roofline 性能归因(本站:脉动阵列与 Roofline 基础)
  20. 浮点数与数值稳定性:从 IEEE 754 到 FP8 的 LLM 精度世界(本站:BF16/FP8 精度背景)

文章分享

如果这篇文章对你有帮助,欢迎分享给更多人!

答疑特辑(三):矩阵秩的参数计数、TPU 训练架构与 AI 芯片算力全景
https://pinghaoyang.com.cn/aigc/posts/qa-part-3/
作者
平昊阳
发布于
2026-08-23
许可协议
CC BY-NC-SA 4.0

评论区

Profile Image of the Author
平昊阳
乘长风,破巨浪, 展鸿图于未央!
--
总访问量
--
访客数
公告
欢迎来到我的个人博客!欢迎关注交流吖!
更多相关公告,见
社交-留言」。
音乐
封面

音乐

暂未播放

0:000:00
暂无歌词
站点统计
文章
66
分类
16
标签
93
总字数
477,284
运行时长
0
最后活动
0 天前

文章目录