メインコンテンツまでスキップ

基盤モデル ファインチューニングランの参照、管理、分析

備考

プレビュー

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

この記事では、 APIまたは UI を使用して、基盤モデル ファインチューニング (現在はMosaic AI Model トレーニングの一部) のランを表示、管理、分析する方法について説明します。

ランの作成に関する情報については、「基盤モデル ファインチューニング APIを使用してトレーニング ランを作成する」および「基盤モデル ファインチューニング UI を使用してトレーニング ランを作成する」を参照してください。

基盤モデル ファインチューニング API を使用してトレーニング ランを表示および管理する

基盤モデル ファインチューニング API は、トレーニングのランを管理するための以下の機能を提供します。

ランの取得

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

Python
from databricks.model_training import foundation_model as fm

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

ランの一覧表示

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

オプションのフィルター

定義

finetuning_runs

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

user_emails

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

before

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

after

フィルターをかけるdatetimeまたはdatetime文字列。デフォルトはすべてのランです。

Python
from databricks.model_training import foundation_model as fm

fm.list()

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

トレーニングのランをキャンセルする

1 つのトレーニングランを取り消すには、 cancel() 関数を使用してランの名を渡します。

Python
from databricks.model_training import foundation_model as fm

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

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

Python
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 を渡します。

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

注記

基盤モデル ファインチューニング は、アクティブなランの数を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] Train loss: 1.71

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

TRAIN_FINISHED

トレーニングが完了しました。

トレーニングは終了しました。チェックポイントのアップロードが開始されます。

COMPLETED

ランが完了しました。最終的な重みをアップロードしました。

チェックポイントがアップロードされ、実行が完了しました。

CANCELED

ランがキャンセルされました。

fm.cancel()が呼び出された場合、ランはキャンセルされます。

FAILED

1つ以上のトレーニングデータセットサンプルに不明なキーがあります。サポートされているデータ形式については、ドキュメントをご確認ください。

ランに失敗しました。実用的な詳細についてはevent_messageを確認するか、サポートにお問い合わせください。

Python
from databricks.model_training import foundation_model as fm

fm.get_events()

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

UIでランを表示するには:

  1. 左のナビバーにある[ エクスペリメント ]をクリックすると、エクスペリメントページが表示されます。

  2. 表の中でエクスペリメント名をクリックすると、エクスペリメントページが表示されます。エクスペリメントページには、エクスペリメントに関連付けられているすべてのランがリストされます。

    エクスペリメントページ

  3. 追加の情報やメトリクスを表に表示するには、プラス記号をクリックしてメニューから表示する項目を選択します:

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

  4. その他のランの情報は、 チャート タブでご覧いただけます:

    💹

  5. ランの名前をクリックしてランの画面を表示することもできます。この画面では、ランに関する追加情報にアクセスできます。

    ランのページ

チェックポイント

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

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

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

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

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