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

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

监控生产中模型的功能归因漂移

生产模型的实时数据分布的偏移可能会导致功能归因值的相应变化,就像监控偏差指标时可能导致偏差偏移一样。亚马逊 SageMaker 澄清功能归因监控可帮助数据科学家和机器学习工程师定期监控功能归因偏移的预测。随着模型受到监控,客户可以在中查看可导出的报告和图表,详细说明功能属性 SageMaker 在 Amazon 中配置 Studio 和配置警报 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. 例如,一个(SAT 分数)= 0.70。

  • F′= [f′1,..., f′m]是根据实时数据中的归因分数排序的要素列表。例如,F′= [班级排名、GPA、SAT 分数]。

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

        ndCG=DG/IDCG

替换为

  • DCG = Σ1M一个(f'i) /log2​(i+1)

  • iDCG = Σ1M一个(fi) /log2​(i+1)

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

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

模型监控器例笔记本

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

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