---
title: "TPUとは？GPUとの違い・世代別性能と料金、TorchTPUのOSS公開とPyTorch移行【2026年10月】"
url: "https://www.issoh.co.jp/tech/details/10447/"
published: 2026-01-02
updated: 2026-10-28
categories: ["Google Cloud"]
publisher: "株式会社一創"
---

# TPUとは？GPUとの違い・世代別性能と料金、TorchTPUのOSS公開とPyTorch移行【2026年10月】

TPU（Tensor Processing Unit）は、GoogleがAIの学習と推論のために自社設計した専用チップです。ニューラルネットワークの計算の大半を占める行列の掛け算を、専用の演算回路でまとめて処理します。市販のGPUと違って店頭では買えず、Google Cloudの「Cloud TPU」をチップ1個・1時間単位で借りて使います。

2026年10月21日、PyTorchをTPUでそのまま動かす**TorchTPU**がオープンソースで公開されました。これまでTPUはJAX向けという印象が強かったのですが、PyTorchのコードを`"cuda"`から`"tpu"`に書き換えて動かせるようになり、選ぶ前提が変わっています。この記事では2026年10月時点の公式ドキュメントの数値をもとに、仕組み、CPU・GPUとの違いとデメリット、世代ごとの性能と料金、TorchTPUの導入手順、PyTorch/XLAからの移行までを順に説明します。

スマホケースや靴に使われる「TPU」は熱可塑性ポリウレタンという樹脂素材の略称で、この記事のTPUとは別物です。

## まとめ：TPUの要点とTorchTPU公開で変わるPyTorch利用者の選び方

- **何か**：Googleが自社設計したAI専用チップ。行列演算を担うMXU（256×256または128×128のシストリックアレイ）と大容量のHBMを載せ、多数のチップを専用リンクでつないで使います。
- **GPUとの違い**：GPUは汎用の並列計算装置で、手元のPCにも挿せます。TPUは行列演算に絞った設計で、入力の形が毎回変わる処理や独自演算の多いモデルは苦手です。入手経路は基本的にGoogle Cloudです。
- **最新世代**：Google Cloudで使える最新はTPU7x（Ironwood）で、2026年3月31日に一般提供が始まりました。チップあたりBF16で2,307 TFLOPS、HBMは192GiBです。第8世代のTPU 8t・8iは発表済みですが、10月25日時点のリリースノートにはまだ載っていません。
- **料金**：チップ1個・1時間あたりの従量課金です。オンデマンド単価はv5e（アイオワ）1.20ドル、Trillium（東京）3.24ドル、Ironwood（アイオワ）12.00ドル。Ironwoodは開始時刻を待てるDWS Flex-startなら6.00ドルです。
- **TorchTPU**：2026年10月にGitHubとPyPI（0.2.0）で公開されました。v5e・v5p・v6e・TPU7xに対応し、Pythonは3.11以上が対象です。
- **PyTorch/XLA**：公式リポジトリは非推奨と表示され、2026年11月15日にアーカイブされます。新規開発はTorchTPUで始め、既存資産は移行計画を立てる段階です。

## TPUの定義とGoogleが行列演算専用チップを自社開発した経緯

