チュートリアル:Mosaic AIモデルトレーニング実行を作成してデプロイする

重要

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

この記事では、Mosaic AIモデルトレーニング(旧基盤モデルトレーニング)APIを使用して実行を作成および構成し、結果を確認してDatabricks UI と Mosaic AI Model Servingを使用してモデルをデプロイする方法について説明します。

要件

ステップ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/Llama-2-7b-chat-hf',
                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で結果を表示するには、次のステップに従います:

  1. Databricksワークスペースで、左側のナビゲーションバーの[エクスペリメント]をクリックします。

  2. リストからエクスペリメントを選択します。

  3. 「チャート」タブでメトリクス チャートを確認します。 トレーニング メトリクスはトレーニング実行ごとに生成され、評価メトリクスは評価データ パスが提供されている場合にのみ生成されます。

    1. 進行状況を示す主要なトレーニングメトリクスは損失です。評価損失を使用すると、モデルがトレーニングデータに過剰適合しているかどうかを確認できます。ただし、損失だけに頼るべきではありません。監督されたトレーニングタスクでは、モデルが改善され続けている間、評価の損失が過適合しているように見えることがあるからです。

    2. 精度が高ければ高いほど良いモデルですが、100%に近い精度はオーバーフィッティングを示す可能性があることに留意してください。

    3. 実行後に次のメトリクスがMLflowに表示されます。

      • LanguageCrossEntropy 言語モデリング出力のコンピュート クロス エントロピー。 スコアが小さいほど良いです。

      • LanguagePerplexity 言語モデルが、前の単語または文字に基づいて、テキスト ブロック内の次の単語または文字をどの程度正確に予測するかを測定します。 スコアが小さいほど良いです。

      • TokenAccuracy コンピュート VPN レベルの言語モデリングの精度。 スコアが高いほど良いです。

    4. このタブでは、評価プロンプトを指定した場合、その出力を表示することもできます。

ステップ6:MLflow LLMで複数のカスタマイズされたモデルを評価して導入前に評価する

MLflowで大規模言語モデルを評価するを参照してください。

ステップ7:モデルをデプロイする

トレーニング実行が完了すると、モデルがUnity Catalogに自動的に登録されます。モデルは、実行create()メソッドのregister_toフィールドに指定した内容に基づいて登録されます。

モデルを配信用にデプロイするには、以下のステップに従ってください:

  1. Unity Catalogでモデルに移動します。

  2. [このモデルを提供する]をクリックしてください。

  3. [サービングエンドポイントの作成]をクリックします。

  4. [名前]フィールドに、エンドポイントの名前を入力します。

  5. [作成]をクリックします。

関連リソース