TPU Spot VM を管理する

Spot VM を使用すると、未使用の容量を大幅な割引料金で利用できます。Spot VM はいつでもプリエンプト(シャットダウン)できますが、プリエンプティブル TPU とは異なりランタイム時間に上限はありません。TPU Spot VM は再起動できません。プリエンプション後に再作成する必要があります。一般的な Spot VM の詳細については、Spot VM に関する Compute Engine のドキュメントをご覧ください。

TPU Spot VM を作成する

TPU Spot VM を作成するには、キューに格納されたリソースを使用できます。これにより、作成リクエストがキューに追加され、容量が利用可能になった時点で使用できるようになります。TPU をキューに格納されたリソースとして作成することをおすすめします。詳細については、キューに格納されたリソースのユーザーガイドをご覧ください。

次の例は、キューに格納されたリソースを使用して TPU Spot VM を作成する方法を示しています。

gcloud

gcloud compute tpus queued-resources コマンドに --spot フラグを追加します。

gcloud compute tpus queued-resources create QUEUED_RESOURCE_ID \
    --node-id=NODE_ID \
    --zone=europe-west4-a \
    --accelerator-type=v3-8 \
    --runtime-version=tpu-vm-tf-2.17.1-pod-pjrt \
    --spot

curl

リクエスト本文に spot: {} を追加します。

curl -X POST https://tpu.googleapis.com/v2alpha1/projects/PROJECT_ID/locations/europe-west4-a/queuedResources?queued_resource_id=QUEUED_RESOURCE_ID \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    -H "Content-Type: application/json" \
    -d '{
        tpu: {
        node_spec: {
            parent: "projects/PROJECT_ID/locations/europe-west4-a",
            node_id: "NODE_ID",
            node: {
            accelerator_type: "v3-8",
            runtime_version: "tpu-vm-tf-2.17.1-pod-pjrt"
            }
        }
        },
        spot: {}
    }'

コンソール

  1. Google Cloud コンソールで、[TPU] ページに移動します。

    [TPU] に移動

  2. [TPU を作成] をクリックします。

  3. [名前] フィールドに、TPU の名前を入力します。

  4. [ゾーン] ボックスで、TPU を作成するゾーンを選択します。

  5. [TPU タイプ] ボックスで、アクセラレータ タイプを選択します。アクセラレータ タイプでは、作成する Cloud TPU のバージョンとサイズを指定します。TPU の各バージョンでサポートされているアクセラレータ タイプの詳細については、TPU のバージョンをご覧ください。

  6. [TPU ソフトウェア バージョン] ボックスで、ソフトウェア バージョンを選択します。Cloud TPU VM の作成時には、この TPU ソフトウェア バージョンによって、インストールされる TPU ランタイム バージョンが指定されます。詳細については、TPU ソフトウェア バージョンをご覧ください。

  7. [キューイングを有効にする] トグルをクリックします。

  8. [キューに格納されたリソースの名前] フィールドに、キューに格納されたリソース リクエストの名前を入力します。

  9. [管理] セクションを開きます。

  10. [これを TPU Spot VM にする。] チェックボックスをオンにします。

  11. [作成] をクリックします。

キューに格納されたリソースを使用せずに TPU Spot VM を作成することもできます。

gcloud

gcloud compute tpus tpu-vm コマンドに --spot フラグを追加します。

gcloud compute tpus tpu-vm create TPU_NAME \
    --zone=europe-west4-a \
    --accelerator-type=v3-8 \
    --version=tpu-vm-tf-2.17.1-pod-pjrt \
    --spot

curl

リクエスト本文に scheduling_config: {spot: true} を追加します。

curl -X POST https://tpu.googleapis.com/v2/projects/PROJECT_ID/locations/europe-west4-a/nodes?node_id=TPU_NAME \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    -H "Content-Type: application/json" \
    -d '{
        accelerator_type: "v3-8",
        runtime_version: "tpu-vm-tf-2.17.1-pod-pjrt",
        network_config: {enable_external_ips: true},
        scheduling_config: {spot: true}
    }'

コンソール

  1. Google Cloud コンソールで、[TPU] ページに移動します。

    [TPU] に移動

  2. [TPU を作成] をクリックします。

  3. [名前] フィールドに、TPU の名前を入力します。

  4. [ゾーン] ボックスで、TPU を作成するゾーンを選択します。

  5. [TPU タイプ] ボックスで、アクセラレータ タイプを選択します。アクセラレータ タイプでは、作成する Cloud TPU のバージョンとサイズを指定します。TPU の各バージョンでサポートされているアクセラレータ タイプの詳細については、TPU のバージョンをご覧ください。

  6. [TPU ソフトウェア バージョン] ボックスで、ソフトウェア バージョンを選択します。Cloud TPU VM の作成時には、この TPU ソフトウェア バージョンによって、インストールされる TPU ランタイム バージョンが指定されます。詳細については、TPU ソフトウェア バージョンをご覧ください。

  7. [管理] セクションを開きます。

  8. [これを TPU Spot VM にする。] チェックボックスをオンにします。

  9. [作成] をクリックします。

TPU VM が Spot VM かどうかを確認する

gcloud

TPU VM が Spot VM かどうかを確認するには、describe コマンドを使用します。

gcloud compute tpus tpu-vm describe TPU_NAME --zone=europe-west4-a

TPU VM が Spot VM の場合、次のように出力に含まれる spot フィールドは true に設定されます。

...
schedulingConfig:
spot: true
...

コンソール

  1. Google Cloud コンソールで、[TPU] ページに移動します。

    [TPU] に移動

  2. Cloud TPU の名前をクリックします。

    TPU VM が Spot VM の場合、ティアSpot VM になります。

料金と割り当て

TPU Spot VM の料金は、オンデマンド TPU や予約済み TPU よりも大幅に低くなります。料金について詳しくは、Cloud TPU の料金をご覧ください。

TPU Spot VM を使用するには、プリエンプティブルの割り当てが必要です。詳細については、割り当てをご覧ください。