本文へ
ハクソク

世界を動かす技術を、日本語で。

GoogleがTorchTPUをオープンソース化、TPU用のネイティブPyTorchバックエンド

元記事: 原文(github.com)

概要

TorchTPU は、Googleの TPU 上で PyTorch モデルを動作させるためのバックエンドを提供。 カスタムATenカーネルや分散トレーニング、 torch.compile() との統合をサポート。 インストールやビルド方法、VSCodeでの開発環境構築手順を詳細に解説。 ユーザーガイドとインタラクティブノートブックも利用可能。 Apache 2.0ライセンス でオープンソースとして公開。

TorchTPU: PyTorch向けTPUバックエンド

  • PyTorch のモデルや演算を Google TPU 上で実行可能にするバックエンドの提供。
  • ATenカーネル のカスタム実装により、様々なPyTorch演算をTPUに最適化。
  • XLA計算 の最適化を支える コンパイルキャッシュ の搭載。
  • 分散トレーニング (データ並列・テンソル並列)をサポート。
  • Llama, Qwen, ResNet, DLRM, minGPT, UNet など幅広いモデルのサンプル実装。
  • torch.compile() との統合により、グラフモードでの高速実行が可能。
  • デバッグ・ベンチマーク用ユーティリティ の提供。

ユーザーガイド・インタラクティブノートブック

  • 公式ユーザーガイド: https://torchtpu.readthedocs.io/ にて提供。
  • ドキュメントフォルダ内に Marimoノートブック (Jupyter類似)を収録。
  • marimo edit file.py コマンドでノートブックを編集・実行可能。
  • TPU VM (v6e GCEインスタンス推奨)での実行が必要。

インストール方法

  • PyTorchのリリース互換性 に準拠し、 Python 3.11以上 に対応。
  • Python仮想環境 の作成例:
    • python -m venv .venv
    • source .venv/bin/activate
  • pipによるインストール:
    • pip install torch_tpu==0.2.0 --extra-index-url https://download.pytorch.org/whl/cpu
  • ソースからのビルド:
    • bazel build --config=wheel_common //ci/wheel:torch_tpu_wheel
    • 最適化モード (-c opt)がデフォルト、デバッグや開発時は--//:allow_unoptimized_wheel=Trueを追加。
    • Remote Build Execution (RBE) 未使用時は--config=no_rbeを追加。
    • ビルド後、pip install ../bazel-bin/ci/wheel/*.whl --extra-index-url https://download.pytorch.org/whl/cpuでインストール。

開発環境・依存関係

  • Bazel によるビルド・依存管理を採用。
  • Bazelisk (Bazelのラッパー)のインストール例:
    • go install github.com/bazelbuild/bazelisk@latest
    • wget -O ~/bin/bazel https://github.com/bazelbuild/bazelisk/releases/download/v1.27.0/bazelisk-linux-amd64
  • インストール後は PATH に追加し、bazel infoで動作確認。

VSCode + clangdによるC++開発

  • VSCode に clangd拡張 を導入し、C++コードナビゲーションを強化。
  • Microsoft C++拡張 は競合防止のためアンインストール推奨。
  • コンパイルデータベース 生成:
    • tools/setup_clangd.pyを実行
    • 初回は30分以上かかる場合あり、再実行は高速。
    • nox -s refresh_compile_commands -- --no-buildでも実行可能。

貢献方法・ライセンス

  • PyTorch on TPU プロジェクトへの貢献歓迎。
  • CONTRIBUTING.md 参照、 CLA署名 ・コードレビュー必須。
  • Apache 2.0ライセンス で公開、詳細は LICENSEファイル 参照。

提供: ハクソク · 要約更新:

AIによる日本語要約です。内容は原文とあわせてご確認ください。

Hacker Newsの議論を読む

Hackerたちの意見

Google Cloud以外にTPUってあるの?

└

Google CoralのUSBやm.2デバイスはTPUだよ。

└

TPU / ニューラルコンピュートアクセラレーター / 数学コプロセッサー;「OpenTPU: Googleのテンソル処理ユニット(TPU)のオープンソース再実装」 https://news.ycombinator.com/item?id=44111452 からの引用: > 「44GBの'L2'オンチップSRAMを搭載したCerebras WSE-3は、GoogleのTPU、TeslaのTPU、NorthPole、Groq LPU、Tenstorrent、AMDのNPU設計とどう比較されるの?」 シリコンカーバイドで作られたTPUが標準のファブで存在するよ。光子を使ったテンソル処理もあるけど、それはTPUとはちょっと違うね。

└

そうだよ。Googleは大手顧客(例えばAnthropic)にTPUを販売してることで有名だし、Crux AIはそのためのベンチャーなんだ。

└

ただのマーケティングかもしれないけど、彼らはPixelフォンのNPUsを「TPUs」って呼んでるよね。

面白いね、AmazonもAWS Trainiumをやってるんだ。 https://github.com/aws-neuron/torch-neuronx

└

PyTorchのカンファレンスが今日開催されてるんだって、偶然のタイミングを説明するために。

AIエンジニアじゃないからバカな質問かもしれないけど、これは今日のベストなDeepSeekのオープンソース推論エンジンに対するGoogleの答えなの?

└

Googleみたいな大企業はそんなニュースに反応しないと思うよ。おそらくこれは数週間前から火曜日に発表される予定だったんじゃないかな。たまたま別のニュースと重なっただけだと思う。

└

それぞれ違うことをしていて、スタックの異なる部分に位置してる(トレーニングと推論)。TorchTPUは、GoogleのTPUチップにもっと多くの人を慣れさせるためのプレイみたいだね。彼らはGoogleの外の人にも売りたいんだろう。

└

笑、これはhttps://github.com/pytorch/xlaの代わりだよ。

└

そうそう、今朝ニュースを見て、急いでTorch→XLAの翻訳レイヤーを作って、4つの異なる推論エンジンと連携して(それぞれがブログ記事も書いてたし)、ニュースサイクルに乗るために急いで出したんだよ。

Hacker Newsで議論の続きを見る

同じ出典の記事