特定领域的机器学习监控

简介: 要检测到您的机器学习服务没有按预期运行,通常可以创建特定于您的产品的自定义指标。我将向您提出两个有助于设计此类指标的问题:

您的用户期望什么?

两年前,当他们放弃了一个重要的智慧宝藏时,我正坐在 Spotify 关于他们主页个性化的演讲中。他们的个性化主页布局包括用户特定和上下文特定顺序的不同轮播。

作为一个健全的指标,他们监控用户最常用的轮播的排名。 对于新的个性化算法,如果用户最喜欢的轮播排名较低或排名突然下降,则表明存在问题。

您可以将指标视为基本用户故事或简单的常识基线(baseline):

作为一个用户,我希望我最喜欢的轮播可以轻松访问(页面排名靠前)。

有时,这些故事甚至可以更基本,并且仍然可以有效地发现问题。在Zalando(欧洲最大的电子商务时尚零售商之一),我们根据用户的上下文实时个性化推荐产品页面上的类似文章。如果一个请求没有足够的上下文来完全个性化,那么下一个最好的选择,非个性化的模型,就会被交付。因此,一个简单的指标可以是至少有4篇文章的完全个性化回复的份额:

作为用户,我希望看到一个个性化的推荐框。

你能想到你的产品的基本常识规则吗?

提示:如果您难以从用户的角度提出指标,请尝试集思广益的技术用户故事,并专注于那些对用户体验有影响的故事。


你能鉴别一个糟糕的用户体验吗?

我的第二个帮助您设计特定于领域的机器学习监控指标的技巧是观察极端情况,而不是典型的经验。这种方法在其他监控领域很常见,如应用程序延迟监控。为了检测我们服务速度的问题,我们根据95分位数和99分位数而不是中值发出警报。当速度变慢时,你会发现95分位数和99分位数的速度要比中值快得多。

我们可以采取类似的方法,通过询问以下问题来监控我们的机器学习服务响应:

哪种服务响应可能是糟糕的用户体验?

让我们考虑一些最有可能是不良用户体验的示例:

  • 空响应:您的服务以空响应进行响应,例如,因为模型无法给出预测,或者预测的条目/艺术家/歌曲等被业务规则过滤掉。
  • 部分填充响应:您的模型只给出部分响应。对于产生推荐模型或等级库等集合的模型,会发生这种情况。任何时候,如果您预测填充面向用户的组件所需的文章更少(例如,4篇文章填充一个推荐框,10个结果填充一个谷歌结果页面,……),您都可以假设您的结果看起来有点糟糕。
  • 应急响应:您提供的不是高质量的答案,而是应急响应。回退可以是默认值、流行/最近的条目,甚至是非常基本的模型。
  • 低确定性响应:如果您的模型对其预测不确定,例如,在单个标签分类问题中存在中低概率或具有相同概率的多个类别,则响应很可能质量不佳。

通过深入思考您提供的服务类型并与了解您用户的人(可能是产品经理?)交谈来设计“不良体验”指标通常是有意义的。


不要只是测量:报警!

将这些指标作为分析 notebook 运行是很好的,但它不会让您放心,您的服务现在和将来的任何时候都能按预期工作。根据我在Zalando推荐团队为数百万用户运行许多模型和服务的经验,我可以确认推理服务代码、客户端代码、配置、推理输入数据、训练数据、模型库或训练代码中的错误定期发生。您需要实时指标来检测影响机器学习服务质量的问题。

网络异常,图片无法展示
|

第一步是创建您的指标,并对其进行几周的评估。此分析可以在notebook(如果可能)中完成,也可以通过在实时服务中实现度量来完成。它们稳定吗?在你知道你有质量问题的时候,它们会下降吗?

如果一个指标在一段时间内相对稳定,并且在发生问题时确认(或至少预期)会下降,那么您可以使用合理的阈值发出警报。您根据对“典型水平”的分析来定义阈值。如果指标有点杂乱,您可以进行清理,例如:应用平滑,考虑稍微更改其定义(例如,与上周/昨天的同一时间相比,占总数的百分比……),或者仅针对较大差异发出警报。

