共用方式為


將工作流程和模型移轉至 Unity 目錄

Databricks 建議使用 Unity 目錄中的模型來改善治理、輕鬆地跨工作區和環境共用,以及實現更有彈性的 MLOps 工作流程。 本頁會逐步引導您將工作區模型登錄中的模型移轉至 Unity 目錄。

Unity 目錄中的模型簡介

Unity 目錄中的模型可將 Unity 目錄的優點延伸至 ML 模型,包括集中式存取控制、稽核、譜系,以及跨工作區的模型共用和探索。 Unity 目錄中的模型也提供更大的彈性來管理模型生命週期。

當您將模型移轉至 Unity 目錄時,某些模型生命週期步驟會以不同的方式完成:

步驟 1. 在 Unity 目錄中建立模型

請參閱 定型和註冊 Unity 目錄相容模型

步驟 2。 將 Unity 目錄許可權指派給模型

Unity 目錄具有 統一的許可權模型。 若要瞭解如何將許可權指派給 Unity 目錄中的模型,請參閱 控制模型的存取

下表顯示工作區模型登錄中的許可權與 Unity 目錄中許可權之間的關聯性。 除了表格中顯示的權限之外,所有動作也需要 USE CATALOGUSE SCHEMA 權限。

工作區模型登錄 Unity 目錄 註釋
能讀 執行
可以編輯 建立模型版本 + 套用標籤 具有這些權限的使用者無法編輯模型或模型版本的 描述
可以管理預備版本 APPLY TAG + 部署作業 在 Unity 目錄中,部署作業可用來控制模型版本在生命週期階段的移動。 如需詳細資訊,請參閱 MLflow 3 部署作業
可以管理生產版本 APPLY TAG + 部署作業 在 Unity 目錄中,部署作業可用來控制模型版本在生命週期階段的移動。 如需詳細資訊,請參閱 MLflow 3 部署作業
可以管理 管理

步驟 3. 複製模型版本

若要複製模型版本,請使用 MLflow 用戶端 copy_model_version()> = 3.4.0.

import mlflow
from mlflow import MLflowClient

# Registry must be set to workspace registry
mlflow.set_registry_uri("databricks")
client = MlflowClient(registry_uri="databricks")

src_model_uri = f"models:/my_wmr_model/1"
uc_migrated_copy = client.copy_model_version(
   src_model_uri, "mycatalog.myschema.my_uc_model"
)

如果目的地模型不存在於 Unity 目錄中,則會由此 API 呼叫建立。

Unity 目錄中的模型需要簽章。 如果工作區模型版本沒有簽章,Databricks 建議您遵循 MLflow 檔中的指示來建立簽章。 另一種選擇是使用環境變數 MLFLOW_SKIP_SIGNATURE_CHECK_FOR_UC_REGISTRY_MIGRATION。 只有在您使用 copy_model_version() 且需要 MLflow 版本 3.4.0 或更新版本時,才能使用此環境變數。 當此環境變數設為 "true"時,不需要簽章。

如需可用來將工作區模型登錄中模型的所有模型版本移轉至目的地 Unity 目錄模型的腳本,請參閱 將模型版本從工作區模型登錄移轉至 Unity 目錄

步驟 4. 移轉模型中繼資料

本節說明如何將工作區登錄層級中繼資料對應至 Unity 目錄模型和模型版本中繼資料,例如階段、標籤和描述。

階段

工作區模型登錄使用「階段」的概念,例如 StagingProduction來追蹤模型生命週期。 您可以按階段搜索或調用模型。 在 Unity Catalog 中,階段已被用於呼叫模型的 別名 以及用於標記模型的 標籤 所取代。

若要簡單移轉工作區模型登錄階段,您可以直接使用「生產」和「預備」或您偏好的任何其他別名名稱。 在工作區模型登錄中,多個模型版本可能位於相同的階段,當您參考模型版本時,會呼叫最新版本。 在 Unity 目錄中,別名會指派給唯一的模型版本。

若要簡單移轉階段標籤,請使用標籤將模型版本標示為「生產」、「中繼」或「已封存」。 您也可以使用任何其他標籤。 如需標籤的詳細資訊,請參閱 標籤

在工作區模型登錄中,模型版本的生命週期會依階段追蹤,且轉換請求需要人工核准。 在 Unity 目錄中,模型版本的生命週期是由 部署作業所管理。 部署作業中的每個工作都對應一個「階段」。 部署工作可讓您自訂模型生命週期,並容納比工作區模型登錄更複雜的工作流程。 部署作業仍然允許人工核准。 如需詳細資訊,請參閱 MLflow 3 部署作業

Tags

在 Unity 目錄中,您可以在模型或模型版本上建立 標籤

在 Unity Catalog 模型版本使用者介面中新增標籤按鈕。

若要在「目錄總管」中依標籤搜尋模型,請在搜尋方塊中輸入索引鍵或值:

在 Unity 目錄模型 UI 中依標籤搜尋模型。

在「目錄總管」中,您只能使用標籤來搜尋模型,而不能使用模型版本。 MLflow 用戶端不支援依 Unity 目錄標籤搜尋模型。 Unity 目錄允許每個物件最多 50 個標籤。

說明和評論

您可以將描述新增至模型及模型版本。 Unity 目錄也提供 模型的 AI 產生描述選項。

在 Unity 目錄中新增模型或模型版本描述。

Unity Catalog 中的模型在工作區模型註冊表的模型版本頁面上的 [活動] 區段中,沒有對應顯示資訊的位置。 如果該區段中有您想要與模型版本一起傳輸的資訊,請將它複製到 Unity 目錄中模型版本頁面的 [描述] 區段。

步驟 5. 更新所有工作負載和端點

將模型和模型版本移轉至 Unity 目錄之後,請更新所有作業、筆記本和其他工作負載,包括模型服務端點,以使用 Unity 目錄中的版本。

步驟 6. (可選)創建部署任務

每當建立新模型版本時,部署工作都會自動觸發,並自動執行評估、核准和部署工作流程。 如需詳細資訊,請參閱 MLflow 3 部署作業

您可以設定通知,以在建立或核准模型版本等事件時觸發。 請參閱 在作業上新增通知

如果您已為工作區模型登錄中的事件設定電子郵件通知,請依照下列方式移轉它們:

  • 已建立新模型版本:設定建立新模型版本時觸發的部署作業,以及觸發作業時的電子郵件通知。
  • 階段轉換請求:階段轉換請求相當於審批任務。 設定核准任務成功或失敗的電子郵件通知。
  • 階段轉換:階段轉換對應於工作任務。 設定任務成功或失敗的電子郵件通知。
  • 新註解:Unity Catalog 中不支援註解。

如果你有為事件設置的 webhooks,可以在 Unity Catalog 中實作為模型事件工作觸發器。 模型觸發器允許你基於 Unity Catalog 中新模型、模型版本或模型別名的創建,自動化執行 Lakeflow Jobs。 模型觸發器在 私密預覽中。 如需更多資訊,請聯絡您的 Databricks 代表。

詳細資訊

下列連結的頁面說明如何將工作流程 (模型定型和批次推斷作業) 從工作區模型登錄移轉至 Unity 目錄。