一文带你了解:机器学习监控与传统软件监控的4个区别

在软件工程领域,监控并不是什么新鲜事儿,所以很多人认为软件工程领域的经验可以直接应用于机器学习领域。这有一定的道理,部署的模型也可以看作一种软件服务,我们需要跟踪推理服务的健康指标,如延迟、内存利用率和正常运行时间等。但除此之外,机器学习有其特有的问题待处理。比如,在机器学习领域有两个要素需要考虑,即数据依赖和模型。这两个要素是与传统软件系统相比最核心的不同点,一个机器学习系统的行为不仅受代码中指定的规则支配,而且还受从数据中学习的模型行为支配。

首先,数据的加入增加了额外的复杂性。在机器学习领域,我们应该担心的不仅是代码,还有数据质量及其依赖关系,机器学习模型比传统软件具有更多的依赖组件、更多的潜在故障模式。通常,这些数据源完全不受我们控制,即使对数据及建模管道做到了完美的维护,环境的变化也会导致模型性能下降,甚至是发生巨变。比如,新冠肺炎疫情对我们的生活方式就产生了巨大的影响。在机器学习监控中,这个抽象问题需要得到重视,需要量化数据分布的变化情况,这与检查服务器负载是完全不同的任务。

其次,模型也会经常悄悄地发生性能衰退,甚至失败。想象一下,前面我们讨论过的依靠机器学习来预测客户流失,在实际场景下模型有可能会达不到要求,因为我们可能需要数周的时间才能了解客户流失的原因或注意到客户流失对业务KPI的影响(如季度续订率下降)。通常在这种情况下,我们才会觉得系统需要健康检查,而这个过程中的模型都是正常工作的,在模型领域没有监控手段的情况下,这种无形的停机时间是令人担忧的。为了挽救这种局面,需要尽早做出反应,比如,结合业务特点,在数据和模型响应方面同时设定监控指标。

再次,通常情况下,机器学习领域内“好”与“坏”之间的区别并不明确,一个意外的异常值并不意味着模型出了问题并需要紧急更新。同时,稳定的精度也可能会产生误导,模型可能会在某些关键数据区域局部变差。比如,从转化率角度看,整体的转化率在变好,但某些高价值用户的转化率却在下降。

最后,在机器学习领域,没有上下文的量化是无意义的,可接受的性能、模型风险和错误成本因具体的用例而异。比如,在贷款模型中,业务可能更关心公平的结果;在欺诈检测模型中,通常不能容忍漏 ;在营销模型中,可能更关注优质细分市场的表现。 所有这些细微的差别都反映了我们的监控需求、需要关注的特定指标及解释它们的方式等。因此,机器学习监控介于传统软件和产品(业务)分析之间,除了关注模型服务本身的工程健康指标,我们还需要关注模型本身的性能指标,如准确度、平均绝对误差等。但我们的主要目的是检查机器学习所实现的决策质量,比如,模型是否令人满意、公正及符合我们的业务目标。

机器学习监控是一个独特的领域,需要特定的实践、策略和工具。

友评论1:不错,终于有机器学习生产化工程当面的书了,mlops讲的很详细,有操作性,对实践很有参考和帮助。

友评论2:书中逐层介绍机器学习应用从手工作坊到工业级生产线所经历的升级过程和升级内容,值得读读。

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2022年3月27日
下一篇 2022年3月27日

相关推荐