Mosaic AIモデルトレーニングの実行を表示、管理、分析する

プレビュー

この機能はus-east-1us-west-2パブリックプレビュー段階です。

この記事では、APIsまたはUIを使用して、Mosaic AIモデルトレーニング(旧基盤モデルトレーニング)の実行を表示、管理、分析する方法について説明します。

実行の作成については、Mosaic AIモデルトレーニングAPIを使用してトレーニング実行を作成するおよびMosaic AIモデルトレーニングUIを使用してトレーニング実行を作成するを参照してください。

Mosaic AIモデルトレーニングAPIを使用して、トレーニングの実行状況を表示および管理する

Mosaic AIモデルトレーニングAPIsは、トレーニング実行を管理するための次の機能を提供します。

実行しよう

get()関数を使用して、名前による実行または起動した実行オブジェクトを返します。

from databricks.model_training import foundation_model as fm

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

リスト実行

起動した実行を確認するには、list()関数を使用します。次の表は、オプションで指定できるフィルタの一覧です。

オプションのフィルター

定義

finetuning_runs

取得する実行の一覧。デフォルトでは、すべての実行が選択されます。

user_emails

ワークスペースで実行の共有が有効になっている場合は、トレーニング実行を送信したユーザーで結果をフィルタリングできます。デフォルトはユーザーフィルターなしです。

before

実行前にフィルター処理するdatetimeまたはdatetime文字列。デフォルトはすべての実行です。

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() 機能を使って、実行の進行状況を確認できます。

注:

Mosaic AI モデル トレーニングでは、アクティブな実行が 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=5分] トレーニング損失: 1.71

現在のトレーニングするバッチ、エポック、またはトークン、トレーニングする終了までの推定時間(チェックポイントのアップロード時間は含まれません)、およびトレーニングするの損失を報告します。このイベントは各バッチが終了すると更新されます。実行構成でmax_durationtok単位で指定した場合、進捗はトークンで報告されます。

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. 実行の名前をクリックして実行画面を表示することもできます。この画面では、実行に関する追加情報にアクセスできます。

    実行ページ

チェックポイント

チェックポイントフォルダにアクセスするには、実行画面の [Artifacts] タブをクリックします。エクスペリメント名を開き、チェックポイントフォルダを開きます。これらのアーティファクトのチェックポイントは、トレーニング実行終了時に登録されたモデルとは異なります。

[アーティファクト]タブのチェックポイントフォルダ

このフォルダには、いくつかのディレクトリがあります。

  • エポックフォルダ(ep<n>-xxxという名前)には、各コンポーザーのチェックポイントでの重みとモデルの状態が含まれています。コンポーザーのチェックポイントはトレーニング中に定期的に保存され、微調整トレーニングの実行を再開したり、微調整を継続したりするために使用されます。このチェックポイントは、それらの重みから別のトレーニング実行を開始するためにcustom_weights_pathとして渡すものです。「カスタムモデルの加重を構築する」を参照してください。

  • huggingfaceフォルダには、トレーニングを通じてHugging Faceチェックポイントも定期的に保存されます。このフォルダにあるコンテンツをダウンロードしたら、AutoModelForCausalLM.from_pretrained(<downloaded folder>)を使って他のHugging Faceのチェックポイントと同じように、これらのチェックポイントを読み込むことができます。

  • checkpoints/latest-sharded-rank0.symlink は最新のチェックポイントへのパスを含むファイルで、トレーニングを再開するために使用できます。

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