共用方式為


MLOps 堆栈的 Databricks 资产捆绑包

您可以使用 GitHub 上的 Databricks 資產套件組合、Databricks CLI 和 Databricks MLOps Stack 存放庫來建立 MLOps Stacks。 MLOps Stack 是 Azure Databricks 上的 MLOps 專案,遵循現成的生產最佳做法。 請參閱什麼是 Databricks Asset Bundles?

這說明如何建立、部署及執行 MLOps Stacks 套件組合專案。

需求

  • 請確定目標遠端工作區已啟用工作區檔案。 請參閲工作區檔案是什麼?
  • 在您的開發計算機上,確定已安裝 Databricks CLI 0.212.2 版或更新版本。 若要檢查已安裝的 Databricks CLI 版本,請執行 命令 databricks -v。 若要更新 Databricks CLI 版本,請參閱 安裝或更新 Databricks CLI。 (套件組合不適用於 Databricks CLI 0.18 版和以下版本。

步驟 1:設定驗證

設定 Databricks CLI 以進行驗證。

本文假設您想要使用 OAuth 使用者對機器 (U2M) 驗證,以及名為 DEFAULT 的對應 Azure Databricks 組態設定檔進行驗證。

注意

U2M 驗證適用於即時試用這些步驟。 針對完全自動化的工作流程,Databricks 建議您改用 OAuth 機器對機器 (M2M) 驗證。 請參閱 使用 OAuth 以服務主體授權 Azure Databricks 資源的無人值守存取中的 M2M 驗證設置說明。

  1. 使用 Databricks CLI 在本地管理 OAuth 權杖作業,針對每個目標工作區執行下列命令。

    在下列命令中,將 <workspace-url> 取代為您的 Azure Databricks 個別工作區網址,例如 https://adb-1234567890123456.7.azuredatabricks.net

    databricks auth login --host <workspace-url>
    
  2. Databricks CLI 會提示您儲存輸入為 Azure Databricks 組態設定檔的資訊。 按 Enter 以接受建議的設定檔名稱,或輸入新或現有設定檔的名稱。 任何已存在且名稱相同的設定檔,將會被您輸入的資訊覆寫。 您可以使用設定檔在多個工作區之間快速切換身份驗證上下文。

    若要取得任何現有設定檔的清單,請在個別的終端機或命令提示字元中,使用 Databricks CLI 執行命令 databricks auth profiles。 若要檢視特定設定檔的現有設定,請執行 命令 databricks auth env --profile <profile-name>

  3. 在網頁瀏覽器中,完成畫面上的指示,登入 Azure Databricks 工作區。

  4. 若要檢視配置檔目前的 OAuth 令牌值和令牌即將到期的時間戳,請執行下列其中一個命令:

    • databricks auth token --host <workspace-url>
    • databricks auth token -p <profile-name>
    • databricks auth token --host <workspace-url> -p <profile-name>

    如果您有多個具有相同 --host 值的設定檔,您可能需要一起指定 --host-p 選項,以協助 Databricks CLI 尋找正確的相符 OAuth 權杖資訊。

步驟 2:建立配套專案

  1. 使用 Databricks 資產組合範本 來建立 MLOps Stacks 專案的入門檔案。 若要這樣做,請從執行下列命令開始:

    databricks bundle init mlops-stacks
    
  2. 回答畫面上的提示。 如需回答這些提示的指引,請參閱 GitHub 上的 Databricks MLOps Stacks 存放庫中啟動新專案

    第一個提示提供設定 ML 程式代碼元件、CI/CD 元件或兩者的選項。 此選項可簡化初始設定,因為您可以選擇只建立立即相關的元件。 (若要設定其他元件,請再次執行初始化命令。選取下列其中一項:

    • CICD_and_Project (預設值) - 設定 ML 程式代碼和 CI/CD 元件。
    • Project_Only - 僅設置機器學習程式代碼元件。 此選項可供數據科學家開始使用。
    • CICD_Only - 僅設定 CI/CD 元件。 此選項可供 ML 工程師設定基礎結構。

    回答所有畫面提示之後,範本會建立 MLOps Stacks 專案的入門檔案,並將其新增至您目前的工作目錄。

  3. 視需要自定義 MLOps Stacks 專案的入門檔案。 若要這樣做,請遵循新專案中下列檔案中的指引:

    角色 目標 文件
    此存放庫的第一次使用者 瞭解此存放庫中的 ML 管線和程式代碼結構 README.md
    資料科學家 開始為全新的專案撰寫 ML 程式代碼 <project-name>/README.md
    資料科學家 更新現有專案的生產 ML 程式代碼(例如模型定型邏輯) docs/ml-pull-request.md
    資料科學家 修改生產模型 ML 資源(例如模型定型或推斷作業) <project-name>/resources/README.md
    MLOps / DevOps 設定目前 ML 專案的 CI/CD docs/mlops-setup.md
    • 針對自訂實驗,實驗定義內的對應會對應至建立實驗操作的請求有效負載,如 POST /api/2.0/mlflow/experiments/create 中所定義,以 YAML 格式表示。

    • 若要自訂任務,作業宣告中的對應會與 REST API 參考中 POST /api/2.1/jobs/create 所定義的建立任務操作的請求承載相符,並以 YAML 格式表示。

      提示

      您可以使用覆寫 Databricks Asset Bundles 中的叢集設定中所述的技術來定義、合併和覆寫套件組合中新工作叢集的設定。

    • 針對自定義模型,模型宣告中的對映符合 REST API 參考中的 POST /api/2.1/unity-catalog/models 所定義的建立 Unity Catalog 模型操作的請求負載,並以 YAML 格式表示。

    • 若要自定義管線,管線宣告內的對應會對應至建立管線作業的要求承載,如 REST API 參考中的 POST /api/2.0/pipelines 中所定義,以 YAML 格式表示。

步驟 3:驗證套件組合專案

檢查套件組合組態是否有效。 若要這樣做,請從專案的根目錄執行 Databricks CLI,其所在位置 databricks.yml 如下:

databricks bundle validate

如果傳回套件組合設定的摘要,則驗證成功。 如果傳回任何錯誤,請修正錯誤,然後重複此步驟。

步驟 4:部署套件組合

將項目的資源和成品部署到所需的遠端工作區。 若要這樣做,請從專案的根目錄執行 Databricks CLI,其所在位置 databricks.yml 如下:

databricks bundle deploy -t <target-name>

<target-name>替換為databricks.yml檔案中所需目標的名稱,例如devteststagingprod

步驟 5:執行已部署的套件組合

專案的已部署作業會自動在其預先定義的排程上執行。 若要立即執行已部署的作業,請從專案的根目錄執行 Databricks CLI,其所在位置 databricks.yml 如下:

databricks bundle run -t <target-name> <job-name>
  • <target-name> 檔案中,將 databricks.yml 替換為部署作業所需的目標名稱,例如 devteststagingprod
  • <job-name>替換為.yml中的<project-name>/databricks-resources檔案之一的作業名稱,例如batch_inference_jobwrite_feature_table_jobmodel_training_job

Azure Databricks 作業的連結隨即出現,您可以複製到網頁瀏覽器以在 Azure Databricks UI 中開啟作業。

步驟 6:刪除已部署的套件組合 (選擇性)

如果您不再需要部署項目的資源和工件,請從 databricks.yml 所在的專案根目錄執行 Databricks CLI,如下所示:

databricks bundle destroy -t <target-name>

<target-name>替換為databricks.yml檔案中所需目標的名稱,例如devteststagingprod

回答螢幕上的提示,以確認刪除先前部署的資源和成品。