メインコンテンツへスキップ
学習ガイドの章 すべてのドキュメント

失敗、キャンセル、復旧

重複書き込みや成果物の消失、終わらない再試行ループを避けながら障害を診断します。

どの言語版でもコマンドとコードは英語のままです。大文字のプレースホルダーは、ご自身のアカウントと有料ジョブの値に置き換えてください。共有ノートブックやログに実際のキーを貼り付けないでください。

run を復旧する

設定、モデル、データセットのフィンガープリントが一致する場合にのみ再開します。
  1. 実行 データ位置と予算を追跡
  2. 原子的チェックポイント 重み、オプティマイザー、乱数状態
  3. 中断 最後の有効なチェックポイントを保持
  4. 検証 フィンガープリントと空き容量を確認
  5. 再開 作業を重複させずに続行

実行: データ位置と予算を追跡. 原子的チェックポイント: 重み、オプティマイザー、乱数状態. 中断: 最後の有効なチェックポイントを保持. 検証: フィンガープリントと空き容量を確認. 再開: 作業を重複させずに続行

再試行の前に失敗内容を確認する

認証失敗、参照モデルの利用期限切れ、モデルの非互換、デバイスメモリ不足、データセットの不備、評価基準の未達には、それぞれ異なる対処が必要です。TrainingClient は条件を満たす GET リクエストのみ、回数を制限して再試行します。状態を変更するリクエストは自動再試行されません。タイムアウト時は書き込みを繰り返す前に、run または API リソースの状態を確認してください。

  • 401/403:キーのスコープ、アカウントアクセス、有料の参照利用権を確認します。
  • 404:リソースが認証済みアカウントに属しているか確認します。
  • 409/422:入力を変更する前に、run の状態と項目ごとの検証詳細を確認します。
例 · python
import os
from fusionpointai_training import TrainingClient
from fusionpointai_training.errors import APIError, IntegrityError, TrainingError

client = TrainingClient(api_key=os.environ["FUSIONPOINTAI_API_KEY"])
try:
    state = client.get_session(os.environ["FUSIONPOINTAI_SESSION_ID"])
    print("Current state:", state["status"])
except IntegrityError:
    print("Integrity check failed; preserve the report and investigate.")
except TrainingError:
    print("Training failed; inspect the local report before retrying.")
except APIError:
    print("Request failed; inspect access and session state before another write.")
except ValueError:
    print("Invalid local configuration; correct the input before retrying.")
# Never print the key or authorization headers.

run の一時停止、再開、キャンセル

プロジェクト API と CLI は、その run が管理する worker を制御します。一時停止では原子的なチェックポイントの保存を待ちます。再開時は設定、モデル、データ、評価器、トポロジーのフィンガープリントを検証します。キャンセルするとその run は停止し、以後再開できません。従来の TrainingClient.cancel はサービスのセッション状態をキャンセルするもので、プロジェクトの worker 制御を置き換えるものではありません。

  • 制御リクエストがタイムアウトした場合、繰り返す前に状態を確認します。
  • 有効で再開可能な run のみ再開し、フィンガープリントが一致しないチェックポイントを強制的に読み込まないでください。
  • 途中の出力は保全し、受け入れ済みの成果物として扱わないでください。
例 · python
# Continue with client/session. Cancels API state; not pause/resume.
cancelled = client.cancel(session["id"])
print(cancelled["status"])
# Stop the separate GPU process using your runtime's process controls.

プロジェクト run の復旧

TrainingProject は、run が所有するディレクトリにモデルまたはアダプターのチェックポイントとプロジェクトの進捗を保存します。再開前にモデル、データセット、設定、評価器、トポロジーのフィンガープリントを検証します。保持数とストレージ予算で run のデータ量を制限し、フィンガープリントが一致しないチェックポイントは拒否します。

  • 設定で保持する復旧チェックポイントは最大5つです。
  • 一時停止とキャンセルでは状態と影響が異なります。
  • run の実行中にチェックポイントファイルを削除・変更しないでください。
例 · text
Checkpoint contents and resume validation
model/adapters + optimizer + scheduler + random states
dataset version + sampler/data position + curriculum progress
model/config/evaluator fingerprints + distributed topology
atomic completion marker + integrity checks + storage budget

Keep at most 3 valid recovery checkpoints by default.
Refuse mismatched resumes before updating weights.