

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

# Amazon SageMaker Pipelines の ClarifyCheck と QualityCheck のステップを使用したベースライン計算、ドリフト検出、ライフサイクル
<a name="pipelines-quality-clarify-baseline-lifecycle"></a>

次のトピックでは、[`ClarifyCheck`](build-and-manage-steps-types.md#step-type-clarify-check) ステップと [`QualityCheck`](build-and-manage-steps-types.md#step-type-quality-check) ステップを使用する際に、Amazon SageMaker Pipelines でベースラインとモデルバージョンがどのように進化するかについて説明します。

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

## ClarifyCheck と QualityCheck のステップのベースライン計算と登録
<a name="pipelines-quality-clarify-baseline-calculations"></a>

`ClarifyCheck` と `QualityCheck` の両方のステップは、基礎となる処理ジョブ実行によるステップ入力に基づいて新しいベースラインを計算します。これらの新しく計算されたベースラインには、プレフィックス `CalculatedBaseline` が付いたプロパティを介してアクセスします。これらのプロパティは、モデルパッケージの `ModelMetrics` として [モデルステップ](build-and-manage-steps-types.md#step-type-model) ステップで記録できます。このモデルパッケージは、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 | ドリフトチェックなし | 実行して計算された新しいベースライン | モデルレジストリの最新の承認済みモデルのベースライン、またはステップパラメータとして指定されたベースライン | 
| 次の場合に発生: [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/sagemaker/latest/dg/pipelines-quality-clarify-baseline-lifecycle.html)  | True/ True | ドリフトチェックなし | ステップを実行して計算された新しいベースライン | ステップを実行して新たに計算されたベースライン (プロパティ CalculatedBaseline の値) | 

**注記**  
制約に科学的表記法を使用する場合は、float に変換する必要があります。その方法を示す前処理スクリプトの例については、「[Create a Model Quality Baseline](https://docs.aws.amazon.com/sagemaker/latest/dg/model-monitor-model-quality-baseline.html)」を参照してください。

[モデルステップ](build-and-manage-steps-types.md#step-type-model) にモデルを登録するときに、`BaselineUsedForDriftCheck` プロパティを `DriftCheckBaselines` として登録できます。そうすると、これらのベースラインファイルを、Model Monitor でのモデルおよびデータの品質チェックに使用できます。さらに、これらのベースラインを ClarifyCheckStep および `QualityCheck` ステップで使用すると、新たにトレーニングされたモデルと、将来のパイプラインの実行のためにモデルレジストリに登録されている既存のモデルと比較できます。

## Pipelines の以前のベースラインに対するドリフト検出
<a name="pipelines-quality-clarify-baseline-drift-detection"></a>

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

## Pipelines を使用したベースラインとモデルのバージョンのライフサイクルと進化
<a name="pipelines-quality-clarify-baseline-evolution"></a>

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

以下の図は、ベースラインの進化とライフサイクルをモデルバージョンを中心にして示しています。

![\[以下の図は、ベースラインの進化とライフサイクルをモデルバージョンを中心に説明しています。\]](http://docs.aws.amazon.com/ja_jp/sagemaker/latest/dg/images/pipelines/Baseline-Lifecycle.png)
