Amazon SageMaker Pipelines の および QualityCheck ステップを使用したベースライン計算、ドリフト検出 ClarifyCheck 、ライフサイクル - Amazon SageMaker

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

Amazon SageMaker Pipelines の および QualityCheck ステップを使用したベースライン計算、ドリフト検出 ClarifyCheck 、ライフサイクル

次のトピックでは、 および QualityCheck ステップを使用する際に、Amazon SageMaker Pipelines でベースラインClarifyCheckとモデルバージョンがどのように進化するかについて説明します。

ClarifyCheck ステップの場合、ベースラインは、ステッププロパティ内の単一のファイルであり、サフィックスが constraints になります。QualityCheck ステップの場合、ベースラインは、ステッププロパティ内の 2 つのファイルの組み合わせです。一方のサフィックスは statistics、もう一方のサフィックスは constraints になります。以下のトピックでは、これらのプロパティおよびプロパティの使用方法を示すプレフィックスについて説明します。これらは、2 つのパイプラインステップでベースラインの動作とライフサイクルに影響を与えます。例えば、ClarifyCheck ステップは、常に CalculatedBaselineConstraints プロパティで新しいベースラインを計算して割り当てます。QualityCheck ステップは CalculatedBaselineConstraintsCalculatedBaselineStatistics プロパティで同じ処理を行います。

ClarifyCheck および QualityCheck ステップのベースライン計算と登録

ClarifyCheckQualityCheck の両方のステップは、基礎となる処理ジョブ実行によるステップ入力に基づいて新しいベースラインを計算します。これらの新しく計算されたベースラインには、プレフィックス CalculatedBaseline が付いたプロパティを介してアクセスします。これらのプロパティは、モデルパッケージの ModelMetrics として モデルステップ ステップで記録できます。このモデルパッケージは、5 つの異なるベースラインに登録できます。データバイアス、モデルバイアス、ClarifyCheck ステップの実行によるモデルの説明可能性とモデルの品質、QualityCheck ステップ実行によるデータ品質のチェックタイプごとに 1 つずつ登録できます。register_new_baseline パラメータは、ステップの実行後のプレフィックス BaselineUsedForDriftCheck が付いたプロパティの値セットを指定します。

次の想定されるユースケースの表は、ClarifyCheck ステップと QualityCheck ステップに設定できるステップパラメータに基づくさまざまな動作を示しています。

この設定の選択で想定されるユースケース skip_check / register_new_baseline ステップでドリフトチェックを行うか ステッププロパティ CalculatedBaseline の値 ステッププロパティ BaselineUsedForDriftCheck の値

新しいモデルバージョンを取得するためのチェックを有効にして定期的な再トレーニングを行っているが、モデルレジストリで新しいモデルバージョンに前のベースラインを DriftCheckBaselines として引き継ぎたい

False/ False 既存のベースラインに対してドリフトチェックを実行する ステップを実行して計算された新しいベースライン モデルレジストリの最新の承認済みモデルのベースライン、またはステップパラメータとして指定されたベースライン

新しいモデルバージョンを取得するためのチェックを有効にして定期的な再トレーニングを行っているが、新しいモデルバージョンで新しく計算したベースラインを使用して、モデルレジストリの DriftCheckBaselines を更新したい

False/ True 既存のベースラインに対してドリフトチェックを実行する ステップを実行して計算された新しいベースライン ステップを実行して新たに計算されたベースライン (プロパティ CalculatedBaseline の値)

特定のタイプのチェックでエンドポイントで Amazon SageMaker Model Monitor によって違反が検出され、以前のベースラインに対してこのタイプのチェックをスキップしたいが、新しいモデルバージョンのモデルレジストリDriftCheckBaselinesにあるように以前のベースラインを引き継ぐため、パイプラインを開始して新しいモデルバージョンを再トレーニングします。

