# ML製品開発フェーズ
## 定義
ML製品開発フェーズは、ML製品開発の不確実性を管理するために提案される反復的な工程モデルで、発見と定義、ビジネス目標設定、MVPの構築と検証、モデルおよび製品開発、開発(デプロイ)、サポートおよびメンテナンスという6つのフェーズから成る。これらのフェーズは一方向の工程ではなく、サポートおよびメンテナンスから発見と定義へ再び戻る円環として運用される(図12-1)。ML製品開発プロジェクトは製品開発ライフサイクル中の不確実性を管理するために、最初から高度に反復的である必要がある、という前提に立つ。(Source: [[@2024__OReillyJapan__信頼性の高い機械学習 - Chapter 12 製品とMLの関わり方]] §12.3, 図12-1)
## 発見と定義とユースケース選定基準
発見と定義は常にML製品開発の起点となるべきフェーズで、問題領域を定義し、ビジネス上の問題と望ましい結果を理解して枠組みを定め、最終的に問題を解決空間にマッピングする。ユーザー調査によってユーザーの問題点を特定し優先順位を付け、ユーザー体験マップと重要なワークフロー・潜在的な障害を特定する。
このフェーズで判断すべき中心的な問いは「MLがユーザーの問題の解決に役立つか」であり、実稼働環境で良いユースケースになりやすい人間向けMLシステムの特徴として次の5条件が挙げられる。
1. 人間が定義したルールでは解決できない複雑なロジック(例: 複数段階を経る検索ランキング)
2. 大規模パーソナライゼーション(数千人以上のユーザーへの拡大が見込める)
3. ルールが時間の経過とともに急速に変化する場合
4. 明確な評価指標がある
5. 100%の精度を求めない(ビジネスの成功が完璧でなく高確率の正確さで達成できる)
(Source: [[@2024__OReillyJapan__信頼性の高い機械学習 - Chapter 12 製品とMLの関わり方]] §12.3.1)
## ビジネス目標設定とセーフティネット
ML要件の選択は設計とビジネス目標を慎重に組み合わせる必要があり、プロダクトマネージャー(PM)はエンドユーザーと長期的なビジネス目標の両方を理解したうえで、製品が解決できる具体的な問題を深く定義する責任を負う。そうしないと、小さな(またはほぼ存在しない)問題のために強力すぎるシステムを開発する危険がある。
MLは確率に依存するため、モデルが誤った出力を出す可能性は常にある。PMは誤った予測の結果を予測・認識し、リスクを軽減するセーフティネットを事前に定義してシステムに組み込む責任を負う。セーフティネットには2種類ある。
- **内部セーフティネット**: システムが構造上不可能な状態を認識・排除する、ユーザーから見えない仕組み(例: そもそも注文が存在しないのに注文キャンセルを要求するメールを、学習対象や自動処理の対象から除外する)。
- **外部セーフティネット**: ユーザーの意図確認や、返信候補のリストから選ばせるなど、ユーザーから見える形の安全策。
さらにPMは、実稼働環境でのMLシステムの成功を測定する具体的で測定可能なビジネス性能評価指標を定義する必要がある。Eコマースの推薦で追跡すべき指標として、クリックスルー率(CTR)、コンバージョン率、平均注文金額(AOV)、推薦リスト連動AOV、総収入、推薦リスト連動収益などが挙げられる。(Source: [[@2024__OReillyJapan__信頼性の高い機械学習 - Chapter 12 製品とMLの関わり方]] §12.3.2)
## MVPの構築と検証
製品へのMLの統合が機能するかを判断するには、(1) 機能する(または十分に機能する)モデルを作成できるか、(2) そのモデルを製品に統合する説得力があり有用な方法はあるか、という2つの問いに答える必要がある。データセット構築・モデル訓練・実稼働環境への導入には数週間〜数ヶ月かかりうるため、早い段階で有用性のシグナルを得る手段として、少人数のユーザーでインタラクションを仮テストする実用最小限の製品(MVP)を、固定ルールやヒューリスティックな方法(実際のMLモデルを使わない)で構築する。全てのケースをカバーするルールを書くことは不可能であり、MLが最も効果的に使えるのはそのような場合だが、簡単なルールに基づく代理システムはML アプローチの結果を検証する上で大いに役立つ。早い段階で反応を得ることは、時間と労力を節約し、サービスのビジョンや方向性を修正するのに役立つ。(Source: [[@2024__OReillyJapan__信頼性の高い機械学習 - Chapter 12 製品とMLの関わり方]] §12.3.3)
## モデルおよび製品開発〜サポートおよびメンテナンス
モデルおよび製品開発フェーズでは、デザイン・エンジニアリング・ML研究者・ビジネスオーナー・PMが協力してモデルを構築し顧客向け機能と統合する。開発(デプロイ)フェーズでは、実稼働トラフィックに対応しながらフィードバックデータを収集し、ビジネス評価指標を制御された方法で観察してロールアウトの拡大・停止を判断する。上位レベルのビジネス目標(例: ユーザー1人あたりの平均収益)と、実際にモデルが最適化する下位レベルのユーザー体験指標(例: エンゲージメントスコア)は何層も分離しうるため、PMは両者の翻訳者としてユーザー可観測性の改善に継続的に取り組む必要がある。
サポートおよびメンテナンスフェーズでは、MLシステムが世界の状態をモデル化し続ける性質上、最初の出荷版で完全になることはなく、「メンテナンス」と「開発」をきれいに分ける従来の概念が適用しにくい。継続的なメンテナンスへの真剣な取り組みなしにMLを製品に統合することはできない。このフェーズの終端は次の発見と定義フェーズへ接続し、円環を閉じる。(Source: [[@2024__OReillyJapan__信頼性の高い機械学習 - Chapter 12 製品とMLの関わり方]] §12.3.4〜§12.3.6)
## 横断的知見
- **6フェーズ循環モデルは、独立に書かれた別書の工程モデルが事後的に導いた反復構造を、最初から工程定義そのものに組み込んでいる**: [[機械学習プロジェクトの進め方]] が扱う『仕事ではじめる機械学習』の10ステップは、基本的に始点(課題定式化)から終点(モニタリング)へ向かう1回の流れとして提示され、継続的トレーニングの議論(ch.6)によって事後的に最終ステップがループへ引き延ばされる。一方、本概念の6フェーズは「発見と定義」に戻る円環(図12-1)として最初から設計されており、反復構造が工程モデルの定義そのものに含まれている点で異なる。(Source: [[@2024__OReillyJapan__信頼性の高い機械学習 - Chapter 12 製品とMLの関わり方]] §12.3, 図12-1, [[機械学習プロジェクトの進め方]] の横断的知見)
- **「良いMLユースケースの条件」は書ごとに条件の数と重心が異なるが、「完璧な精度を要求しない」点では一致する**: 本概念(発見と定義フェーズ)が挙げる5条件(複雑なロジック・大規模パーソナライゼーション・急速に変化するルール・明確な評価指標・100%の精度を求めない)と、[[機械学習プロジェクトの進め方]] が引く『仕事ではじめる機械学習』ch.1の2条件(大量データへの高速安定判断・予測結果の一定数の間違いの許容)を並べると、後者の「間違いの許容」は前者の「100%の精度を求めない」とほぼ同一の基準である。一方、前者にある「複雑なロジック」「大規模パーソナライゼーション」「ルールの急速な変化」に相当する条件は後者にはなく、5条件の方がユースケース選定の観点を広く取っている。(Source: [[@2024__OReillyJapan__信頼性の高い機械学習 - Chapter 12 製品とMLの関わり方]] §12.3.1, [[機械学習プロジェクトの進め方]])
- **MVPは両書で独立に採用される手段だが、検証対象が異なる**(詳細は [[機械学習プロジェクトの進め方]] の横断的知見を参照): 本書のMVPは「顧客のニーズを本当に解決するか」という実インタラクションでの検証に重心があるのに対し、『仕事ではじめる機械学習』ch.1のMVPは「立てた仮説の筋の良し悪し」の検証に重心がある。(Source: [[@2024__OReillyJapan__信頼性の高い機械学習 - Chapter 12 製品とMLの関わり方]] §12.3.3, [[機械学習プロジェクトの進め方]])
## 未解決の問い
- 6フェーズ循環モデルと『仕事ではじめる機械学習』の線形10ステップ+事後的な継続ループは、実務上どちらがチームのメンタルモデルとして機能しやすいか。両書とも比較のための直接的な議論をしておらず、規模や組織成熟度による向き不向きは未検証。
- 内部/外部セーフティネットの設計プロセスは本章で概念としては提示されるが、体系的な洗い出し手法(チェックリスト、FMEA的な手法など)は示されていない。[[インシデント管理]] や [[障害緩和]] の知見と接続できる余地があるか。
- ビジネス性能評価指標(CTR・コンバージョン率・AOVなど)と、8章で扱われるモデル性能評価指標(分類・回帰の評価指標)との対応関係・優先順位づけの具体的な方法論は、本章では明示されていない。
## 関連
- ソース: [[@2024__OReillyJapan__信頼性の高い機械学習 - Chapter 12 製品とMLの関わり方]]
- 概念: [[アジャイルML]] / [[機械学習プロジェクトの進め方]] / [[機械学習の要否判断]]
- 実体: [[信頼性の高い機械学習]] / [[YarnIt]]
## 出典
- Cathy Chen ほか, 『信頼性の高い機械学習 ―SRE 原則を活用した MLOps』, オライリー・ジャパン, 2024, 12章 §12.3〜§12.3.6, 図12-1.