モデルサービングエンドポイントの高速展開
この記事では、モデルサービングエンドポイントで高速展開を使用する方法について説明します。 高速デプロイメントにより、デプロイメント時間が大幅に短縮され、モデル サービング環境がモデル トレーニング環境と同じに保たれます。
Expressデプロイメントは以前は レス最適化デプロイメントと呼ばれていました。
エクスプレスデプロイメントとは何ですか?
高速デプロイメントでは、モデルの登録中に、サーバレス ノートブック環境でのパッケージ化とステージング モデルのアーティファクトが利用され、その結果、エンドポイントのデプロイメントが加速され、トレーニングとサービス提供の間で一貫した環境が実現します。
これは、モデルのアーティファクトと環境がデプロイメント時にコンテナーにパッケージ化される非高速デプロイメントとは異なります。 このような場合、サービス環境はモデルのトレーニング中に使用された環境と一致しない可能性があります。
要件
Express デプロイメントエンドポイントは、モデルサービングエンドポイントと同じ要件を満たします (要件を参照)。加えて:
- モデルはカスタムモデルである必要があります( FMAPIモデルは不可)。
- モデルはバージョン 3 または 4 を使用してサーバレス ノートブック に記録および登録する必要があります
- モデルはログ記録され、登録される必要があります。
mlflow>=3.1 - モデルはUCに登録され、CPUで提供される必要があります。
- このモデルの最大環境サイズは1GBです。
Expressデプロイメントを使用する
モデルのロギングや登録をする場合は、クライアント 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に設定します。
インターネットにアクセスできないワークスペースのエンドポイント、またはカスタムライブラリに依存するエンドポイントは、 install_dependenciesがTrueに設定されている場合、失敗する可能性があります。これらの場合、 install_dependenciesをFalseに設定します。
省略形として、 EnvPackConfig(...) "databricks_model_serving"に置き換えることもできます。これはEnvPackConfig(name="databricks_model_serving", install_dependencies = True)と同等です。
モデルの登録が完了したら、モデルサービングにモデルをデプロイすることができます。 デプロイ時間が短縮され、イベントログにコンテナのビルドに関する表示がなくなったことに注目してください。