本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
基线计算、漂移检测和生命周期 ClarifyCheck 和 QualityCheck 亚马逊中的步骤 SageMaker 模型构建管道
以下主题讨论了亚马逊基准和模型版本如何演变 SageMaker 使用时对构建管道进行模型ClarifyCheck和QualityCheck步骤。
对于ClarifyCheckstep,基线是位于步骤属性中的单个文件,后缀为后缀constraints. 对于QualityCheckstep,基线是驻留在步骤属性中的两个文件的组合:一个带有后缀statistics另一个带有后缀constraints. 在以下主题中,我们将以前缀讨论这些属性,该前缀描述了它们的使用方式,从而影响这两个管道步骤中的基准行为和生命周期。例如,ClarifyCheckstep 始终在CalculatedBaselineConstraints财产和QualityCheckstep 在CalculatedBaselineConstraints和CalculatedBaselineStatistics属性。
基线计算和注册 ClarifyCheck 和 QualityCheck 步骤
无论您的ClarifyCheck和QualityCheck步骤始终根据通过底层处理作业运行的步骤输入来计算新的基线。这些新计算的基线可以通过带前缀的属性访问CalculatedBaseline. 您可以将这些属性记录为ModelMetrics中的模型包RegisterModel步骤。该模型包可以使用 5 种不同的基线注册。您可以为每种支票类型注册一个:数据偏差、模型偏差和模型可解释性ClarifyCheck步骤和模型质量,以及运行QualityCheck步骤。这些区域有:register_new_baseline参数指示了在属性中设置的带有前缀的值BaselineUsedForDriftCheck在一步运行之后。
下表列出了潜在用例的表格,显示了可以为ClarifyCheck和QualityCheck步骤:
| 选择此配置时可能会考虑的使用案例 | skip_check / register_new_baseline |
步骤会进行漂移检查吗? | Step 属性的价值CalculatedBaseline |
Step 属性的价值BaselineUsedForDriftCheck |
|---|---|---|---|---|
你正在定期进行再训练,并启用检查以获得新的模型版本,但是你想结转以前的基线作为 |
False/ False |
漂移检查将根据现有基线运行 | 通过运行步骤计算的新基线 | 模型注册表中最新批准的模型或作为步骤参数提供的基线 |
你正在定期进行再训练,并启用检查以获得新的模型版本,但是你想要刷新 |
False/ True |
漂移检查将根据现有基线运行 | 通过运行步骤计算的新基线 | 通过运行步骤(属性值)新计算的基线CalculatedBaseline) |
您正在启动管道以重新训练新模型版本,因为亚马逊检测到了违规行为 SageMaker 对于特定类型的检查的终端上的模型监视器,并且您想对照之前的基线跳过此类检查,但将之前的基线作为 |
True/ False |
无偏差检查 | 通过运行计算的新基准 | 来自模型注册表中最新批准的模型或作为步骤参数提供的基线 |
这发生在以下情况下:
|
True/ True |
无偏差检查 | 通过运行步骤计算的新基线 | 通过运行步骤(属性值)新计算的基线CalculatedBaseline) |
在RegisterModel步骤,您可以注册BaselineUsedForDriftCheck属性为DriftCheckBaselines. 然后,模型监视器可以使用这些基准文件进行模型和数据质量检查。此外,这些基线也可以用于 ClarifyCheckStep 和QualityCheck步骤将新训练的模型与在模型注册表中注册的现有模型进行比较,以便 future 的管道运行。
根据以前的基线进行漂移检测 SageMaker 管道
在这种情况下QualityCheckstep,当您启动定期再训练以获得新模型版本的管道时,如果数据质量和数据偏差存在,则可能不想运行训练步骤根据您之前批准的模型版本的基线。如果模型质量、模型偏差或模型可解释性违反了之前批准的模型版本的注册基线,则可能也不想注册新训练的模型版本ClarifyCheck步骤。在这些情况下,您可以通过设置skip_check设置为的相应检查步骤的属性False,导致ClarifyCheck和QualityCheck如果检测到违反之前的基准,则步骤失败。然后管道进程不会继续,因此不会注册偏离基线的模型。ClarifyCheck和QualityCheck步骤能够得到DriftCheckBaselines要比较的给定模型包组的最新批准的模型版本。以前的基准也可以直接通过supplied_baseline_constraints(除了supplied_baseline_statistics如果是QualityCheckstep),并且始终优先于从模型包组中提取的任何基线。
基线和模型版本生命周期和演进 SageMaker 管道
通过设置register_new_baseline您的ClarifyCheck和QualityCheck单步进入False,您之前的基线可以通过 step 属性前缀访问BaselineUsedForDriftCheck. 然后,您可以将这些基准注册为DriftCheckBaselines在新模型版本中RegisterModel步骤。在模型注册表中批准此新模型版本后,DriftCheckBaseline在此模型版本中可用于ClarifyCheck和QualityCheck下一个管道流程中的步骤。如果要为 future 模型版本刷新某种检查类型的基线,则可以设置register_new_baseline到True以便带有前缀的属性BaselineUsedForDriftCheck成为新计算的基线。通过这些方式,您可以为 future 训练的模型保留首选基准,或者在需要时刷新基准以进行漂移检查,从而在模型训练迭代中管理基线演变和生命周期。
下图阐明了 model-version-centric 基线演变和生命周期的视图。