モデル サービス エンドポイントの高速デプロイ

この記事では、 エンドポイントを提供するモデル で高速デプロイを使用する方法について説明します。 高速デプロイではデプロイ時間が大幅に短縮され、モデルサービス環境はモデルトレーニング環境と同じ状態に保たれます。

Note

高速展開は、以前はサーバーレス最適化デプロイと呼されていました。

高速デプロイとは何ですか?

高速デプロイでは、モデルの登録時にサーバーレス ノートブック環境でモデル成果物をパッケージ化およびステージングすることにより、エンドポイントのデプロイが高速化され、トレーニングとサービスの間で一貫した環境が実現されます。

これは、モデル成果物と環境がデプロイ時にコンテナーにパッケージ化される非高速デプロイとは異なります。 このような場合、サービス環境がモデルのトレーニング中に使用される環境と一致しない可能性があります。

Requirements

高速デプロイ エンドポイントには、モデル サービス エンドポイントと同じ要件があります ( 要件を参照)。 さらに:

  • モデルは、 (FMAPI ではなく) カスタム モデルである必要があります
  • モデルをログに記録し、バージョン 3 または 4 を使用してサーバーレス ノートブックに登録する必要があります
  • モデルをログに記録して登録する必要があります。 mlflow>=3.1
  • モデルは Unity カタログに登録され、CPU または GPU コンピューティングで提供される必要があります
  • モデルの最大環境サイズは 1 GB です

Note

高速デプロイを使用して GPU コンピューティングでカスタム LLM を提供するには、「 カスタム モデル サービスを使用してカスタム LLM を提供する」を参照してください。

高速デプロイの使用

モデルをログに記録して登録する場合は、クライアント 3 または 4 と mlflow>=3.1でサーバーレス ノートブックを使用します。

サーバーレス環境のクライアント バージョンを調整するには、「サーバー レス環境の構成」を参照してください。

次に、モデルを登録するときに、 env_pack パラメーターを目的の値に設定します。

import mlflow
from mlflow.utils.env_pack import EnvPackConfig

mlflow.register_model(
    model_info.model_uri,
    model_name,
    env_pack=EnvPackConfig(name="databricks_model_serving")
)

env_pack パラメーターを追加すると、関数パックが作成され、モデルの登録中にモデル成果物とサーバーレス ノートブック環境がステージングされ、デプロイ中に使用できるように準備されます。 これは、 env_packなしでモデルを登録する場合と比べて、追加の時間がかかる場合があります。

EnvPackConfig には、モデルの依存関係を現在の環境にインストールして環境が有効であることを確認するかどうかを決定するパラメーター install_dependencies (既定でTrue ) があります。 その手順をスキップする場合は、値を False に設定します。

Note

インターネット にアクセスできないワークスペース内のエンドポイント、またはカスタム ライブラリへの依存関係を持つエンドポイントは、 install_dependenciesTrue に設定されている場合に失敗する可能性があります。 このような場合は、 install_dependenciesFalse に設定します。

EnvPackConfig(...)を短縮形として"databricks_model_serving"に置き換えることもできます。 これは、EnvPackConfig(name="databricks_model_serving", install_dependencies = True) と同じです。

モデルの登録が完了したら、 モデルをモデル サービスにデプロイできます。 デプロイ時間が短縮され、イベント ログにコンテナーのビルドが示されなくなったことに注意してください。