チュートリアル: Mosaic AI モデル トレーニングの実行を作成してデプロイする
重要
この機能は、次のリージョンでパブリック プレビュー段階です: centralus
、eastus
、eastus2
、northcentralus
、westus
この記事では、Mosaic AI モデル トレーニング (以前の Foundation Model Training) API を使用して実行を作成および構成し、Databricks UI および Mosaic AI Model Serving を使用して結果を確認し、モデルをデプロイする方法について説明します。
要件
- 次の Azure リージョンのいずれかにあるワークスペース:
centralus
、eastus
、eastus2
、northcentralus
、westcentralus
、westus
、westus3
。 - Databricks Runtime 12.2 LTS ML 以降。
- このチュートリアルは、Databricks ノートブックで実行する必要があります。
- 許容される形式でのトレーニング データ。 「Mosaic AI モデル トレーニング用にデータを準備する」を参照してください。
手順 1: トレーニング用のデータを準備する
「Mosaic AI モデル トレーニング用にデータを準備する」を参照してください。
手順 2: databricks_genai
SDK をインストールする
次を使用して databricks_genai
SDK をインストールします。
%pip install databricks_genai
次に、foundation_model
ライブラリをインポートします。
dbutils.library.restartPython()
from databricks.model_training import foundation_model as fm
手順 3: トレーニングの実行を作成する
Mosaic AI モデル トレーニングの create()
関数を使用してトレーニングの実行を作成します。 次のパラメーターは必須です。
model
: トレーニングするモデル。train_data_path
: トレーニング データセットの場所。register_to
: チェックポイントを保存する Unity Catalog カタログおよびスキーマ。
次に例を示します。
run = fm.create(model='meta-llama/Meta-Llama-3.1-8B-Instruct',
train_data_path='dbfs:/Volumes/main/my-directory/ift/train.jsonl', # UC Volume with JSONL formatted data
register_to='main.my-directory',
training_duration='1ep')
run
実行 4: 実行の状態を表示する
トレーニングの実行を完了するのにかかる時間は、トークンの数、モデル、GPU の可用性に依存します。 より高速なトレーニングのために、Databricks では予約コンピューティングの使用を推奨します。 詳細については、Databricks アカウント チームにお問い合わせください。
実行を開始したら、get_events()
を使用して実行の状態を監視できます。
run.get_events()
手順 5 - メトリックと出力の表示
Databricks UI で結果を表示するには、次の手順に従ってください。
- Databricks ワークスペースの左側のナビゲーション バーで、[実験] をクリックします。
- 使用する実験を一覧から選択します。
- [グラフ] タブでメトリック グラフを確認します。トレーニング メトリックはトレーニング実行ごとに生成され、評価メトリックは評価データ パスが指定されている場合にのみ生成されます。
- トレーニングの進歩状況を示す主なメトリックは損失です。 評価損失は、モデルがトレーニング データにオーバーフィットしているかどうかを確認するために使用できます。 ただし、教師あり学習タスクでは、評価損失がオーバーフィットしているように表示されることがある一方、モデルは改善され続けるため、損失は全面的には信頼できません。
- 精度が高いほどモデルは改善されますが、精度が 100% に近くなると、オーバーフィットを示す可能性があることに注意してください。
- 実行後、MLflow には次のメトリックが表示されます。
LanguageCrossEntropy
は、言語モデリング出力のクロス エントロピを計算します。 スコアが低い方が良いです。LanguagePerplexity
は、言語モデルが前の単語または文字に基づいてテキストのブロック内の次の単語または文字をどの程度予測するかを測定します。 スコアが低い方が良いです。TokenAccuracy
は、言語モデリングのトークン レベルの精度を計算します。 スコアが高い方が良いです。
- このタブでは、評価プロンプトを指定した場合、その出力を表示することもできます。
手順 6: デプロイする前に、モザイク AI エージェント評価を使用して複数のカスタマイズされたモデルを評価する
「 モザイク AI エージェントの評価とは」を参照してください。
手順 7: モデルをデプロイする
トレーニングの実行が完了すると、Unity Catalog にモデルが自動的に登録されます。 モデルは、実行の create()
メソッドの register_to
フィールドで指定した内容に基づいて登録されます。
モデルを提供用にデプロイするには、次の手順に従ってください。
- Unity Catalog でモデルに移動します。
- [このモデルを提供する] をクリックします。
- [提供エンドポイントの作成] をクリックします。
- [名前] フィールドに、エンドポイントの名前を指定します。
- Create をクリックしてください。
その他のリソース
- Mosaic AI モデル トレーニング API を使用してトレーニングの実行を作成する
- 基盤モデルのモザイク AI モデル トレーニング
- Azure Databricks でのモデルの提供
- データの準備、トレーニング実行の構成のファインチューニング、デプロイの手順を示す手順ファインチューニングの例については、「手順ファインチューニング: 固有表現認識」デモ ノートブックを参照してください。