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 組態配置檔。
針對每個目標工作區執行下列命令,使用 Databricks CLI 在本機起始 OAuth 令牌管理。
在下列命令中,將 取代
<workspace-url>
為您的 Azure Databricks 個別工作區 URL,例如https://adb-1234567890123456.7.azuredatabricks.net
。databricks auth login --host <workspace-url>
Databricks CLI 會提示您儲存輸入為 Azure Databricks 組態設定文件的資訊。 按
Enter
以接受建議的配置檔名稱,或輸入新或現有配置檔的名稱。 任何具有相同名稱的現有配置檔,會以您輸入的資訊覆寫。 您可以使用設定檔,在多個工作區之間快速切換驗證內容。若要取得任何現有設定檔的清單,請在個別的終端機或命令提示字元中,使用 Databricks CLI 來執行命令
databricks auth profiles
。 若要檢視特定設定檔的現有設定,請執行 命令databricks auth env --profile <profile-name>
。在您的網頁瀏覽器中,完成登入 Azure Databricks 工作區的畫面指示。
若要檢視配置檔目前的 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:建立配套專案
使用 Databricks 資產組合範本 來建立 MLOps Stacks 專案的入門檔案。 若要這樣做,請從執行下列命令開始:
databricks bundle init mlops-stacks
回答畫面上的提示。 如需回答這些提示的指引,請參閱 GitHub 上的 Databricks MLOps Stacks 存放庫中啟動新專案。
第一個提示提供設定 ML 程式代碼元件、CI/CD 元件或兩者的選項。 此選項可簡化初始設定,因為您可以選擇只建立立即相關的元件。 (若要設定其他元件,請再次執行初始化命令。選取下列其中一項:
CICD_and_Project
(預設) - 設定 ML 程式代碼和 CI/CD 元件。Project_Only
- 僅設定 ML 程式代碼元件。 此選項可供數據科學家開始使用。CICD_Only
- 僅設定 CI/CD 元件。 此選項可供 ML 工程師設定基礎結構。
回答所有畫面提示之後,範本會建立 MLOps Stacks 專案的入門檔案,並將其新增至您目前的工作目錄。
視需要自定義 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
所需目標的名稱,例如dev
、 test
staging
或 prod
。
步驟 5:執行已部署的套件組合
專案的已部署 Azure Databricks 作業會在其預先定義的排程上自動執行。 若要立即執行已部署的作業,請從專案的根目錄執行 Databricks CLI,其所在位置 databricks.yml
如下:
databricks bundle run -t <target-name> <job-name>
<target-name>
取代為部署作業之databricks.yml
檔案中所需目標的名稱,例如dev
、test
staging
或prod
。<job-name>
取代為 內其中.yml
一個檔案中的<project-name>/databricks-resources
作業名稱,例如batch_inference_job
、write_feature_table_job
或model_training_job
。
Azure Databricks 作業的連結隨即出現,您可以複製到網頁瀏覽器以在 Azure Databricks UI 中開啟作業。
步驟 6:刪除已部署的套件組合 (選擇性)
如果您不再需要部署項目的資源和成品,請從專案的根目錄執行 Databricks CLI,其所在位置 databricks.yml
如下:
databricks bundle destroy -t <target-name>
<target-name>
取代為檔案中databricks.yml
所需目標的名稱,例如dev
、 test
staging
或 prod
。
回答螢幕上的提示,以確認刪除先前部署的資源和成品。
意見反應
https://aka.ms/ContentUserFeedback。
即將登場:在 2024 年,我們將逐步淘汰 GitHub 問題作為內容的意見反應機制,並將它取代為新的意見反應系統。 如需詳細資訊,請參閱:提交並檢視相關的意見反應