概要
- TPU はGoogleが開発した AI専用ASIC で、 行列演算性能とエネルギー効率 が特徴。
- ハードウェアとソフトウェアの協調設計 (例:XLAコンパイラ)により 高いスケーラビリティ を実現。
- シストリックアレイ や パイプライン処理、 AOTコンパイル などが設計の要。
- ラックやポッド単位での拡張性 に優れ、GoogleのAIサービス基盤を支える。
- メモリアクセスの最適化 と エネルギー効率の向上 が設計思想の中核。
TPUの設計思想と概要
- TPU(Tensor Processing Unit) は、GoogleがAIワークロード向けに開発した 専用ASIC。
- 主な強みは 行列演算(matmul)スループット と エネルギー効率 の両立。
- 2006年 に設計検討が始まり、当初は CPU の余剰計算力で十分だったが、 2013年 の音声検索AI導入で 計算需要が急増。
- 現在は Gemini や Veo などのAIモデルの 学習・推論、 DLRM などのレコメンデーションモデルにも利用。
- TPUのスケーラビリティ は、 ハードウェア (省電力・モジュール性)と ソフトウェア (XLAコンパイラ)の 協調設計 によって実現。
TPU単一チップ構成(TPUv4を例に)
- 1チップに 2つのTensorCore (推論専用TPUは1つのみ)。
- 各TensorCoreは CMEM(128MiB) と HBM(32GiB) を共有。
- TensorCore内部 には以下のユニットが存在:
- Matrix Multiply Unit(MXU) :128×128のシストリックアレイ、行列演算を担当。
- Vector Unit(VPU) :ReLUや加算・乗算など要素単位演算。
- Vector Memory(VMEM; 32MiB) :HBMからデータをバッファリング。
- Scalar Unit + Scalar Memory(SMEM; 10MiB) :制御・スカラー演算・アドレス生成。
- TPUのオンチップメモリ(CMEM, VMEM, SMEM)はGPUのL1/L2キャッシュより大容量。
- HBM容量はGPUより小さい が、 計算コア数は少数精鋭。
- 高スループット :TPUv5pは 500TFLOPs/秒/チップ、ポッド全体で 4.45ExaFLOPs/秒 (8960チップ)。
- 最新のTPUv7(Ironwood) は 42.5ExaFLOPS/秒/ポッド (9216チップ)。
TPU設計思想の要点
- シストリックアレイ+パイプライン、 Ahead-of-Time(AOT)コンパイル、 演算パターンの予測容易性 が三本柱。
- 行列演算・畳み込み のような データフローが固定的な処理 に特化。
- シストリックアレイ は、隣接する処理素子間でデータを流しながら計算を進める構造。
- 制御ロジック不要、 入出力以外のメモリアクセス削減。
- パイプライン処理 で計算とデータ移動を重ね合わせ。
- 欠点 :スパース(疎)行列には不向き、全PEが常時稼働してしまう。
AOTコンパイルとキャッシュレス設計
- 従来のキャッシュ は 不規則なメモリアクセス に対応するためのもの。
- TPUは用途が限定的でアクセスパターンが予測可能 なため、 キャッシュを排除しスクラッチパッドメモリで対応。
- XLAコンパイラ が事前解析し、最適なメモリアクセスと演算スケジューリングを生成。
- JAX は @jit による JIT+AOTハイブリッド。最初の呼び出し時に計算グラフを静的に生成しXLAへ渡す。
- 入力形状が変わるたびに再コンパイルが必要、動的パディングやループには弱い。
- 柔軟性の欠如 や コンパイラ依存 がデメリットだが、 エネルギー効率 と 高スループット を優先。
TPUのエネルギー効率(TPUv4例)
- メモリアクセスが演算よりも桁違いにエネルギーを消費。
- HBM3 など最新メモリは従来DRAMより省電力。
- メモリアクセス削減 が プログラムの高速化と省電力化 の両方に寄与。
- FLOPS増加とメモリアクセス削減のトレードオフ が現代スケーリング則の要点。
TPUのマルチチップ構成
- トレイ(Tray/Board) :4チップ(8 TensorCore)、各トレイにCPUホスト。
- ホスト⇔チップ はPCIe、 チップ間 は Inter-Core Interconnect(ICI) で高速通信。
- ラック(Rack) :64チップ(4×4×4)、3Dトーラス構成で拡張性重視。
- ポッド(Pod) :最大単位、例:TPUv4は4096チップ(64ラック)。
- スライス(Slice) :4チップ~ポッドまでの任意構成、物理単位ではなく抽象単位。
OCS(Optical Circuit Switching)の利点
- OCSは3Dトーラスの面に配置、ノード間のラップアラウンド通信を実現。
- 最悪ケースのホップ数を半減、 高並列化時の通信遅延を大幅削減。
- 拡張性が高く、スーパーコンピュータ級のシステム構築が容易。
トポロジーの違い
- 古いTPU世代(v2, v3)や一部推論用TPU(v5e, v6e)は2Dトーラス。
- TPUv7(Ironwood)は3Dトーラス とされるが詳細は未公開(2025年6月時点)。
まとめ
- TPUはAI専用に特化した設計思想 により、 高スループット・省電力・優れたスケーラビリティ を実現。
- シストリックアレイやAOTコンパイル など独自アプローチで、 GPUとは異なる設計哲学 を持つ。
- GoogleのAIサービスの根幹インフラ として今後も発展が期待される。