监控生产中模型的特征归因偏移 - Amazon SageMaker
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

监控生产中模型的特征归因偏移

生产中模型的实时数据分布的偏移会导致特征归因值出现相应的偏移,就像监控偏差指标时可能导致偏差偏移一样。Amazon SageMaker Clarify 特征归因监控可帮助数据科学家和机器学习工程师定期监控特征归因偏移的预测。监控模型时,客户可以在 SageMaker Studio 中查看详细说明特征归因的可导出报告和图表,并在 Amazon CloudWatch 中配置警报,以便在检测到归因值偏离特定阈值时接收通知。

为了用具体情况来说明这一点,可以考虑一个大学录取假设情景。假设我们在训练数据和实时数据中观察到以下(汇总)特征归因值:

大学录取假设情景
特征 训练数据中的归因 实时数据中的归因
SAT 分数 0.70 0.10
GPA 0.50 0.20
班级排名 0.05 0.70

从训练数据到实时数据的变化似乎很大。特征排名完全颠倒了。与偏差偏移类似,特征归因偏移可能由实时数据分布的变化引起,因此需要仔细研究实时数据的模型行为。同样,在这些场景中,第一步是发出警报,告知发生了偏移。

我们可以通过比较各个特征从训练数据到实时数据的排名变化来检测偏移。除了对排名顺序的变化保持敏感外,我们还希望对特征的原始归因分数保持敏感。例如,给定两个特征,它们从训练数据到实时数据的排名中下降的位置数相同,我们希望对训练数据中归因分数较高的特征更加敏感。考虑到这些属性,我们使用标准化折扣累积增益 (NDCG) 分数来比较训练数据和实时数据的特征归因排名。

具体来说,我们假设:

  • F=[f1​,…,fm​] 是根据训练数据中的归因分数排序的特征列表,其中 m 是特征总数。例如,在我们的例子中,F=[SAT 分数, GPA, 班级排名]。

  • a(f) 是一个函数,它返回给定特征 f 的训练数据的特征归因分数。例如,a(SAT 分数) = 0.70。

  • F′=[f′​1​, …, f′​m​] 是根据其在实时数据中的归因分数排序的特征列表。例如,F′=[班级排名, GPA, SAT 分数]。

然后,我们可以计算出 NDCG 为:

        NDCG=DCG/iDCG​

其中

  • DCG = ∑1ma(f'i)/log2​(i+1)

  • iDCG = ∑1ma(fi)/log2​(i+1)

量 DCG 衡量的是训练数据中归因较高的特征在实时数据计算的特征归因中是否也排名靠前。量 iDCG 衡量的是理想分数,它只是一个归一化因子,用于确保最终量位于 [0, 1] 范围内,其中 1 是可能的最佳值。NDCG 值为 1 表示实时数据中的特征归因排名与训练数据中的特征归因排名相同。在这个具体示例中,由于排名变化很大,NDCG 值为 0.69。

在 SageMaker Clarify 中,如果 NDCG 值低于 0.90,我们会自动发出警报。

模型监控器示例笔记本

SageMaker Clarify 提供了以下示例笔记本,展示了如何捕获实时端点的推理数据,如何创建基准以监控不断变化的偏差,以及如何检查结果:

此笔记本经过验证,只能在 SageMaker Studio 中运行。如果您需要有关如何在 SageMaker Studio 中打开笔记本的说明,请参阅创建或打开 Amazon SageMaker Studio 笔记本。如果系统提示您选择内核,请选择 Python 3 (Data Science)。以下主题包含最后两个步骤的重点内容,并包含示例笔记本中的代码示例。