超越监控:可观察性的崛起

 一个重复的数据集或过时的模型可能会导致意想不到的(但严重的)后果,单靠监控无法捕捉或预防. The solution? Observability. 以下是它与传统监控的不同之处,以及为什么需要构建更值得信赖和可靠的数据产品. 

Garbage in, garbage out. 这是数据和ML团队的一个普遍说法,理由很充分——但在2021年,这已经不够了. 

数据(以及它所支持的模型)可能会在管道中的任何一点被破坏, 而且仅仅解释摄入时的数据质量问题是不够的. Similarly, when you’re deploying ML models, 可能会出现大量在测试或验证过程中没有发现的问题, not just with the data itself. 

当你不知道你的环境中有什么东西坏了——更不用说它是怎么发生的了——它就会破坏你分析和实验的完整性, 更不用说你的利益相关者的信任了. 

对于企业来说,这可能意味着收入损失、资源浪费和决策失误. In real-world applications, 由错误数据驱动的ML模型的后果可能更加严重. 例如,2020年,底特律的一名黑人是 wrongfully arrested 被面部识别软件识别错误后入狱,可能是因为 bias issues 其中包括以白人和男性为主的训练数据集. 

不可否认,机器学习中的坏数据问题是普遍存在的. 麻省理工学院最近撤下了他们的全部8000万张微型图像数据集,因为 种族歧视、性别歧视和侮辱性的标签, and the massive ImageNet库删除了超过60万张图片 因为在线艺术项目ImageNet Roulette也暴露了类似的问题. 多年来,这些数据集一直被用来训练ML模型,其中包括有缺陷的标签等等.

数据质量问题很常见,因为它们很难解决. Maintaining clean, 大多数数据和ML项目所需的高质量数据非常耗时——而且没有正确的方法, near to impossible. Here’s where observability comes in. 

Defining data observability  

一种简单的方法是通过软件应用程序可靠性的角度来确定“垃圾数据”(无论它位于系统中的哪个位置)的影响. For the past decade or so, 软件工程师利用了像New Relic和DataDog这样的针对性解决方案,以确保高的应用正常运行时间(换句话说, working, 性能软件),同时保持停机时间(停机和滞后软件)到最小. 

In data, we call this phenomena data downtime. 数据停机时间是指数据不完整的一段时间, erroneous, missing, or otherwise inaccurate, 当数据系统变得越来越复杂时,它只会成倍增加, 支持资源和消费者的无尽生态系统.

通过应用软件应用的相同原则,可观察性和可靠性的数据和ML, these issues can be identified, resolved and even prevented, 让数据团队对他们的数据有信心,从而提供有价值的见解.

Data monitoring vs. data observability

经常出现的一个问题是:“我已经在监控我的数据了. 为什么我也需要可观察性?” 

It’s a good question. For so long, 这两者是可以互换使用的, 但监测和可观察性是两件完全不同的事情. 

数据可观察性使监控成为可能, 大多数技术人员都很熟悉的是:推荐一个正规滚球网站希望第一个知道什么时候发生了故障, and to troubleshoot quickly. 数据质量监控的工作原理与此类似, 当数据资产看起来与已建立的指标或参数不同时,向团队发出警告. 

For example, 如果值超出预期范围,数据监视将发出警报, 数据还没有更新, 或者1亿行突然变成了100万行. 但在为数据生态系统设置监视之前, 推荐一个正规滚球网站刚刚讨论过的所有属性都需要可见性——这就是数据可观察性的作用所在.

数据可观察性还通过提供粒度来实现主动学习, 关于数据的上下文信息. 团队可以研究数据资产,检查模式更改,并确定新的或新的根本原因 unknown problems. By contrast, 根据预定义的问题监视问题警报, 以总量和平均值表示数据. 

有了数据的可观察性,公司就可以深入了解 数据健康的五个关键支柱:新鲜度、分布、体积、图示和血统. 面向机器学习从业者, 可观察性有助于提供一定程度的信心,确保提供给模型的数据是完整和最新的, 并且在公认的范围内. 

