共用方式為


MLOps Stack 的 Databricks 資產套件組合

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

若要建立、部署和執行 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) 驗證。 請參閱驗證中的 M2M 驗證設定指示。

  1. 針對每個目標工作區執行下列命令,使用 Databricks CLI 在本機起始 OAuth 令牌管理。

    在下列命令中,將 取代 <workspace-url> 為您的 Azure Databricks 個別工作區 URL,例如 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 - 僅設定 ML 程式代碼元件。 此選項可供數據科學家開始使用。
    • CICD_Only - 僅設定 CI/CD 元件。 此選項可供 ML 工程師設定基礎結構。

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

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

    角色 Goal 文件
    此存放庫的第一次使用者 瞭解此存放庫中的 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/experiment/create 中所定義,以 YAML 格式表示。

    • 若要自定義作業,作業宣告內的對應會對應至以YAML格式表示的POST /api/2.1/jobs/create 中所定義的建立作業作業要求承載。

      提示

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

    • 針對自定義模型,模型宣告內的對應會對應至建立模型作業的要求承載,如 POST /api/2.0/mlflow/registered-models/create 中所定義,以 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:執行已部署的套件組合

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

databricks bundle destroy -t <target-name>

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

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