本文へスキップ
MameTechNews
AI

Google・Meta、PyTorchをTPUでネイティブに動かすTorchTPUを公開 .to("tpu")だけで既存モデルが動作、eagerとtorch.compileに対応

## POINTS

  • JAX非依存のネイティブPyTorchバックエンドで、eagerとDynamoベースのtorch.compileに対応
  • Hugging Face上位5,000モデルの動作を検証、vLLM・SGLang・TorchTitan・Rayと統合済み
  • model.to("tpu")で動くが、ピーク性能には形状やシャーディングの調整が必要

PyTorch公式ブログ「Introducing TorchTPU」によると、TorchTPUは2025年半ばにGoogleで始まりMetaのPyTorchチームと共同で進めてきたプロジェクトで、PyTorch Conference North America(10月20〜21日、サンノゼ)に合わせて発表された。従来のPyTorch/XLAはLazy Tensorを前提にコード変更が必要で、コンパイル待ちが長くeagerモードにも対応していなかった。TorchTPUはランタイムにJAX依存を持たず、eager実行を最優先にし、torch.compileはTorch Dynamoベースで実装している。DDP・FSDP・DTensorなどの分散処理にもTPUの集合通信を最下層で提供して対応する。現時点で新しいDeferAndFuseのeagerモードを含むeager・コンパイル両モード、約450のATen演算、JAX/PallasやHelion DSLによるカスタムカーネル作成をサポートし、Hugging Faceでダウンロード数上位5,000モデルのそのままの実行を検証したという。vLLMやSGLangでのマルチホスト推論、TorchTitanでの学習、Rayでのオーケストレーションとの統合も確認済みで、すでにGoogle Cloudの大口顧客の本番推論・学習で使われている。ブログは、単純な置き換えでピーク性能が出るわけではなく、GPU向けに偏った形状やシャーディングの調整は必要になると補足している。同じ会期にはAWSもTrainium向けのTorchNeuronを発表しており、PyTorchから使えるアクセラレータの選択肢が広がっている。