什么是机器学习可观测性?

什么是机器学习可观测性?

随着越来越多的团队转向机器学习来简化业务,或是以前不切实际的技术变成现实,人们对能够帮助将研究实验室中的模型带到客户手中的工具和人员越来越感兴趣。Google 构建了 TFX,Facebook 构建了 FBLearner,Uber 构建了 Michaelangelo,Airbnb 构建了 Bighead,这些系统让这些时代能够扩展他们的 MLOps。

在这些大型科技公司之外,事实是,在实验室中建立概念的机器学习证明与在现实世界中制作模型截然不同。让我们先快速看一下在将模型应用于现实世界的问题时可能出错的一些事情

  1. 训练服务偏差

部署模型时,模型很可能不如离线验证时表现得那么好。这些到生产的交接并不总是顺利,通常被称为训练/服务偏差。

一个潜在的问题是你的模型训练所使用的数据与你在生产中看到的数据在统计上不同的。另一种可能是训练环境和生产环境之间的特征转换代码不一致。这可能比我们想象的更常见。通常,包含特征转换代码的笔记本在没有太多版本控制的情况下被传递和更改,这可能导致混淆用于为模型创建特征的确切类型的转换。如果在训练和生产环境之间创建特征的方式不一致,模型的性能可能会立即受到重大打击。

Training Serving Skew. Image by Author.

2. 改变数据分布

除了训练和生产数据以及特征转换之间的这种潜在差异之外,模型的数据分布也可能随着时间的推移而发生变化,通常称为数据漂移或特征漂移。这种漂移可能是渐进的,也可能在一夜之间发生,并导致模型的性能下降。

Changing Distributions. Image by Author.

3. 杂乱的数据

另一件需要注意的事情是数据源的保真度。事情不会像代码一样保持不变。你在处理数据,在研究实验室中,通常要花费数千小时来创建具有最小噪声和准确标签的高质量数据集。在现实世界中,您通常无法保证质量或新鲜度。如果依赖外部数据源,则可能会受到其可靠性的影响。

可观测性如何帮助我们?

ML Observability 是一种深入了解模型在模型开发周期所有阶段的性能的实践:在构建过程中,一旦部署,并长期进入生产周期。

可观察性是部署模型后盲目飞行的团队与可以快速迭代和改进模型的团队之间的关键区别。

  1. 检测时间

ML 可观察性的第一个关键目标是及时展示这些问题。在你知道问题之前,可以解决问题,并且你不希望客户在你意识到出现问题之前遭受数天或数周的痛苦。因此,一个好的 ML 可观察性解决方案有助于减少检测模型中问题所需的时间。

这在不同的上下文中可能意味着不同的事情。如果您正在构建模型,一个好的可观察性工具可能会帮助模型构建者更快地发现模型的问题,从而促进更紧密的迭代循环;然而,在生产场景的上下文中,机器学习可观察性工具可能会监控关键性能指标,这些指标可以在出现问题时通知模型所有者。

2. 解决问题的时间

尽管检测问题是第一步,但这并不是 ML 可观测性停止的地方。一旦检测到问题,就需要一个可观察性工具来促进问题的解决。一个好的可观察性工具的关键标志是团队可以多快地找到根本原因来解决。

回到我们之前讨论的内容,模型的性能可以通过多种方式退化。一个好的 ML 可观察性解决方案需要引导模型所有者了解改变的输入数据分布、特征转换或模型预测期望,并提供解决方案。

例如,如果你发现模型的输入特征随着时间的推移稳步漂移,并且导致模型对特定示例集进行错误预测,则 ML 可观察性工具可能会通知,推荐一种方法来增强的训练集,并提示重新训练模型。

ML Engineer Lifecycle. Image by Author.

如何实现机器学习可观察性?

评估商店。作者图片。

现在你可能会认为 ML 可观测性听起来很棒,团队实际上是如何实现这一目标的?ML 可观察性可以通过应用评估商店来实现。评估商店的工作是帮助验证模型、调试模型预测问题、显示性能最差的数据片段,并就如何以及何时重新训练模型提供建议。

为了更深入地了解评估存储的作用,让我们探索评估存储如何适应 ML 模型生命周期的每个部分。

启动前验证

在模型构建的训练和验证阶段,评估存储在跟踪训练数据中每个定义切片的模型性能方面起着关键作用。当特定切片的模型性能发生显着变化时,或者测试结果中可能出现新的有趣数据切片时,评估存储的工作是通知模型构建器。此外,在训练和验证期间,评估存储应该检测输入数据是否与生产数据显着不同,以帮助避免我们之前提到的训练-生产偏差问题。

转到模型部署,评估商店还可以帮助选择最适合推广到生产的模型。通过跟踪模型在生产中对一组候选模型所做的预测,评估存储可以编译关于哪个模型在各种数据切片上表现最佳的结果。

监控

当模型部署到生产中时,评估存储会跟踪所有输入特征和输出预测,以便在这些分布中的任何一个发生显着变化时提供警报。最重要的是,评估存储需要跟踪生产中每个输入示例的预测和真实情况。

在一些模型应用中,ground truth在模型做出预测后立即可用——想想搜索结果,用户点击了最相关的链接,你现在知道你放在上面的链接是否真的与用户最相关。

但是,在其他情况下,ground truth 可能会延迟或完全丢失。在这些更棘手的场景中,评估商店的工作是帮助团队跟踪与模型性能相关的代理指标,并在这些代理指标的分布发生显着变化时向模型所有者提供警报。

根本原因

在生产中的模型中检测到问题后,评估存储可以显示输入数据、特征、基本事实/代理指标​​中的哪些关键分布对模型性能的变化做出了贡献。由于评估存储始终跟踪此模型元数据,因此它可以检测每个分布随时间的漂移并找出最大的影响因素。

能够检测模型回归并将其分类为故障模式有助于为模型所有者应如何解决问题提供指导。例如,假设有一个模型试图预测向用户宣传哪个电视节目,以最大限度地提高他们观看该节目的可能性。你不知道的是,大量的年轻用户已经开始使用你的产品,他们的喜好并没有很好地反映在训练数据中。

评估商店将能够检测并显示模型性能的显着变化,并指出输入数据和特征分布的变化。可以深入了解哪些特征发生了最剧烈的变化,并看到“年龄”特征的分布在模型回归前后转移到了较年轻的一侧。

此时,可以使用你的评估商店来查找这些新的年轻用户的示例,使用这些示例扩充训练集,并重新训练模型以更好地将这些新用户考虑在内。

改进模型

随着数据集变得更大以支持更大的模型和问题空间的扩大,评估存储的一个关键作用是显示模型性能不佳的数据切片。有了对存在哪些提高模型性能的机会的洞察力,模型构建者可以扩充他们的训练集、添加新特征、重新训练他们的模型,或者带着这些新的学习回到绘图板。

结论

总之,通过应用评估商店实现的 机器学习 可观察性可以在验证、监控、故障排除和改进模型的整个过程中帮助您的团队。通过对模型随时间推移的性能进行自省,ML 可观察性可以帮助团队识别训练数据中的差距、模型表现不佳的示例的表面切片、并排比较模型性能、验证模型并识别生产中的问题。停止盲目飞行,将您的机器学习工作提升到一个新的水平。

作者:Aparna Dhinakaran

免责声明:凡未注明来源或者来源为网络的信息均转自其它平台,是出于传递更多信息之目的,并不意味着赞同其观点或证实其内容的真实性。网站只负责对文章进行整理、排版、编辑,不承担任何法律责任。若有侵权或异议请联系我们删除,谢谢。

发表评论

您的电子邮箱地址不会被公开。