TPU:为什么谷歌不排队等 NVIDIA GPU(2/2)

发布: (2025年12月13日 GMT+8 15:39)
5 min read
原文: Dev.to

Source: Dev.to

深度学习的精度格式

传统科学计算使用 FP64(双精度)或 FP32(单精度),精度极高。
然而深度学习并不需要如此高的精度。因此 Google 创建了 bfloat16(Brain Floating Point),一种 16 位格式,保留了 FP32 的宽动态范围(≈ 1e‑38 到 1e38),但牺牲了一些小数位精度。

  • FP16 的范围有限(约 6e‑5 到 6e4),可能导致训练不稳定。
  • bfloat16 保持了 FP32 的范围,因而适合 AI 工作负载。

NVIDIA 随后在其 A100 和 H100 GPU 上采用了 bfloat16。

TPU Pods 与芯片间互连

单个 TPU 芯片在矩阵乘法上表现出色,但无法单独处理当今的大模型。Google 将芯片组织成层级化的 TPU Pod

  1. TPU 芯片TPU 板卡
  2. 板卡TPU 机架
  3. 机架TPU Pod

一个 Pod 最多可容纳 4,296 芯片,软件将其呈现为单一的、极度并行的处理器。

芯片间互连 (ICI)

标准以太网对于训练期间持续、低延迟的数据交换来说太慢。TPU Pods 使用专用的 芯片间互连 (Inter‑Chip Interconnect, ICI),直接绕过 CPU。芯片以 3‑D 环形拓扑(类似“甜甜圈”形状)连接,使任意芯片只需几跳即可到达最远的芯片。

光学电路交换机 (OCS) – TPU v4

TPU v4 引入了 光学电路交换机 (Optical Circuit Switch, OCS),省去了电‑光转换步骤:

  • MEMS 镜面 倾斜以引导携带光信号的数据束,几乎零延迟。
  • 弹性恢复:若部分芯片失效,镜面可重新排列,实现即时流量重路由。

大规模散热

成千上万的芯片聚在一起会产生巨大的热量。Google 采用 直达芯片液冷,将冷却管道直接铺设在芯片上——实际上把数据中心变成了巨大的水族箱。这一做法早于 NVIDIA 最近在 H100 上采用的液冷方案。

软件栈:从 TensorFlow 到 JAX

组件角色输入输出
JAX (前端)用户接口Python 代码中间表示 (HLO)
XLA (后端)编译器引擎HLO计算图 / TPU/GPU 可执行二进制
  • 自动微分 (grad)向量化 (vmap) 由 JAX 处理。
  • XLA 执行 kernel 融合,减少内存访问次数,充分利用 TPU 的 systolic array。

Ironwood TPU (TPU v7)

2025 年 Google 宣布了 Ironwood,第七代 TPU,旨在兼顾大语言模型推理效率和大规模训练。

  • FP8 支持(首款原生 8 位浮点的 TPU)。
  • 计算性能:4,614 TFLOPS(FP8)。
  • 内存:每芯片 192 GB HBM3E,带宽 7.37 TB/s(受内存带宽限制的工作负载)。
  • Pod 扩展:每个 Pod 最多 9,216 芯片。
  • ICI 带宽:1.2 TB/s 双向。
  • 能效:比 TPU v6 提升约 2 倍,仍使用直达芯片液冷。

来源:Google Cloud Blog – Ironwood TPU

为什么 GPU 仍然占主导

  • 软件生态:NVIDIA 的 CUDA 自 2006 年起不断演进;超过 90 % 的 AI 研究者编写 CUDA 代码。
  • 框架优化:PyTorch 对 CUDA 进行了大量优化。虽然 PyTorch 能在 TPU 上运行,但体验不够成熟。
  • 可获取性:GPU 可以购买并在本地部署;TPU 只能通过 Google Cloud Platform 使用。已经在 AWS 或 Azure 上的组织很难采用 TPU。

因此,尽管 TPU 在硬件上具备优势,成熟的软件堆栈和 GPU 的易获取性仍使其在 AI 开发中保持领先地位。

Back to Blog

相关文章

阅读更多 »