【24日目】MLOps パイプラインの構築 〜 モデルを育て、届け、改善し続ける仕組みを Databricks で実現する 〜
みなさんこんにちは、クルトンです!
Day23では Delta Sharing を通して、Databricksが安全に“外へ共有する力”を持っていることを整理しました。
そして今日のDay24は、モデルを作る → 提供する → 監視する → 改善する というサイクルを自動で回す「MLOps」の世界へ踏み込みます。
DatabricksではMLflowを中心にModel Serving、Monitoring、CI/CD、Jobs(Lakeflow)といった仕組みが連携し、 継続的で高品質なモデル運用を支える強力なプラットフォーム が整っています。
本日はこれらを整理していきます!
🧭 MLOpsとは?まずは全体像を掴んでみよう
MLOpsとは、機械学習モデルを 開発 → 本番提供 → 監視 → 改善 という流れで継続的に運用するための仕組みのことです。
一般的に問題となりやすいのが……
- モデルの精度が徐々に低下する
- 開発者ごとに管理方法がバラバラ
- 手動デプロイで人為的ミス発生
- 本番環境の状態が見えない
といった課題です。
DatabricksではMLflowを中心に、以下のような流れでMLOpsを実現します。
全体をザッと捉えたところで、各要素を詳しく見ていきましょう!
🔬 MLflow Tracking:実験管理の基盤
Databricks公式(tracking, experiments, runs):
MLflow Trackingは、モデル開発時に行う “実験管理” を担います。
✔ Experiment(実験)
モデル開発をまとめるフォルダのようなものです。
- あらゆるRunをグルーピング
- 見比べやすくする
- チーム開発でも一貫性を保てる
✔ Run(学習の1セッション)
- 入力パラメータ
- メトリクス(精度、損失など)
- 生成されたアーティファクト(モデルファイルなど)
が記録されます。
✔ Autologging(自動記録)
MLflowが自動でパラメータ・メトリクス・モデルを記録してくれる仕組みです。
これにより、「どの条件でどのモデルが良かったか」を追跡できるようになります。
🧱 Model Registry:モデルのライフサイクル管理
Databricks公式(モデルのライフサイクル):
MLflow Model Registryは、学習したモデルをまとめて保管する場所です。
(2025年時点では、新規プロジェクトではUnity Catalog配下のモデルレジストリ利用が推奨されており、Workspace Model Registryは既存ワークスペース向けの位置づけになっています。)
✔ Model Version(モデルの版管理)
学習を行うたびに “v1, v2, v3…” とバージョンが作られます。
✔ Stage(モデルの段階)
代表的なStageとしては以下です。
- None(登録直後)
- Staging(検証段階)
- Production(本番稼働)
✔ Promotion(昇格)
Stagingのモデルをテストした後、Productionに昇格させる流れが一般的です。
(つまり動作チェックした後に本番に活用するという流れですね。)
✔ Webhooks(自動化の起点)
モデルが登録・更新されたタイミングで外部サービスに通知できます。
これが CI/CDのトリガー となります。
⚙️ Model Serving:モデルを本番で使えるようにする
Databricks公式(Model Servingについて):
Model Servingは、学習したモデルを リアルタイムで呼び出せる形にするための仕組み です。
(LLMを含むモデルを、REST APIとして一貫した形で提供できます。)
✔ Serving Endpointの基本
- APIとしてモデルを公開
- Endpoint単位で管理
- モデルの更新はバージョン切替で簡単に行える
✔ モデル更新(ロールアウト)
- 新しいモデルバージョンを登録
- Endpointに反映
- 必要に応じて段階的に切り替え
MLflow Registryと密接に連携しています。
✔ Foundation Model(LLM)の提供にも対応
Day16・Day20などで触れたLLM基盤と同じServingに統合されているため、Databricks上で統一的に扱えます。
📊 Monitoring:モデルの状態を見る
Databricks公式(Monitoring関連):
モデルは一度作ったら終わりではありません。時間が経つと精度が下がったり入力データが変化したりしますので、モデルの状態を見続け改善していく必要があります。
✔ Endpoint Monitoring
- エラー率
- レイテンシ
- スループット
など、Endpointの健康状態が確認できます。
✔ Inference Tables(推論ログ)
推論時の入力・出力をDeltaテーブルで管理できます。
これが後述の 再学習サイクルの起点 になります。
✔ ドリフト検知・評価指標
- データドリフト
- 予測ドリフト
- バイアス検知(必要に応じて)
Databricksでは、
- Endpointのメトリクス
- Inference Tables
- Data Quality Monitoring
- MLflow 3のProduction Monitoring
などを組み合わせることで、ドリフトや品質劣化を検知する設計ができます。
こうした監視結果をもとに、次のアクションを決めていきます。
🔁 再学習サイクル(Retraining)で改善し続ける
Databricks公式(ワークフローについて)
モデル品質を維持するためには、監視 → 再学習 → 更新 という流れが必要です。
✔ 再学習の流れ
- Monitoringで異常や精度低下を検知
- 再学習ジョブを起動
- 新しいモデルがRegistryに保存
- Stagingで検証
- 問題なければProductionに昇格
- Serving Endpointを更新
🔧 CI/CD:モデルを自動で更新する仕組み
Databricks公式(CI/CD関連):
CI/CDを導入すると、モデル更新の品質とスピードが一気に向上します。
✔ Git(Repos)とMLflowの連携
- Notebook・PythonモジュールをGit管理
- Pull Requestベースで品質担保
✔ 自動テスト → 自動デプロイ
- WebhooksでCIを起動
- テスト環境(Staging)で検証
- 問題なければProductionへPromote
✔ Asset BundlesによるIaC化
- 構成をYAMLとコードで管理
- “環境差分がない” 安定したMLOpsを実現
⚙️ Workflow(Lakeflow / Jobs)でパイプラインを自動化
Databricks公式(Lakeflowジョブ):
Lakeflow(Jobs) を使うことでパイプラインの自動化ができます。
✔ 再学習パイプラインの例
- 特徴量抽出(Feature Store)
- モデルトレーニング
- モデル登録
- モデル昇格
- Endpoint更新
- モニタリングチェック
Databricks では、この一連の流れを すべて自動化できる のが強みです。
🧩 今日のまとめ
- MLOpsは「作って終わり」ではなく「継続的に改善し続ける仕組み」
- MLflow Trackingで実験管理
- Registryでモデルのバージョン・ステージ管理
- Servingで本番提供
- Monitoringで状態を監視
- 再学習サイクルで品質改善
- CI/CDやLakeflowを組み合わせて自動化を実現
DatabricksはこのMLOps サイクルを プラットフォーム全体で統合的に支えてくれる のが魅力なサービスですね。
📚 参考URL
-
MLflow Tracking / Experiments / Runs
https://docs.databricks.com/aws/ja/mlflow/tracking
https://docs.databricks.com/aws/ja/mlflow/experiments
https://docs.databricks.com/aws/ja/mlflow/runs -
Model Registry(ライフサイクル / Workspace Registry / Webhooks)
https://docs.databricks.com/aws/ja/machine-learning/manage-model-lifecycle
https://docs.databricks.com/aws/ja/machine-learning/manage-model-lifecycle/workspace-model-registry
https://docs.databricks.com/aws/ja/mlflow/model-registry-webhooks -
Model Serving(概要 / エンドポイント管理 / FM 連携)
https://docs.databricks.com/aws/ja/machine-learning/model-serving
https://docs.databricks.com/aws/ja/machine-learning/model-serving/create-manage-serving-endpoints
https://docs.databricks.com/aws/ja/machine-learning/model-serving/manage-serving-endpoints
https://docs.databricks.com/aws/ja/machine-learning/model-serving/foundation-model-overview -
Monitoring(Endpoint Monitoring / Inference Tables / DQ / Production Monitoring)
https://docs.databricks.com/aws/ja/machine-learning/model-serving/monitor-diagnose-endpoints
https://docs.databricks.com/aws/ja/machine-learning/model-serving/inference-tables
https://docs.databricks.com/aws/ja/data-quality-monitoring
https://docs.databricks.com/aws/ja/mlflow3/genai/eval-monitor/production-monitoring -
Retraining Workflow(モデルのアップグレード)
https://docs.databricks.com/aws/ja/machine-learning/manage-model-lifecycle/upgrade-workflows -
CI/CD(MLOps 全体 / デプロイパターン / Webhooks / MLOps Stacks)
https://docs.databricks.com/aws/ja/machine-learning/mlops/ci-cd-for-ml
https://docs.databricks.com/aws/ja/machine-learning/mlops/deployment-patterns
https://docs.databricks.com/aws/ja/mlflow/model-registry-webhooks
https://docs.databricks.com/aws/ja/dev-tools/bundles/mlops-stacks -
Workflow(Lakeflow Jobs)
https://docs.databricks.com/aws/ja/jobs
✨ 終わりに
Day24では、モデルを“育て続ける”ためのDatabricksのMLOpsを整理してきました。
明日の Day25(最終日) は、Databricksの発展的トピックにどのようなものがあるか、ここまでのDay24までのブログ内容をどう確認していくと良いのか についてまとめていきます!
本日はここまで。
それではまた明日!
Discussion