昨年、GoogleはCloud TPU仮想マシン(VM)を導入した。これにより、プレビュー版としてTPUホストマシンに直接アクセスできるようになる。現在、Cloud TPU VMは、新たなTPU Embedding APIを含め、一般向けに利用可能(GA)である。これにより、MLベースのランキングとレコメンドの処理を高速化できる。
Googleは、GAリリースにおいて、大規模なランキングとレコメンド処理用にCloud TPU VMを最適化した。また、Google Cloudのブログ投稿で同社は、Embedding APIにより、ビジネスにおいて、ランキングとレコメンドのユースケースに関連するコストを削減できると主張している。これらのユースケースは、一般的にはコストがかかるディープニューラルネットワークベースのアルゴリズムに依存する。
Cloud TPUのアウトバウンドプロダクトマネージャのVaibhav Singh氏と、GoogleのCloud TPUのプロダクトマネージャーのMax Sapoznikov氏は、Google Cloudのブログ投稿に次のように書いている。
Embedding APIにより、埋め込みテーブルのような大量のデータを効率的に処理できます。これは、カスタムビルドの相互接続を介して相互に接続されたポッド内の数百のCloud TPUチップを自動的にシャーディングすることにより実現されています。
さらに、TPU VM GAリリースは、TensorFlow、PyTorch、JAXの3つの主要なフレームワークをサポートしている。それぞれのフレームワークでセットアップが簡単にできるように、3つの最適化された環境で利用できる。Cloud TPU VMのGAリリースに関するハッカーニューススレッドで投稿者Zak氏は次のように述べている。
以前のCloud TPUアーキテクチャでは、PyTorchとJAXのユーザはリモートTPUホストごとに個別のCPU VMを作成し、これらのCPUホストがgRPCを介してTPUホストと間接的に通信するように調整する必要がありました。これは面倒で、デバッグが困難でした。TPU VMの場合、これは必要ありません。代わりに、各TPUホストマシンに直接SSHで接続し、VMに好みのソフトウェアをインストールできるようになっており、それによりデータの読み込みや他のタスクをはるかに柔軟に処理できるようになります。
出典: https://cloud.google.com/blog/products/compute/introducing-cloud-tpu-vms
さらに、TPU VMを使うと、入力データパイプラインをTPUホスト上で直接実行することもできる。ユーザはこの機能を使って、TensorFlow Textなどの独自の顧客オペレーションを作成でき、TensorFlowランタイムのリリースバージョンに制限されることがなくなった。さらに、アクセラレータを使ったホストでのローカル実行により、分散強化学習などのユースケースもできるようになる。
Hacker Newsスレッドの同じ投稿者のZak氏が次のように言っている。
TPU VMを使うと、多くのCPU-TPU通信を必要とする処理が、ネットワークを経由せずにローカルでその通信を実行できるようになり、パフォーマンスが向上します。
現在、さまざまなリージョンで利用できるCloud TPU VMと価格の詳細については、価格ページをご覧ください。そして最後に、顧客はドキュメント、コンセプト、クイックスタート、チュートリアルを通して、より多くの情報とガイダンスを得ることができる。