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 管理特征工程和训练的可选组件。

相关

  • 项目
  • 项目
  • 项目
  • 项目
  • 项目