MLOps
機械学習モデルの開発 / デプロイ / 運用を自動化し、継続的に改善するための実践体系
MLOps とは
MLOps (Machine Learning Operations) は、機械学習モデルの開発・デプロイ・運用を自動化し、継続的に改善するための実践体系である。DevOps の ML 版で、「モデルを作って終わり」ではなく、本番環境での運用・監視・再学習までをカバーする。
DevOps vs MLOps
DevOps と MLOps の違いを以下にまとめる。
| 観点 | DevOps | MLOps |
|---|---|---|
| 成果物 | コード | コード + モデル + データ |
| テスト | 単体テスト、結合テスト | + データ品質テスト、モデル性能テスト |
| CI/CD | コードのビルド・デプロイ | + モデルの学習・評価・デプロイ |
| モニタリング | エラー率、レイテンシ | + モデルの精度、データドリフト |
| 再デプロイの理由 | コード変更 | + データ変更、精度低下 |
MLOps パイプライン
MLOps パイプラインを図で示す。
[データ収集] → [データ前処理] → [特徴量エンジニアリング] → [モデル学習]
↓ ↓
[データ品質チェック] [モデル評価]
↓
[モデルレジストリ]
↓
[モデルデプロイ]
↓
[モニタリング]
↓ 精度低下を検知
[再学習トリガー]
AWS での MLOps
AWS では S3 にデータを保存し、Amazon SageMaker AI (公式ドキュメント上の現行名称) の各機能を組み合わせる。特徴量の管理は SageMaker Feature Store、学習は SageMaker Training、評価は SageMaker Processing、バージョン管理は SageMaker Model Registry が担う。デプロイは SageMaker のエンドポイントや Lambda、パイプラインは SageMaker Pipelines や Step Functions で構築する。
監視の選択肢は 2026 年 8 月時点で入れ替わっている。長く定番だった SageMaker Model Monitor は新規顧客の受付を終了しており、既存の利用者はそのまま使えるが新機能の追加は予定されていない。これから組むなら、AWS が代替として案内しているオープンソースの SageMaker AI 監視ソリューションと QuickSight のダッシュボード、CloudWatch を組み合わせる構成を検討する。数年前の記事や書籍は Model Monitor 前提で書かれているため、手順をそのまま踏むと入口で止まる。
データドリフト
本番データの分布が学習データと異なってくる現象で、モデルの精度が徐々に低下する。入力データの分布が変化するデータドリフト (例: ユーザーの年齢層が変化) と、入力と出力の関係が変化するコンセプトドリフト (例: コロナ禍で購買行動が変化) の 2 種類がある。
モデルの A/B テスト
モデルの A/B テストを図で示す。
トラフィック → 90% → モデル v1 (現行)
→ 10% → モデル v2 (新規)
→ メトリクスを比較 → v2 が優れていれば切り替え
MLOps の成熟度
Google Cloud のアーキテクチャガイドは MLOps を 3 段階で整理している。レベル 0 は学習からデプロイまでを手作業で回す状態、レベル 1 は ML パイプラインを自動化して新しいデータでの継続的な再学習を回す状態、レベル 2 はパイプラインの実装自体を CI/CD で自動的にビルド・テスト・デプロイし、特徴量やモデル構造の新しい案を素早く本番へ届けられる状態である。レベル 2 で自動化の対象になるのはモデルではなくパイプラインであり、ここが DevOps の CI/CD と最も混同されやすい。
段階の数え方は文献によって異なる。Microsoft のアーキテクチャセンターはレベル 0 (MLOps なし) からレベル 4 (完全な自動運用) までの 5 段階で示し、データドリフトを起点とした自動再学習は最上位のレベル 4 に置いている。「うちはレベル 2」と言うときは、どの枠組みの話かを添えないと議論が噛み合わない。
全体像を把握するには関連書籍も有用。
この記事は役に立ちましたか?