総合演習:MLOps基盤設計書を作成しよう
田中VPoE「ここまでMLOpsの全体像から実験管理、特徴量ストア、パイプライン自動化、モニタリングまで一通り学んできた。最後の総合演習として、NetShop社のMLOps基盤設計書を作成してほしい。」
あなた「Step 1から5までの知識を統合して、実際に運用可能な設計書を作るんですね。」
田中VPoE「そうだ。経営層への提案も想定して、技術面だけでなく、コスト・スケジュール・リスクも含めた設計書にしてくれ。」
ミッション概要
NetShop社のDSチーム向けに、MLOps基盤の全体設計書を作成します。現状分析から技術選定、アーキテクチャ設計、導入計画まで包括的にまとめます。
前提条件
- Month 4の全レッスン(Step 1〜5)を修了していること
- テキストエディタまたはドキュメントツールが利用可能であること
Mission 1: 現状分析とアーキテクチャ設計(30分)
背景情報
会社: NetShop社(EC事業)
チーム: DS 5名、MLエンジニア 1名
本番モデル: 需要予測、離脱予測、レコメンド(3本)
インフラ: AWS(EC2, S3, RDS)
現状の成熟度: Level 0(手動プロセス)
目標: 6ヶ月後にLevel 2を達成
タスク
以下の項目を含むアーキテクチャ設計書を作成してください。
- 現状(As-Is)のシステム構成図
- 目標(To-Be)のシステム構成図
- 各コンポーネントの技術選定と選定理由
解答例
As-Is構成:
[Notebook] → 手動 → [pickle] → 手動 → [EC2] → CloudWatch
個人管理 Slackで共有 手動デプロイ 基本メトリクスのみ
To-Be構成:
[Git + DVC] → [GitHub Actions CI] → [MLflow Tracking]
↓ ↓
[Great Expectations] → [学習パイプライン] → [MLflow Registry]
↓ ↓
[Feast Feature Store] [品質ゲート]
↓
[Docker + ECR] → [ECS]
↓
[Evidently AI + CloudWatch]
技術選定:
| コンポーネント | 選定ツール | 選定理由 |
|---|---|---|
| 実験管理 | MLflow | OSS、学習コスト低、AWS連携良好 |
| データバージョニング | DVC | Git連携、S3バックエンド |
| 特徴量ストア | Feast | OSS、小規模から始められる |
| CI/CD | GitHub Actions | 既存Git環境との統合 |
| データ品質 | Great Expectations | Python native、豊富なバリデーション |
| モニタリング | Evidently AI | ドリフト検出に特化、レポート生成 |
| サービング | FastAPI + Docker | 軽量、チームの既存スキル活用 |
| オーケストレーション | Prefect | Python native、DAG定義が直感的 |
Mission 2: 導入計画とコスト見積もり(30分)
タスク
6ヶ月間の導入計画を作成してください。以下を含めること。
- Phase分けと各Phaseの目標・タスク・期間
- 必要リソース(人員・インフラ)の見積もり
- 月次コストの試算
解答例
Phase 1: 基盤構築(Month 1-2)
目標: Level 0 → Level 1
タスク:
- MLflow環境構築(1週間)
- DVC導入、既存データの移行(1週間)
- 既存3モデルのMLflow移行(2週間)
- 基本テスト整備(1週間)
- チームトレーニング(並行実施)
必要リソース:
- MLエンジニア: 1名(フルタイム)
- DS: 全員(20%工数)
Phase 2: 自動化(Month 3-4)
目標: CI/CDパイプライン稼働
タスク:
- GitHub Actions ワークフロー構築(2週間)
- Feast特徴量ストア構築(2週間)
- 品質ゲート実装(1週間)
- Docker化とECSデプロイ(2週間)
- 統合テスト整備(1週間)
Phase 3: モニタリング&最適化(Month 5-6)
目標: Level 2達成
タスク:
- Evidently AIモニタリング構築(2週間)
- アラート設計・実装(1週間)
- 自動再学習パイプライン(2週間)
- ドキュメント整備・運用手順書(1週間)
- 全体負荷テスト・最適化(2週間)
月次コスト試算:
| 項目 | Phase 1-2 | Phase 3 | 定常運用 |
|---|---|---|---|
| MLflow用EC2(t3.medium) | $40 | $40 | $40 |
| RDS(PostgreSQL) | $30 | $30 | $30 |
| ECS(モデルサービング) | $0 | $100 | $100 |
| S3(データ・モデル保存) | $20 | $30 | $50 |
| ECR(コンテナレジストリ) | $0 | $10 | $10 |
| GitHub Actions | $0 | $0 | $0(Free枠内) |
| 月額合計 | $90 | $210 | $230 |
Mission 3: リスク分析と成功指標(30分)
タスク
以下を含むリスク分析と成功指標を作成してください。
- リスクマトリクス(技術・組織・運用の観点)
- KPI(成功指標)と測定方法
- 失敗時の撤退基準
解答例
リスクマトリクス:
| リスク | 影響度 | 確率 | 対策 |
|---|---|---|---|
| ツール統合の複雑さ | 高 | 中 | 最小構成POCで事前検証 |
| チームの学習コスト | 中 | 高 | ペアプログラミング、段階的導入 |
| 既存モデル移行の精度劣化 | 高 | 低 | 移行前後のベンチマーク必須 |
| MLflowサーバー障害 | 高 | 低 | バックアップ、手動フォールバック |
| コスト超過 | 中 | 中 | 月次レビュー、コストアラート |
KPI:
| KPI | 現状 | 3ヶ月目標 | 6ヶ月目標 | 測定方法 |
|---|---|---|---|---|
| デプロイ所要時間 | 1週間 | 1日 | 数時間 | パイプライン実行ログ |
| デプロイ頻度 | 月1回 | 月2回 | 週1回 | デプロイ回数カウント |
| 実験再現率 | 20% | 80% | 100% | 再現テスト結果 |
| 障害復旧時間 | 半日 | 2時間 | 30分 | インシデントログ |
| ドリフト検知時間 | 検知不能 | 日次 | リアルタイム | アラート発報タイムスタンプ |
撤退基準:
- Phase 1完了時にデプロイ所要時間が3日以上短縮されない場合
- Phase 2完了時にチームの50%以上がツールを日常的に使用していない場合
- 月次コストが見積もりの2倍を超えた場合
達成度チェック
- As-Is / To-Beのアーキテクチャ構成図を作成できた
- 各コンポーネントの技術選定と理由を明記できた
- 6ヶ月間のPhase分け導入計画を作成できた
- 月次コストの試算を行えた
- リスクマトリクスとKPIを定義できた
- 撤退基準を設定できた
推定所要時間:90分