ML 開発のライフサイクル
機械学習 (ML) のライフサイクルとは、機械学習モデルを開発、デプロイ、保守するエンドツーエンドのプロセスを指します。
- ビジネス目標の識別
- ML における問題の定式化 : ビジネス上の問題を明確にし、機械学習の問題に変換することが含まれます。
- データ処理 (データ収集、データ前処理、特徴量エンジニアリング): 正確な ML モデルをトレーニングするために、デベロッパーはデータ処理によりデータを使用可能な形式に変換します。データ処理のステップには、データの収集と統合、データの前処理とデータの可視化、特徴量エンジニアリングが含まれます。
- 特徴量エンジニアリング : データを変換してモデルの変数を作成する
- モデル開発 (トレーニング、チューニング、評価): モデルトレーニング、チューニング、評価で構成されます。
- モデルのデプロイ (推論と予測): 満足のいく結果が得られたら、モデルを本番環境にデプロイします。
- モデルのモニタリング: 早期の検出と緩和により、モデルが必要なレベルのパフォーマンスを維持していることを確認します。
- モデルの再トレーニング: モデルがビジネス目標を達成していない場合は、データと特徴量をもう一度調べて、モデルを改善する方法を特定する必要があります。
Amazon SageMaker を使用した ML ソリューションの開発
データの収集、分析、準備
- Amazon SageMaker Data Wrangler
- Amazon SageMaker Studio Classic
- SageMaker Processing API
特徴量の管理
- Amazon SageMaker Feature Store
モデルのトレーニングと評価
- Amazon SageMaker Canvas (ノーコードで機械学習を使用して予測を生成できる)
- Amazon SageMaker JumpStart
モデルの評価
- Amazon SageMaker Experiments
モニタリング
- Amazon SageMaker Model Monitor
機械学習モデルのパフォーマンス評価
モデル評価のデータセット
- 検証セット : まず検証セットとして確保しておいたデータを調べます。
- テストセット: 検証データを使用してモデルを改善したら、最後にもう一度テストして、予測品質が基準を満たしていることを確認します
モデルの適合
- 過剰適合 -> 高バリアンス
- 過小適合 -> 高バイアス
- バランスがよい : バランスがよいモデルは低バイアスかつ低バリアンス
- オーバーフィット: トレーニングデータに対して正確な予測をするが、新しいデータについては正確に予測しない
- アンダーフィット: モデルが入力データと出力データの間に意味のある関係を決定できない場合に発生する別のタイプのエラーです。適切な時間にわたって、多数のデータポイントでトレーニングしなかった場合、モデルはアンダーフィットとなります。
分類問題と回帰問題
- 分類メトリクス: 正解率 , 適合率, 再現率, F1, AUC – ROC
- 混同行列; 真陽性(TP) , 真陰性(TN) , 偽陰性(FN), 偽陽性(FP)
- 回帰メトリクス:
- 平均二乗誤差,
- 決定係数: モデルによって生じるバリアンスの割合を示します。
モデルのデプロイ
- セルフホストAPI : 独自インフラストラクチャに ML モデルをデプロイしてホストします。
- マネージド型API: ML モデルを API としてデプロイしてホストするフルマネージド型の環境を提供するクラウドベースのサービスです。SageMaker はその一例です。
MLOps の主要な原則
- バージョン管理
- 自動化
- CI/CD
- モデルガバナンス
ML ライフサイクルと MLOps
ML ライフサイクル全体でコード、データ、モデルを管理するには、以下のタッチポイントが必要です。
- データ準備における処理コード
- モデル構築におけるトレーニングデータとトレーニングコード
- モデル評価における候補モデル、テストデータ、検証データ
- モデル選択時のメタデータ
- デプロイ時のデプロイ準備が整ったモデルと推論コード
- モニタリングにおける本番用コード、モデル、データ
参考文献
Developing Machine Learning Solutions