GoogleのTPUって結局どんなもの? 日本法人が分かりやすく説明CPU、GPUとの違いとは?

機械学習に特化したGoogleの自社開発プロセッサ、「TPU(Tensor Processing Unit)」。Google自身は「Google Search」「Google Translate」「Google Photos」といったサービスで活用している。日本法人がこれについて分かりやすく説明した。

» 2018年07月06日 18時27分 公開
[三木泉@IT]

 機械学習に特化したGoogleの自社開発プロセッサ、「TPU(Tensor Processing Unit)」。2018年7月6日、日本法人がこれについて分かりやすく説明した。

 TPUは、ディープラーニングを高速化するため、Googleが開発したプロセッサ。Google自身は「Google Search」「Google Translate」「Google Photos」といったサービスで活用している。

 一方で、Googleは2018年6月27日、クラウドサービス「Google Cloud Platform(GCP)」において、TPUをGCPユーザーが活用できる「Cloud TPU」の正式提供を始めた(GA)。米国、欧州、アジア太平洋地域で、後述のTPU v2が使える。1TPUを6.5ドル/時(米国の場合)で利用可能。料金は1秒単位で請求される。突然止まっても構わないのであれば、「Preemptible Pricing」という料金体系を活用すると、1.95ドル/時(米国の場合)になる(なお、Preemptible PricingでTPUが停止した場合、学習はチェックポイントから再開することになる)。Cloud TPUは、元々Googleが開発したオープンソース機械学習ライブラリTensorFlowを通じてのみ利用できるが、高速な処理を安価に利用できるというのが特徴だ。

TPUが「ディープラーニングに最適化されている」理由は2つ

 TPUは3世代目を迎えようとしている。

 第1世代「TPU v1」は2013年に開発を始め、2015年に運用が開始された。この時点では機械学習の推論フェーズに特化していた。推論に加え学習でメリットをもたらす「TPU v2」は2017年に導入を開始。1ユニットで180TFLOPSの演算能力を発揮するという。さらに2018年5月のGoogle I/Oでは、水冷式の第3世代、「TPU 3.0」を発表。演算能力は1ポッド(「ポッド」は複数のTPUユニットを相互接続した単位)当たり100PFLOPSだという。

[2018/07/09訂正]記事初出時は「1ユニット当たり100PFLOPS」としていましたが、正しくは「1ポッド当たり100PFLOPS」でした。お詫びして訂正します。

第2世代のTPU

 グーグルGoogle Cloudチームの佐藤一憲氏は、CPU、GPUのような汎用プロセッサと、ディープラーニングに特化したTPUの違いを、2つのポイントで説明した。

Copyright © ITmedia, Inc. All Rights Reserved.

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。