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

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

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

生产中模型的实时数据分布中的漂移可能会导致要素归因值中的相应漂移,就像监视偏差度量时会导致偏差一样。Amazon SageMaker 澄清功能归因监控可帮助数据科学家和 ML 工程师定期监控要素归因漂移的预测。在监控模型时,客户可以在 SageMaker Studio 中查看详细描述要素属性的可导出报告和图表,并在 Amazon CloudWatch 中配置警报,以便在检测到归因值漂移超出特定阈值时接收通知。

为了在具体情况下说明这一点,请考虑一个假设的大学录取场景。假设我们在训练数据和实时数据中观察到以下(聚合)要素属性值:

大学录取假设情景
功能 训练数据的归因 实时数据中的归因
SAT 得分 0.70 0.10
全球行动计划 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) /日志2​(i+1)

  • IDCG =1Ma(fi) /日志2​(i+1)

数量 DCG 测量训练数据中属性较高的要素在根据实时数据计算的要素归因中是否也排名较高。数量 IdCG 测量理想分数,它只是一个归一化因子,以确保最终数量位于 [0, 1] 范围内,其中 1 是可能的最佳值。NDCG 值为 1 表示实时数据中的要素归因排名与训练数据中的要素归因排名相同。在这个特定的例子中,由于排名发生了相当大的变化,NDCG 值为 0.69。

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

模型监控器示例笔记本

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

此笔记本电脑已经验证仅在 SageMaker 工作室中运行。如果您需要有关如何在 SageMaker Studio 中打开笔记本的说明,请参阅创建或打开 Amazon SageMaker 工作室笔记本电脑. 如果系统提示您选择内核,请选择Python 3(数据科学). 以下主题包含最后两个步骤的亮点,它们包含示例笔记本中的代码示例。