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

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

生产中模型的特征归因漂移

生产中模型的实时数据分布的偏移会导致特征归因值出现相应的偏移,就像监控偏差指标时可能导致偏差偏移一样。Ama SageMaker zon 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 /i DCG

替换为

  • DCG= 1 m a (f' i) /log 2​ (i +1)

  • i DCG = 1 m a (f i) /log 2​ (i +1)

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

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

Model Monitor 示例笔记本

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

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