TPUとは
Tensor Processing Unit
Googleが開発した、ニューラルネットワークの行列演算に特化した専用プロセッサ
ひとことで言うと
Googleが作った、AI計算専用のプロセッサ。
概要
TPU(Tensor Processing Unit)とは、Googleが機械学習のワークロード、特にニューラルネットワークで多用される行列積演算(テンソル演算)の高速処理のために独自開発した専用プロセッサ(ASIC)。 GPUが元々グラフィックス処理向けの汎用的な並列計算チップを機械学習に転用したものであるのに対し、TPUは設計段階から行列演算に特化しており、多数の積和演算器を格子状に配置したシストリックアレイと呼ばれる構造により、大規模な行列積を高い電力効率で実行できる。 Google CloudのAPIやサービスを通じて外部にも提供されており、Google自身の大規模モデルの学習・推論基盤としても利用されている。
背景
機械学習、特に深層学習の計算の大部分は行列積演算が占める。 GPUはこうした並列計算に適した汎用アーキテクチャを持つが、機械学習に用途を絞ることでさらなる効率化が可能だと考えられ、Googleは自社のワークロード向けに特化した専用チップとしてTPUを開発した。
歴史
2016年: GoogleがTPU(第1世代)を発表し、自社のデータセンターで機械学習の推論処理に利用していることを明らかにする。 2017年: 学習にも対応した第2世代TPUを発表。 2018年以降: Google CloudのTPUとして外部の開発者にも提供が拡大し、世代を重ねるごとに性能・スケールが向上。
アーキテクチャ
TPUの中核は、積和演算(乗算と加算)を行う演算器を格子状に多数配置し、データを演算器間で直接受け渡しながら処理するシストリックアレイと呼ばれる構造。 汎用性を抑え行列積へ特化した設計とすることで、同等の演算性能をより少ない電力・チップ面積で実現している。 複数のTPUチップを高速な専用ネットワークで接続した「Pod」と呼ばれる構成により、大規模モデルの分散学習にも対応する。
利点
- 行列積演算に特化した設計により、機械学習ワークロードでの電力効率・処理性能に優れる
- 複数チップを接続したPod構成により、大規模な分散学習にスケールしやすい
欠点
比較
関連用語
よくある質問
TPUは個人でも使える?
Google CloudのサービスとしてTPUをレンタルする形で利用でき、Google Colab等でも一部無料枠が提供されている。
参考文献
- DocumentationGoogle Cloud: Cloud TPU
- Research PaperIn-Datacenter Performance Analysis of a Tensor Processing Unit