共用方式為


無伺服器優化部署,用於模型服務端點

本文說明如何在你的 端點模型 中使用無伺服器優化部署。 無伺服器優化的部署大幅縮短部署時間,並保持模型服務環境與模型訓練環境不變。

什麼是無伺服器優化部署?

無伺服器優化部署在模型註冊時,利用無伺服器筆記本環境來封裝和暫存模型工件,這樣能加速終端部署,並在訓練和服務間維持環境的一致性。

這與非無伺服器優化部署不同,後者在部署時將模型產物與環境封裝於容器中。 在這種情況下,服務環境可能與模型訓練時所使用的環境不符。

需求

無伺服器優化端點與模型服務端點(見 需求)有相同的需求。 此外:

  • 該模型必須是自訂模型(而非 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=env_pack=EnvPackConfig(name="databricks_model_serving")
)

添加 env_pack 參數後,會在模型註冊時打包並預置模型工件及無伺服器筆記本環境,以便在部署時使用。 這可能會比不包含 env_pack 註冊模型時花費更多時間。

EnvPackConfig預設有一個參數install_dependenciesTrue,用來判斷模型的相依關係是否安裝在目前環境中,以確認該環境是否有效。 如果你想跳過這個步驟,可以將值設為 False

備註

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

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

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