Ultralytics YOLO27: ウェイトリストに登録する
YOLOのライセンス
Ultralytics用語集に戻る

TPU (Tensor Processing Unit)

テンソル・プロセッシング・ユニット(TPU)は、ニューラルネットワークの計算に特化したGoogleのカスタムチップです。シストリックアレイの仕組み、GPUとの比較、Edge TPUについて解説します。

Tensor Processing Unit (TPU)は、Googleがニューラルネットワークの学習と推論を高速化するために設計した、アプリケーション固有の集積回路です。TPUは、大規模な行列乗算がディープラーニングの処理の大部分を占めることから、大規模な行列乗算ユニットを中心に構成されています。Googleは2015年からデータセンターでTPUを運用し、Geminiモデルの学習に使うほか、他社向けにCloud TPUとして貸し出しています。2026年4月に発表された第8世代は、学習用のTPU 8tと推論用のTPU 8iの2種類に分かれています。

TPUの仕組み#

各TPUの中核は、シストリックアレイとして構成された行列乗算ユニット(MXU)です。これは、データを隣接セルに直接渡す積和演算セルのグリッドです。重みは一度だけセルに読み込まれ、入力はクロックサイクルごとにグリッドを1ステップ進み、部分和は列方向に流れます。そのため、メモリから読み込んだ各値を多数のセルで再利用できます。メモリの読み出しは演算よりも時間とエネルギーをはるかに多く消費するため、この設計で高い効率を実現できます。Cloud TPU v2とv3では、各MXUは128×128のアレイで、bfloat16で乗算し、FP32で累積していました。短いシミュレーションで4×4グリッド上のデータフローを確認できます。

import numpy as np

rng = np.random.default_rng(0)
W = rng.integers(-5, 5, (4, 4))  # weights, preloaded one per cell of a 4x4 grid
X = rng.integers(-5, 5, (6, 4))  # six input rows stream through the grid
Y = np.zeros((6, 4), dtype=int)

# Cell (k, j) holds W[k, j]. Input X[i, k] enters row k from the left and reaches
# cell (k, j) at cycle i + k + j, where it is multiplied by the stored weight and
# added to the partial sum for Y[i, j] passing down column j
cycles = 6 + 4 + 4 - 2
for t in range(cycles):
    for k in range(4):
        for j in range(4):
            i = t - k - j
            if 0 <= i < 6:
                Y[i, j] += X[i, k] * W[k, j]

print(f"{X.size * 4} multiply-adds in {cycles} cycles, equal to X @ W: {np.array_equal(Y, X @ W)}")

96 multiply-adds in 12 cycles, equal to X @ W: True が出力されます。16個のセルが正確な行列積を計算する間、各重みはメモリから一度だけ読み込まれ、6つすべての入力行で再利用されます。第1世代TPUはこのパターンを256×256の8ビットセルのグリッドで実行し、1サイクル当たり65,536回の積和演算、ピーク性能92 兆回/秒を実現しました。シンプルで決定的な実行方式は、推論で99パーセンタイルの応答時間目標を達成するというGoogleの目標に適していました。

TPUはXLAでコンパイルされたコードを実行します。XLAはJAX、TensorFlow、PyTorchから計算グラフ全体を受け取り、行列ユニットに割り当てます。専用インターコネクトでチップを接続して数千個規模のポッドを構成することで、最大規模の基盤モデルを多数のTPUにまたがって同時に学習できます。

TPU、GPU、CPUの比較#

  • CPU: 分岐処理や汎用コードに適した少数の高性能コアを備えており、多くの学習パイプラインでデータの読み込みと前処理を担います。
  • GPU: 行列演算用のTensor Coreと、プログラム可能な数千個のコアを備えています。GPUはほぼあらゆるモデルやフレームワークを実行でき、多数のベンダーやクラウド事業者から提供されています。
  • TPU: 柔軟性を抑える代わりに、大規模で密な行列演算の効率を高めます。テンソル形状が変わるとXLAで再コンパイルが必要になるため、静的な形状のワークロードに最適です。カスタム演算、分岐の多い処理、高精度演算にはあまり適していません。
  • NPU: スマートフォン、ノートPC、エッジチップに搭載されるニューラルネットワークアクセラレーターの総称で、Edge TPUもこのカテゴリに含まれます。

Edge TPU#

