如果您迟早将模型部署到生产环境,那么您将开始寻找 ML 模型监控工具。
当您的 ML 模型影响业务时,您只需要了解“事物是如何工作的”。
当事物停止工作时,你真正感受到这一点的第一刻。如果没有设置模型监控,您可能不知道哪里出了问题以及从哪里开始寻找问题和解决方案。
人们希望你尽快解决这个问题。但在这种情况下,“事物”和“工作”是什么意思?
有趣的是,依据团队/问题/流水线/设置,人们的意思完全不同。
在 MLOps 公司工作的一个好处是,您可以与许多 ML 团队交谈并获得第一手信息。所以事实证明,当人们说“我想监控 ML 模型”时,他们可能想要:
另请阅读:
您指的是哪种ML模型监控?
无论哪种方式,我们都将研究有助于处理所有这些场景的工具。
显然,根据您要监控的内容,您的需求会发生变化,但在选择 ML 模型监控工具之前,您绝对应该考虑一些事项:
下面,让我们看看实际的模型监控工具吧!
首先,我们看看不同工具的监控能力。
| 工具\监控能力 | 模型评估和测试 | 硬件指标 | 模型输入/输出分布 | 模型训练和重新训练 | 生产中的模型性能 | 用于 ML 的 CI/CD 流水线 |
|---|---|---|---|---|---|---|
| Neptune.ai | 是 | 是 | 否 | 是 | 否 | 是 |
| Arize | 有限的 | 否 | 是 | 有限的 | 是 | 否 |
| WhyLabs | 有限的 | 否 | 是 | 有限的 | 是 | 否 |
| Grafana + Prometheus | 否 | 是 | 有限的 | 否 | 有限的 | 否 |
| Evidently | 否 | 否 | 是 | 否 | 是 | 否 |
| Qualdo | 否 | 否 | 是 | 否 | 是 | 否 |
| Fiddler | 否 | 否 | 是 | 否 | 是 | 否 |
| Amazon SageMaker | 是 | 否 | 是 | 是 | 是 | 是 |
| Seldon Core | 否 | 否 | 是 | 否 | 是 | 否 |
| Censius | 否 | 否 | 是 | 否 | 是 | 否 |
Neptune 是为运行大量实验的研究和生产团队构建的 MLOps 元数据平台。
您可以记录和显示几乎任何 ML 元数据,从指标和损失、预测图像、硬件指标到交互式可视化。
在监控 ML 模型时,人们主要将其用于:
它具有灵活的元数据结构,允许您按照自己的方式组织训练和生产元数据。您可以将其视为您在代码中创建并显示在 UI 中的字典或文件夹结构。
您可以构建仪表板来显示您想要查看的性能和硬件指标,以更好地组织您的模型监控信息。
您可以比较模型和运行之间的指标,以查看模型更新如何改变性能或硬件消耗,以及是否应该中止实时模型训练,因为它不会超过基线。
您可以通过易于使用的 API 和 25+ 种与 ML 生态系统工具的集成来记录您想要监控的元数据。
如果您想知道它是否适合您的工作流程:
2021 年,Arize AI 被福布斯称为最有前途的 AI 工具之一。这是一个 ML 模型监控平台,能够提高项目的可观察性并帮助您解决生产 AI 问题。
如果 ML 团队在没有强大的可观察性和实时分析工具的情况下工作,工程师可能会浪费数天时间试图识别潜在问题。 Arize AI 筹集了 1900 万美元的投资,因为它可以轻松查明问题所在,以便软件工程师立即发现并解决问题。此外,它允许 ML 工程师稳健地更新现有模型。 Arize AI 具有以下特点:
WhyLabs 是一个模型监控和可观察性工具,可帮助 ML 团队监控数据流水线和 ML 应用程序。监控已部署模型的性能对于主动解决此问题至关重要。您可以确定重新训练和更新模型的适当时间和频率。它有助于检测数据质量下降、数据漂移和数据偏差。 WhyLabs 很快在开发人员中变得非常流行,因为它可以很容易地用于经验丰富的开发人员与初级员工并肩工作的混合团队中。
该工具使您能够:
WhyLabs 用于模型监控的最大优势之一是它消除了手动解决问题的需要,从而节省了金钱和时间。无论规模如何,您都可以使用此工具处理结构和非结构化数据。 WhyLabs 使用 AWS 云。它使用 Amazon ECS 运行容器,并使用 Amazon EMR 进行大规模数据处理。
Prometheus 是一款流行的开源 ML 模型监控工具,最初由 SoundCloud 开发,用于收集多维数据和查询。
Prometheus 的主要优势是与 Kubernetes 和许多可用的导出器和客户端库的紧密集成,以及快速查询语言。 Prometheus 也与 Docker 兼容,可在 Docker Hub 上使用。
Prometheus 服务器有自己的独立单元,不依赖网络存储或外部服务。因此,部署额外的基础架构或软件不需要大量工作。它的主要任务是存储和监视某些对象。对象可以是任何东西:Linux 服务器、进程之一、数据库服务器或系统的任何其他组件。您要监控的每个元素都称为一个指标。
Prometheus 服务器以您定义的时间间隔读取目标以收集指标并将它们存储在时间序列数据库中。您设置读取指标的目标和时间间隔。您可以使用 PromQL 查询语言查询 Prometheus 时间序列数据库以了解指标的存储位置。
Grafana 允许您可视化监控指标。 Grafana 专注于时间序列分析。它可以以折线图、热力图和直方图的形式将监控工作的结果可视化。
您无需将 PromQL 查询直接写入 Prometheus 服务器,而是使用 Grafana GUI 面板从 Prometheus 服务器请求指标并将它们呈现在 Grafana 仪表板中。
Grafana 的主要特点:
Evidently 是一个开源的 ML 模型监控系统。 它有助于在开发、验证或生产监控期间分析机器学习模型。 该工具从 pandas DataFrame 生成交互式报告。
目前,有 6 份报告可用:
Qualdo 是 Azure、Google 和 AWS 中的机器学习模型性能监控工具。 该工具具有一些不错的基本功能,可让您在整个生命周期中观察模型。
使用 Qualdo,您可以从生产 ML 输入/预测数据、日志和应用程序数据中获得洞察力,以观察和改进您的模型性能。 有模型部署和数据漂移和数据异常的自动监控,您可以看到质量指标和可视化。
它还提供了在 Tensorflow 中监控 ML 流水线性能的工具,并利用了 Tensorflow 的数据验证和模型评估功能。
此外,它还集成了许多人工智能、机器学习和通信工具,以改善您的工作流程并简化协作。
这是一个相当简单的工具,并没有提供许多高级功能。 因此,如果您正在寻找一个简单的 ML 模型监控性能解决方案,那它就是一个好的选择。
Fiddler 是一个模型监控工具,具有用户友好、清晰、简单的界面。它使您可以监控模型性能、解释和调试模型预测、通过整个数据和切片来分析模型行为、大规模部署机器学习模型以及管理机器学习模型和数据集。
以下是 Fiddler 的 ML 模型监控功能:
总体而言,它是监控具有所有必要功能的机器学习模型的绝佳工具。
Amazon SageMaker 模型监控 是 Amazon SageMaker 的工具之一。它会自动检测生产中部署的模型的不准确预测并发出警报,以便您保持模型的准确性。
以下是 SageMaker 模型监控功能的摘要:
当与其他机器学习工具一起使用时,SageMaker 模型监视器可让您完全控制您的实验。
Seldon Core 是一个开源平台,用于在 Kubernetes 上部署机器学习模型。 它是一个 MLOps 框架,可让您打包、部署、监控和管理数以千计的生产机器学习模型。
它可以在任何云和本地运行,与框架无关,支持顶级 ML 库、工具包和语言。 此外,它将您的 ML 模型(例如,Tensorflow、Pytorch、H2o)或语言包装器(Python、Java)转换为生产 REST/GRPC 微服务。
基本上,Seldon Core 具有扩展大量 ML 模型所需的所有功能。 您可以期待高级指标、异常值检测器、金丝雀、由预测器、转换器、路由器或组合器组成的丰富推理图等功能。
Censius 是一个 AI 模型可观察性平台,可让您监控整个 ML 流水线、解释预测并主动修复问题以改善业务成果。
Censius 的主要特点:
既然您知道了如何评估 ML 模型监视工具以及现有的工具,那么最好的方法就是测试出您喜欢的工具!