次の方法で共有


Foundation Model の微調整実行の表示、管理、分析

重要

この機能は、次のリージョンでパブリック プレビュー段階です: centraluseastuseastus2northcentraluswestus

この記事では、API または UI を使用して、Foundation Model Fine-tuning (現在はモザイク AI モデル トレーニングの一部) の実行を表示、管理、分析する方法について説明します。

実行の作成については、「 Foundation Model Fine-tuning API を使用してトレーニング実行を作成する Foundation Model Fine-tuning UI を使用してトレーニング実行を作成するを参照してください。

Foundation Model の微調整 API を使用してトレーニングの実行を表示および管理する

Foundation Model の微調整 API には、トレーニングの実行を管理するための次の機能が用意されています。

実行を取得する

get() 関数を使い、起動した名前または実行オブジェクトを指定して実行します。

from databricks.model_training import foundation_model as fm

fm.get('<your-run-name>')

実行のリストの取得

起動した実行を確認するには、list() 関数を使います。 次の表は、指定できる省略可能なフィルターの一覧です。

省略可能なフィルター 定義
finetuning_runs 取得する実行の一覧。 既定値はすべての実行の選択です。
user_emails ワークスペースで共有実行が有効な場合は、トレーニング実行を送信したユーザーごとに結果をフィルター処理できます。 既定値はユーザー フィルターなしです。
before 前に実行をフィルター処理する日時または日時文字列。 既定値はすべての実行です。
after 後に実行をフィルター処理する日時または日時文字列。 既定値はすべての実行です。
from databricks.model_training import foundation_model as fm

fm.list()

# filtering example
fm.list(before='2023-01-01', limit=50)

トレーニングの実行を取り消す

1 つのトレーニング実行をキャンセルするには、cancel() 関数を使用して、実行名を渡します。

from databricks.model_training import foundation_model as fm

run_to_cancel = '<name-of-run-to-cancel>'
fm.cancel(run_to_cancel)

複数のトレーニング実行をキャンセルするには、特定の実行名をリストとして渡します。

from databricks.model_training import foundation_model as fm

runs_to_cancel = ['<run_1>, <run_2>, <run_3>']
fm.cancel(runs=runs_to_cancel)

テスト内のすべてのトレーニング実行をキャンセルするには、テスト ID を渡します。

from databricks.model_training import foundation_model as fm

experiment_to_cancel = '<experiment-id-to-cancel>'
fm.cancel(experiment_id=experiment_to_cancel)

トレーニングの実行の状態を確認する

次の表は、トレーニングの実行によって作成されるイベントの一覧です。 get_events()関数は、実行時にいつでも使用して、実行の進行状況を確認します。

Foundation Model の微調整では、10 回のアクティブな実行の制限が適用されます。 これらの実行は、キュー内、実行中、または完了済みのいずれかです。 実行は、COMPLETED、FAILED、または STOPPED 状態になると、アクティブとは見なされなくなります。

イベントの種類 イベント メッセージの例 定義
CREATED 実行が作成されました。 トレーニングの実行が作成されました。 リソースを使用できる場合は、実行が開始されます。 そうではない場合は、Pending 状態になります。
STARTED 実行が開始されました。 リソースが割り当てられ、実行が開始されました。
DATA_VALIDATED トレーニング データが検証されました。 トレーニング データが正しく書式設定されていることを検証しました。
MODEL_INITIALIZED モデル データがダウンロードされ、基本モデル meta-llama/Llama-2-7b-chat-hf 用に初期化されました。 基本モデルの重みがダウンロードされ、トレーニングを開始する準備が整いました。
TRAIN_UPDATED [epoch=1/1][batch=50/56][ETA=5min] トレーニングの損失: 1.71 現在のトレーニング バッチ、エポック、またはトークン、トレーニングが完了するまでの推定時間 (チェックポイントのアップロード時間は含まれません)、トレーニングの損失を報告します。 このイベントは、各バッチが終了すると更新されます。 実行構成で max_duration 単位の tok が指定されている場合、進行状況はトークンで報告されます。
TRAIN_FINISHED トレーニングが完了しました。 トレーニングが完了しました。 チェックポイントのアップロードが開始されます。
COMPLETED 実行が完了しました。 最終的な重みがアップロードされました。 チェックポイントがアップロードされ、実行が完了しました。
CANCELED 実行が取り消されました。 fm.cancel() が呼び出されると、実行は取り消されます。
FAILED 1 つ以上のトレーニング データセット サンプルに不明なキーがあります。 サポートされているデータ形式については、ドキュメントを参照してください。 実行に失敗しました。 対処可能な詳細について event_message を確認するか、サポートにお問い合わせください。
from databricks.model_training import foundation_model as fm

fm.get_events()

UI を使って実行を表示および管理する

UI で実行を表示するには:

  1. 左側のナビゲーション バーにある [実験] をクリックして、[実験] ページを表示します。

  2. 表内の実験名をクリックして、実験ページを表示します。 実験ページに、実験に関連付けられているすべての実行が一覧表示されます。

    実験ページ

  3. 表にその他の情報またはメトリックを表示するには、プラス記号 をクリックし、メニューから表示する項目を選びます。

    グラフにメトリックを追加する

  4. その他の実行情報は、[グラフ] タブで確認できます。

    グラフ タブ

  5. また、実行名をクリックして実行画面を表示することもできます。 この画面では、実行に関するその他の詳細にアクセスできます。

    実行ページ

チェックポイント

checkpoint フォルダーにアクセスするには、実行画面の [成果物] タブをクリックします。 実験名を開き、checkpoints フォルダーを開きます。 これらのアーティファクト チェックポイントは、トレーニング実行の最後に登録されたモデルと同じではありません。

[成果物] タブの checkpoint フォルダー

このフォルダーには以下に示すいくつかのディレクトリが存在します。

  • エポック フォルダー ( ep<n>-xxx という名前) には、各チェックポイントの重みとモデルの状態が含まれています。 チェックポイントはトレーニングを通じて定期的に保存されます。これらは、微調整トレーニングの実行を再開し、微調整を継続するために使用されます。 このチェックポイントは、これらの重みから別のトレーニング実行を開始するために custom_weights_path として渡すものです。「カスタム モデルの重みを基にする」を参照してください。
  • checkpoints/latest-sharded-rank0.symlink は、トレーニングの再開に使用できる最新のチェックポイントへのパスを保持するファイルです。

get_checkpoints(run)を使用して保存した後に、実行のチェックポイントを取得することもできます。 この関数は、実行オブジェクトを入力として受け取ります。 チェックポイントがまだ存在しない場合は、チェックポイントが保存された後に再試行するように求められます。