Edge TPUは推論専用の小型TPUで、GoogleのCoral USB Accelerator、M.2およびPCIeモジュール、Dev Boardに搭載されています。2ワットで毎秒4兆回の演算を実行し、8ビット整数演算だけに対応するため、ネットワーク全体をモデル量子化でINT8に変換してから、GoogleのEdge TPU Compilerでコンパイルします。コンパイラーは対応する演算をチップに割り当て、それ以外をホストCPUに残します。Ultralytics YOLOでは format="edgetpu" によりこの2つの手順を自動化できます。この機能はINT8量子化を有効にし、x86-64 Linuxマシン上でコンパイラーを実行して、Coral USB Acceleratorを接続したRaspberry Piなどのボードで動作するモデルを生成します。

from ultralytics import YOLO

# Load the smallest YOLO26 detection model
model = YOLO("yolo26n.pt")

# Quantize to INT8 and compile for the Edge TPU (x86-64 Linux only)
path = model.export(format="edgetpu")
print(f"Edge TPU model: {path}")

GoogleのCoralプラットフォームは現在、ウェアラブル向けに2025年10月に発表されたオープンソースのRISC-Vアクセラレーター設計であるCoral NPUを中心に展開しており、数ミリワットで毎秒5,120億回の演算を目標としています。

ソリューションを見る

スポーツにおけるコンピュータービジョン

スポーツにおけるコンピュータービジョン

Ultralytics YOLOが、選手やボールの追跡、パフォーマンス分析、コーチングへの知見、アスリートのリハビリを通じて、スポーツビジョンをどのように支えるかをご紹介します。
詳しく見る
航空画像向けコンピュータービジョン

航空画像向けコンピュータービジョン

Ultralytics YOLOを使用して、ドローンや航空画像をリアルタイムの知見に変換し、農業、水産養殖、自然保護、地理空間分析に活用できます。
詳しく見る
航空宇宙分野のコンピュータービジョン

航空宇宙分野のコンピュータービジョン

Ultralytics YOLOを活用して航空宇宙分野でコンピュータビジョンを導入し、航空機検査、滑走路上のFOD検出、空港の地上業務、複合材の欠陥検出に活用できます。
詳しく見る
セキュリティ分野のコンピュータービジョン

セキュリティ分野のコンピュータービジョン

Ultralytics YOLOモデルであらゆる施設を保護しましょう。ビジョンAIは、周辺監視、脅威検知、ナンバープレート認識、職場の安全管理を支援します。
詳しく見る
ロボティクス分野のコンピュータービジョン

ロボティクス分野のコンピュータービジョン

Ultralytics YOLOモデルで、よりスマートなマシンを実現しましょう。ロボティクスにおけるビジョンAIは、自律ナビゲーション、認識、物体追跡、リアルタイム制御を支援します。
詳しく見る
物流におけるコンピュータービジョン

物流におけるコンピュータービジョン

Ultralytics YOLOモデルで物流を効率化しましょう。ビジョンAIにより、荷物検査、仕分け、車両追跡、倉庫のリアルタイム安全監視を実現します。
詳しく見る
小売業におけるコンピュータービジョン

小売業におけるコンピュータービジョン

Ultralytics YOLOモデルで小売のあり方を変革しましょう。ビジョンAIにより、在庫追跡、棚の監視、行列管理、より高度な顧客インサイトを実現します。
詳しく見る
医療分野におけるコンピュータービジョン

医療分野におけるコンピュータービジョン

Ultralytics YOLOモデルで医療ソリューションを構築しましょう。医療分野のビジョンAIは、医用画像処理の高速化、より高度な診断、患者モニタリングを実現します。
詳しく見る
製造業におけるコンピュータービジョン

製造業におけるコンピュータービジョン

Ultralytics YOLOモデルで製造を最適化しましょう。ビジョンAIは、品質管理、欠陥検出、PPE準拠、組立ラインの自動化を推進します。
詳しく見る
自動車分野におけるコンピュータービジョン

自動車分野におけるコンピュータービジョン

Ultralytics YOLOモデルで自動車分野にコンピュータービジョンを導入しましょう。ビジョンAIは、道路の安全性、運転支援、車両の自動化を向上させ、よりスマートな道路を実現します。
詳しく見る
農業におけるコンピュータービジョン

農業におけるコンピュータービジョン

Ultralytics YOLOモデルでスマート農業にビジョンAIを導入しましょう。作物のモニタリング、家畜の追跡、精密農業を支援し、より高く効率的な収量を実現します。
詳しく見る

AIの未来を一緒に築きましょう!

機械学習の未来に向けた歩みを始めましょう