RetentionScience:自动化机器学习监控[RS Labs]

2018年09月21日 由 荟荟 发表 230650 0
这篇博客稍微介绍了我们的一个内部监控工具,它忽略了我们整个ETL管道,并帮助我们掌握机器学习模型。

背景:
想象一下,如果病毒礼貌的奶奶在她的搜索查询中输入时的想法实际上是这样的:屏幕另一边有一个人工操作员接受他/她的心血来潮的查询,然后他们手动搜索网站并返回一个相关结果清单。它将在这样一个预先自动化的世界中,您可以想象数据科学家手动监控一长串客户的机器学习模型列表。谷歌需要一个地狱的客户服务部门来满足他们每秒40,000次的搜索,而我们保留科学的数据科学家没有足够的时间来重新填充我们的咖啡。

一句话:可扩展性。嗯,实际上有两个词:可伸缩性和懒惰。您想要为100个客户端中的一个客户端执行相同的操作吗?自动化。你是懒惰,讨厌单调的劳动?绝对自动化!后者在ReSci中成为我们早期(和更大)的激励因素,开始实现我们日常和每周监控任务的大部分自动化。

在古代,每个数据科学家都会被分配一个不同的客户列表,任务是每周一次监控他们的各种模型。我们将进入我们的数据库,查看为每个客户运行的所有模型的文本报告,并可能运行脚本绘制一两个图表来帮助我们好奇的眼睛。

但是,如果你拥有如此复杂的人工智能平台,其中有超过50个模型可以运行在许多客户身上,就像我们在保留科学中所做的那样,那就是工作的尖叫。随着客户和模型列表的增加,这一堆将会越来越高。

进入索伦:

sauroneye

不,不是邪恶的暴君索伦。护剑你的剑。这是我们全能的,一站式服务的全部内部机器学习监控系统,我们也称之为Sauron。以下是其演变的简要背景。

数据可视化:
我们系统中的每个机器学习模型系列都有自己的自定义报告器,它会发布有关模型输出的重要统计信息列表。例如,对于我们的推荐模型,我们希望看到推荐项目分布的样子,模型涵盖的用户数量,以及表示的活动项目数等。

能够用图表和颜色消化这些数字输出自然是我们团队的首要任务。我们创建了一个名为Sauron的应用程序,在那里我们可以通过酷炫的数据可视化库看到我们的模型如何在所有客户端中执行。此应用程序的另一个额外优势是,我们可以轻松地并排比较同一套件中的不同模型(例如流失),这使得更容易进行A / B测试决策。今天,我们有一个单独的A / B Framework API,我们可以在不同的模型中轻松设置任何类型的无偏测试,但在另一个博客中更多。

身体形象1

另一个重大胜利是能够随着时间的推移查看我们的模型表现,这在以前很难做到,因为它涉及手动打开历史日期的每个报告。这些时间序列图表帮助我们更多地了解了我们的模型以及它们如何在时间上为每个客户执行。我们为每个添加到工具集的新模型添加监控UI,这是一种标准做法。这被证明是我们堆栈的一个很好的补充。

监控仪表板:
我们设置了每周任务,每个数据科学家都会有一个清单来监控他们分配的客户列表。这些检查的一些例子是:

默认推荐方案是否具有良好的用户和项目覆盖范围?
流失分配是否正常?ROC和PR曲线下面积是否可以接受?
CLV和Churn的不同队列之间有很好的区别吗?
预测的站点级CLV的误差是否在3个月内评估在可接受的范围内?
这些艰苦但重要的检查占据了我们周一早上充满活力的大部分时间。但它确实有效。我们在这里和那里发现了一些错误,根据我们的观察调整模型参数甚至切换模型。这个反馈循环帮助我们的模型更好地学习。但由于我们开启的模型比实际使用的模型多,并且每个模型都有大量信息,我们同意制作一个监控仪表板,只显示实际模型中最重要和最受追捧的统计信息支持电子邮件。

身体形象2

图:典型的监视器,显示了我们模型的一些最相关的指标。

显示器很快就会成为我们每周检查的一站式地方。我们可以在这里看到最重要的分布和时间序列图表,并轻松指出任何异常情况。如果我们需要更多的探测,我们将回到特定的模型仪表板并了解更多信息。监控器还包括每个重要指标旁边的增量指标,显示其值是上升还是下降以及与前一天的值相比多少。快速浏览一下这些变化就足以看出事情的进展。

自动化:警报
尽管我们现在每个客户的花费时间更少,但Sauron仍然不是一个可扩展的解决方案。添加到列表中的客户端越多,就越难以充分关注每个客户端,同时平衡其他项目。还记得以上关于自动化的整个激励故事吗?我们知道我们必须做些什么才能扩展。

我们的团队进行了头脑风暴,并提出了一些关键指标和阈值,用于定义特定行为是否值得发出警报。我们有两种类型的支票:

绝对检查(例如,用户覆盖范围不应等于0)
相对检查(例如今天的用户覆盖率不应超过昨天的20%)
这个想法很简单。如果某些东西没有看起来或改变它应该的方式,那么就会出现问题。因此,一旦我们的ETL完成当天,将对所有客户的所有模型运​​行这些检查,然后编译合格警报并通过电子邮件发送给数据科学团队采取行动。

建立警报系统的好处是双重的。首先,我们捕获了更多的错误,这些错误都是在创建时捕获的。其次,它消除了正确识别异常的人为错误,为关键利益相关者节省了宝贵的时间。

身体形象3

图:我们的部分堆栈以及Sauron如何适应它的高度概括的视图

在Retention Science,我们拥有一个受到良好监控的端到端管道,可以为所有可信赖的客户无缝运行。我们的数据科学团队已经实现了足够的抽象,以避免不必要地进入杂草,同时对我们的监督更有信心,使我们能够有效地提高我们的生产力和规模。我们的使命是确保我们在正确的时间将目光吸引到正确的位置,并且在前往Mount Doom时不要让任何霍比人逃避我们。
欢迎关注ATYUN官方公众号
商务合作及内容投稿请联系邮箱:bd@atyun.com
评论 登录
写评论取消
回复取消