databricks/mlops-stacks

This repo provides a customizable stack for starting new ML projects on Databricks that follow production best-practices out of the box.

解決的問題

Databricks MLOps Stacks 為啟動新的機器學習專案提供標準化的、生產就緒的模板。它消除了數據科學家和維運工程師從頭開始手動配置 CI/CD 流水線、資源管理和專案結構的需要,確保從一開始就整合了生產化的最佳實踐。

工作原理

該專案實現為 Databricks asset bundle 模板。使用者使用 Databricks CLI (databricks bundle init mlops-stacks) 初始化新專案,該指令會根據使用者提供的參數生成可定制的專案結構。

它將 ML 流水線組織為三個模組化組件:

  • ML Code: 提供帶有單元測試的 Python 模組和 notebook 的訓練及批次推論結構。
  • ML Resources as Code: 使用 Databricks CLI bundles 將流水線資源(如訓練和批次推論作業)定義為程式碼,允許透過 pull request 管理變更。
  • CI/CD: 為 GitHub Actions、Azure DevOps 或 GitLab 預配置工作流,實現 dev、staging 和 production 環境的測試與部署自動化。

適用對象

  • 數據科學家: 希望快速迭代 ML 程式碼,而無需擔心最終為生產環境進行重構的人員。
  • 機器學習工程師 (MLEs): 需要為 ML 專案設置並治理部署流水線和資源管理的人員。

亮點

  • 生產級 CI/CD: 針對跨多個環境(dev、staging、prod)的測試與程式碼及資源部署的預配置自動化。
  • 模組化設計: 組件可以單獨採用或根據組織的最佳實踐進行定制。
  • 資源治理: ML 資源作為程式碼進行管理,透過 pull request 而非手動 UI 更改來實現審計與部署。
  • 多雲支援: 相容於 AWS、Azure 和 GCP。
  • 選配的 Feature Store 整合: 包含用於使用 Databricks Feature Store 管理特徵工程與訓練的選配組件。

相關

  • 專案
  • 專案
  • 專案
  • 專案
  • 專案