1 つの Cloud TPU デバイスと Cloud TPU Pod(アルファ版)のいずれかの選択

は、

1 つの Cloud TPU デバイスと Cloud TPU Pod(アルファ版)の構成

1 つの Cloud TPU デバイスおよび Cloud TPU Pod(アルファ版)の構成は、下記のほかシステム アーキテクチャ ドキュメントにも記載されています。

  • Cloud TPU v2-8 は、4 つの TPU チップを持つ単一の Cloud TPU デバイスです。各 TPU チップには 2 つのコアがあるため、v2-8 には合計 8 つのコアがあります。
  • 1 つの Cloud TPU v2 Pod(アルファ版)は、高速インターフェースで互いに接続された 256 個の TPU チップ(512 コア)を含む 64 個の TPU デバイスで構成されています。

TPU リソースは 1 つの Cloud TPU デバイスから Cloud TPU Pod(アルファ版)にスケールアップできるため、1 つの Cloud TPU デバイスか Cloud TPU Pod(アルファ版)のどちらかを選択する必要はありません。代わりに、Cloud TPU Pod の一部(スライス)をリクエストできます。各スライスには一連の TPU コアが含まれています。スライスを使用すると、必要な処理能力のみを購入できます。

1 つの Cloud TPU デバイスから Cloud TPU Pod(アルファ版)へのスケールアップは、多くの場合、Cloud TPU Pod スライスの TPU コア数と一致するようにバッチサイズなどのハイパーパラメータを調整するだけで済みます。わずか数か所変更するだけで、1 つの Cloud TPU デバイスで何時間もトレーニングしたモデルを、完全な Cloud TPU Pod で数分で同じ精度に達するように加速できます。

Cloud TPU Pod(アルファ版)の利点

Cloud TPU Pod(アルファ版)は、1 つの Cloud TPU デバイスに比べて以下のメリットがあります。

  • 研究開発での迅速な反復のためのトレーニング速度の向上
  • 自動的にスケーラブルな機械学習(ML)コンピューティングを提供することにより人間の生産性を向上
  • 1 つの Cloud TPU デバイスよりもはるかに大きなモデルをトレーニングする能力

Cloud TPU Pod(アルファ版)のスライス

すべての ML モデルでトレーニング用にポッド全体が必要というわけではないため、Google Cloud Platform ではスライスと呼ばれる小さいセクションが提供されています。スライスは、さまざまな数の TPU チップからなる内部割り当てです。たとえば、4x4 スライスには 16 個の TPU チップがあり、合計 32 コア(16 TPU チップ x チップあたり 2 コア)、8x8 スライスには 64 個の TPU チップがあり、合計 128 コアになります。

ポッドスライスは、次のサイズで利用できます。表に続く図には、いくつかのサイズが示されています。

名前 コア数 TPU チップ数
v2-32 32 コア 16 TPU チップ(4×4 スライス)
v2-128 128 コア 64 TPU チップ(8×8 スライス)
v2-256 256 コア 128 TPU チップ(8×16 スライス)
v2-512 512 コア 256 TPU チップ(16×16 スライス)

画像

Cloud TPU Pod v2(アルファ版)でスライスをリクエストする

Pod スライス テーブルに表示されている名前を使用して、ジョブに割り当てるスライスのタイプを設定できます。スライス名はサポートされている TPU のバージョンに対応しています。スライスが小さければ小さいほど、利用可能性が高くなります。

スライスタイプは、次の方法で指定できます。

ctpu ユーティリティ

  1. Cloud TPU プロビジョニング ユーティリティctpu)の実行時。
    • ctpu up を実行するときに、--tpu-size パラメータを使用して、使用するコアの数に対応するスライス名を上の表から指定します。たとえば、v2 Pod(アルファ版)の 32 コアをリクエストするには、--tpu-size=v2-32 と指定します。
      $ ctpu up --tpu-size=[SLICE-NAME]
      ここで

gcloud コマンド

  1. gcloud compute tpus create コマンドを使用して新しい Cloud TPU リソースを作成するときに、アクセラレータ タイプが Pod スライス テーブルにあるスライス名の 1 つになるよう指定します。スライス名は、リクエストしているコア数を指定することに注意してください。たとえば、v2 Pod(アルファ版)の 32 コアをリクエストするには、次のように指定します。

    $ gcloud compute tpus create [TPU name] 
    --zone europe-west4-a
    --range '10.240.0.0'
    --accelerator-type 'v2-32'
    --network my-tf-network
    --version '1.12'
    ここで

    • 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 タイプ] で、使用するコア数に関連付けられたスライス名を選択します。たとえば、v2-32(32 コア)を選択します。
  4. [作成] ボタンをクリックします。
このページは役立ちましたか?評価をお願いいたします。

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