メインコンテンツまでスキップ

チュートリアル: カスタム モデルのデプロイとクエリ

備考

プレビュー

Mosaic AI Model Serving は パブリック プレビュー 段階にあり、 us-east1us-central1でサポートされています。

この記事では、Mosaic AI Model Serving を使用して、従来の ML モデルであるカスタムモデルをデプロイし、クエリを実行するための基本的な手順について説明します。 モデルは Unity Catalogに登録されている必要があります。

代わりに生成AI モデルの提供とデプロイについては、次の記事を参照してください。

ステップ 1: モデルのログを記録する

モデルサービングのモデルをログに記録するには、さまざまな方法があります。

ロギング手法

説明

オートロギング

これは、機械学習に Databricks Runtime を使用すると自動的に有効になります。 これは最も簡単な方法ですが、制御が少なくなります。

MLflow の組み込みフレーバーを使用したログ記録

MLflow の組み込みモデル フレーバーを使用して、モデルを手動でログに記録できます。

カスタムロギング pyfunc

カスタムモデルがある場合、または推論の前後に追加のステップが必要な場合に、これを使用します。

次の例は、 transformer フレーバーを使用して MLflow モデルをログに記録し、モデルに必要なパラメーターを指定する方法を示しています。

Python
with mlflow.start_run():
model_info = mlflow.transformers.log_model(
transformers_model=text_generation_pipeline,
artifact_path="my_sentence_generator",
inference_config=inference_config,
registered_model_name='gpt2',
input_example=input_example,
signature=signature
)

モデルがログに記録されたら、モデルが Unity Catalog に登録されていることを必ず確認してください。

ステップ2:サービングUIを使用してエンドポイントを作成します

登録したモデルがログに記録され、それを提供する準備ができたら、 サービング UI を使用してモデルサービングエンドポイントを作成できます。

  1. サイドバーの [ サービング ] をクリックして、 サービング UI を表示します。

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

    の UI のモデルサービングペインDatabricksGCP

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

  4. 提供事業体 」セクションで

    1. [エンティティ ] フィールドをクリックして、[ 提供済みエンティティの選択 ] フォームを開きます。

    2. 提供したいモデルのタイプを選択してください。 フォームは選択内容に基づいて動的に更新されます。

    3. 提供するモデルとモデルバージョンを選択します。

    4. 配信モデルにルーティングするトラフィックの割合を選択します。

    5. 使用するコンピュートのサイズを選択します。

    6. [コンピュート スケールアウト ] で、このサーブ モデルが同時に処理できる要求の数に対応するコンピュート スケールアウトのサイズを選択します。この数値は、QPS x モデルの実行時間とほぼ等しくする必要があります。

      1. 使用可能なサイズは、0 から 4 の要求の場合は Small要求は Medium 8 から 16、要求は Large です ( 16 から 64 の要求の場合)。
    7. 使用していないときにエンドポイントを 0 にスケーリングするかどうかを指定します。

  5. 作成 」をクリックします。[ エンドポイントの提供中 ] ページが表示され、 提供エンドポイントの状態 が [準備ができていません] と表示されます。

    モデルサービングエンドポイントを作成する

Databricks Serving APIを使用してプログラムでエンドポイントを作成する場合は、「カスタム モデルサービング エンドポイントを作成する」を参照してください。

ステップ 3: エンドポイントをクエリする

テストしてサーバーモデルにスコアリングリクエストを送信する最も簡単で速い方法は、 サービングUIを使用することです

  1. [Serving endpoint ] ページで、[ Query endpoint ] を選択します。

  2. モデル入力データをJSON形式で挿入し、[ リクエストの送信 ]をクリックします。 モデルが入力例とともにログ記録されている場合は、[ 例を表示 ] をクリックして入力例を読み込みます。

    Python
       {
    "inputs" : ["Hello, I'm a language model,"],
    "params" : {"max_new_tokens": 10, "temperature": 1}
    }

スコアリング要求を送信するには、サポートされているキーの 1 つと、入力形式に対応する JSON オブジェクトを使用して JSON を作成します。 サポートされている形式と、API を使用してスコアリング要求を送信する方法に関するガイダンスについては、 カスタム モデルのクエリ サービング エンドポイント を参照してください。

Databricks Serving UI の外部でサービス エンドポイントにアクセスする予定の場合は、 DATABRICKS_API_TOKENが必要です。