1 開発の背景

1.1 機械学習需要の高まり

2010年代、深層学習技術の急速な進展に伴い、Googleは翻訳、画像認識、音声検索などのサービスで大規模なニューラルネットワークの推論と訓練を必要とするようになった。これらのモデルは数十億のパラメータを持ち、膨大な行列演算と浮動小数点計算を要するため、専用のハードウェアアクセラレータの必要性が高まった。

1.2 従来ハードウェア(CPU/GPU)の限界

CPUは汎用処理に優れるが、深層学習で頻出するテンソル演算(特に行列乗算)の並列処理効率が低く、電力あたりの演算性能も限られていた。GPU(特にNVIDIAのCUDAコア)は並列計算能力が高いものの、深層学習専用に最適化されたアーキテクチャではなく、メモリ帯域や制御オーバーヘッドの面で無駄が生じていた。Googleはこれらの制約を解決するため、テンソル演算に特化した独自のASIC(特定用途向け集積回路)の開発に着手した。

2 アーキテクチャ

2.1 テンソル演算ユニット(MXU)

MXU(Matrix Multiply Unit)はTPUの中核をなすシストリックアレイ構造の演算ユニットである。多数の乗算器と加算器を格子状に配置し、大規模行列乗算を1クロックあたりで完了する。TPU v1では128×128のシストリックアレイを採用し、1サイクルで16,384回の積和演算を実行可能。v2以降は256×256に拡張され、さらに高いスループットを実現している。

2.2 メモリ階層

2.2.1 高帯域幅メモリ(HBM)

TPUは演算ユニットの性能を引き出すため、HBM(High Bandwidth Memory)を採用する。HBMは複数のDRAMダイを積層し、広いデータバス(4096ビット以上)で接続することで、従来のGDDRメモリを大幅に上回る帯域幅(数百GB/s〜TB/s級)を提供する。v2以降はHBM2、v4ではHBM2eを使用し、大規模モデルのパラメータ読み込みを高速化している。

2.2.2 ユニフォームメモリ

TPUには統一的なアドレス空間を持つユニフォームメモリが搭載されており、CPU側のホストメモリとTPUのHBMをシームレスに操作できる。これにより、データ転送に伴う明示的なコピー処理を最小化し、TensorFlowなどのフレームワークからのプログラミングを簡素化している。

2.3 インターコネクト構造

TPUは複数チップを接続して大規模な処理クラスタを構成するために、専用のインターコネクトを備える。v2世代では50Gbpsの光リンクを使い、v3では100Gbps、v4では光スイッチを介した1600Gbpsの全対全接続が可能になり、数千チップにわたる分散訓練を効率的に実行できる。