True/ False ドリフトチェックなし 実行して計算された新しいベースライン モデルレジストリの最新の承認済みモデルのベースライン、またはステップパラメータとして指定されたベースライン
次の場合に発生:
  • パイプラインの初期実行を開始し、最初のモデルバージョンを構築して、初期ベースラインを生成している。

  • 特定のタイプのチェックに関してエンドポイントでの違反が Model Monitor で検出されたため、新しいモデルバージョンを再トレーニングするためのパイプラインを開始している。前のベースラインに対するチェックをスキップし、モデルレジストリで新しく計算したベースラインで DriftCheckBaselines を更新することを希望している。

True/ True ドリフトチェックなし ステップを実行して計算された新しいベースライン ステップを実行して新たに計算されたベースライン (プロパティ CalculatedBaseline の値)
注記

制約に科学的表記法を使用する場合は、float に変換する必要があります。その方法を示す前処理スクリプトの例については、「Create a Model Quality Baseline」を参照してください。

モデルステップ にモデルを登録するときに、BaselineUsedForDriftCheck プロパティを DriftCheckBaselines として登録できます。そうすると、これらのベースラインファイルを、Model Monitor でのモデルおよびデータの品質チェックに使用できます。さらに、これらのベースラインは、 ClarifyCheckStep および QualityCheck ステップで使用して、新しくトレーニングされたモデルを、将来のパイプライン実行のためにモデルレジストリに登録されている既存のモデルと比較することもできます。

パイプラインの以前のベースラインに対するドリフト検出

QualityCheck ステップでは、定期的な再トレーニングのためのパイプラインを開始して新しいモデルバージョンを取得する場合に、前の承認済みモデルバージョンのベースラインでデータ品質とデータバイアスの値が 違反のスキーマ (constraint_violations.json ファイル) のときは、トレーニングステップの実行が不要になることがあります。また、ClarifyCheck ステップを実行したときに、モデル品質、モデルバイアス、モデルの説明可能性が、前の承認済みモデルバージョンの登録ベースラインに違反している場合も、新しくトレーニングされたモデルバージョンの登録が不要になることがあります。このようなケースでは、必要なチェックを有効にするために、対応するチェックステップの skip_check プロパティを False に設定できます。これにより、前のベースラインに対する違反が検出されると、ClarifyCheck ステップと QualityCheck ステップが失敗します。そうすると、パイプラインプロセスが続行されなくなり、ベースラインからドリフトされたモデルは登録されず、ClarifyCheckQualityCheck のステップは、比較対象となる特定のモデルパッケージグループの最新の承認済みモデルバージョンの DriftCheckBaselines を取得できるようになります。また、前のベースラインは、supplied_baseline_constraints から (QualityCheck ステップの場合は supplied_baseline_statistics に加えて) 直接提供できるようになり、モデルパッケージグループからプルされたベースラインよりも常に優先されます。

Pipelines を使用したベースラインとモデルバージョンのライフサイクルと進化

ClarifyCheckQualityCheck のステップの register_new_baselineFalse に設定すると、前のベースラインにステッププロパティのプレフィックス BaselineUsedForDriftCheck を使用してアクセスできるようになります。その後、モデルステップ にモデルを登録するときに、これらのベースラインを新しいモデルバージョンに DriftCheckBaselines として登録できます。モデルレジストリでこの新しいモデルバージョンを承認すると、このモデルバージョンの DriftCheckBaseline が次のパイプラインプロセスの ClarifyCheck ステップと QualityCheck ステップで使用できるようになります。将来のモデルバージョンで特定のチェックタイプのベースラインを更新する場合は、register_new_baselineTrue に設定すると、プレフィックス BaselineUsedForDriftCheck の付いたプロパティが新しく計算されたベースラインになります。こうすることで、将来トレーニングするモデルの優先ベースラインを保持したり、必要に応じてドリフトチェックのベースラインを更新したりして、モデルトレーニングのイテレーション全体のベースラインの進化とライフサイクルを管理できます。

次の図は、 model-version-centricベースラインの進化とライフサイクルを示しています。

ベースラインの進化とライフサイクルの model-version-centricビュー。