基盤モデル ファインチューニングランの参照、管理、分析
プレビュー
この機能は、us-east-1
と us-west-2
でパブリック プレビュー段階です。
この記事では、 APIまたは UI を使用して、基盤モデル ファインチューニング (現在はMosaic AI Model トレーニングの一部) のランを表示、管理、分析する方法について説明します。
ランの作成に関する情報については、「基盤モデル ファインチューニング APIを使用してトレーニング ランを作成する」および「基盤モデル ファインチューニング UI を使用してトレーニング ランを作成する」を参照してください。
基盤モデル ファインチューニング API を使用してトレーニング ランを表示および管理する
基盤モデル ファインチューニング API は、トレーニングのランを管理するための以下の機能を提供します。
ランの取得
get()
関数を使用して、名前によるランまたは起動したランのオブジェクトを返します。
from databricks.model_training import foundation_model as fm
fm.get('<your-run-name>')
ランの一覧表示
起動したランを確認するには、list()
関数を使用します。次の表は、オプションで指定できるフィルタの一覧です。
オプションのフィルター | 定義 |
---|---|
| 取得するランの一覧。デフォルトでは、すべてのランが選択されます。 |
| ワークスペースで実行の共有が有効になっている場合は、トレーニング実行を送信したユーザーで結果をフィルタリングできます。デフォルトはユーザーフィルターなしです。 |
| 実行前にフィルター処理するdatetimeまたはdatetime文字列。デフォルトはすべての実行です。 |
| フィルターをかけるdatetimeまたはdatetime文字列。デフォルトはすべてのランです。 |
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()
機能を使って、ランの進行状況を確認できます。
基盤モデル ファインチューニング は、アクティブなランの数を10に制限します。 これらのランは、キューにあるか、実行中であるか、または終了しています。 ランは、COMPLETED、FAILED、または STOPPED 状態になるとアクティブとは見なされなくなります。
イベントタイプ | イベントメッセージの例 | 定義 |
---|---|---|
| ランが作成されました。 | トレーニングランが作成されました。リソースが使用可能な場合は、ランが開始されます。それ以外の場合は、 |
| ランが開始されました。 | リソースが割り当てられ、実行が開始されました。 |
| トレーニングデータを検証しました。 | トレーニングデータが正しくフォーマットされていることを検証しました。 |
| 基本モデル | ベースモデルの重みがダウンロードされ、トレーニングを開始する準備が整いました。 |
| [epoch=1/1][batch=50/56][ETA=5min] Train loss: 1.71 | 現在のトレーニングするバッチ、エポック、またはトークン、トレーニングする終了までの推定時間(チェックポイントのアップロード時間は含まれません)、およびトレーニングするの損失を報告します。このイベントは各バッチが終了すると更新されます。実行構成で |
| トレーニングが完了しました。 | トレーニングは終了しました。チェックポイントのアップロードが開始されます。 |
| ランが完了しました。最終的な重みをアップロードしました。 | チェックポイントがアップロードされ、実行が完了しました。 |
| ランがキャンセルされました。 |
|
| 1つ以上のトレーニングデータセットサンプルに不明なキーがあります。サポートされているデータ形式については、ドキュメントをご確認ください。 | ランに失敗しました。実用的な詳細については |
from databricks.model_training import foundation_model as fm
fm.get_events()
UI を使用して実行を表示および管理する
UIでランを表示するには:
-
左のナビバーにある[ エクスペリメント ]をクリックすると、エクスペリメントページが表示されます。
-
表の中でエクスペリメント名をクリックすると、エクスペリメントページが表示されます。エクスペリメントページには、エクスペリメントに関連付けられているすべてのランがリストされます。
-
追加の情報やメトリクスを表に表示するには、
をクリックしてメニューから表示する項目を選択します:
-
その他のランの情報は、 チャート タブでご覧いただけます:
💹
-
ランの名前をクリックしてランの画面を表示することもできます。この画面では、ランに関する追加情報にアクセスできます。
チェックポイント
チェックポイントフォルダにアクセスするには、ランの画面の アーティファクト タブをクリックします。エクスペリメント名を開き、 チェックポイントフォルダ を開きます。これらのアーティファクトのチェックポイントは、トレーニングのラン終了時に登録されたモデルとは異なります。
このフォルダには、いくつかのディレクトリがあります。
- エポックフォルダ(
ep<n>-xxx
という名前)には、各チェックポイントの重みとモデルの状態が含まれています。チェックポイントは、トレーニングを通じて定期的に保存され、これらはファインチューニング トレーニング のランと継続的なファインチューニングを再開するために使用されます。 このチェックポイントは、これらの重みから別のトレーニングランを開始するcustom_weights_path
として渡すチェックポイントです ( カスタム モデルの重みに基づいて構築するを参照してください)。 checkpoints/latest-sharded-rank0.symlink
は最新のチェックポイントへのパスを含むファイルで、トレーニングを再開するために使用できます。
また、 get_checkpoints(run)
を使用して、実行のチェックポイントを保存した後に取得することもできます。この関数は、実行オブジェクトを入力として受け取ります。 チェックポイントがまだ存在しない場合は、チェックポイントの保存後に再試行するように求められます。