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パイプラインは、以下の3つのモジュールコンポーネントに整理されています:

  • ML Code: ユニットテスト済みのPythonモジュールとノートブックを使用して、トレーニングおよびバッチ推論のための構造を提供します。
  • ML Resources as Code: Databricks CLI bundlesを使用して、パイプラインリソース(トレーニングやバッチ推論ジョブなど)をコードとして定義し、プルリクエストを介した変更管理を可能にします。
  • CI/CD: GitHub Actions、Azure DevOps、またはGitLab用の事前設定済みワークフローにより、dev、staging、production環境にわたるテストとデプロイを自動化します。

対象者

  • データサイエンティスト: プロダクション向けの最終的なリファクタリングを心配することなく、MLコードを迅速に反復開発したい方。
  • MLエンジニア (MLEs): MLプロジェクトのデプロイパイプラインとリソース管理をセットアップおよび管理する必要がある方。

ハイライト

  • プロダクショングレードのCI/CD: 複数の環境(dev、staging、prod)にわたるコードとリソースのテストおよびデプロイのための事前設定済み自動化。
  • モジュール設計: コンポーネントは個別に採用するか、組織のベストプラクティスに合わせてカスタマイズすることが可能です。
  • リソースガバナンス: MLリソースはコードとして管理され、手動のUI変更ではなくプルリクエストを通じた監査とデプロイを可能にします。
  • マルチクラウド対応: AWS、Azure、GCPと互換性があります。
  • オプションのFeature Store統合: Databricks Feature Storeを使用した特徴量エンジニアリングとトレーニングを管理するためのオプションコンポーネントが含まれています。

関連

  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト