ML プロジェクトは、特定の目標、タスク、成果を伴うフェーズで進行します。ML 開発フェーズを明確に理解することで、エンジニアリングの責任を確立し、関係者の期待を管理し、リソースを効率的に割り当てることができます。
フェーズを(多くの場合、反復的に)成功裏に進めることは、ビジネス上の問題を長期的に解決する ML モデルを設計、組み立て、構築するための基盤となります。
ML ソリューションの実装は、大まかに次のフェーズで構成されます。
- アイデア出しと計画
- テスト
- パイプラインの構築
- プロダクション
アイデア出しと計画
アイデア出しと計画のフェーズでは、ML ソリューションの観点から問題をフレームワーク化し、プロジェクトの実現可能性を評価します。
- 目標: ML が問題の解決に最適なソリューションかどうかを判断します。
- タスク: ビジネス上の問題を分析して、プロジェクトの制約を把握します。
- 結果: ML ソリューションで問題を解決する方法を概説する設計ドキュメント。
テスト
テストは ML の中核です。このフェーズでは、ML ソリューションが実現可能であることを確認します。解決策を見つけるのは反復的なプロセスです。問題を解決する適切な特徴量、ハイパーパラメータ、モデル アーキテクチャの組み合わせを見つけるまでに、数百ものテストを試すことは珍しくありません。
- 目標: ビジネス上の問題を解決するモデルを構築します。
- タスク: 特徴、ハイパーパラメータ、モデル アーキテクチャをテストします。
- 結果: 本番環境に導入できる品質のモデル。
パイプラインの構築と本番環境への移行
パイプラインの構築と本番環境への移行フェーズでは、データの処理、モデルのトレーニング、予測の提供を行うパイプラインを構築します。次に、必要なモニタリングとロギングのインフラストラクチャを使用して、モデルとパイプラインを本番環境にデプロイします。
- 目標: 本番環境でモデルをスケーリング、モニタリング、保守するためのインフラストラクチャを構築して実装します。
- タスク: 最新のモデルを本番環境で維持するためのタスクの多くを自動化するパイプラインを構築します。
- 結果: 検証済みの ML パイプライン。
エンドツーエンドの ML ワークフロー
次の図は、エンドツーエンドの ML ワークフロー全体を示しています。各フェーズとそのタスクと結果が示されています。
図 1. ML ワークフローの 4 つの主なフェーズ。
留意点
各フェーズには複数の課題があります。これらの課題を認識して計画を立てないと、締め切りに間に合わなかったり、エンジニアが不満を抱いたり、プロジェクトが失敗したりする可能性があります。