Mosaic AI Model トレーニングAPIを使用してトレーニング実行を作成する
重要
この機能は パブリック プレビュー段階です。 パブリック プレビューに登録するには、Databricks アカウント チームにお問い合わせください。
このページではMosaic AI Model Training (旧基盤モデル トレーニング) APIを使用してトレーニング実行を作成および構成する方法と、 API呼び出しで使用されるすべての論点について説明します。 UI を使用して実行を作成することもできます。 手順については、 「 Mosaic AIモデル トレーニング UI を使用したトレーニング実行の作成」を参照してください。
要件
「 要件」を参照してください。
トレーニング実行を作成する
プログラムでトレーニング実行を作成するには、 create()
関数を使用します。 この関数は、提供されたデータセットでモデルをトレーニングし、最終的なComposerチェックポイントを推論用のHugging Face形式のチェックポイントに変換します。
必要な入力は、トレーニングするモデル、トレーニング データセットの場所、およびモデルを登録する場所です。 評価を実行したり、実行のハイパーパラメータを変更したりできるオプション フィールドもあります。
実行が完了すると、完了した実行と最終チェックポイントが保存され、モデルが複製され、その複製が推論用のモデルバージョンとして Unity Catalog に登録されます。
Unity Catalog 内の複製されたモデルバージョンではなく、完了した実行からのモデルとそのComposer および Hugging Face チェックポイントがMLflow に保存されます。 Composer チェックポイントは、継続的なファインチューニング タスクに使用できます。
create()
関数の引数の詳細については、 「トレーニング実行の構成」を参照してください。
from databricks.model_training import foundation_model as fm
run = fm.create(
model='meta-llama/Llama-2-7b-chat-hf',
train_data_path='dbfs:/Volumes/main/mydirectory/ift/train.jsonl', # UC Volume with JSONL formatted data
# Public HF dataset is also supported
# train_data_path='mosaicml/dolly_hhrlhf/train'
register_to='main.mydirectory', # UC catalog and schema to register the model to
)
トレーニング実行を構成する
次の表は、 create()
関数のフィールドをまとめたものです。
フィールド |
*必須 |
タイプ |
説明 |
---|---|---|---|
|
x |
str |
使用するモデルの名前。 「サポートされているモデル」を参照してください。 |
|
x |
str |
トレーニング データの場所。 これは、 Unity Catalog内の場所 ( |
|
x |
str |
簡単にデプロイできるようにトレーニング後にモデルが登録される Unity Catalog カタログとスキーマ ( |
|
str |
Spark データ処理に使用するクラスターのクラスター ID。 これは、トレーニング データが Delta テーブルにある教師ありトレーニング タスクに必要です。 クラスター ID を見つける方法については、 「クラスター ID の取得」を参照してください。 |
|
|
str |
トレーニング 実行 の出力 (メトリックとチェックポイント) が保存されるMLflow拡張機能へのパス。 デフォルトでは、ユーザーの個人ワークスペース内の実行名になります(つまり、 |
|
|
str |
実行するタスクのタイプ。 |
|
|
str |
評価データのリモートロケーション (存在する場合)。 |
|
|
str |
評価中に応答を生成するためのプロンプト文字列のリスト。 デフォルトは |
|
|
str |
トレーニング用のカスタム モデル チェックポイントのリモートの場所。 デフォルトは |
|
|
str |
実行の合計時間。 デフォルトは 1 エポックまたは |
|
|
str |
モデルトレーニングの学習率。 デフォルトは |
|
|
str |
データ・サンプルの最大シーケンス長。 これは、長すぎるデータを切り捨てたり、短いシーケンスをパッケージ化して効率を上げるために使用されます。 デフォルトは、8192 トークンまたは指定されたモデルの最大コンテキスト長のいずれか小さい方です。 この引数を使用してコンテキストの長さを設定できますが、各モデルの最大コンテキスト長を超える設定はサポートされていません。 各モデルでサポートされる最大コンテキスト長については、 サポートされるモデル を参照してください。 |
|
|
ブール値 |
トレーニング ジョブを送信する前に入力パスへのアクセスを検証するかどうか。 デフォルトは |
カスタムモデルの重みに基づいて構築する
Mosaic AIモデル トレーニングは、オプションの 分散 を使用して、カスタムの重みから始まるサポートされているモデルのトレーニングをサポートします。 custom_weights_path.
たとえば、カスタム データを使用してドメイン固有のモデルを作成し、目的のチェックポイントを入力として渡してさらにトレーニングを行うことができます。
トレーニングのために、前回の実行からComposerチェックポイントへのリモート ロケーションを指定できます。 チェックポイント パスは、以前の MLflow 実行の[アーティファクト]タブにあり、形式はdbfs:/databricks/mlflow-tracking/<experiment_id>/<run_id>/artifacts/<run_name>/checkpoints/<checkpoint_folder>[.symlink]
です。シンボリック リンク拡張子はオプションです。 このチェックポイント フォルダー名は、特定のスナップショットのバッチとエポックに対応します (例: ep29-ba30/
。 最終スナップショットにはシンボリックリンクlatest-sharded-rank0.symlink
でアクセスできます。
![以前の MLflow 実行の成果物タブ](../../_images/checkpoint-path.png)
その後、パスを構成内のcustom_weights_path
に渡すことができます。
model = 'meta-llama/Llama-2-7b-chat-hf'
custom_weights_path = 'your/checkpoint/path'
実行のステータスを取得する
Databricks UI のエクスペリメント ページまたはAPIコマンド get_events()
を使用して、実行の進行状況を追跡できます。 詳細については、 「Mosaic AI モデル トレーニングの実行の表示、管理、分析」を参照してください。
get_events()
からの出力例:
![APIを使用して実行ステータスを取得する](../../_images/get-events-output.png)
実験ページのサンプル実行の詳細:
![実験UIから実行ステータスを取得する](../../_images/run-details.png)
次のステップ
トレーニングの実行が完了したら、 MLflowでメトリクスを確認し、推論用にモデルをデプロイできます。 「チュートリアル: Mosaic AIモデル トレーニング実行の作成とデプロイ」のステップ 5 から 7 を参照してください。
データの準備、構成、およびデプロイメントの手順を説明する手順の例については、「手順 ファインチューニング: Named Entity Recognitionデモ」を参照してください。