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

カスタム モデルサービング エンドポイントの作成

この記事では、 モデルサービングを使用してDatabricksカスタムモデル を提供するモデルサービングエンドポイントを作成する方法について説明します 。

モデルサービングには、サービングエンドポイントの作成に関する次のオプションがあります。

  • サービングUI
  • REST API
  • MLflow Deployments SDK

生成AI モデルを提供するエンドポイントの作成については、「 エンドポイントを提供する基盤モデルの作成」を参照してください。

必要条件

  • ワークスペースは、サポートされているリージョンにある必要があります。
  • カスタムライブラリまたはプライベートミラーサーバーのライブラリをモデルで使用する場合は、モデルエンドポイントを作成する前に、 モデルサービングでカスタム Python ライブラリを使用する を参照してください。
  • MLflow Deployments SDK を使用してエンドポイントを作成するには、MLflow Deployment クライアントをインストールする必要があります。 インストールするには、次のコマンドを実行します。
Python
import mlflow.deployments

client = mlflow.deployments.get_deploy_client("databricks")

アクセス制御

エンドポイント管理のためのモデルサービング エンドポイントのアクセス制御オプションを理解するには、 「モデルサービング エンドポイントのアクセス許可を管理する」を参照してください。

モデルサービング エンドポイント実行がエンドポイントの元の作成者に関連付けられる ID。 エンドポイントの作成後は、エンドポイントで関連付けられた ID を変更または更新することはできません。この ID とそれに関連付けられた権限は、デプロイメントのUnity Catalogリソースにアクセスするために使用されます。 ID に必要なUnity Catalogリソースにアクセスするための適切な権限がない場合は、エンドポイントを削除し、それらのUnity Catalogリソースにアクセスできるユーザーまたはサービスプリンシパルの下でエンドポイントを再作成する必要があります。

また、モデルサービングの認証情報を保存するために環境変数を追加することもできます。 モデルサービングエンドポイントからリソースへのアクセスを設定するを参照してください。

エンドポイントを作成する

サービング UI を使用して、モデル・サービングのエンドポイントを作成できます。

  1. サイドバーの 「Serving 」をクリックして、Serving UIを表示します。

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

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

Unity Catalog に登録されているモデルの場合:

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

    • エンドポイント名にはdatabricks-プレフィックスを使用できません。このプレフィックスは、Databricks の事前構成されたエンドポイント用に予約されています。
  2. [Served entities ] セクションで、[ Entity ] フィールドをクリックして [Select served entity ] フォームを開きます。

    1. [マイモデル - Unity Catalog を選択します。

      • すべてのモデルがカスタムモデルというわけではありません。モデルはプラットフォームモデルにすることもできます。 フォームは選択内容に応じて動的に更新されます。
    2. 提供するモデルとモデルバージョンを選択します。

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

    4. 使用するCPUまたはGPUコンピュートのサイズを選択します。 GPUはGPU_MEDIUMコンピュートのみ対応しています。

    5. [コンピュート スケールアウト] で、このサービス対象モデルが同時に処理できるリクエストの数に対応するコンピュート スケール アウトのサイズを選択します。 この数値は、QPS x モデル実行時間とほぼ等しくなります。顧客定義のコンピュート設定については、 「モデルサービングの制限」を参照してください。 使用可能なサイズは、0 ~ 4 リクエストの場合は 、8 ~ 16 リクエストの 場合は中 、16 ~ 64 リクエストの場合は 大です

    6. エンドポイントが使用されていないときにゼロにスケーリングするかどうかを指定します。ゼロにスケールすると容量が保証されないため、本番運用エンドポイントではゼロにスケールすることは推奨されません。 エンドポイントがゼロにスケールされると、エンドポイントがリクエストに対応するためにスケールアップし直すときに、コールド スタートとも呼ばれる追加のレイテンシが発生します。

    7. (オプション) エンドポイントにさらにサービス提供エンティティを追加するには、 [サービス提供エンティティの追加] をクリックし、上記の構成手順を繰り返します。 単一のエンドポイントから複数のモデルまたはモデル バージョンを提供し、それらの間のトラフィックの分割を制御できます。詳細については、 「複数のモデルの提供」を参照してください。

  3. ルート最適化 セクションでは、エンドポイントのルート最適化を有効にできます。ルート最適化は、QPS とスループットの要件が高いエンドポイントに推奨されます。サービスエンドポイントでのルート最適化を参照してください。

  4. [AI Gateway ] セクションでは、エンドポイントで有効にするガバナンス機能を選択できます。Mosaic AI Gatewayの紹介を参照してください。

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

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

GPU ワークロードの種類

GPU デプロイメントは、次のパッケージバージョンと互換性があります。

  • PyTorch 1.13.0 - 2.0.1
  • TensorFlow 2.5.0 - 2.13.0
  • MLflow 2.4.0 以降

次の例は、さまざまな方法を使用して GPU エンドポイントを作成する方法を示しています。

Serving UI を使用して GPU ワークロード用にエンドポイントを構成するには、エンドポイントの作成時に [コンピュート タイプ] ドロップ ダウンから目的の GPU タイプを選択します。 「エンドポイントの作成」と同じ手順に従いますが、CPU ではなく GPU ワークロード タイプを選択します。

次の表は、サポートされている使用可能な GPU ワークロードの種類をまとめたものです。

GPU ワークロードの種類

GPU インスタンス

GPUメモリ

GPU_MEDIUM

L4

カスタムモデルのエンドポイントを変更する

カスタムモデルエンドポイントを有効にした後、必要に応じてコンピュート設定を更新できます。 この構成は、モデルに追加のリソースが必要な場合に特に役立ちます。 ワークロードのサイズとコンピュートの設定は、モデルを提供するためにどのリソースが割り当てられるかにおいて重要な役割を果たします。

注記

エンドポイント構成の更新が失敗する可能性があります。障害が発生した場合、更新が行われなかったかのように既存のアクティブな構成が有効なままになります。

エンドポイントのステータスを確認して、更新が正常に適用されたことを確認します。

新しい設定の準備が整うまで、古い設定は予測トラフィックを提供し続けます。 更新が進行中の間は、別の更新を行うことはできません。 ただし、進行中の更新は Serving UI からキャンセルできます。

モデル エンドポイントを有効にした後、[ エンドポイントの編集 ] を選択して、エンドポイントのコンピュート構成を変更します。

エンドポイント編集ボタン

エンドポイント名と特定の不変のプロパティを除き、エンドポイント構成のほとんどの側面を変更できます。

エンドポイントの詳細ページで [更新のキャンセル] を選択すると、進行中の構成更新をキャンセルできます。

モデルエンドポイントのスコアリング

モデルをスコアリングするには、モデルサービング エンドポイントに要求を送信します。

追加のリソース

ノートブックの例

次のノートブックには、モデルサービングエンドポイントを使用して起動して実行するために使用できる、さまざまな登録済みモデル Databricks が含まれています。 その他の例については、「 チュートリアル: カスタム モデルのデプロイとクエリ」を参照してください。

モデルの例は、「 ノートブックのインポート」の指示に従ってワークスペースにインポートできます。 いずれかの例からモデルを選択して作成したら、 Unity Catalogで登録するモデルサービングの UI ワークフロー手順に従います。

モデルサービングノートブックのscikit-learnモデルをトレーニングして登録する

Open notebook in new tab

モデルサービングノートブック用のHuggingFaceモデルをトレーニングして登録する

Open notebook in new tab