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

モデルサービングエンドポイント向けのサーバーレス最適化展開

この記事では、モデルサービングエンドポイントでサーバーレスに最適化された展開を使用する方法について説明します。 サーバーレスで最適化された展開により、展開時間が大幅に短縮され、モデル サービング環境がモデル トレーニング環境と同じに保たれます。

サーバーレスに最適化された展開とは何ですか?

サーバレスに最適化された展開では、モデルの登録中にサーバレス ノートブック環境でのパッケージ化とステージング モデルのアーティファクトが利用され、その結果、エンドポイントの展開が加速され、トレーニングとサービス提供の間で一貫した環境が実現します。

これは、モデルのアーティファクトと環境がデプロイメント時にコンテナーにパッケージ化される、非サーバーレス最適化デプロイメントとは異なります。 このような場合、サービス環境はモデルのトレーニング中に使用された環境と一致しない可能性があります。

要件

サーバレス最適化エンドポイントには、モデルサービング エンドポイントと同じ要件があります ( 「要件」を参照)。 加えて:

サーバーレス最適化デプロイメントの使用

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

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

次に、モデルを登録するときに、 env_packに希望の値を設定します。

Python
import mlflow
from mlflow.utils.env_pack import EnvPackConfig

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

env_pack問題を追加すると、関数パックが作成され、モデルの登録中にモデルのアーティファクトとサーバレス ノートブック環境がステージングされ、デプロイメント中に使用できるように準備されます。 これには、 env_packを使用せずにモデルを登録する場合と比べて追加の時間がかかる可能性があります。

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

注記

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

省略形としてEnvPackConfig(...) "databricks_model_serving"に置き換えることもできます。これはEnvPackConfig(name="databricks_model_serving", install_dependencies = True)と同等です。

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