1行定義
TPUとは、Googleがニューラルネットワークの計算を速く、少ない電力で行うために独自に開発した、行列演算に特化したプロセッサのことです。
くわしく
TPU(Tensor Processing Unit)は、Googleがニューラルネットワークの計算のために設計したプロセッサです。特定の用途に絞って作る集積回路(ASIC)の一種です。名前のテンソルは、ニューラルネットワークで扱う多次元の配列を指します。
なぜ専用のプロセッサを作ったのか
2013年、Googleは、利用者が音声検索を1日3分使うようになると、音声認識のニューラルネットワークの計算のためにデータセンターを2倍に増やす必要があると見積もりました。汎用のCPUでまかなうと費用がかさみすぎるため、推論用の専用チップの開発を急ぎました。2016年に公表した時点で、すでに1年以上データセンターで使っていました。AlphaGoがイ・セドル九段と対局したときにも、TPUが使われました。
仕組みの特徴
TPUの中心には、掛け算と足し算を行う多数の回路を格子状に並べた行列演算ユニットがあります。データを隣の回路へ順に流しながら計算を進めるため、メモリの読み書きを減らせます。また、ニューラルネットワークは計算の精度を多少落としても結果がほとんど変わりません。初代のTPUは主に8ビットの整数で計算し、回路を小さくして同じ電力でより多く計算できるようにしました。
2017年の論文では、初代のTPUは推論で、同時期のCPUやGPUより平均で15〜30倍ほど速いと報告されました。同じ2017年に発表された第2世代からは、学習にも使えるようになりました。
GPUとの違い
GPUは画像処理から発展した、比較的用途の広い並列プロセッサです。TPUは行列演算に絞った分、分岐の多い処理や高い精度を要する計算には向きません。TPUは主にGoogle Cloudを通じて利用します。
覚え方
「TはTensorのT、行列計算に絞ったGoogle製」と覚えます。
G検定での出題
出題のされ方
Googleが開発したディープラーニング向けの専用プロセッサであること、汎用的なCPUや並列計算向けのGPUとの役割の違い、行列演算に特化している点が問われます。
混同しやすい用語
| 用語 | 意味 |
|---|---|
| TPUこのページの用語 | Googleがニューラルネットワークの計算を速く、少ない電力で行うために独自に開発した、行列演算に特化したプロセッサ |
| GPU | 画像の描画のために開発され、多数のコアで大量の単純な計算を同時に処理することを得意とするプロセッサ |
◯×チェック
次の文が正しいか、誤りかを選んでください。
-
Googleが2017年の論文で性能を報告した初代のTPUは、主にニューラルネットワークの推論に使うためのプロセッサだった。
答えを見る
答え ◯ 正しい
論文では、2015年からデータセンターで推論に使われ、同時期のCPUやGPUより平均で15〜30倍ほど速いと報告されました。学習にも使えるようになったのは、2017年に発表された第2世代からです。
-
TPUは、64ビットのような高い精度の浮動小数点演算を多用する計算ほど、性能を発揮しやすい。
答えを見る
答え × 誤り
ニューラルネットワークは計算の精度を多少下げても結果がほとんど変わりません。TPUはこの性質を生かし、精度を下げて多くの計算をこなす設計です。Google Cloudの資料でも、高い精度の計算を要する処理は向かないとされています。
-
TPUの名前にあるテンソルは、ニューラルネットワークで扱うデータや重みを表す多次元の配列を指す。
答えを見る
答え ◯ 正しい
TPUはTensor Processing Unitの略です。テンソルは、スカラー・ベクトル・行列を一般化した多次元の配列のことです。
この用語の練習問題
出典
- G検定 試験出題範囲(シラバス2024)第1.4版 (技術分野 項目11 ニューラルネットワークとディープラーニング)
- Norman P. Jouppi et al., In-Datacenter Performance Analysis of a Tensor Processing Unit, ISCA 2017
- Google Cloud Blog, Google supercharges machine learning tasks with TPU custom chip(2016年5月19日)
- Google Blog, Build and train machine learning models on our new Google Cloud TPUs(2017年5月17日)
- Google Cloud, Introduction to Cloud TPU