产生特定于域的噪声指标的一个典型原因是机器人流量。如果机器人流量包含在您的指标中,并且机器人的输入分布与人类用户不同,那么模型指标的行为可能不规则。如果无法在度量收集期间删除机器人程序,则可以在有助于限制对“机器人程序背景噪音”不影响度量的时间发出警报,例如:在白天。

现在,您可以将警报放在仪表板上,并将其连接到自动通知。


相关文章
|
7月前
|
机器学习/深度学习 数据采集 自然语言处理
编写员工聊天监控软件的机器学习模块:Scikit-learn在行为分析中的应用
随着企业对员工行为监控的需求增加,开发一种能够自动分析员工聊天内容并检测异常行为的软件变得愈发重要。本文介绍了如何使用机器学习模块Scikit-learn来构建这样一个模块,并将其嵌入到员工聊天监控软件中。
246 3
|
机器学习/深度学习 监控 数据可视化
机器学习模型监控的 9 个技巧
机器学习 (ML) 模型是非常敏感的软件;它们的成功使用需要仔细监控以确保它们正常工作。 当使用所述模型的输出自动做出业务决策时尤其如此。这意味着有缺陷的模型通常会对最终客户体验产生真正的影响。
|
机器学习/深度学习 数据采集 人工智能
whylogs工具库的工业实践!机器学习模型流程与效果监控 ⛵
本文讲解如何使用whylogs工具库,构建详细的AI日志平台,并监控机器学习模型的流程与效果。核心操作包括:环境配置、新建项目并获取ID、获取组织ID和访问Key、将配置文件写入WhyLabs、监控模型性能指标。
915 2
whylogs工具库的工业实践!机器学习模型流程与效果监控 ⛵
|
机器学习/深度学习 数据采集 传感器
机器学习模型监控清单
一旦在生产环境中部署了机器学习模型,就需要确保它的性能。在本文中,我们建议如何监视您的模型和要使用的开源工具。 建立机器学习模型并不容易。在生产环境中部署服务更加困难。但即使你成功地将所有流水线连接在一起,事情也不会就此停止。
|
机器学习/深度学习 数据采集 存储
机器学习模型监控(Aporia)(下)
机器学习模型监控 什么是机器学习 (ML) 模型监控? 机器学习监控是一组用于观察生产中的 ML 模型并确保其性能可靠性的技术。 ML模型通过观察数据集中的示例进行训练,并将代表模型在训练任务中表现的好坏的错误最小化。
|
机器学习/深度学习 数据采集 监控
机器学习模型监控(Aporia)(上)
机器学习模型监控 什么是机器学习 (ML) 模型监控? 机器学习监控是一组用于观察生产中的 ML 模型并确保其性能可靠性的技术。 ML模型通过观察数据集中的示例进行训练,并将代表模型在训练任务中表现的好坏的错误最小化。
|
机器学习/深度学习 数据采集 监控
机器学习可观察性 VS 机器学习监控(Aporia)
当您向机器学习 (ML) 工程师询问他们面临的最大挑战时,监控和可观察性通常是最重要的。 造成这种情况的原因有很多,包括数据漂移、概念漂移、偏见和公平以及对抗性输入等等。 发现问题通常是解决问题的第一步,这就是监控和可观察性的用武之地。
|
7月前
|
机器学习/深度学习 存储 搜索推荐
利用机器学习算法改善电商推荐系统的效率
电商行业日益竞争激烈,提升用户体验成为关键。本文将探讨如何利用机器学习算法优化电商推荐系统,通过分析用户行为数据和商品信息,实现个性化推荐,从而提高推荐效率和准确性。
253 14
|
7月前
|
机器学习/深度学习 算法 搜索推荐
Machine Learning机器学习之决策树算法 Decision Tree(附Python代码)
Machine Learning机器学习之决策树算法 Decision Tree(附Python代码)