【てぃーぴーゆー】

TPU とは?

最終更新:
💡 機械学習の大量の行列演算に向けた専用回路

Googleが機械学習の計算を高速化するために設計した専用集積回路。ニューラルネットワークで多用する行列演算に向いており、用途や世代に応じた構成・ソフトウェアで利用する。

📌 このページのポイント
TPU:機械学習の行列計算を支える 入力データとモデルのパラメータ TPU:行列乗算ユニット(MXU) × + × + × + × + × + × + × + × + × + × + × + × + 積和演算の回路を配列状につなぐ 行列演算の結果 ホスト側の処理とも組み合わせる 性能・構成・対応演算は世代や用途で変わる
回路のつながりを簡略化した概念図。4×3は説明用で、実際の回路数や性能倍率を表さない。
ひよこ ひよこ
TPUってCPUやGPUの仲間?
ペンギン先生 ペンギン先生
計算を行うハードウェアだけど、Googleが機械学習向けに設計した専用集積回路、ASICだよ。特にニューラルネットワークで繰り返す大量の行列演算に向いているんだ。
ひよこ ひよこ
何が行列演算に向いているの?
ペンギン先生 ペンギン先生
MXUという行列乗算ユニットで、積和演算を行う回路を配列状につないでいるよ。データや計算結果を隣の回路へ渡しながら計算する構成をシストリックアレイと呼ぶ。実際の回路数や構成はTPUの世代で変わるんだ。
ひよこ ひよこ
推論専用なの?
ペンギン先生 ペンギン先生
機械学習モデルの学習にも推論にも使うよ。対応するフレームワークや演算、必要なメモリなどを確認して使う。全世代を同じ性能や数値形式のチップとして扱うことはできないんだ。
ひよこ ひよこ
TPUがあればCPUは要らない?
ペンギン先生 ペンギン先生
Cloud TPUの説明では、XLAがTPUで動かす計算部分をコンパイルし、残りはホスト側で実行するよ。データの受け渡しなども含めて使うので、コンピューターの仕事をすべてTPUが担うわけではないんだ。
ひよこ ひよこ
GPUより必ず速くて省電力なの?
ペンギン先生 ペンギン先生
一律には決まらないよ。大きな行列計算が中心か、対応しない演算があるか、データの入出力に時間がかかるかでも変わる。CPU・GPU・TPUのどれを使うかは、実際のモデルと構成で確かめて選ぶんだ。
ペンギン
まとめ:ざっくりこれだけ覚えればOK!
「TPU」って出てきたら「機械学習の行列計算に向けてGoogleが設計した専用チップ」と思えばだいたいOK!
📖 おまけ:英語の意味
「Tensor Processing Unit」 = テンソル処理装置
💬 Tensorは機械学習で数値の配列などを扱うときの用語だよ。TPUという名前でも、あらゆる処理を任せる汎用CPUではなく、機械学習の計算を速める専用回路なんだ。

参考資料

← 用語集にもどる