Tensor ユニット(TPU)が機械学習を加速する仕組みを探る。Ultralytics の最適化と、最高速度を実現するクラウドトレーニングの手法を学ぶ。
Tensor ユニット(TPU)は、機械学習(ML)ワークロードの高速化をGoogle 設計した専用アプリケーション特化型集積回路(ASIC)である。幅広い計算タスクを処理する汎用プロセッサとは異なり、TPUはニューラルネットワークの基盤となる大規模な行列演算を最適化するため、一から設計されている。 この特化設計により、 非常に高いスループットとエネルギー効率を実現し、 Google において、 現代の人工知能(AI)インフラの基盤となっています。 複雑なモデルのトレーニングと大規模なリアルタイム推論の実行に要する時間を 削減する上で重要な役割を果たしています。
TPU アーキテクチャは従来のプロセッサとは大きくTPU 。CPU 中央処理装置)CPU 順次処理や複雑な論理演算に優れ、GPU グラフィックス処理装置)がグラフィックスや汎用計算に並列コアを活用するのに対し、TPU 収縮型配列アーキテクチャ TPU 。この設計により、データは数千の乗算器を同時に流れることが可能となり、各演算ごとにメモリにアクセスする必要がありません。 計算密度を最大化し遅延を最小化することで、TPUは深層学習(DL)アプリケーションに多用される重度の線形代数処理に特に適している。
この専用ハードウェアは、 TensorFlow 向けに高度に最適化されており、 PyTorchによってサポートされるようになりつつあり、開発者はコードベースを完全に書き直すことなく、大規模な 基盤モデルのトレーニングや効率的なエッジソリューションの展開が可能になります。
ハードウェア環境を理解することは、機械学習オペレーション(MLOps)を最適化する上で極めて重要です。
TPUは、大規模なクラウドクラスターから小さなエッジデバイスまで、様々な環境に展開されています。
開発者は、特にクラウドトレーニングやエッジデプロイメント向けモデルのエクスポートにUltralytics を使用する場合、Ultralytics 向けにTPU を活用できます。例えばEdgeTPUでは、モデルをそのアーキテクチャ向けに特別に量子化およびコンパイルする必要があります。
以下の例は、YOLO26モデルTFLite エクスポートする方法を示しています。これはEdgeTPUコンパイルする前の前提条件となる手順です:
from ultralytics import YOLO
# Load the latest lightweight YOLO26 nano model
model = YOLO("yolo26n.pt")
# Export the model to TFLite format
# This creates a '.tflite' file suitable for mobile and edge deployment
# Set int8=True for quantization, which is often required for Edge TPU performance
model.export(format="tflite", int8=True)
エクスポート後、モデルはEdgeTPU TPU Edge TPU 向けにさらにコンパイルでき、Coral USBアクセラレータを搭載したRaspberry Piなどのデバイス上で効率的に実行可能になります。デプロイの詳細については、TFLite ドキュメントを参照すると非常に役立ちます。