监视设计

已完成

作为机器学习操作 (MLOps) 体系结构的一部分,应考虑如何监视机器学习解决方案。

无论是在哪个 MLOps 环境中,监视都非常有用。 你想要监视模型、数据和基础结构,以收集可帮助你决定任何必要的后续步骤的指标。

监视模型

最常见的情况是想要监视模型的性能。 在开发期间,使用 MLflow 来训练和跟踪机器学习模型。 根据训练的模型,可以使用不同的指标来评估模型是否按预期执行。

若要监视生产中的模型,可以使用经过训练的模型生成有关一小部分新传入的数据的预测。 通过针对该测试数据生成性能指标,可以验证模型是否仍在实现其目标。

此外,你可能还想要监视任何负责任的人工智能 (AI) 问题。 例如,模型是否进行公平预测。

在监视模型之前,请务必确定要监视的性能指标以及每个指标的基准应该是什么。 应在何时收到模型不再准确的警报?

监视数据

通常,你会使用历史数据集来训练机器学习模型,该数据集代表部署后模型将收到的新数据。 但是,随着时间的推移,可能会出现更改数据配置文件的趋势,这会降低模型的准确度。

例如,假设某一模型经过训练,可根据气缸数量、发动机尺寸、重量和其他特征预测汽车的预期每加仑行驶英里数。 随着时间的推移,汽车制造和引擎技术在不断进步,车辆的典型燃油效率可能会显著提高,这使得基于旧数据训练的模型预测不那么准确。

Diagram of different hyperparameter values resulting in different models by performing hyperparameter tuning.

数据配置文件在当前和训练数据之间的这种变化称为数据偏移,对于生产中使用的预测模型而言,这可能是一个重大问题。 因此,必须能够随时间监视数据偏移,并根据需要重新训练模型以保持预测的准确度。

监视基础架构

除了监视模型和数据,还应监视基础结构,以最大程度地降低成本并优化性能。

在整个机器学习生命周期中,可以使用计算来训练和部署模型。 使用云中的机器学习项目,计算可能是你最大的支出之一。 因此,你希望能监视是否有效地使用了计算。

例如,可以在训练和部署期间监视计算的计算利用率。 通过查看计算利用率,可以知道是否可以纵向缩减预配的计算,或者是否需要横向扩展以避开容量限制。