マネージド キャパシティ モードの TPU のメンテナンス イベントを管理する
TPU VM は、TPU ハードウェアが割り当てられた Compute Engine VM のインスタンスです。 Compute Engine VM は Compute Engine VM のメンテナンス イベントの対象となります。各 TPU は Compute Engine VM に割り当てられているため、使用する TPU(TPU スライスなど)を増やすと、いずれかの VM でメンテナンス イベントが発生する可能性があります。
このドキュメントでは、TPU で長時間実行トレーニング ジョブのメンテナンス イベントを処理する方法について説明します。Google Kubernetes Engine(GKE)で TPU のメンテナンス イベントを処理する方法については、GPU と TPU の GKE ノードの停止を管理するをご覧ください。
今後のメンテナンスに関する通知を表示する
インスタンスの今後のメンテナンスの時間枠をモニタリングすると、中断を最小限に抑えながら、今後のメンテナンスを処理するワークロードをプロアクティブに準備できます。 詳細については、Compute Engine のドキュメントのホスト メンテナンス イベントのモニタリングと計画をご覧ください。
チェックポイントを使用してメンテナンス イベントから迅速に復元する
チェックポイントは、メンテナンス イベントから短時間で復元するうえで重要であるため、頻繁に保存する必要があります。チェックポイントは 1 時間ごとに保存することをおすすめします。チェックポイントが不十分であると、メンテナンス イベントやその他のトレーニングの中断が原因となり、多くのトレーニングの進行状況が失われるリスクが発生します。
一般に、チェックポイントはトレーニングで使用されるすべての保存済みパラメータ(モデルの重みなど)を参照します。チェックポイントの保存にかかる時間は、数秒から数分です。
TPU はメンテナンス イベントから自動的に復元されることが多いですが、ジョブが自動的に再起動しないケースもあります。この場合は、TPU リソースを削除して再作成し、保存したチェックポイントからトレーニング ジョブを再開する必要があります。
チェックポイントの保存と読み込みのメカニズムは、ML フレームワークごとに異なります。通常、サポートされている Cloud TPU モデルにはチェックポインティングが組み込まれています。チェックポインティングの詳細については、次のドキュメントをご覧ください。
メンテナンス イベントを検出する
TPU でメンテナンス イベントが発生したかどうかと、そのタイミングを検出するには、Cloud Logging のシステム イベント監査ログを確認します。詳細については、 メンテナンス イベントログを表示するをご覧ください。
gcloud compute
instances describe コマンドを使用して、今後のメンテナンス イベントを確認することもできます。
詳細については、Compute Engine のドキュメントのホスト メンテナンス
イベントのモニタリングと計画をご覧ください。
メンテナンス イベントログを表示する
TPU のメンテナンス イベントの過去のログは、システム イベント監査ログで確認できます。
Google Cloud コンソールのナビゲーション メニューで、[ログ エクスプローラ] ページに移動します。
次の検索クエリを使用して、メンテナンスのために終了した TPU VM を表示します。
"compute.instances.terminateOnHostMaintenance"検索期間内の TPU ワーカーの中断と修復のログが結果に表示されます。ログには次のものが含まれます。
- イベントの発生日時
- イベントのタイプ
protoPayload.metadata.terminateReasonフィールドの終了理由
メンテナンスを手動で開始する
TPU VM で保留中のホスト メンテナンス イベントを手動で開始して、中断を最小限に抑えながら、今後のメンテナンスにプロアクティブに対応できます。詳細については、Compute Engine のドキュメントのホスト メンテナンス イベントを手動で開始するをご覧ください。