# アジャイルML ## 定義 アジャイルML(Agile ML)は、機械学習を製品に統合する取り組みが、アジャイルソフトウェア開発宣言に基づく方法論(短いフィードバックループ・顧客志向のストーリーやストーリーポイント・それらに合わせた小規模チームでの見積もり)の前提の多くに違反するという認識を出発点に、標準的なML開発ライフサイクルを採用することで対応しようとする考え方を指す。(Source: [[@2024__OReillyJapan__信頼性の高い機械学習 - Chapter 12 製品とMLの関わり方]] §12.2) ## アジャイルの前提にMLが違反する点 『信頼性の高い機械学習』12章は、機械学習の製品統合がアジャイルの前提に違反する理由として次の5点を挙げる。 - **フィードバックループが長い**: 数ヶ月〜数年に及ぶことがあり、顧客から直接ではなくデータから間接的にしか得られない。 - **統合に会社全体の人々が関与する**: 小規模チームでの実行があまり有用でない。 - **モデル開発には任意の長い遅延が発生しうる**: モデルを製品に統合し、結果がデータに表示されるのを待つ必要がある。 - **構築段階でもデータに基づく必要がある**: 最初に構築してから後で検証する、という順序が取れない。 - **モデルは完全に再現可能ではなく、長期にわたって安定してもいない**: 同じモデルを何度も訓練しても異なる結果になりうるし、モデルをそのままにしても世界の変化で価値が失われうる。MLモデルは決して「完成」しないため、ML製品の統合には限定的な決定論しかない。 それでも、アジャイルアプローチがMLにあまり適していないとしても、標準的なML開発ライフサイクル([[ML製品開発フェーズ]])を採用することで、MLシステムを活用して顧客体験と収益を向上させられる、というのが本章の立場である。(Source: [[@2024__OReillyJapan__信頼性の高い機械学習 - Chapter 12 製品とMLの関わり方]] §12.2) ## 横断的知見 - **「機械学習プロジェクトは一直線には進まない」という結論に、アジャイル批判とは独立の経路からも到達している**: 本概念のソースはアジャイル方法論の前提(短いフィードバックループ・小規模チーム)がMLに合わないことを直接の論拠にするのに対し、[[機械学習プロジェクトの進め方]] は『仕事ではじめる機械学習』の10ステップ工程がステップ4〜7(道具選び・前処理・モデル作成)を往復する性質と、継続的トレーニングによってシステム組み込み以降が定常運用のループへ引き延ばされる性質から、同じく「線形には進まない」という結論に至っている。両ソースはMLプロジェクトが反復・循環構造を必要とする点で一致するが、前者は既存の開発方法論(アジャイル)との適合性という角度から、後者は工程そのものの内部構造(手戻り・再学習トリガー)という角度から、それぞれ独立に同じ結論に達している。(Source: [[@2024__OReillyJapan__信頼性の高い機械学習 - Chapter 12 製品とMLの関わり方]] §12.2, [[機械学習プロジェクトの進め方]] の横断的知見) ## 未解決の問い - アジャイルの実践のうちどの要素(スプリント、ストーリーポイント等)を捨て、どの要素を残すべきかについて、本章は具体的なガイダンスを示していない。[[ML製品開発フェーズ]] の6フェーズはアジャイルの完全な代替として位置づけられるのか、それとも部分的にアジャイル的な実践(短いスプリント単位のモデル改善サイクルなど)と併用されるのかは原本から判断できない。 - モデルが「完全に再現可能ではなく、長期にわたって安定してもいない」という性質は、[[MLモデル監視]] や [[モデル崩壊]] といった信頼性系の概念とも接続しうるが、本章はこの接続を明示的には論じていない。 ## 関連 - ソース: [[@2024__OReillyJapan__信頼性の高い機械学習 - Chapter 12 製品とMLの関わり方]] - 概念: [[ML製品開発フェーズ]] / [[機械学習プロジェクトの進め方]] - 実体: [[信頼性の高い機械学習]] ## 出典 - Cathy Chen ほか, 『信頼性の高い機械学習 ―SRE 原則を活用した MLOps』, オライリー・ジャパン, 2024, 12章 §12.2.