DeepLearningVMのインスタンスの立ち上げに一部手間取ったのでメモ。
はじめに
下記のページに沿ってインスタンスを立ち上げようとしましたが、「Create a new instance」の「7.Click Deploy.」を実行した時点でエラーが発生しました。
[手順の参考ページ]
https://cloud.google.com/deep-learning-vm/docs/quickstart-marketplace
エラー内容1
deeplabv3plus-1-vm: {"ResourceType":"compute.v1.instance",
"ResourceErrorCode":"403",
"ResourceErrorMessage":{"code":403,"errors":[{"domain":"usageLimits",
"message":"Quota 'GPUS_ALL_REGIONS' exceeded. Limit: 0.0 globally.",
"reason":"quotaExceeded"}],
"message":"Quota 'GPUS_ALL_REGIONS' exceeded. Limit: 0.0 globally.",
"statusMessage":"Forbidden",
"requestPath":"https://www.googleapis.com/compute/v1/projects/test-vegetation-map/zones/us-central1-a/instances",
"httpMethod":"POST"}}
エラー内容2
{"ResourceType":"compute.v1.instance",
"ResourceErrorCode":"403",
"ResourceErrorMessage":{"code":403,"errors":[{"domain":"usageLimits",
"message":"Quota 'GPUS_ALL_REGIONS' exceeded. Limit: 0.0 globally.",
"reason":"quotaExceeded"}],
"message":"Quota 'GPUS_ALL_REGIONS' exceeded. Limit: 0.0 globally.",
"statusMessage":"Forbidden",
"requestPath":"https://www.googleapis.com/compute/v1/projects/test-vegetation-map/zones/us-central1-a/instances",
"httpMethod":"POST"}}
原因
GPUの割り当て上限数の設定は2種類あります。
(語弊のある表現ですが、ここまで読んで「GPUの上限数の設定はしたんだよ!」とこの記事を閉じてしまわないために、まずは敢えてこう書きました。)
正確には、「各リージョンで作成するGPUモデルに対する割り当て」に加え、「すべてのゾーンにおけるすべてのタイプのGPUの総数に対するグローバル割り当て」もリクエストする必要がありました。
[参考]
https://cloud.google.com/compute/quotas#gpus
解決策
1. 各リージョンで作成するGPUモデルに対する割り当て
こちらの設定は、この記事を読んでいる皆さんは既に完了しているかもしれません。
- 先ほどのページ(https://cloud.google.com/compute/quotas#gpus)の「[割り当て] ページ」のリンク先へ飛ぶ。(※もしくは「GCPの左上のハンバーガーメニュー(横三本線のマーク)>IAM と管理>割り当て」と進む。)
- 「指標」のプルダウンボタンをクリックし、使用したいGPUの名前にチェックを入れる。
- 「場所」のプルダウンボタンをクリックし、使用したいリージョンの名前にチェックを入れる。
- 使用したいリージョンの、使用したいGPUの上限数が使用予定数を上回っていることを確認する。
- 上限数が足りていなかった場合は「割り当てを編集」よりリクエストを投げましょう。早いと1時間程度でリクエストした条件が反映されます。
2. すべてのゾーンにおけるすべてのタイプのGPUの総数に対するグローバル割り当て
こちらを見落としていました。
- 上記1.と同様、「割り当て」ページへ移動する。
- 「指標」プルダウンボタンをクリックし、「GPUs (all regions)」という選択肢にチェックを入れる。
- 「場所」のプルダウンボタンをクリックし、「グローバル」にチェックを入れる。
- 上限数を確認しましょう。デフォルトでは0になっているはずです。
- 上限数が「すべてのリージョンにおけるすべてのタイプのGPUの総数」を下回っている場合、「割り当てを編集」よりリクエストを投げましょう。早いと1時間程度でリクエストした条件が反映されます。
以上。