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: {} }'
コンソール
Google Cloud コンソールで、[TPU] ページに移動します。
[TPU を作成] をクリックします。
[名前] フィールドに、TPU の名前を入力します。
[ゾーン] ボックスで、TPU を作成するゾーンを選択します。
[TPU タイプ] ボックスで、アクセラレータ タイプを選択します。アクセラレータ タイプでは、作成する Cloud TPU のバージョンとサイズを指定します。TPU の各バージョンでサポートされているアクセラレータ タイプの詳細については、TPU のバージョンをご覧ください。
[TPU ソフトウェア バージョン] ボックスで、ソフトウェア バージョンを選択します。Cloud TPU VM の作成時には、この TPU ソフトウェア バージョンによって、インストールされる TPU ランタイム バージョンが指定されます。詳細については、TPU ソフトウェア バージョンをご覧ください。
[キューイングを有効にする] トグルをクリックします。
[キューに格納されたリソースの名前] フィールドに、キューに格納されたリソース リクエストの名前を入力します。
[管理] セクションを開きます。
[これを TPU Spot VM にする。] チェックボックスをオンにします。
[作成] をクリックします。
キューに格納されたリソースを使用せずに 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} }'
コンソール
Google Cloud コンソールで、[TPU] ページに移動します。
[TPU を作成] をクリックします。
[名前] フィールドに、TPU の名前を入力します。
[ゾーン] ボックスで、TPU を作成するゾーンを選択します。
[TPU タイプ] ボックスで、アクセラレータ タイプを選択します。アクセラレータ タイプでは、作成する Cloud TPU のバージョンとサイズを指定します。TPU の各バージョンでサポートされているアクセラレータ タイプの詳細については、TPU のバージョンをご覧ください。
[TPU ソフトウェア バージョン] ボックスで、ソフトウェア バージョンを選択します。Cloud TPU VM の作成時には、この TPU ソフトウェア バージョンによって、インストールされる TPU ランタイム バージョンが指定されます。詳細については、TPU ソフトウェア バージョンをご覧ください。
[管理] セクションを開きます。
[これを TPU Spot VM にする。] チェックボックスをオンにします。
[作成] をクリックします。
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
...
コンソール
Google Cloud コンソールで、[TPU] ページに移動します。
Cloud TPU の名前をクリックします。
TPU VM が Spot VM の場合、ティアは Spot VM になります。
料金と割り当て
TPU Spot VM の料金は、オンデマンド TPU や予約済み TPU よりも大幅に低くなります。料金について詳しくは、Cloud TPU の料金をご覧ください。
TPU Spot VM を使用するには、プリエンプティブルの割り当てが必要です。詳細については、割り当てをご覧ください。