4-1-4 CPU・GPU・TPUの特徴

ディープラーニングは、大量のデータを、何度も何度も計算します。
その計算を支えているのが、
・CPU
・GPU
・TPU
と呼ばれる計算装置です。
名前は似ていますが、役割や得意なことが違います。

CPU(Central Processing Unit)

CPUは、いわば「万能型の頭脳」。
パソコンやスマートフォンの中心で、さまざまな処理をバランスよくこなします。
・文章を書く
・ブラウザを動かす
・アプリを起動する
といった、幅広い仕事を担当します。

ただし、同時に大量の単純計算を行うことは、あまり得意ではありません。
ディープラーニングのような「同じような計算を何百万回も繰り返す」処理では、時間がかかってしまいます。

GPU(Graphics Processing Unit)

GPUは、もともと画像処理のために開発されました。
画像は、たくさんの画素(ピクセル)を同時に計算する必要があります。
そのためGPUは、同じ種類の計算を、同時に大量にこなす(並列処理)ことが得意です。
ディープラーニングでは、重み付きの計算や、行列計算などを何度も繰り返します。
これがGPUの得意分野とぴったり合ったのです。
その結果、ディープラーニングの発展はGPUの普及とともに進みました。

TPU(Tensor Processing Unit)

TPUは、Googleが開発した、AI専用の計算装置です。
名前にある「Tensor(テンソル)」とは、ディープラーニングでよく使われる「データのまとまり」のことです。
少しイメージしてみましょう。
・1つの数字 → スカラー
・数字の並び(ベクトル)
・表のような2次元データ(行列)
さらにその上の多次元データ
こうした「多次元のデータ構造」を、まとめてテンソルと呼びます。
画像データも、音声データも、ディープラーニングの中では、この「テンソル」という形で扱われています。
TPUは、このテンソル計算――つまり、大量の行列計算や多次元データの処理に特化して作られた装置です。
CPUが万能型、GPUが並列計算型だとすれば、TPUは、AIのために最適化された専用エンジンです。
ディープラーニングでよく使われる計算に絞って、効率よく動くよう設計されています。