数据可观察性的五大支柱. Image courtesy of Monte Carlo.

And when problems do arise, visibility into schema and lineage helps swiftly answer pertinent questions about what data was impacted; what changes may have been made, when, and by whom; and which downstream consumers may be impacted.

可观察性整合了对数据运行状况的五个支柱的监视, 同时也对问题进行提醒和分类,端到端, automated data lineage. Applied together, 这些功能使得数据可观察性成为现代数据栈的必备条件. 

一个空值会破坏仪表板

知道你的数据管道破裂是一回事. 但是你如何才能真正弄清楚发生了什么以及为什么? 

与监视不同,可以使用数据可观察性来处理 root cause analysis when data pipelines break. In theory, root cause听起来就像运行一些SQL查询来分割数据一样简单, but in practice, 这个过程可能相当具有挑战性. 事件可以以不明显的方式在整个管道中显示,并影响多个, sometimes hundreds, of tables.

例如,数据停机的一个常见原因是新鲜度- i.e. 当数据异常过时时. 这样的事件可能是由许多原因造成的, 包括一份排着队的工作, a time out, 没有及时交付数据集的合作伙伴, an error, 或者意外的日程安排改变,从你的DAG中删除了作业.

通过获取数据资产的历史快照, 数据可观察性为您提供了识别“为什么”所必需的方法?,即使问题本身与数据本身无关. 此外,许多数据可观察性解决方案提供的沿袭给跨职能团队(i.e.、数据工程师、数据分析师、分析工程师、数据科学家等.)协作的能力,在数据问题成为更大的业务问题之前解决它们. 

ML monitoring vs. ML observability

当涉及到在生产中信任数据时,数据可观察性是一个难题, but what about your ML models? 

类似于数据可观察性如何帮助回答这个问题 why, ML可观察性使模型所有者能够进行根本原因分析 model failures. 当模型的性能下降时,监视将向您发出警报. ML的可观察性可以帮助你找到真相 why. 一旦出现问题,找出需要做什么是最重要的 bigger, harder problem. 

对于软件应用程序,您通常会看到sla和应用程序停机时间. 对于机器学习,你需要观察数据的偏差 performance from baselines. 

ML可观察性允许团队从训练中设置基线, validation, 或之前的生产阶段,并比较导致性能下降的根本原因. 

With ML observability, 公司洞察到模型健康的主要支柱:模型和特征漂移检测, input and output data quality, model performance, and explainability.  

When problems arise, ML的可观察性使从业者能够准确地指出为什么模型的性能在生产中不如预期,并为他们应该在何时重新训练他们的模型提供明确的信号, update their training datasets, 向他们的模型添加新功能, 甚至可以从头再来.

大海捞针

ML的可观察性是如何工作的呢? 让推荐一个正规滚球网站举个例子:您预测交易是否存在欺诈行为的模型偏离了轨道,并开始出现更多的误报. 推荐一个正规滚球网站怎样才能弄清原因呢? 

能够自动显示性能较低的队列对于跟踪为什么模型对特定数据子集的性能更好或更差是至关重要的. ML的可观察性可以帮助您缩小是否有更多的假阳性发生在某个地理区域, 特定的顾客群体, or a particular time window. 

性能下降的一个常见原因是 drift. 因为模型是根据数据训练的, 当数据与他们已经看到的相似时,他们表现得很好. 可观察性比较基线分布和电流分布之间的分布变化. 当有漂移时,模型所有者可以进行有针对性的上采样.  

In theory, 在朱庇特笔记本上,引起根源听起来很容易, 但在实践中,你必须将其扩展到100个特性, 数十亿种预测的模型和模型版本, 具有自动设置和即时分析. 

ML Observability life cycle. Image courtesy of Arize AI.

推荐一个正规滚球网站很高兴看到下一代数据和ML领导者如何处理这个问题,从而使回答这个问题——以及许多其他问题——变得更加容易. 

Interested in learning more? Reach out to Barr or Aparna.