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

开场:这一篇回答哪四个问题#
《答疑特辑(二):浮点数五问》 末尾预告过一批问题,说”将在答疑特辑(三)里逐一回答”。本篇就是兑现预告,回答四个问题:
- 《答疑特辑(一)》里说”秩为 r 的 m×n 矩阵只需要 r(n+m−r) 个参数就能描述”,这个 r(n+m−r) 里的 "−r" 是什么意思?
- 上一批答疑里说”只有 TPU v1 是纯推理,v2 起训练推理通吃”——TPU 到底怎么做训练?Gemini 是怎么在 TPU 上训出来的?
- 既然 TPU 推理很强,为什么它的纸面算力(峰值 TFLOPS)看起来不如 NVIDIA 的 B200/B300?是哪里”低”了?
- 承接上一个问题:2026 年各家最先进的 AI 芯片(GPU/TPU/NPU)到底怎么比?NPU 和 GPU、TPU 差在哪?
四个问题其实是两条线:问题 1 是纯数学(线性代数的收尾),问题 2、3、4 是一条硬件主线,从”TPU 怎么训练”一路推到”今天买卡怎么选”。问题 2、3、4 会大量引用 Google 的论文原文和厂商官方文档,所有数字都标了口径——芯片对比最容易翻车的不是算错,而是拿不同口径的数字硬比。
问题一:秩为 r 的矩阵为什么只需要 r(n+m−r) 个参数?"−r" 从哪来?#
直接回答#
秩为 r 的 m×n 矩阵的流形维数=r(m+n−r)
其中 "−r"(准确说是被括号外的 r 相乘后对应的 −r2)来自一个非常具体的东西:低秩分解 M=UVT 不唯一。朴素计数 r(m+n) 把每一份”分解”都当成一份”矩阵”,但同一个矩阵有无穷多种分解方式,重复计数的部分恰好是 r2 个参数。减去这 r2 个冗余,再把 r2 提出来一个因子 r,就得到 r(n+m−r) 里那个 −r。
下面把每一步讲清楚,这个结论值得彻底搞懂,因为它是所有低秩压缩技术(MLA、LoRA、SVD 量化)共同的数学账本。
第一步:低秩分解与朴素计数#
设 M∈Rm×n 是秩为 r 的矩阵。上一篇(特辑(一)的 Q1、Q2)讲过,任何秩为 r 的矩阵都能分解成两个瘦长矩阵的乘积:
M=UVT,U∈Rm×r,V∈Rn×r(特辑(一)里还证明过:秩 r 矩阵的列空间可以由 r 个列向量张成,把 M 的列投影到这 r 个基上就得到 V。U 是”基”,VT 是”坐标”。)
U 有 mr 个元素,V 有 nr 个元素,于是朴素计数是:
参数个数=mr+nr=r(m+n)这个数对不对?不对,它多算了。多算的部分就是问题的主角。
第二步:分解不唯一——冗余在哪#
关键观察:同一个 M 可以由完全不同的 (U,V) 对产生。取任何一个 r×r 可逆矩阵 G(可逆 = 满秩),做替换:
U′=UG,V′=VG−T其中 G−T 表示 (G−1)T(先求逆再转置)。代入分解:
U′(V′)T=(UG)(VG−T)T=UG⋅G−1VT=UVT=M中间那步用了两个性质:转置的乘积性质 (AB)T=BTAT(特辑(一)的 Q6 专门讲过它),以及 GG−1=I。结果是:G 的 r2 个自由参数变了,M 却一个元素都没变。
所有可逆 r×r 矩阵的集合叫一般线性群,记作 GL(r),它的自由参数个数是 r2(r×r 矩阵有 r2 个元素,“可逆”只是排除测度为零的奇异子集,不减少维数)。于是:
冗余自由度=r2直觉版本:U 和 V 之间有一层”互相抵消”的自由度。把 U 的某一列放大 c 倍,再把 V 的对应行缩小 c 倍,乘积不变——这就是一个”纯变换、不改变结果”的方向,r 列对 r 行,一共有 r2 个这样的方向。
第三步:两种严格计数,把 r2 个冗余消掉#
方法一:纤维法(商空间视角)。 把”参数空间”看作所有 (U,V) 对的集合,维数是 r(m+n)。每个矩阵 M 对应的所有分解 (U,V) 构成一条”纤维”,而 GL(r) 在这条纤维上自由地作用(上面的 G 变换),所以每条纤维的维数恰好是 r2。矩阵流形的维数 = 参数空间维数 − 纤维维数:
dim=r(m+n)−r2=r(m+n−r)方法二:固定主块法(参数化视角)。 不绕弯,直接数”真正独立的参数”。因为 M 的秩是 r,它的行向量张成一个 r 维子空间,前 r 行一定线性无关(必要时重排行,这里讨论”一般位置”的矩阵,重排不影响维数结论)。设 Utop 是 U 的前 r 行,它可逆,于是可以选 G=Utop−1 把 U 的前 r 行变成单位矩阵:
U=(IrA),A∈R(m−r)×rIr 是 r×r 单位矩阵,已经没有任何参数了——这一步精确吃掉了 r2 个自由度。剩下的参数一目了然:
- A 有 (m−r)×r 个元素;
- V 有 n×r 个元素。
总参数:
(m−r)r+nr=rm−r2+rn=r(m+n−r)两种方法殊途同归,都得到 r(m+n−r)。方法一的优点是概念干净(“减去冗余”),方法二的优点是看得见摸得着(“把 U 钉死成 Ir”)。r(m+n−r) 里的 −r,就是括号外那个 r 提出去之后剩下的 −r2——它对应”同一矩阵的 r2 个重复分解”。
验证:r=1 与 r=2 的小例子#
r=1:公式给出 m+n−1。秩 1 矩阵就是外积 M=uvT,u∈Rm、v∈Rn,朴素计数 m+n。多算的 1 个参数是什么?是缩放:对任意 c=0,
uvT=(cu)(cv)T同一个矩阵对应无穷多个 (u,v) 对,它们差一个标量 c——这个 c 就是多算的那 1 个参数,正是 r2=1 的 GL(1) 冗余。所以秩 1 矩阵的真实参数是 m+n−1。
r=2、m=n=3:公式给出 2×(3+3−2)=8。可以验证:3×3 矩阵共 9 个元素,而”秩恰好为 2”是一个方程条件(3×3 矩阵行列式 =0),9 − 1 = 8,对上了。GL(2) 的 r2=4 个冗余让朴素计数 2×6=12 减到 8。
直觉:把 r(n+m−r) 拆开看#
r(n+m−r) 还可以拆成更可读的形式:
r(n+m−r)=基 Urm+坐标 Vrn−冗余r2也可以看成”每个基向量对应 (n+m) 个坐标,但基向量之间的规范变换不能算参数”:r 个基向量张成一个 r 维子空间,而”描述一个 r 维子空间”本身的自由度是 r(m−r)(固定主块法里 A 的部分),剩下的 rn 是坐标。两种读法都指向同一件事:低秩不是”少存几个数”那么简单,它本质上是在说”矩阵的信息集中在 r 个方向上”——方向(子空间)加上坐标,才是全部的独立信息。
回到 MLA:这笔账怎么算#
把这个计数公式用到《MLA 完全拆解》上,账就非常清楚了。MLA 用潜变量压缩 KV:下投影 WDKV∈Rdc×d、上投影 WUK∈Rd×dc,其中 dc=512≪d=5120(DeepSeek-V2 的配置)。
完整的 K/V 投影矩阵本来是 d×d=5120×5120,两个投影(K 和 V)就是 2×51202≈5240 万参数。MLA 用两个瘦矩阵的乘积代替它:
WUKWDKV≈WfullKV复合矩阵 WUKWDKV 的秩至多是 min(dc,d)=512,参数总量是 5120×512+5120×512=524 万——用我们的公式验证上限:r(m+n−r)=512×(5120+5120−512)≈498 万,是复合矩阵秩的上限对应的最小参数。相比之下完整矩阵的 5240 万参数,差距约一个数量级。
为什么秩这么小还不损失能力? 这正是特辑(一)Q2 讲过的结论:KV 信息的有效维度远小于 5120,绝大多数方向上的信息是噪声。低秩分解用 r(n+m−r) 个参数去逼近”信息本就在 r 维子空间里”的真矩阵,丢掉的是噪声方向。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 做了三个结构性改变,让它能训练:
- 新增向量处理单元(VPU)与标量单元——v1 只有”矩阵乘 + 累加”一条流水,激活函数、归一化、逐元素运算全部做不了;v2 的 VPU 专门做这些非矩阵运算;
- bfloat16 训练精度——16 位尾数 8 位指数的 BF16 在训练精度和显存/带宽之间取了平衡,矩阵乘单元用 BF16 输入、FP32 累加(和 GPU 的混合精度训练同一思路,详见《浮点数与数值稳定性》);
- XLA 编译器把训练图静态编译成芯片指令——训练不再是”主机逐条喂指令”,而是整个计算图编译好一次性下发。
之后的每一代都沿着这条”训练推理通吃”的路线走:v3 双 TensorCore、水冷;v4(2023 年 ISCA 论文)SparseCore 与光互连;v5p 面向大模型训练;v7 Ironwood(2025 年发布)官方定位是”inference era”,但能力是训练级的。
训练需要什么硬件能力,TPU 怎么满足#
训练一个 Transformer 的每一步(step)包含三类计算:
- 前向传播:L 层矩阵乘(QKV 投影、注意力分数、输出投影、FFN 两个投影),全部是 GEMM;
- 反向传播:每层要算三个矩阵乘——权重的梯度 dW=XTdY、输入的梯度 dX=dY⋅WT、注意力的梯度(更复杂,但本质还是 GEMM 的组合)。所以反向的矩阵乘数量大约是前向的 2-3 倍;
- 优化器更新:Adam 需要逐元素更新一阶矩、二阶矩,还有梯度裁剪、LayerNorm/RMSNorm 的归一化、dropout 掩码——全是逐元素运算。
TPU 的对应关系一目了然:矩阵乘全在 MXU(矩阵乘单元) 上做——v2 及以后的 MXU 是 128×128 脉动阵列,每 8 个周期完成一次 [8,128]×[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 把原理画得很清楚:

图中的立方体是一个 4×4×4 = 64 芯片的”构建块”,它的六个面各引出一组光纤;下方三个 OCS 用可动的微镜阵列把光纤两两对接。与以太网/InfiniBand 的”包交换”不同,OCS 是光路直连——建立连接后数据在光纤里全程光速直达,没有包头解析、没有排队、没有拥塞。
OCS 带来了四个训练集群最想要的性质:
- 拓扑可按任务重配:每次任务分配时,OCS 把 64 芯片的 4×4×4 块拼成任意形状的 3D torus(比如 8×8×4、8×8×8),重配大约 10 秒——训练任务的通信模式不一样(有的需要全对全、有的需要环状),拓扑跟着任务走;
- 扭环(twisted torus)免费:普通的 3D torus 全对全带宽受限于环面切割,扭环把每层的连接”拧”一下,对全对全吞吐提升明显——论文实测 4×4×8 torus 的全对全带宽从 39.6 GB/s 提升到 65.4 GB/s(每 TPU)。在硬连线的系统里换拓扑要改布线,在 OCS 系统里只是重载一张路由表;
- 成本功耗低:OCS 和光器件只占系统总成本的 <5%、功耗的 <3%,论文对比说比 InfiniBand 更便宜、功耗更低、延迟更低;
- 容错:4096 节点的超算能容忍约 1000 台 CPU 主机随时不可用(可用性 99%–99.9%),OCS 把故障节点的流量重路由掉,而不是整个任务失败。

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

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 论文给了三个非常有信息量的数字:
- goodput 从 85% 提到 97%:几千颗芯片的训练任务,按常规做法(定期把权重 checkpoint 到持久存储)恢复一次故障要很久,实际”有效训练时间”只有 85%。Gemini 改用冗余内存副本——模型状态在内存里保留多份副本,芯片故障后直接从完好的副本恢复,恢复时间大幅缩短,最大规模训练任务的 goodput 从 85% 提升到 97%。这是”用显存换时间”的典型工程决策;
- SDC 每周来一次:Silent Data Corruption(静默数据损坏)指硬件算错但不报错——结果悄悄变错,训练损失曲线根本看不出来。论文说在 Gemini 的规模下,大概每一到两周就会有一次 SDC 事件影响训练。检测手段是确定性重放:同一个计算重跑一遍对比结果,不一致就锁定出错芯片(配合空闲机器上的主动扫描与热备替换);
- 恢复路径决定一切:正是因为恢复快,才敢把集群利用率压到接近 100%;如果每次故障要等几小时的 checkpoint 恢复,调度器就会倾向于保守(预留冗余、降低利用率)。
这几条对理解”AI Infra”至关重要:万卡训练系统里,稳定性和可恢复性比峰值算力更能决定产出。这也是为什么 TPU 坚持”固定拓扑 + 编译器全权调度”——确定性换来的不仅是性能,还有可诊断性:拓扑固定、执行确定性高,出问题才好重放、才好定位。
问题三:为什么”推理快”的 TPU,纸面算力不如 B200/B300?#
问题本身需要修正:同口径下并不低#
先给结论:“TPU 纸面算力不如 B 系列”在多数口径下是错觉,是拿不同的尺子比出来的。 用同一把尺子(FP8、稠密、单芯片)量,2025-2026 年的对比是:
| 芯片 | 官方口径峰值 | FP8 稠密/芯片 | 显存 | 显存带宽 | 每瓦定位 |
|---|---|---|---|---|---|
| TPU v7 Ironwood | 4,614 TFLOPS FP8 | 约 4.6 PFLOPS | 192 GB HBM3e | 约 7.4 TB/s | 2× Trillium 每瓦性能 |
| NVIDIA B200 | FP4 稀疏 18 PFLOPS | 约 4.5 PFLOPS | 192 GB HBM3e | 8 TB/s | 通用训练推理 |
| NVIDIA B300 (Ultra) | FP4 稠密 15 PFLOPS | 约 5–7.5 PFLOPS(来源口径不一) | 288 GB HBM3e | 8 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 不跟牌?两个原因:
- 推理事实精度是 FP8。当前大模型推理的主流量化终点是 FP8(DeepSeek-V3/V4、Qwen 等开源模型的 FP8 权重都是标准配置),FP4 在质量上仍有风险,是 2025-2026 才刚起步的”下一代”;Google 把 Ironwood 的标称精度定在 FP8,是因为它的目标客户(自家 Gemini + Cloud 客户)实际上就跑 FP8;
- 稠密 vs 稀疏:TPU 的脉动阵列设计目标是稠密计算,不宣传稀疏收益——Google 不需要用营销数字抢客户,它的芯片主要服务自家模型,利用率比纸面峰值重要得多。
口径二:系统——SuperPod 与机架不是一个量纲#
单芯片对比只是第一步。把尺度拉到”系统”:
| 系统 | 规模 | 总算力 | 显存总量 |
|---|---|---|---|
| Ironwood SuperPod | 9,216 芯片 | 42.5 EFLOPS FP8 | 1.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 图:

Roofline 图把”算力上限(横轴为计算强度,纵轴为可达性能)“画成天花板:计算强度低于拐点的是带宽受限(memory-bound),高于拐点的是算力受限(compute-bound)。图里可以看到 TPU v4 的 roofline 在大部分区域高于 v3 和 A100,且各类 DNN 模型(卷积、Transformer 等)落在相对靠右的位置——这意味着对主流模型,v4 的”带宽×计算强度”组合能支撑更高的实际性能。
论文给出的数据支撑:大型语言模型在 TPU v4 上训练,平均可以达到约 60% 的峰值 FLOPs;v5p 之后 Google 生态的统计口径是”算力利用率超过 50%“,而 GPU 生态的同类统计常见 20%-40%。原因有两层:
- 架构匹配:Transformer 的计算就是密集矩阵乘 + 简单逐元素运算,这正是脉动阵列 + 向量单元的组合拳;编译器(XLA)把整个计算图静态编排好,没有 GPU 那种 kernel 启动、调度、内存栅栏的零碎开销;
- 确定性调度:固定拓扑 + 静态编译 = 每个 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 纸面算力低”:
- 纸面算力比的是”峰值”,推理吃的是”带宽×利用率”——decode 阶段峰值算力大半闲置,B 系列和 TPU 都在空转,比的是谁能把带宽用满、把队列排满;
- “纸面差距”来自精度口径(FP4 稀疏 vs FP8 稠密,可差 8 倍)与系统口径(单芯片 vs SuperPod)的双重错位;
- TPU 的真实优势是确定性:固定拓扑、静态编译、恒定 step 时间——在 9,216 芯片规模上这是可运维性(呼应问题二讲的 goodput 与 SDC 问题),在推理服务上这是稳定的 P99 延迟。
一句话:峰值算力是营销语言,利用率与确定性才是系统语言。 社区对 B300 与 B200 的对比同样印证了这一点——Spheron 的对比文章 分析的是”B300 贵出来的钱在推理里买到了什么”,结论是收益主要来自 288 GB 显存(能装下更大模型/更长上下文)与更快的注意力单元(SFU EX2),而不是峰值数字本身:

社区对比 B300/B200 时关注的重点是显存容量(288 GB vs 192 GB)、注意力加速单元与每 token 成本,而非 FP4 峰值——这再次说明推理选型要看”每 token 成本和延迟分布”,而不是单芯片峰值。
小结:一张表看懂#
| 口径 | Ironwood (TPU v7) | B200 | B300 | 谁赢 |
|---|---|---|---|---|
| FP8 稠密/芯片 | 约 4.6 PFLOPS | 约 4.5 PFLOPS | 约 5–7.5 PFLOPS | B300 略胜,其余打平 |
| FP4 稠密/芯片 | 未宣传(FP8 为主) | 约 9 PFLOPS | 15 PFLOPS | B 系列(但推理实际用不上) |
| 显存 | 192 GB | 192 GB | 288 GB | B300 |
| 系统形态 | 9,216 芯片 SuperPod,1.77 PB 共享 | NVLink 域 72 GPU | NVL72 机架 20 TB | 量级不同,TPU 集群一体化更强 |
| 算力利用率 | LLM 训练约 60% 峰值 | 20–40%(生态统计) | 同上 | TPU |
| 每瓦性能 | 2× Trillium | — | — | TPU |
| 软件生态 | XLA/JAX(Google 自用为主) | CUDA(全行业) | CUDA | NVIDIA(生态深度不可比) |
选型结论:自用、自研模型、要超大集群一体化 → 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 模型 |
| Intel | Core Ultra 200V(Lunar Lake) | 48 | NPU4 |
| Intel | Core Ultra 300(Panther Lake,2026.1) | 最高 50 | NPU5;老产品 Meteor Lake 只有 11 TOPS、不够格 |
| AMD | Ryzen AI 300(Strix Point) | 50(PRO 版最高 55) | 全 SKU 标配 50,含入门款 |
| AMD | Ryzen AI 400(Gorgon Point,2026) | 60 | 移动旗舰 |
| Apple | M4 Neural Engine | 38 | macOS 生态,不参与 Copilot+ |
| Apple | M5(2025.10) | 官方不再公布 TOPS | 把 AI 计算并入 GPU 的神经加速器,报相对提速 |
三个读表要点:
- 40 TOPS 是及格线不是性能线:45、48、50 的差异对日常 Copilot+ 功能几乎无感,真正的分水岭是”够不够 40”;
- TOPS 是峰值不是有效性能:同样 50 TOPS,跑本地 7B 模型时受制于内存带宽——高通的 LPDDR5X 大带宽让它成为唯一能原生跑量化 7B 的 Windows NPU,Intel/AMD 的 NPU 主流只能带 1–3B 模型,再大就得卸载到 GPU;
- 软件栈比硅片更能决定体验:苹果 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 功能 |
| 确定性 | 低(调度/抢占波动) | 高(静态编译 + 固定拓扑) | 中(超节点内确定性) | 高(固定负载) |
三个判断规则:
- 按负载形态选:训练(反向传播的灵活性)→ GPU 或训练型 ASIC(TPU v5p、昇腾 950DT);大规模稠密推理 → 利用率与带宽优先(TPU/昇腾);端侧小模型 → 只有 NPU;
- 按软件栈选:CUDA 生态意味着”今天就能跑 vLLM/SGLang”,ASIC 生态意味着”要么自研要么等兼容层”——对个人和中小企业,生态兼容性的权重远超纸面算力;
- 别拿峰值当唯一指标:峰值只回答”极限在哪里”,利用率回答”平时能用到多少”,带宽回答”推理能不能吃饱”,确定性回答”延迟能不能预测”——推理选型按这个顺序看四样东西。
特辑(一)的全景表(H100 → Groq LPU → 昇腾 950)与本篇的端侧表、数据中心 NPU 表合起来,就是 2026 年 8 月时点的完整图景:训练由 NVIDIA 主导、Google 用 TPU 自给自足、国产 NPU 在政策与市场双轮下放量、端侧 NPU 用 40 TOPS 划出 AI PC 的及格线。芯片市场没有全能冠军,只有”和你的负载形态最匹配”的选项。
小结:四个问题的答案速查#
| 问题 | 一句话答案 |
|---|---|
| r(n+m−r) 的 −r | 低秩分解 M=UVT 不唯一,GL(r) 的 r2 个参数是冗余;r(m+n)−r2=r(m+n−r)。固定 U 的前 r 行为单位阵可精确吃掉这 r2 个自由度 |
| 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 走完全不同路线的训练推理通吃的确定性系统。如果对这篇还有新问题,评论区见,攒够一批继续出答疑特辑(四)。
参考资料#
- TPU v4: An Optically Reconfigurable Supercomputer for Machine Learning with Hardware Support for Embeddings(ISCA 2023,本文 OCS、SuperPod、Roofline 三张图与全部 v4 数据来源)
- Gemini: A Family of Highly Capable Multimodal Models(技术报告,TPUv4/TPUv5e 训练、goodput 85%→97%、SDC 检测的原文出处)
- Scale MLPerf-0.6 models on Google TPU-v3 Pods(TPU v3 1024 芯片 pod 与 2D torus all-reduce 的实证论文)
- In-Datacenter Performance Analysis of a Tensor Processing Unit(TPU v1 论文,v1 纯推理架构依据)
- TPU v7 Ironwood 官方文档(4,614 TFLOPS FP8/芯片、192 GB、9,216 芯片 SuperPod、42.5 EFLOPS)
- Google Unveils 7th-Gen TPU Ironwood with 9,216-Chip Superpod(TrendForce 报道)
- TPU v5p 官方文档(459 TFLOPS BF16、8,960 芯片 pod)
- NVIDIA B300 vs B200: Key Differences Explained(FS Blog,B200/B300 算力与显存规格)
- B300 vs B200 for AI Inference: Is Blackwell Ultra Worth the Premium?(Spheron 博客,对比封面图来源)
- NPU Comparison 2026: Intel vs Qualcomm vs AMD vs Apple(Local AI Master,端侧 NPU TOPS 数据)
- NPU Guide 2026: TOPS, Copilot+ PCs & Memory Bandwidth Explained(Solidaitech,40 TOPS 门槛与带宽分析)
- 国产AI芯片”三强”并起:国产替代趋势已从政策驱动转向市场驱动(中国工业新闻网,昇腾/昆仑芯/寒武纪 2026 动态)
- 华为昇腾950深度解读:不靠先进制程,用系统战对标英伟达(东方财富号,950PR/950DT 与 Atlas 950 超节点参数)
- GSPMD: General and Scalable Parallelization for ML Computation Graphs(XLA 分区器原始论文)
- DeepSeek-V3 Technical Report(FP8 权重训练与推理的事实精度现状)
- 答疑特辑:秩与 SVD、RoPE 旋转矩阵、投机解码原理与 AI 芯片全景(本站:问题一的计数公式出处,问题四的全景表前作)
- 答疑特辑(二):浮点数五问——无限循环小数、spacing at 1、Python 精度与舍入方式详解(本站:本篇问题清单的预告出处)
- TPU v1 完全拆解(一):为推理而生的领域专用架构与指令集(本站:v1 架构与”纯推理”背景)
- TPU v1 完全拆解(二):脉动阵列、weight-stationary 数据流与 Roofline 性能归因(本站:脉动阵列与 Roofline 基础)
- 浮点数与数值稳定性:从 IEEE 754 到 FP8 的 LLM 精度世界(本站:BF16/FP8 精度背景)
文章分享
如果这篇文章对你有帮助,欢迎分享给更多人!
部分内容可能已过时
评论区
分享你的想法,与大家交流讨论
音乐
暂未播放