ニューラルネットワークの入力・重み・中間結果は、多次元の数値配列（テンソル）として扱われます。このテンソルの演算、特に行列の掛け算と足し算を専門に処理する装置であることが、Tensor Processing Unitという名前の由来です。Google Cloudの[Cloud TPUの概要](https://docs.cloud.google.com/tpu/docs/intro-to-tpu)は、TPUを「MLワークロードの高速化に使う、Google独自の特定用途向け集積回路（ASIC）」と定義しています。

Googleは2016年のGoogle I/OでTPUを公表しました。[Google Cloudのブログ](https://cloud.google.com/blog/products/ai-machine-learning/an-in-depth-look-at-googles-first-tensor-processing-unit-tpu)によると、2013年にニューラルネットワークの計算需要の伸びから、運用するデータセンターを倍にする必要が出かねないと判断したことが開発を急いだ理由です。第1世代TPUは同時期のCPU・GPUに比べて15〜30倍の性能と、30〜80倍の電力あたり性能を示しました。

現在はGoogle社内のGeminiの学習・推論にもTPUが使われ、社外ではAnthropicが2025年10月23日に[最大100万個のTPUを使う計画](https://www.anthropic.com/news/expanding-our-use-of-google-cloud-tpus-and-services)を発表しました。2026年4月6日にはGoogle・Broadcomと[次世代TPUを複数ギガワット規模で確保する新契約](https://www.anthropic.com/news/google-broadcom-partnership-compute)を結んだと公表しました（2027年から順次稼働の見込み）。2026年10月のTorchTPU公開告知には、MetaのPyTorchチームが共同開発に加わり、自社のLLM・広告・推薦のワークロードをTPUへ載せていくというコメントも載っています。

## TPUの仕組み：MXU・HBM・チップ間接続の3層で決まる演算速度

TPUの速さは、演算回路の並べ方、メモリの置き方、チップ同士のつなぎ方の3層で決まります。

### 行列演算を担うMXUとシストリックアレイの256×256構成

TPUチップの中心はTensorCoreで、その中に行列演算ユニット（MXU）、ベクトルユニット、スカラーユニットがあります。MXUは積和演算器を格子状に直結したシストリックアレイで、TPU v6e（Trillium）とTPU7x（Ironwood）では256×256、それ以前の世代では128×128です。データが格子の中を隣へ流れながら積和を繰り返すので、メモリへの読み書きが減ります。乗算はbfloat16で入力し、累積は32ビット浮動小数点で行います。

### HBMの容量と帯域：TPU7xの192GiB・7,380GB/s

各チップには高帯域メモリ（HBM）が載っています。TPU7xは1チップ192GiB・帯域7,380GB/sで、v6eの32GiB・1,638GB/sから容量6倍、帯域4.5倍になりました。大きなモデルの重みやKVキャッシュを少ないチップ数に収められます。

### ICIとPod：9,216チップをつなぐトーラス型クラスタ

TPUはチップ間接続（ICI）で隣のチップと直結し、2次元または3次元のトーラス状のネットワークを組みます。この単位がPodで、TPU v5eとv6eは256チップ、TPU7xは9,216チップです。汎用ネットワークを経由しないので、数千チップにまたがる学習でも通信待ちを抑えやすい構成です。

## CPU・GPU・TPUの違いと公式ガイドのワークロード別振り分け

| 項目     | CPU      | GPU          | TPU            |
| ------ | -------- | ------------ | -------------- |
| 設計の狙い  | 汎用処理・制御  | 汎用の並列計算      | 行列演算に特化        |
| 演算の単位  | 少数の高性能コア | 数千〜数万のコア     | MXU（シストリックアレイ） |
| 得意な処理  | 分岐の多い処理  | 画像処理・科学計算・AI | 大規模モデルの学習・推論   |
| 主な開発環境 | ほぼすべて    | CUDA・PyTorch | JAX・TorchTPU   |
| 入手方法   | 市販       | 市販・クラウド      | Google Cloud   |

Cloud TPUの概要ページは、ワークロードごとに次のように振り分けています。

- **CPU向き**：柔軟さ優先の試作、短時間で学習が終わる小さなモデル、C++で書いたTensorFlowの独自演算が多いモデル
- **GPU向き**：CPUで一部を実行する独自演算を多く含むモデル、Cloud TPUに無いTensorFlowの演算を使うモデル、中〜大規模のモデル
- **TPU向き**：行列演算が大半を占めるモデル、学習ループ内に独自演算が無いモデル、数週間〜数か月かけて学習する大規模モデル、推薦モデルのような超大規模の埋め込み表を持つモデル

スマートフォンやPCに内蔵されるNPUも同じAI向けのチップですが、端末内の省電力推論が目的で、データセンターで使うTPUとは規模も用途も異なります。NPUについては[NPUとは？CPU・GPUとの役割分担とTOPSの実効性能・採用判断](/tech/details/16171/)で解説しています。

## TPUのメリットとデメリット：GPUより有利な条件と先にGPUを選ぶ4条件

TPUは条件が合えば安く速い一方、合わないと性能が出ずに移行コストだけが残ります。

### メリット：電力あたり性能・Pod規模・チップ時間単価

- **電力あたり性能**：Googleは[Ironwoodの発表](https://blog.google/products/google-cloud/ironwood-tpu-age-of-inference/)で、電力あたり性能が前世代Trilliumの2倍だと説明しています。データセンターの電力が計算資源の上限になっている今、同じ電力枠で動かせる計算量に直接効いてきます。
- **規模**：TPU7xは1つのPodで9,216チップまで専用リンクでつながります。TorchTPUの公開告知では、TorchTitanによる学習がQwen 3 8BでMFU（理論性能に対する実効利用率）最大52%を出し、最大8,192個のIronwoodまでほぼ線形に伸びたと報告されています。
- **単価の幅**：v5eは1チップ1時間1.20ドルから借りられ、推論用の小さな構成なら低い単価で始められます。

### デメリット：GPUを先に検討すべき4つの条件

TorchTPUでPyTorchから入りやすくなっても、次のどれかに当てはまるなら、まずGPUで進めるべきです。

- **入力の形が毎回変わる**：XLAは最初のバッチの形でグラフをコンパイルするため、形が変わるたびに再コンパイルが走る仕組みです。公式ドキュメントは、テンソルの形状が動的なモデルはTPUに向かないと明記しています。可変長のテキストを詰め物なしで流す処理が典型で、TorchTPUの機能表でも「再コンパイルなしの動的演算」は今後の計画で、上限付きの動的形状（SymInts）を扱う機能はまだExperimentalです。
- **学習ループ内に独自演算がある**：公式ガイドは、分岐の多い処理や高精度演算と並べて、学習ループ内の独自演算をTPUに不向きな条件に挙げています。CUDAで書いた独自カーネルに依存するコードは、TPU用に書き直す工数を先に見積もってください。
- **行列の次元が小さい・半端**：MXUの形に合わない行列はコンパイラがゼロで埋めるため、演算器の利用率が下がります。TorchTPUの4月の発表は、注意機構のヘッド次元を64にしたモデルが多い一方、現行TPUは128か256で最も効率が出ると指摘しています。
- **AWS・Azureに基盤を固めている**：2026年10月時点でTPUを借りる経路は基本的にGoogle Cloudです（Blackstoneとの合弁TPUクラウドは2027年稼働予定）。AWSにはTrainiumという独自AIチップがあり、同じ発想の選択肢になります（[AWS Trainiumとは？Trainium3までの世代別性能・料金・Neuron SDK対応と採用判断](/tech/details/10448/)）。

逆に、JAXで書かれた大規模モデルの事前学習や、Gemini系のようにTPU前提で設計されたモデルの推論では、TPUを第一候補にしてよい場面です。PyTorchで書いた標準的なTransformerを数千チップ規模で学習するなら、TorchTPUとTorchTitanの組み合わせが新しい候補に加わりました。GPUとTPUのどちらで学習・推論基盤を組むか、PyTorch/XLA資産を移す工数も含めて検討したい場合は、一創の[機械学習モデル開発](/service/ai/machine-learning/)でモデル設計から学習基盤の選定まで相談を受け付けています。

## TPUの世代一覧：v5eからIronwood・第8世代8t/8iまでの性能比較

Google Cloudで提供中の主な世代を、公式ドキュメントのチップあたりの値で並べると次のとおりです。

| 世代                | BF16ピーク性能    | HBM容量  | HBM帯域     | Podのチップ数 |
| ----------------- | ------------ | ------ | --------- | -------- |
| TPU v5e           | 197 TFLOPS   | 16GB   | 800GiB/s  | 256      |
| TPU v5p           | 459 TFLOPS   | 95GiB  | 2,765GB/s | 8,960    |
| TPU v6e（Trillium） | 918 TFLOPS   | 32GiB  | 1,638GB/s | 256      |
| TPU7x（Ironwood）   | 2,307 TFLOPS | 192GiB | 7,380GB/s | 9,216    |

出典：Google Cloud「[TPU v5e](https://docs.cloud.google.com/tpu/docs/v5e)」「[TPU7x（Ironwood）](https://docs.cloud.google.com/tpu/docs/tpu7x)」。数値と単位は各公式表の表記に合わせています。

TPU7xはFP8でチップあたり4,614 TFLOPSです。公式の比較表ではv5p・v6eのFP8欄がBF16と同じ値（459・918 TFLOPS）なので、FP8で推論する場合の世代差はBF16の比較より大きく出ます。TorchTPUが動作対象に挙げているのも、この表の4世代です。

### TPU7x（Ironwood）：2026年3月に一般提供された第7世代

Ironwoodは2025年4月9日に「推論の時代に向けた初のTPU」として発表されました。[Cloud TPUのリリースノート](https://docs.cloud.google.com/tpu/docs/release-notes)では、2025年11月24日にプレビュー、2026年3月31日に一般提供です。公式ドキュメントはTPU7xを「Google Cloudで利用できる最新のTPU」と位置づけ、対応フレームワークをJAXとPyTorchに限り、TensorFlowは非対応と明記しています。TensorFlowのモデルをTPUで動かしているなら、v6e以前に留まるかフレームワークを移すかの判断が要ります。

### 第8世代TPU 8t・8i：学習用と推論用に分かれた世代

2026年4月22日、Googleは第8世代を学習向けのTPU 8tと推論向けのTPU 8iに分けて発表しました。8tは1つのスーパーポッドで9,600チップまで拡張でき、8iはHBM 288GB・チップ内SRAM 384MBを載せ、大規模なMoEモデルの低遅延推論ではIronwood比で1ドルあたり性能が最大80%高いとされます。4月の発表は一般提供を「年内」としていましたが、10月25日時点で[Cloud TPUの製品ページ](https://cloud.google.com/tpu)は両方を「近日提供予定」と表示し、リリースノートと料金表にも項目はありません。TorchTPUの機能表でも、v8t・v8iは「今後の対応」の欄です。仕様と提供状況は[TPU 8t・8iとは？Google第8世代TPUの仕様・Ironwoodとの違いと提供状況](/tech/details/11895/)で追っています。

## Cloud TPUの料金：チップ時間単価と割引、利用経路の選び方

TPUはGoogle Cloud上で借りて使い、料金はチップ1個・1時間あたりの従量制です。

### チップ時間単価：Ironwood12ドルからv5e1.20ドルまでの比較

| 世代       | リージョン               | オンデマンド  | DWS Flex-start | 1年契約   | 3年契約   |
| -------- | ------------------- | ------- | -------------- | ------ | ------ |
| Ironwood | us-central1（アイオワ）   | 12.00ドル | 6.00ドル         | 8.40ドル | 5.40ドル |
| Trillium | asia-northeast1（東京） | 3.24ドル  | 1.35ドル         | 2.27ドル | 1.46ドル |
| TPU v5p  | us-east5（コロンバス）     | 4.20ドル  | 2.10ドル         | 2.94ドル | 1.89ドル |
| TPU v5e  | us-central1（アイオワ）   | 1.20ドル  | 0.60ドル         | 0.84ドル | 0.54ドル |

出典：Google Cloud「[TPU Pricing](https://cloud.google.com/tpu/pricing)」（2026年10月25日に確認）。DWS Flex-startは、Dynamic Workload Schedulerで空きが出た時点に開始する代わりに単価が下がる方式です。

コンソールの請求はチップ単位でなくVM単位の時間で表示されます。Ironwoodを256チップ使えばオンデマンドで1時間3,072ドルです。料金ページは、短い実験にはオンデマンド、中断されてもよいバッチ処理にはSpot、32〜512コアを継続的に確保するなら1年契約、512コア以上なら3年契約を勧めています。TorchTPUの入門手順はv6eのTPU VMを例にしているので、最初の動作確認は東京のTrillium数チップで始めると費用を読みやすくなります。

### 利用経路：Compute Engine・GKE・Colab・Kaggleの使い分け

本番の利用経路は、Compute Engine、Google Kubernetes Engine（GKE）、Gemini Enterprise Agent Platform（旧Vertex AI）の3つです。2026年6月1日にCompute EngineのインスタンスAPIでTPU VMを作れるようになり、従来のCloud TPU APIは非推奨と案内されています。Cloud TPU APIを前提にした古い手順書は、公式の移行ガイドと照らし合わせてから使ってください。Agent Platformの全体像は[Vertex AIとは？Google CloudのAI開発プラットフォームの機能・料金とSageMaker/Azure MLとの違いを実装者目線で解説](/tech/details/15546/)にまとめています。

費用をかけずに試すなら、ノートブック環境を使います。Google ColabのFAQは、GPUとTPUを含む計算資源を無料で使えると明記しています（利用量には上限があります）。Colabの無料枠のTPUは、2025年8月30日の[運営告知](https://github.com/googlecolab/colabtools/issues/5566)どおり、古いTPU v2-8は同年9月に外れ、TPU v5e-1に置き換わりました。ランタイムのタイプで「TPU v5e-1」を選べば、v5eのチップ1個で試せます。Kaggleのノートブックでも無料枠でTPUを選べます（利用時間の上限はKaggleの公式ドキュメントで確認してください）。Kaggleの始め方は[Kaggle（カグル）とは？始め方・できること・評判を初心者向けに解説](/tech/details/3931/)を参照してください。

## TorchTPU：2026年10月にOSS化されたPyTorchネイティブのTPUバックエンド

TPUのプログラムは、XLAというコンパイラが計算グラフをTPU向けの命令に変換して実行します。JAXはこのXLAの上に作られています。PyTorchからTPUを使う手段は、2026年10月を境にPyTorch/XLAからTorchTPUへ切り替わりました。AWS Trainium側でも同じ月に、同種のネイティブバックエンドであるTorchNeuronが公開ベータになっています（[TorchNeuronとは？TrainiumでPyTorchを動かす導入手順とXLA版からの移行](https://www.issoh.co.jp/tech/details/19027/)）。

### OSS公開の中身：GitHub・PyPI 0.2.0・対応Python

TorchTPUは、Googleが2026年4月7日に[Google Developers Blog](https://developers.googleblog.com/torchtpu-running-pytorch-natively-on-tpus-at-google-scale/)で設計を発表したときは、公開リポジトリの無い段階でした。2026年10月21日付の[Google Cloudブログ「TorchTPU is now open source」](https://cloud.google.com/blog/topics/ai-infrastructure/torchtpu-is-now-open-source-run-native-pytorch-on-tpus/)が、PyTorch Conference 2026にあわせてGitHubでの公開を告知しています。

- **リポジトリ**：[google-pytorch/torch\_tpu](https://github.com/google-pytorch/torch%5Ftpu)。ライセンスはApache License 2.0（examplesの一部はMIT）です。READMEは対応PythonをPyTorchの互換表に合わせると書き、現時点では3.11以上です。
- **配布**：[PyPIのtorch-tpu](https://pypi.org/project/torch-tpu/)に2026年10月19日（UTC）、0.2.0が登録されました。wheelはLinux x86-64向けで、CPython 3.11〜3.14に対応します。
- **位置づけ**：Google Cloudの[PyTorch on Cloud TPU](https://docs.cloud.google.com/tpu/docs/pytorch-on-tpu)（2026年10月22日更新）は「TorchTPUはPyTorch/XLAを置き換える」と書き、新規のワークロードはTorchTPUで始めるよう案内しています。

### インストールと動作確認：TPU VM上で”tpu”デバイスを使う手順

[TorchTPUの入門手順（TPU VM版）](https://torchtpu.readthedocs.io/en/0.2.0/get%5Fstarted%5Fon%5Fa%5Fvm/)は、v6eなどのTPU VMにログインした状態から始めます。Python 3.12の仮想環境を作ってpipで入れる手順で、PyTorchのディスパッチャとTPUドライバの組み合わせをそろえるため、記載の順序どおりに入れるよう求めています。

```
sudo apt update && sudo apt install -y python3.12 python3.12-venv
python3.12 -m venv env
source env/bin/activate
pip install torch_tpu==0.2.0 --extra-index-url https://download.pytorch.org/whl/cpu
```

入門手順の例は素の`pip install torch_tpu`ですが、GitHubのREADMEは`--extra-index-url`を付けないとCUDA版のPyTorchが入ると注意しているため、上ではREADMEの形にそろえています。入ったかどうかは、TPU上に作ったテンソルで行列積を計算し、CPUへ戻して確かめます。次のコードは「PyTorch on Cloud TPU」に載っている確認用の例で、CUDAのコードとの違いは`torch.device("tpu")`の1行です。

```
import torch

device = torch.device("tpu")   # "cuda" を "tpu" に変えるだけ

x = torch.randn((4, 4), device=device)
y = torch.ones((4, 4), device=device)
result = torch.matmul(x, y).cpu()   # 結果をCPUへ戻して確認

print(f"Executed on device: {x.device}")
print(f"Result shape on CPU: {result.shape}, sum: {result.sum():.4f}")
```

出力の`x.device`がtpuを指していれば成功です。TPUの無いPCやGPUマシンでは、この確認は通りません。

### 実行モード：Strict eager・Defer and Fuse・torch.compileの使い分け

[実行モデルの解説ページ](https://torchtpu.readthedocs.io/en/0.2.0/torchtpu%5Fexecution%5Fmodel/)は、4つのモードを挙げています。既定のStrict eagerは普段のPyTorchと同じく1演算ずつ実行し、残る2つのeagerモードは環境変数で切り替えます。

```
# Debug eager：1演算ごとに同期してエラー箇所を特定する（本番では使わない）
TORCH_TPU_LAUNCH_BLOCKING=1 python train.py

# Optimized eager（Defer and Fuse）：演算をためてループ1回分をまとめてコンパイルする
TORCH_TPU_DEFER_AND_FUSE=1 python train.py
```

最も速いのは、関数やモジュールを`torch.compile(..., backend="tpu")`で包み、計算グラフ全体をコンパイルさせる方法です。Defer and Fuseはその利点の一部をeagerのまま得る中間のモードで、0.2.0の解説ではStrict eager比で最大50%速くなるとされています（4月の発表時点では50〜100%以上としていました）。

### 対応範囲：分散学習・動的形状・独自カーネルの検証状況

[TorchTPUの対応機能表](https://torchtpu.readthedocs.io/en/0.2.0/feature%5Fset/)は、継続的なE2Eテストとベンチマークで確かめた「Validated」と、APIが変わりうる「Experimental」を分けています。0.2.0の主な項目は次のとおりです。

| 領域     | Validated         | Experimental           | 今後の計画    |
| ------ | ----------------- | ---------------------- | -------- |
| 実行     | eagerとcompiledの混在 | なし                     | グラフキャプチャ |
| 分散学習   | SimpleFSDP・8Kチップ  | FSDPv2・MPMD            | 8Kチップ超   |
| 動的形状   | 再コンパイルあり          | SymInts・Jagged tensors | 再コンパイルなし |
| 独自カーネル | Pallas・Tokamax    | Helion                 | 記載なし     |
| TPU世代  | v5e・v5p・v6e・v7    | なし                     | v8t・v8i  |

FSDPv2とMPMD（ランクごとに異なるコードを動かす方式）はExperimentalで「性能は低い」と注記されています。8,000チップ級を検証済みとしているのはSimpleFSDPの経路なので、大規模学習はTorchTitanのレシピ（Ironwood最大8,192チップでMFU52%を報告）に寄せるのが確実です。

### 周辺ツールの対応：vLLM・SGLang・llm-d・Hugging Face

公開告知は、対応する周辺ツールとしてvLLM、SGLang、llm-d、TorchTitan、Ray、TorchRec、Hugging Face、LiteRTを挙げています。vLLMのTorchTPUバックエンドはPallasの独自カーネルを備え、連続バッチ処理・量子化・複数チップ並列に対応し、SGLangにも専用バックエンドが用意されました。vLLM自体の仕組みは[vLLMとは？PagedAttentionの仕組み・使い方とOllama・TensorRT-LLMとの違い](/tech/details/15786/)で解説しています。

Kubernetes上の分散推論ではllm-dが1.0になり、GKE上で同じエンドポイントのままGPUとTPUを選べます。告知のZenteiqの事例では、TPU v6e 1,000基あたりの日次生成トークンが14.7億から59.7億へ4倍超に増えました。llm-dの構成は[llm-dとは？1.0の新機能とKubernetes分散推論の仕組み・導入手順と採用判断](/tech/details/16392/)を参照してください。Hugging FaceのTransformers v5では、`device_map="tpu"`を渡すだけでモデルをTPUへ載せられます（[Hugging Face（ハギングフェイス）とは？できること・料金・使い方](/tech/details/6108/)）。

## PyTorch/XLAからTorchTPUへの移行：11月15日のアーカイブ前の確認点

TorchTPUの公開で、既存のPyTorch/XLA資産には期限が付きました。移行の工数は次の3点で見積もります。

### PyTorch/XLAの非推奨化：2.9.0で止まった版と11月のアーカイブ

[PyTorch/XLAの公式README](https://github.com/pytorch/xla)は冒頭に「Deprecated」と表示し、TorchTPUに置き換えられたこと、リポジトリを2026年11月15日にアーカイブすることを告知しています。PyPIの最新は2025年11月17日の2.9.0で、その後の版は出ていません。アーカイブ後は不具合修正も新しいPyTorchへの追従も期待できないため、PyTorchの版を上げる予定があるプロジェクトから順に移行するべきです。

### 学習ループの書き換え：’xla’デバイスと’tpu’デバイスの差分

PyTorch/XLAでは、転送先を`'xla'`にし、1ステップ分の処理を`torch_xla.step()`で囲んでコンパイル単位を区切っていました。以下は単一デバイス向けの従来の書き方で、MyModel、train\_loader、loss\_fnは利用者側で定義済みとします。

```
import torch
import torch_xla

model = MyModel().to('xla')   # パラメータをTPUへ転送
optimizer = torch.optim.AdamW(model.parameters())

for inputs, labels in train_loader:
    with torch_xla.step():    # 1ステップ分の演算をまとめてコンパイル・実行
        inputs, labels = inputs.to('xla'), labels.to('xla')
        optimizer.zero_grad()
        loss = loss_fn(model(inputs), labels)
        loss.backward()
        optimizer.step()
```

TorchTPUでは`import torch_xla`と`torch_xla.step()`が不要になり、転送先を`'tpu'`に変えた普通のPyTorchの学習ループに戻ります。性能を詰める段階で、モデルを`torch.compile(..., backend="tpu")`で包みます。次の例は公式の”tpu”デバイス指定に合わせて上のコードを書き換えた差分で、実機の速度は入門手順で動作を確かめてから測ってください。

```
import torch

model = torch.compile(MyModel().to('tpu'), backend="tpu")   # TorchTPUのコンパイラを指定
optimizer = torch.optim.AdamW(model.parameters())

for inputs, labels in train_loader:
    inputs, labels = inputs.to('tpu'), labels.to('tpu')
    optimizer.zero_grad()
    loss = loss_fn(model(inputs), labels)
    loss.backward()
    optimizer.step()
```

`torch_xla`配下の分散・プロファイル機能を多用しているコードは、TorchTPUの対応機能表と1つずつ突き合わせる作業が残ります。

### CUDA独自カーネルとPallas：移植工数が膨らむ箇所の見積もり方

CUDAで書いた独自カーネルはTorchTPUでもそのままは動きません。TPU向けの独自カーネルは、機能表でValidatedのPallasかTokamaxで書き直します。移行見積もりでは、CUDAカーネルやTritonカーネルに依存する箇所を先に数え、書き直しの工数を別枠で積みます。CUDA側の資産については[CUDAとは？読み方と仕組み・CUDA 12と13の違い・始め方](/tech/details/4902/)を、PyTorch自体の特徴は[PyTorchとは？読み方・できること・TensorFlowとの違いと入れ方](/tech/details/1315/)を参照してください。

## よくある質問

TPUとTorchTPUについて、検索で多い疑問に2026年10月時点の公式情報で答えます。

### TPUとGPUはどちらが速いですか？

ワークロード次第で、一概には決まりません。行列演算が大半を占め、入力の形が固定された大規模モデルはTPUに適しています。独自演算が多いモデルや、形が頻繁に変わる処理ではGPUのほうが性能を出しやすくなります。比べるなら、チップ数・精度・バッチサイズをそろえ、1時間あたりの費用で割った処理量で見てください。

### TPUは購入できますか？個人でも使えますか？

個人向けの販売はありません。一般的な使い方は、Cloud TPUをチップ時間単位で借りることです。個人ならGoogle Colab（無料枠はTPU v5e-1）やKaggleのノートブックで試せます。法人向けには動きがあり、Alphabetは2026年4月29日の[第1四半期決算](https://blog.google/company-news/inside-google/message-ceo/alphabet-earnings-q1-2026/)で、一部の顧客の自社データセンターへハードウェア構成でTPUを届け始めると述べました。2026年5月19日には、Blackstoneが[Googleとの合弁で新しいTPUクラウドをつくる](https://blog.google/innovation-and-ai/infrastructure-and-cloud/google-cloud/blackstone-tpu-cloud/)と発表しています。

### TPUの最新世代はどれですか？

2026年10月25日時点でGoogle Cloudで使える最新はTPU7x（Ironwood）で、2026年3月31日に一般提供が始まりました。第8世代のTPU 8tとTPU 8iは2026年4月22日に発表済みですが、Cloud TPUのリリースノートと料金表にはまだ載っていません。

### TorchTPUはもう使えますか？無料ですか？

使えます。2026年10月にGitHubのgoogle-pytorch/torch\_tpuで公開され、`pip install torch_tpu`で入れられます（PyPIの最新は0.2.0）。ライセンスはApache 2.0で利用料はかからず、費用が発生するのは動かす先のCloud TPUのチップ時間です。対応世代はv5e・v5p・v6e（Trillium）・TPU7x（Ironwood）です。

### PyTorch/XLAはいつまで使えますか？

公式リポジトリは2026年11月15日にアーカイブされる予定です。PyPIの最新は2025年11月の2.9.0で、以降の版は出ていません。インストール済みの環境がすぐ止まるわけではありませんが、修正や新しいPyTorchへの追従は期待できません。Google Cloudは、既存のPyTorch/XLAのワークロードをTorchTPUへ移すよう案内しています。

## 関連記事

- [TPU 8t・8iとは？Google第8世代TPUの仕様・Ironwoodとの違いと提供状況](/tech/details/11895/)
- [NPUとは？CPU・GPUとの役割分担とTOPSの実効性能・採用判断](/tech/details/16171/)
- [CUDAとは？読み方と仕組み・CUDA 12と13の違い・始め方](/tech/details/4902/)
- [llm-dとは？1.0の新機能とKubernetes分散推論の仕組み・導入手順と採用判断](/tech/details/16392/)
- [AWS Trainiumとは？Trainium3までの世代別性能・料金・Neuron SDK対応と採用判断](/tech/details/10448/)

---

出典: [TPUとは？GPUとの違い・世代別性能と料金、TorchTPUのOSS公開とPyTorch移行【2026年10月】](<https://www.issoh.co.jp/tech/details/10447/>)（株式会社一創）
