Vertex AI のジョブが動かない?マシン変えたら直るかも
はじめに
こんにちは。データシステム部・推薦基盤ブロックのかみけん(上國料)です。
私たちのチームでは、Google Cloud を利用しており、ZOZOTOWNの推薦システムを支えるMLパイプラインを Vertex AI Pipelines で運用しています。学習ジョブでは用途に応じて GPU(NVIDIA L4 など)やメモリマシン(n1-highmem など)を使い分けています。
ある日、そんなパイプラインが突然動かなくなりました。本記事では、2 つの異なるエラーに遭遇し、どちらもマシン構成を変えることで解決した事例を紹介します。
ケース1:Resources are insufficient in region
普段動いている GPU を使った学習パイプラインが落ち始めました。ログを確認すると、以下のエラーが出ていました。
Resources are insufficient in region: us-central1
素直に読むと「us-central1 にリソースがない」という意味に見えます。(まあ、それはそうなんですが)
別のリージョンに変更すれば良いのでは?と思いますが、データやモデルのストアが全て us-central1 に集約されている環境では、リージョン移行は現実的ではありませんでした。
このエラーの厄介な点は、具体的に何が足りないのか教えてくれないところです。
調査したところ、クォータ(使用上限)は十分にありました。つまり、使用していた GPU 自体(L4)が足りていないということです。「使っていいよ」という許可はあっても、モノがなければ動きません。
解決策:GPU アクセラレータを変更
# Before
gpu_type: NVIDIA_L4
# After
gpu_type: NVIDIA_TESLA_T4
これで正常に動作しました。リージョンは変更せずに解決できました。
ケース2:provisioning が終わらない
アラートが至るところから鳴り始めました。ログを確認すると、以下のようになっていました。
2025-11-11 17:38:28.726 JST
Vertex AI is provisioning job running framework. First time usage might take couple of minutes, and subsequent runs can be much faster.
2025-11-11 17:38:33.739 JST
Vertex AI is provisioning job running framework. First time usage might take couple of minutes, and subsequent runs can be much faster.
2025-11-11 17:38:38.753 JST
Vertex AI is provisioning job running framework. First time usage might take couple of minutes, and subsequent runs can be much faster.
...(延々と続く)
2025-11-11 17:39:28.891 JST
Internal error occurred for the current attempt.
同じメッセージが5秒おきに延々と出力され続け、最後に Internal error で落ちています。「数分かかる」と書いてありますが、何時間経っても完了しません。(普段はすぐ終わるのに…)
障害かと思い GCP Status を確認しましたが、すべてグリーンでした。
停止しているパイプラインと正常に動作しているパイプラインを比較したところ、停止しているパイプラインはすべて n1-highmem を使用しており、動いているものは e2-highmem を使用していました。つまり、n1-highmem の CPU・メモリが確保できず、provisioning が一生終わらない状態だったということです。
解決策:マシンタイプを変更
# Before
machine_type: n1-highmem-16
# After
machine_type: e2-highmem-16
数分で provisioning が完了し、正常に動作しました。
まとめ
| ケース1 | ケース2 | |
|---|---|---|
| エラー | Resources are insufficient |
provisioning...might take couple of minutes |
| 原因 | L4 GPU の枯渇 | n1-highmem の枯渇 |
| 解決策 | GPU アクセラレータ変更(L4→A100) | マシンタイプ変更(n1→e2) |
| GCPステータス | グリーン | グリーン |
どちらも「特定のリソースが枯渇していた」という点で共通しており、「別のリソースに変更することで解決」しました。そして、どちらも Google Cloud のステータスページには反映されていませんでした。
学び
- Vertex AI で「リソースが足りない」系のエラーに遭遇した場合、まずマシンタイプや GPU アクセラレータの変更を試してみてください
- リージョン移行などの大規模な対応を検討する前に、設定ファイルを数行変更するだけで解決するかもしれません
- Google Cloud のステータスページやエラーメッセージの情報だけで判断せず、実際に動作しているジョブとの比較を行うことが、迅速な問題解決につながります
Discussion