マネージド容量モードの 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 リソースを削除して再作成し、保存したチェックポイントからトレーニング ジョブを再起動する必要があります。自動復元の失敗の検出と復旧方法については、TPU の障害を検出して回復するをご覧ください。

チェックポイントの保存と読み込みのメカニズムは、ML フレームワークごとに異なります。通常、サポートされている Cloud TPU モデルにはチェックポインティングが組み込まれています。チェックポイントの詳細については、次のドキュメントをご覧ください。

メンテナンス イベントを検出する

TPU でメンテナンス イベントが発生したかどうかと、そのタイミングを検出するには、Cloud Logging のシステム イベント監査ログを確認します。詳細については、メンテナンス イベントログを表示するをご覧ください。

gcloud compute instances describe コマンドを使用して、今後のメンテナンス イベントを確認することもできます。詳細については、Compute Engine ドキュメントのホスト メンテナンス イベントのモニタリングと計画をご覧ください。

メンテナンス イベントログを表示する

TPU のメンテナンス イベントの過去のログは、システム イベント監査ログで確認できます。

  1. Google Cloud コンソールのナビゲーション メニューで、[ログ エクスプローラ] ページに移動します。

    [ログ エクスプローラ] に移動

  2. 次の検索クエリを使用して、メンテナンスのために終了した TPU VM を表示します。

    "compute.instances.terminateOnHostMaintenance"

    検索期間内の TPU ワーカーの中断と修復のログが結果に表示されます。ログには次のものが含まれます。

    • イベントの発生日時
    • イベントのタイプ
    • protoPayload.metadata.terminateReason フィールドの終了理由

メンテナンスを手動で開始する

TPU VM で保留中のホスト メンテナンス イベントを手動で開始すると、中断を最小限に抑えながら、今後のメンテナンスをプロアクティブに処理できます。詳細については、Compute Engine のドキュメントのホスト メンテナンス イベントを手動で開始するをご覧ください。

次のステップ