模型服務端點的 Express 部署

本文說明如何在您的模型服務端點上使用快速部署。 Express 部署大幅縮短部署時間,並保持模型服務環境與模型訓練環境不變。

Note

Express 部署過去稱為無伺服器優化部署。

什麼是快速部署?

Express 部署利用無伺服器筆記本環境中模型註冊時的打包與暫存模型產出物,加速端點部署,並在訓練與服務間維持一致的環境。

這與非快式部署不同,後者在部署時將模型產物與環境打包於容器中。 在這種情況下,服務環境可能與模型訓練時所使用的環境不符。

Requirements

Express 部署端點與模型服務端點有相同的要求(見 需求)。 此外:

  • 該模型必須是自訂模型(而非 FMAPI)
  • 模型必須使用版本 3 或 4,在無伺服器筆記本中登錄並註冊。
  • 該模型必須登記並註冊於 mlflow>=3.1
  • 該模型必須在 UC 註冊並由 CPU 提供
  • 該型號的最大環境容量為 1GB

使用快速部署

在記錄和註冊模型時,使用無伺服器筆記本,搭配客戶端 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_dependenciesTrue,用來判斷模型的相依關係是否安裝在目前環境中,以確認該環境是否有效。 如果你想跳過這個步驟,可以將值設為 False

Note

在沒有網際網路存取的工作區中的端點,或依賴自訂函式庫的端點,若 install_dependencies 設定為 True,則可能會失敗。 在這些情況下,設 install_dependenciesFalse

你也可以用 EnvPackConfig(...) 作為 "databricks_model_serving" 的簡稱來取代。 這相當於 EnvPackConfig(name="databricks_model_serving", install_dependencies = True)

註冊完成模型後,你可以將 模型部署到模型服務中。 請注意部署時間縮短,事件日誌不再顯示容器建置。