
在传统软件工程中,部署往往是主要开发周期的终点。只要单元测试和集成测试通过,软件通常就能正常运行直到代码变更。但机器学习从根本上不同——ML模型是特定时期的数学表示,部署的那一刻起,它就开始走向过时。
与传统软件崩溃或返回500错误不同,衰退的ML模型仍然会返回预测结果和概率分数。它在基础设施仪表板上看起来完全健康,但它提供的业务价值正在蒸发。这就是为什么持续监控不是MLOps的可选项,而是生产生命周期的核心。没有它,你就是在不断变化的世界中盲目飞行。
要有效地进行监控,首先需要理解模型失败的类型。在MLOps领域,有三种模型预期与实际之间的距离。数据漂移(协变量偏移)发生在输入特征的统计分布随时间变化时。模型内部逻辑仍然是正确的,但它被要求在从未见过的数据上做预测。例如,一个在都市专业人士上训练的金融科技模型被部署到农村市场时,收入水平、消费习惯和信用记录都不同。
概念漂移(后验概率偏移)是最危险的衰变形式。它发生在输入和目标变量之间的关系发生变化时。即使输入数据看起来与训练数据完全相同,这些数据的含义已经改变了。疫情后的消费者行为变化就是典型案例——廉价的航班曾经是预订的强预测因子,但安全和取消灵活性的重要性超过了价格。
训练推理数据偏移则是一种结构性差异,通常由技术债务或架构缺陷引起。特征工程不匹配、数据泄漏等问题都可能导致偏移。例如,训练流水线使用Python计算7天滚动平均值,而生产C++后端使用略有不同的窗口逻辑。
在检测方法方面,不能仅凭直觉或视觉检查。对于数值特征,Kolmogorov-Smirnov检验常被用来比较两个分布的形状。对于分类特征,Population Stability Index(PSI)是行业标准。这些方法提供了客观的信号来回答一个关键问题:今天的数据是否与模型训练时的数据表现不同?建立系统化的监控体系,是保障ML模型在生产环境中持续创造价值的基础。