TPU タイプ

概要

機械学習ワークフローを処理する TPU ノードを作成するときは、TPU タイプを選択する必要があります。TPU タイプによって、TPU のバージョン、TPU コアの数、機械学習ワークロードに使用できる TPU メモリ量が決まります。

たとえば、TPU タイプ v2-8 ではバージョン 2 の 8 TPU コアと合計 64 GiB の TPU メモリを備えた TPU ノードが定義されます。TPU タイプ v3-2048 では、バージョン 3 の 2048 TPU コアと合計 32 TiB の TPU メモリを備えた TPU ノードが定義されます。

TPU のバージョンと構成によるハードウェアの違いについては、システム アーキテクチャのドキュメントをご覧ください。

各リージョンでの TPU タイプ別の料金については、料金のページをご覧ください。

いずれかの TPU タイプで実行されるモデルは、コードを変更しなくても別の TPU タイプでも実行できます。各 TPU タイプは、同じ TensorFlow ソフトウェアを実行してモデルのトレーニングと評価を行います。ただし、より大型の TPU タイプにスケールアップする際は、ハードウェア構造の変更に対応するためにモデルを大幅に調整する必要があります。特に、単一デバイスの v2-8 または v3-8 から規模の大きい TPU タイプに移行する場合は、かなりの調整と最適化が必要になります。

TPU タイプ

TPU タイプ間の違いは主に、料金、パフォーマンス、メモリ容量にあります。

Google Cloud Platform では、ゾーンに分割されたリージョンを使用して、物理的なコンピューティング リソースの地理的なロケーションを定義します。Cloud TPU を作成する際は、作成するリージョンを指定します。

TPU ノードは、次の TPU タイプを使用して構成できます。

米国

TPU タイプ(v2) TPU v2 コア数 TPU メモリ合計 利用可能なゾーン
v2-8 8 64 GiB us-central1-a
us-central1-b
us-central1-c
us-central1-f TFRC のみ
v2-32(ベータ版) 32 256 GiB us-central1-a
v2-128(ベータ版) 128 1 TiB us-central1-a
v2-256(ベータ版) 256 2 TiB us-central1-a
v2-512(ベータ版) 512 4 TiB us-central1-a
TPU タイプ(v3) TPU v3 コア数 TPU メモリ合計 利用可能なリージョン
v3-8 8 128 GiB us-central1-a
us-central1-b
us-central1-f TFRC のみ

ヨーロッパ

TPU タイプ(v2) TPU v2 コア数 TPU メモリ合計 利用可能なゾーン
v2-8 8 64 GiB europe-west4-a
v2-32(ベータ版) 32 256 GiB europe-west4-a
v2-128(ベータ版) 128 1 TiB europe-west4-a
v2-256(ベータ版) 256 2 TiB europe-west4-a
v2-512(ベータ版) 512 4 TiB europe-west4-a
TPU タイプ(v3) TPU v3 コア数 TPU メモリ合計 利用可能なリージョン
v3-8 8 128 GiB europe-west4-a
v3-32(ベータ版) 32 512 GiB europe-west4-a
v3-64(ベータ版) 64 1 TiB europe-west4-a
v3-128(ベータ版) 128 2 TiB europe-west4-a
v3-256(ベータ版) 256 4 TiB europe-west4-a
v3-512(ベータ版) 512 8 TiB europe-west4-a
v3-1024(ベータ版) 1024 16 TiB europe-west4-a
v3-2048(ベータ版) 2048 32 TiB europe-west4-a

アジア太平洋

TPU タイプ(v2) TPU v2 コア数 TPU メモリ合計 利用可能なゾーン
v2-8 8 64 GiB asia-east1-c

コア数の多い TPU タイプについては、利用可能な数量が限られています。コア数の少ない TPU タイプのほうが利用可能性が高くなります。

各リージョンでの TPU タイプ別の料金については、料金のページをご覧ください。

TPU のバージョンと構成によるハードウェアの違いについては、システム アーキテクチャのドキュメントをご覧ください。

料金とパフォーマンスとのトレードオフの計算

使用する TPU タイプを決定するには、Cloud TPU チュートリアルを使用して実際のアプリケーションと同様のモデルのトレーニングをテストできます。

v2-8v3-8 のそれぞれの TPU タイプでチュートリアルを実施し、完全なトレーニングで使用するステップ数の 5~10% でトレーニングを実行します。その結果から、各 TPU タイプでモデルに対して実際のステップ数を実行した場合にかかる時間がわかります。

パフォーマンスは TPU タイプの規模に比例して向上します。したがって、TPU タイプ v2-8 または v3-8 での所要時間がわかれば、コア数の多い TPU タイプでモデルを実行した場合、タスクの所要時間をどれだけ短縮できるかを評価できます。

たとえば、TPU タイプ v2-8 では 10,000 ステップの実行に 60 分かかる場合、v2-32 ノードでは同じタスクの所要時間が約 15 分に短縮されることになります。

ご使用のリージョン内での TPU タイプ別の Cloud TPU および関連する Compute Engine VM の費用の違いを確認するには、TPU の料金のページをご覧ください。いくつかの異なる TPU タイプ別にモデルのおよそのトレーニング時間がわかっていれば、VM / TPU の費用とトレーニング時間を比較検討することで、料金とパフォーマンスとの最適なトレードオフを評価できます。

TPU タイプの指定

TPU タイプは、TPU ノードの作成時に指定します。たとえば、TPU タイプは、次のいずれかの方法を使用して選択できます。

ctpu ユーティリティ

gcloud コマンド

  • gcloud compute tpus create コマンドを使用します。

    $ gcloud compute tpus create [TPU name] \
     --zone us-central1-b \
     --range '10.240.0.0' \
     --accelerator-type 'v2-8' \
     --network my-tf-network \
     --version '1.14'
    

    ここで

    • TPU name は、作成する TPU を識別するための名前です。
    • --zone は Compute Engine のコンピューティング / ゾーンです。リクエストするアクセラレータのタイプが、ご使用のリージョンでサポートされていることを確認してください。
    • --range は、作成した Cloud TPU リソースのアドレスを指定します。任意の値を 10.240.*.* の形式で指定できます。
    • --accelerator-type は、使用するアクセラレータのタイプとコア数です。たとえば v2-32(32 コア)のようにします。
    • --network は、Compute Engine VM インスタンスが使用するネットワークの名前を指定します。SSH 経由でこのネットワーク上のインスタンスに接続できる必要があります。ほとんどの場合、Google Cloud Platform プロジェクトが自動的に作成したデフォルトのネットワークを使用できます。ただし、デフォルト ネットワークがレガシー ネットワークの場合、エラーが発生します。
    • --version は、TPU で使用する TensorFlow バージョンを指定します。

Cloud Console

  1. 左側のナビゲーション メニューから、[Compute Engine] > [TPU] を選択します。
  2. TPU 画面で、[TPU ノードを作成] をクリックします。TPU の構成ページが表示されます。
  3. [TPU タイプ] で、サポートされている TPU バージョンのいずれかを選択します。
  4. [作成] ボタンをクリックします。

次のステップ

このページは役立ちましたか?評価をお願いいたします。

フィードバックを送信...