Amazon SageMaker AIとMLflowを使用した識別的機械学習モデルの監視
サマリー
機械学習モデルの精度はトレーニング後すぐに低下するため、モデル監視が重要です。Amazon SageMaker AIとMLflowを利用して、データドリフトやモデルドリフトを測定し、問題を早期に発見する方法を紹介します。オープンソースのEvidentlyライブラリを活用することで、監視レポートを生成し、結果を比較することが可能です。
本文
機械学習(ML)モデルの効果と精度は、トレーニングジョブが終了した直後から低下し始めます。消費者行動の変化、新製品のリリース、センサー技術のアップグレード、経済や政治の状況の変化など、トレーニング中にモデルが学習したパターンや確率を変える制御不能な要因が存在します。生産環境で展開されたモデルの精度や基準統計の変化を積極的に監視することで、精度の低下が問題になる前に介入することが可能です。モデル監視は、レイテンシー、アプリケーションの可用性、システム全体の問題を特定するために使用される他のメトリクスを追跡するAI可視化ツールと組み合わせることができます。
この投稿では、分類および回帰のユースケースに使用される識別的機械学習モデルに焦点を当てています。識別的MLモデルの品質低下の原因は、大きく分けてデータドリフトとモデルドリフトの2つのカテゴリに分けられます。
データドリフトは、入力データの統計的特性の変化を指します。これは、整数から浮動小数点データ型への予期しない変化や、新しい製品ラインのリリースなど、さまざまな形で現れます。データドリフトは、トレーニングデータセットの基準統計を計算し、これを生産環境で収集したデータに対して比較することで測定できます。
モデルドリフトは、モデルが生成する予測の精度の変化を指し、モデルが学習した確率パターンが新たに入ってくるデータに適合しなくなることによって引き起こされます。たとえば、経済の改善による消費者行動の変化が原因となることがあります。モデルドリフトは、グラウンドトゥルースラベルを収集してモデル品質メトリクスを計算し、これをモデルのトレーニングプロセス中に計算された同じメトリクスと比較することで測定できます。
Amazon SageMaker AIは、組織が識別的および生成的MLモデルを構築、トレーニング、展開、管理するのを支援する完全管理型の機械学習サービスです。SageMaker AIは完全に管理されていますが、よりカスタマイズ可能なアプローチが必要な場合があります。この投稿では、オープンソースのEvidently PythonライブラリとAmazon SageMaker AIを使用してデータドリフトとモデルドリフトを計算するモデル監視アーキテクチャを紹介します。このモデル監視ソリューションの結果は、好みのダッシュボードに統合したり、関連する利害関係者にアラートを送信したり、自動モデル再トレーニングパイプラインをトリガーするために使用できます。
この投稿では、分類および回帰のユースケースに使用される識別的機械学習モデルに焦点を当てています。識別的MLモデルの品質低下の原因は、大きく分けてデータドリフトとモデルドリフトの2つのカテゴリに分けられます。
データドリフトは、入力データの統計的特性の変化を指します。これは、整数から浮動小数点データ型への予期しない変化や、新しい製品ラインのリリースなど、さまざまな形で現れます。データドリフトは、トレーニングデータセットの基準統計を計算し、これを生産環境で収集したデータに対して比較することで測定できます。
モデルドリフトは、モデルが生成する予測の精度の変化を指し、モデルが学習した確率パターンが新たに入ってくるデータに適合しなくなることによって引き起こされます。たとえば、経済の改善による消費者行動の変化が原因となることがあります。モデルドリフトは、グラウンドトゥルースラベルを収集してモデル品質メトリクスを計算し、これをモデルのトレーニングプロセス中に計算された同じメトリクスと比較することで測定できます。
Amazon SageMaker AIは、組織が識別的および生成的MLモデルを構築、トレーニング、展開、管理するのを支援する完全管理型の機械学習サービスです。SageMaker AIは完全に管理されていますが、よりカスタマイズ可能なアプローチが必要な場合があります。この投稿では、オープンソースのEvidently PythonライブラリとAmazon SageMaker AIを使用してデータドリフトとモデルドリフトを計算するモデル監視アーキテクチャを紹介します。このモデル監視ソリューションの結果は、好みのダッシュボードに統合したり、関連する利害関係者にアラートを送信したり、自動モデル再トレーニングパイプラインをトリガーするために使用できます。