2.4 ソフトウェアスタック(XLA、TensorFlowとの連携

TPUの実行は、XLA(Accelerated Linear Algebra)コンパイラを介して制御される。XLAはTensorFlowやJAXの計算グラフを解析し、TPUのMXUやメモリ階層に最適化された低レベル命令に変換する。ユーザーは標準のTensorFlow APIを使用するだけで、自動的にTPU用のコードが生成されるため、ハードウェアの詳細を意識せずに高速化の恩恵を受けられる。

3 製品バリエーション

3.1 TPU v1(推論専用)

2016年に発表された初代TPUは、推論専用のASICとして設計された。8ビット整数演算(INT8)を採用し、エネルギー効率に優れる。システム全体でピーク性能は90 TFLOPS(INT8)を達成し、当時のGPU比で約2倍の推論速度を実現した。ただし訓練機能はなく、メモリも非常に限定的であった。

3.2 TPU v2(訓練対応)

2017年に登場したv2は、訓練と推論の両方をサポートする最初の世代である。BF16(16ビット浮動小数点)を導入し、MXUが256×256に拡張。64GBのHBMを搭載し、1チップあたりのピーク性能は45 TFLOPS(BF16)。複数チップをインターコネクトで接続可能になり、大規模モデルの分散訓練が現実的になった。

3.3 TPU v3(液冷・性能向上)

2018年にリリースされたv3は、冷却方式を空冷から液冷に変更し、動作周波数を向上させた。メモリ容量も32GB(ただしチップあたり)から64GBに倍増。ピーク性能は1チップあたり123 TFLOPS(BF16)に達し、最先端のモデル训练においてv2比で約2.8倍のスループットを実現した。

3.4 TPU v4(スケーラビリティ最適化)

2021年に発表されたv4は、光スイッチを用いた高密度インターコネクト(1600Gbps)により、最大4096チップを単一のシステムとして扱えるようになった。チップあたりの性能は約275 TFLOPS(BF16)、メモリ帯域は1200 GB/s。特に超巨大モデル(数千億パラメータ)の分散訓練に最適化され、Googleのパスワード(Pathways)システムの中核を担う。

3.5 Edge TPU(エッジデバイス向け)

3.5.1 Coral(開発ボード)

Edge TPUを搭載したCoralシリーズは、USBアクセラレータや開発ボード(Coral Dev Board)として提供される。USBアクセラレータは5W未満の消費電力で約4 TOPS(INT8)の推論性能を持ち、ラズベリーパイなどに接続してエッジAIを実現する。

3.5.2 組み込み向けモジュール

さらに小型化されたシステムオンモジュール(SoM)形式も用意され、産業用カメラ、ロボット、IoTゲートウェイなどに直接実装できる。TensorFlow Liteとの連携が前提で、画像分類や物体検出などのモデルを低遅延で実行する用途に特化している。

4 性能と応用

4.1 データセンター内での実績

Googleは自社のデータセンターに数十万基のTPUを導入し、検索(RankBrain、BERT)、翻訳(Google Translate)、写真管理(画像認識)、音声アシスタント(Google Assistant)などの中核サービスで使用している。これらのサービスはTPUによって処理時間が短縮され、ユーザーへの応答が高速化された。

4.2 クラウドサービスとしての提供

2017年以降、Google Cloud Platform上で「Cloud TPU」として外部の開発者・研究者にも利用可能になった。v2/v3/v4の各世代が時間課金(スポットも含む)で提供され、BERTやGPT-3の大規模訓練からリアルタイム推論まで柔軟に利用できる。特に高等教育機関やAIベンチャーが巨額の初期投資なしで最先端リソースを試せる点が評価されている。

4.3 研究分野での活用

TPUは多くの研究プロジェクトで中核的な計算リソースとして利用された。例えばOpenAIのGPT-3(1750億パラメータ)の訓練には多数のTPU v3ポッドが使用された。また医療画像診断(PathAI)、気候モデリング(DeepMind)、タンパク質構造予測(AlphaFold2)など多様な分野で採用され、深層学習研究の加速に貢献している。

5 競合技術

5.1 GPU(NVIDIA CUDAコア)

NVIDIAのGPUはCUDAコアとTensorコアを備え、汎用的な並列計算と深層学習の両方をカバーする。TensorコアはTPUと類似の行列演算ユニットだが、汎用性を重視するために制御回路やキャッシュが大きく、エネルギー効率ではTPUに劣る。しかしソフトウェアエコシステム(CUDA、cuDNN、PyTorchサポート)の成熟度ではGPUが優位であり、市場シェアでは依然として最大である。

5.2 FPGA(Xilinx、Intel)

FPGAは再構成可能な論理回路を持ち、特定のモデル構造に最適化できる柔軟性がある。Xilinx(AMD傘下)やIntel(Altera)の製品は、低レイテンシ推論やカスタム演算精度の実現に強みを持つ。ただし開発難易度が高く、TPUのような大規模訓練用途には向かない。

5.3 他社専用ASIC(Graphcore、Cerebras)

GraphcoreのIntelligence Processing Unit(IPU)はSPM(Single Instruction Multiple Dataを高度に並列化したアーキテクチャ)を採用し、スパース性の活用に優れる。CerebrasのWafer Scale Engine(WSE)はウェハー全体を1チップ化することで内部帯域を極限まで高めている。これらはいずれも深層学習専用だが、TPUはGoogleによる自社データセンター内の実運用で得られた大規模なフィードバックにより最適化されている点が差別化要素である。

6 影響と将来展望

6.1 AIチップ市場への影響

TPUの登場は、機械学習専用ASIC市場の活性化を促した。従来GPUが独占していた訓練分野に新たな選択肢を示し、NVIDIAにTensorコア搭載のインセンティブを与えた。また、GoogleがクラウドでTPUを提供したことで、中小企業やアカデミアの研究コストを大幅に低減し、AI普及に貢献した。その後、Amazon(Trainium/Inferentia)やMeta(MTIA)など他社も追従し、AI半導体市場の競争が激化している。

6.2 アーキテクチャの進化方向

今後のTPUは、以下の方向への進化が想定される。3D積層技術によりメモリと演算ユニットを一体化してボトルネックを解消すること、光インターコネクトのさらなる高速化により超並列分散訓練を容易にすること、そして混合精度やスパース演算への対応拡充により、より大規模かつ複雑なモデル(マルチモーダル、スパースアテンションなど)を効率的に処理できるようになる。また、Googleの自社製SoC「Tensor」に同様のアーキテクチャを搭載する動きも見られ、将来的にはTPUの設計思想がエッジからデータセンターまで統一的に展開される可能性がある。