監視に関する設計を行う

完了

機械学習の運用 (MLOps) アーキテクチャの一部として、機械学習ソリューションを監視する方法について考える必要があります。

監視は、すべての MLOps 環境で役立ちます。 "モデル"、"データ"、"インフラストラクチャ" を監視して、必要な次の手順を決定するのに役立つメトリックを収集できます。

モデルを監視する

最も一般的には、モデルのパフォーマンスを監視する必要があります。 開発中は、MLflow を使って機械学習モデルのトレーニングと追跡を行います。 トレーニングするモデルに応じて異なるメトリックを使って、モデルが期待どおりに動作しているかどうかを評価できます。

運用環境のモデルを監視するには、トレーニング済みのモデルを使って、新しい受信データの小さなサブセットに対する予測を生成できます。 そのテスト データでパフォーマンス メトリックを生成することで、モデルが今でも目標を達成しているかどうかを確認できます。

さらに、責任ある人工知能 (AI) の問題を監視することもできます。 たとえば、モデルが公平な予測を行っているかどうかなどです。

モデルを監視する前に、監視するパフォーマンス メトリックと、各メトリックに対するベンチマークを決定することが重要です。 どのようなときに、モデルが正確ではなくなったことを警告してもらう必要がありますか?

データを監視する

通常は、デプロイされたモデルが受け取る新しいデータを代表する履歴データセットを使って、機械学習モデルをトレーニングします。 ただし、時間の経過と共に、データのプロファイルが変化する傾向が生じ、それによってモデルの精度が低下する可能性があります。

たとえば、シリンダー数、エンジン サイズ、重量などの特徴に基づいて自動車の想定燃費を予測するようにモデルがトレーニングされているとします。 時間の経過と共に、自動車製造とエンジンのテクノロジが進歩するにつれて、自動車の標準的な燃費は劇的に向上する可能性があり、古いデータでトレーニングされたモデルの予測精度は低下します。

Diagram of different hyperparameter values resulting in different models by performing hyperparameter tuning.

現状とトレーニング データの間にあるデータ プロファイルのこの変化はデータ ドリフトと呼ばれ、運用環境で使用される予測モデルにとって重大な問題になる可能性があります。 そのため、時間の経過に伴うデータ ドリフトを監視し、必要に応じてモデルを再トレーニングして、予測正確性を維持できるようにすることが重要です。

インフラストラクチャを監視する

モデルとデータの監視の次に、コストを最小限に抑え、パフォーマンスを最適化するために、インフラストラクチャも監視する必要があります。

機械学習のライフサイクル全体を通し、コンピューティングを使ってモデルのトレーニングとデプロイを行います。 クラウドでの機械学習プロジェクトでは、コンピューティングが最大の費用の 1 つになる可能性があります。 そのため、コンピューティングを効率的に使っているかどうかを監視する必要があります。

たとえば、トレーニングの間とデプロイの間に、コンピューティングのコンピューティング使用率を監視できます。 コンピューティング使用率を確認すると、プロビジョニングされたコンピューティングをスケールダウンできるかどうか、または容量の制約を回避するためにスケールアウトする必要があるかどうかがわかります。

ヒント

Azure Machine Learning ワークスペースとそのリソースの監視の詳細を学習してください。