次の方法で共有


チュートリアル: Foundation Model の微調整実行を作成してデプロイする

重要

この機能は、次のリージョンでパブリック プレビュー段階です: centraluseastuseastus2northcentraluswestus

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

要件

  • 次の Azure リージョンのいずれかにあるワークスペース: centraluseastuseastus2northcentraluswestcentraluswestuswestus3
  • Databricks Runtime 12.2 LTS ML 以降。
  • このチュートリアルは、Databricks ノートブックで実行する必要があります。
  • 許容される形式でのトレーニング データ。 Foundation モデルの微調整については、「 Prepare データを参照してください。

手順 1: トレーニング用のデータを準備する

Foundation モデルの微調整については、「 Prepare データを参照してください。

手順 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: トレーニングの実行を作成する

Foundation Model Fine-tuning 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 で結果を表示するには、次の手順に従ってください。

  1. Databricks ワークスペースの左側のナビゲーション バーで、[実験] をクリックします。
  2. 使用する実験を一覧から選択します。
  3. [グラフ] タブでメトリック グラフを確認します。トレーニング メトリックはトレーニング実行ごとに生成され、評価メトリックは評価データ パスが指定されている場合にのみ生成されます。
    1. トレーニングの進歩状況を示す主なメトリックは損失です。 評価損失は、モデルがトレーニング データにオーバーフィットしているかどうかを確認するために使用できます。 ただし、指導トレーニングの課題においては、モデルが改善を続けている間でも、評価の損失がオーバーフィットしているように見えることがあるため、損失のみを完全に頼りにするべきではありません。
    2. 精度が高いほどモデルは改善されますが、精度が 100% に近くなると、オーバーフィットを示す可能性があることに注意してください。
    3. 実行後、MLflow には次のメトリックが表示されます。
      • LanguageCrossEntropy は、言語モデリング出力のクロス エントロピを計算します。 スコアが低い方が良いです。
      • LanguagePerplexity は、言語モデルが前の単語または文字に基づいてテキストのブロック内の次の単語または文字をどの程度予測するかを測定します。 スコアが低い方が良いです。
      • TokenAccuracy は、言語モデリングのトークン レベルの精度を計算します。 スコアが高い方が良いです。
    4. このタブでは、評価プロンプトを指定した場合、その出力を表示することもできます。

手順 6: デプロイする前に、モザイク AI エージェント評価を使用して複数のカスタマイズされたモデルを評価する

モザイク AI エージェントの評価とは」を参照してください。

手順 7: モデルをデプロイする

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

モデルを提供用にデプロイするには、次の手順に従ってください。

  1. Unity Catalog でモデルに移動します。
  2. [このモデルを提供する] をクリックします。
  3. [提供エンドポイントの作成] をクリックします。
  4. [名前] フィールドに、エンドポイントの名前を指定します。
  5. Create をクリックしてください。

その他のリソース