# MLライフサイクル
## 定義
MLライフサイクル(著者らの表現では「MLループ」)とは、MLアプリケーションが技術的にも組織的にも完成することがなく、データ収集からモデルの訓練・統合・評価・ローンチ・監視を経て再びデータ収集に戻る、終わりのない反復プロセスとして進行するという枠組みである。モデルが閾値に対して十分に機能しない場合は失敗原因を探って改善し、逆に十分に機能した場合も期待が高まってさらなる改善が試みられるため、いずれの場合も既存の訓練パイプラインを修正し、特徴量やデータを変更し、場合によってはモデルを再構築するという同種の作業が発生する。最初に作ったモデルは、次に行う作業の出発点に過ぎない。(Source: [[@2024__OReillyJapan__信頼性の高い機械学習 - Chapter 1 はじめに]] §1.1)
## 段階と関与する役割
『信頼性の高い機械学習』1章の図1-1は、MLライフサイクルを中心を挟んだ8つの段階の環として示す。各段階には、その段階で扱う典型的な活動と、組織内で関与する役割が対応づけられている。
- **データ収集と分析**: 手持ちデータの整理・確認、必要データの判断、優先順位付け。関与: プロダクト、ビジネス、データエンジニア、ソフトウェアエンジニア、コンテンツオペレーション、SRE。
- **データマネジメント**: ビジネス入力の取り込み、データインジェスト、クレンジング、エンリッチ、前処理。詳細は本書2章で扱う。関与: 全員(KPIダッシュボード・レポート・モデル用入力データを扱う立場として)。
- **ML訓練パイプライン**: 未処理データのETL(抽出・変換・読み込み)を経た、性能評価・使用可能な完全なMLモデルの作成。関与: データエンジニア、データサイエンティスト、MLエンジニア、SRE。
- **アプリケーションの構築と検証**: モデルとの統合、顧客向け機能の構築、機能テスト、自動化テスト。関与: 製品とビジネス、MLエンジニア、ソフトウェアエンジニア、品質アナリスト。
- **品質と性能の評価**: 人間による評価、A/Bテスト。関与: 製品とビジネス、ドメインエキスパート、データと品質アナリスト、ソフトウェアエンジニア。
- **SLOの定義と測定**: ランタイムアーキテクチャ、グローバルデプロイメント、スケーリング、コスト、性能。関与: ソフトウェアエンジニア、データサイエンティスト、MLエンジニア、SRE。
- **ローンチ**: ソフトウェアアップデートのターゲットリリース、コントロールされたロールアウト、障害からの復旧。関与: ソフトウェアエンジニア、MLエンジニア、SRE、顧客。
- **監視とフィードバックのループ**: システムヘルス、品質測定、計測器、カスタマーエンゲージメント。関与: 製品とビジネス、データエンジニア、ソフトウェアエンジニア、SRE。
この8段階は本文の節構成(§1.1.1 データ収集と分析、§1.1.2 ML訓練パイプライン、§1.1.3 アプリケーションの構築と検証、§1.1.4 品質と性能の評価、§1.1.5 SLOの定義と測定、§1.1.6 ローンチ、§1.1.7 監視とフィードバックのループ)にほぼ対応するが、「データマネジメント」は1章では独立した節を持たず、2章での詳細説明に委ねられている。(Source: [[@2024__OReillyJapan__信頼性の高い機械学習 - Chapter 1 はじめに]] 図1-1, §1.1.1〜§1.1.7)
ML導入に唯一の順序があるわけではなく、通常はデータから始めるのが合理的だが、各段階を訪れ再訪する反復が前提になる。解決したい問題が必要なデータを規定し、サービスインフラが構築可能なモデルを規定し、訓練環境が使用可能なデータの種類と量を制限し、プライバシーと倫理の原則がこれらの要件を形成するというように、各段階は相互に制約し合う。この相互依存性ゆえに、利害関係の厳密な分離は実現不可能であり有用でもないとされる。(Source: [[@2024__OReillyJapan__信頼性の高い機械学習 - Chapter 1 はじめに]] §1.2)
## 横断的知見
- 現時点では本 concept は『信頼性の高い機械学習』1章のみを情報源とする。同書の他章(2章データマネジメント、9章監視、10章継続的なMLなど)が ingest され次第、8段階の各要素がどう詳細化されるかを突き合わせて記述する。
## 未解決の問い
- [[機械学習プロジェクトの進め方]](『仕事ではじめる機械学習』の10ステップモデル)と本ライフサイクルの8段階は、どちらも「課題設定・データ収集→モデル構築→システム組み込み→モニタリング」という反復構造を持つ点で類似するが、役割の割り当て粒度(本書は役職横断のマトリクスとして提示、10ステップモデルはエンジニアリング工程として提示)が異なる。両者の対応関係を、本書2章以降と突き合わせて具体的に記述できるか。
- 「データマネジメント」段階が1章の本文節では独立して扱われず、2章に委ねられている理由(データ収集と分析との境界線)は、2章の ingest 後に明確化できるか。
- SLOの定義と測定(§1.1.5)で触れられる「運用・訓練・アプリケーション」の3区分は、9章(モデルの監視と可観測性)でどのように具体化されるか。
## 関連
- source: [[@2024__OReillyJapan__信頼性の高い機械学習 - Chapter 1 はじめに]]
- entity: [[YarnIt]] / [[信頼性の高い機械学習]]
- concept: [[機械学習プロジェクトの進め方]] / [[機械学習システムの設計パターン]] / [[MLモデル監視]]
## 出典
- Cathy Chen ほか, 『信頼性の高い機械学習 ―SRE 原則を活用した MLOps』, オライリー・ジャパン, 2024, 1 章.