「モバイルファースト」から「AIファースト」へ2016年に戦略を転換した米Google社が、2017年5月に開催した開発者会議「Google I/O 2017」で、AIに関する新しい施策を相次ぎ発表した(表1)。最大の目玉は、ディープラーニング専用プロセッサー「Tensor Processing Unit(TPU)」の第2世代「Cloud TPU」だ(図1)。前回のGoogle I/Oで発表した第1世代TPUは推論専用で、8ビットの整数演算に特化していた。第2世代は浮動小数点演算も可能で学習にも使える。4個のプロセッサーと64Gバイトのメモリーを搭載するボードの性能は180TFLOPS。

表1 「Google I/O」で発表されたAI関連の取り組み
表1 「Google I/O」で発表されたAI関連の取り組み
[画像のクリックで拡大表示]
図1 Cloud TPUの基板
図1 Cloud TPUの基板
1枚の基板にチップを4個と64Gバイトのメモリーを搭載し、処理性能は180TFLOPS。
[画像のクリックで拡大表示]

 米NVIDIA社の新型GPU「Tesla V100」の性能は半精度(16ビット)で120TFLOPS。Cloud TPUの精度は「倍精度(64ビット)ではない」(Google社)との説明だが、半精度である可能性が高い。

 Cloud TPUボードは独自高速ネットワークのポートを8個搭載し、64枚を銅線ケーブルで2次元トーラス状に接続して「TPU Pod」を構成できる(図2)。性能は11.5PFLOPS。Cloud TPUボードは2本の銅線ケーブルを使い、非公開のインターフェースでサーバーとも接続する。

 Google社はクラウドサービス「Google Cloud Platform」でCloud TPUが利用可能になるサービス「Google Cloud TPU」のアルファ版の提供を開始。ユーザーは「Google Compute Engine」の仮想マシンにCloud TPUを接続して使う。オープンソースの機械学習ライブラリー「TensorFlow」のバージョン1.2からCloud TPUに対応する。

図2 基板同士を接続
図2 基板同士を接続
Cloud TPUは中央にある2個のポートを使ってサーバーと接続する。その両脇にある合計4個のポートは、2次元トーラスネットワークを構築するための独自仕様の高速ネットワークポート。基板の反対側にも4個の2次元トーラスネットワーク用ポートを搭載する。
[画像のクリックで拡大表示]

 Google I/O 2017では並列プログラミングモデル「MapReduce」の開発者として知られるSenior FellowのJeff Dean氏が一部メディアとの会見に応じた。Cloud TPUボードを8枚使って機械翻訳のモデルを学習させたところ、「現在最速のGPUを32個使った場合に丸1日かかった学習が、同じ精度を保ったまま6時間で終了した」(Dean氏)。つまり8枚のCloud TPUボードの性能は、32個のGPUの4倍との主張だ。

 TPUやCloud TPUの開発には、RISCアーキテクチャーの提唱者であるDavid Patterson氏や、Stanford University在籍時に「MIPS」プロセッサーを設計したNorman Jouppi氏などが参加。またCloud TPUボードを2次元トーラスネットワークによって相互接続するスイッチング用LSIなども自社開発した。Dean氏は「優秀なASIC設計チームが社内にいることが、Cloud TPU実現のカギになった」と強調した。