翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
Amazon SageMaker Pipelines の ClarifyCheck と QualityCheck のステップを使用したベースライン計算、ドリフト検出、ライフサイクル
次のトピックでは、ClarifyCheck ステップと QualityCheck ステップを使用する際に、Amazon SageMaker Pipelines でベースラインとモデルバージョンがどのように進化するかについて説明します。
ClarifyCheck ステップの場合、ベースラインは、ステッププロパティ内の単一のファイルであり、サフィックスが constraints になります。QualityCheck ステップの場合、ベースラインは、ステッププロパティ内の 2 つのファイルの組み合わせです。一方のサフィックスは statistics、もう一方のサフィックスは constraints になります。以下のトピックでは、これらのプロパティおよびプロパティの使用方法を示すプレフィックスについて説明します。これらは、2 つのパイプラインステップでベースラインの動作とライフサイクルに影響を与えます。例えば、ClarifyCheck ステップは、常に CalculatedBaselineConstraints プロパティで新しいベースラインを計算して割り当てます。QualityCheck ステップは CalculatedBaselineConstraints と CalculatedBaselineStatistics プロパティで同じ処理を行います。
ClarifyCheck と QualityCheck のステップのベースライン計算と登録
ClarifyCheck と QualityCheck の両方のステップは、基礎となる処理ジョブ実行によるステップ入力に基づいて新しいベースラインを計算します。これらの新しく計算されたベースラインには、プレフィックス CalculatedBaseline が付いたプロパティを介してアクセスします。これらのプロパティは、モデルパッケージの ModelMetrics として モデルステップ ステップで記録できます。このモデルパッケージは、5 つの異なるベースラインに登録できます。データバイアス、モデルバイアス、ClarifyCheck ステップの実行によるモデルの説明可能性とモデルの品質、QualityCheck ステップ実行によるデータ品質のチェックタイプごとに 1 つずつ登録できます。register_new_baseline パラメータは、ステップの実行後のプレフィックス BaselineUsedForDriftCheck が付いたプロパティの値セットを指定します。
次の想定されるユースケースの表は、ClarifyCheck ステップと QualityCheck ステップに設定できるステップパラメータに基づくさまざまな動作を示しています。
| この設定の選択で想定されるユースケース | skip_check / register_new_baseline |
ステップでドリフトチェックを行うか | ステッププロパティ CalculatedBaseline の値 |
ステッププロパティ BaselineUsedForDriftCheck の値 |
|---|---|---|---|---|
新しいモデルバージョンを取得するためのチェックを有効にして定期的な再トレーニングを行っているが、モデルレジストリで新しいモデルバージョンに前のベースラインを |
False/ False |
既存のベースラインに対してドリフトチェックを実行する | ステップを実行して計算された新しいベースライン | モデルレジストリの最新の承認済みモデルのベースライン、またはステップパラメータとして指定されたベースライン |
新しいモデルバージョンを取得するためのチェックを有効にして定期的な再トレーニングを行っているが、新しいモデルバージョンで新しく計算したベースラインを使用して、モデルレジストリの |
False/ True |
既存のベースラインに対してドリフトチェックを実行する | ステップを実行して計算された新しいベースライン | ステップを実行して新たに計算されたベースライン (プロパティ CalculatedBaseline の値) |
特定のタイプのチェックに関してエンドポイントでの違反が Amazon SageMaker Model Monitor で検出されたため、新しいモデルバージョンを再トレーニングするためのパイプラインを開始しており、このタイプのチェックを前のベースラインに対してはスキップするが、前のベースラインを新しいモデルバージョンの |
True/ False |
ドリフトチェックなし | 実行して計算された新しいベースライン | モデルレジストリの最新の承認済みモデルのベースライン、またはステップパラメータとして指定されたベースライン |
次の場合に発生:
|
True/ True |
ドリフトチェックなし | ステップを実行して計算された新しいベースライン | ステップを実行して新たに計算されたベースライン (プロパティ CalculatedBaseline の値) |
注記
制約に科学的表記法を使用する場合は、float に変換する必要があります。その方法を示す前処理スクリプトの例については、「Create a Model Quality Baseline」を参照してください。
モデルステップ にモデルを登録するときに、BaselineUsedForDriftCheck プロパティを DriftCheckBaselines として登録できます。そうすると、これらのベースラインファイルを、Model Monitor でのモデルおよびデータの品質チェックに使用できます。さらに、これらのベースラインを ClarifyCheckStep および QualityCheck ステップで使用すると、新たにトレーニングされたモデルと、将来のパイプラインの実行のためにモデルレジストリに登録されている既存のモデルと比較できます。
Pipelines の以前のベースラインに対するドリフト検出
QualityCheck ステップでは、定期的な再トレーニングのためのパイプラインを開始して新しいモデルバージョンを取得する場合に、前の承認済みモデルバージョンのベースラインでデータ品質とデータバイアスの値が 違反のスキーマ (constraint_violations.json ファイル) のときは、トレーニングステップの実行が不要になることがあります。また、ClarifyCheck ステップを実行したときに、モデル品質、モデルバイアス、モデルの説明可能性が、前の承認済みモデルバージョンの登録ベースラインに違反している場合も、新しくトレーニングされたモデルバージョンの登録が不要になることがあります。このようなケースでは、必要なチェックを有効にするために、対応するチェックステップの skip_check プロパティを False に設定できます。これにより、前のベースラインに対する違反が検出されると、ClarifyCheck ステップと QualityCheck ステップが失敗します。そうすると、パイプラインプロセスが続行されなくなり、ベースラインからドリフトされたモデルは登録されず、ClarifyCheck と QualityCheck のステップは、比較対象となる特定のモデルパッケージグループの最新の承認済みモデルバージョンの DriftCheckBaselines を取得できるようになります。また、前のベースラインは、supplied_baseline_constraints から (QualityCheck ステップの場合は supplied_baseline_statistics に加えて) 直接提供できるようになり、モデルパッケージグループからプルされたベースラインよりも常に優先されます。
Pipelines を使用したベースラインとモデルのバージョンのライフサイクルと進化
ClarifyCheck と QualityCheck のステップの register_new_baseline を False に設定すると、前のベースラインにステッププロパティのプレフィックス BaselineUsedForDriftCheck を使用してアクセスできるようになります。その後、モデルステップ にモデルを登録するときに、これらのベースラインを新しいモデルバージョンに DriftCheckBaselines として登録できます。モデルレジストリでこの新しいモデルバージョンを承認すると、このモデルバージョンの DriftCheckBaseline が次のパイプラインプロセスの ClarifyCheck ステップと QualityCheck ステップで使用できるようになります。将来のモデルバージョンで特定のチェックタイプのベースラインを更新する場合は、register_new_baseline を True に設定すると、プレフィックス BaselineUsedForDriftCheck の付いたプロパティが新しく計算されたベースラインになります。こうすることで、将来トレーニングするモデルの優先ベースラインを保持したり、必要に応じてドリフトチェックのベースラインを更新したりして、モデルトレーニングのイテレーション全体のベースラインの進化とライフサイクルを管理できます。
以下の図は、ベースラインの進化とライフサイクルをモデルバージョンを中心にして示しています。