ディープラーニングは、大量のデータを、何度も何度も計算します。
その計算を支えているのが、
・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のために最適化された専用エンジンです。
ディープラーニングでよく使われる計算に絞って、効率よく動くよう設計されています。