TorchTPU

5天前发布 18 00

TorchTPU 是谷歌联合 Meta 推出的 Apache2.0 开源 Cloud TPU 原生 PyTorch 后端,取代 PyTorch/XLA,一行代码即可把 PyTorch 模型跑在 TPU。支持 Eager 调试 + torch.compile 生产编译,配套 vLLM、SGLang、Hugging Face 生态,支持 81...

所在地:
谷歌云
收录时间:
2026-10-23
TorchTPUTorchTPU

谷歌与 Meta 的 PyTorch 团队近日联合宣布,正式开源 TorchTPU。这是一个专为 Google Cloud TPU 设计的原生 PyTorch 后端,于 2026 年 10 月 20 日的 PyTorch Conference 上正式发布。谷歌官方明确表示,TorchTPU 将取代原有的 PyTorch/XLA,并推荐所有新的工作负载迁移至该平台。

TorchTPU

核心架构与执行机制

TorchTPU 通过 PyTorch 的 PrivateUse1 接口无缝插入,允许开发者直接使用标准的 torch.device("tpu") 调用 TPU。与 PyTorch/XLA 依赖惰性张量图(Lazy Tensor Graph)和纯 SPMD(单程序多数据)执行不同,TorchTPU 采用 Eager(即时)优先的执行模型,原生支持发散的 MPMD(多程序多数据)执行,且张量为标准 PyTorch 张量,无需子类或包装器。

其执行路径分为两种模式:

  1. Eager 模式(适用于调试与快速迭代):
    • Strict(默认):以标准 PyTorch 语义异步分派每个算子。
    • Debug:同步运行,并提供张量边界检查。
    • DeferAndFuse:融合连续的 Eager 算子以减少 HBM(高带宽内存)流量,据官方论文称,此模式可比 Strict 模式提速 50% 以上。
  2. 编译模式(适用于生产级吞吐量):通过 torch.compile(backend="tpu") 调用 TorchDynamo 捕获计算图,经由 StableHLO 降级至 OpenXLA,最终生成 TPU 机器代码。编译后的可执行文件可在进程、主机和作业重启间缓存。

性能表现与扩展能力

根据谷歌及其合作伙伴的自报数据,TorchTPU 在训练和扩展性上表现优异:

  • 训练效率:使用 TorchTitan 训练 Qwen 3 8B 模型时,硬件利用率(MFU)高达 52%。
  • 线性扩展:在高达 8,192 块 Ironwood(TPU v7x)芯片的集群上,展现出接近线性的扩展能力。
  • 调优收益:在一个 TorchTitan 微调案例中,通过完整调优(结合 DeferAndFuse 与 torch.compile),单步训练时间从 11.49 秒大幅降至 2.78 秒(提升约 3.80 倍)。

生态集成与分布式支持

TorchTPU 提供了丰富的生态集成,确保主流 AI 框架和模型能够平滑迁移:

  • 主流框架支持:Hugging Face Transformers v5 现已支持通过 device_map="tpu" 直接部署;Diffusers 支持 Eager、torch.compile 及张量并行。
  • 推理服务优化:联合 Inferact 推出 vLLM-TorchTPU,联合 RadixArk 推出 SGLang-TorchTPU,保留了原有的调度器与前缀重用机制,并支持 FP8 KV 缓存、FP8/MXFP4/NVFP4 检查点,以及 MTP 和 EAGLE-3 推测解码。
  • 分布式训练:通过 tpu_dist 进程组原生支持 DDP、FSDP2 和 DTensor,并提供针对 TPU 互连拓扑感知的网格配置。
  • TorchTitan 配方:已内置 Llama 3 (70B/405B)、Qwen 3 (8B/32B/235B MoE) 以及 FLUX.1 12B 等主流模型的训练配方。

相关导航