

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 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` 步驟而言，基準是位於步驟屬性中的兩個檔案的組合：一個具有尾碼 `statistics`，另一個具有尾碼 `constraints`。在下列主題中，我們討論這兩個管道步驟中的這些屬性 (包含描述其使用方式的字首)、有影響力的基準行為以及生命週期。例如，`ClarifyCheck` 步驟一律會計算並指派 `CalculatedBaselineConstraints` 屬性中的新基準，而且 `QualityCheck` 步驟會在 `CalculatedBaselineConstraints` 和 `CalculatedBaselineStatistics` 屬性中執行相同的動作。

## ClarifyCheck 和 QualityCheck 步驟的基準計算和註冊
<a name="pipelines-quality-clarify-baseline-calculations"></a>

`ClarifyCheck` 和 `QualityCheck` 步驟一律會根據基礎處理任務執行的步驟輸入來計算新的基準。這些新計算的基準可透過具有字首 `CalculatedBaseline` 的屬性存取。您可以將這些屬性記錄為 [模型步驟](build-and-manage-steps-types.md#step-type-model) 中的模型套件之 `ModelMetrics`。此模型套件可以使用 5 個不同的基準註冊。您可以使用每種檢查類型的一個基準來註冊：資料偏差、模型偏差、執行 `ClarifyCheck` 步驟過程中的模型可解釋性、模型品質，以及執行 `QualityCheck` 步驟過程中的資料品質。在步驟執行之後，`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/zh_tw/sagemaker/latest/dg/pipelines-quality-clarify-baseline-lifecycle.html)  | True/ True | 無漂移檢查 | 透過執行步驟計算的新基準 | 透過執行步驟新計算的基準 (屬性 CalculatedBaseline 的值) | 

**注意**  
如果您在限制中使用科學表示法，則需要轉換為浮點數。如需執行此動作的預處理指令碼範例，請參閱 [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 可以使用這些基準檔案進行模型和資料品質檢查。此外，這些基準也可用於 ClarifyCheck 步驟和 `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/zh_tw/sagemaker/latest/dg/images/pipelines/Baseline-Lifecycle.png)
