那个静默的衰退

2026年1月,我们上线了一个用户流失预测模型。第一个月,AUC 0.91,精准识别高风险用户,挽留率提升30%。产品经理很开心。

第六个月,产品经理发现挽留率在下降,但不知道为什么。我们查了模型,发现AUC已经掉到了0.78——模型在静默中变蠢了,但没有人知道。

金句:模型上线不是终点,而是监控的起点。 上线后不监控,就像开车不看仪表盘。

模型为什么会变蠢?

模型性能退化,主要有四个原因:数据漂移(Data Drift)——输入特征的分布发生了变化。概念漂移(Concept Drift)——特征和标签之间的关系发生了变化。模型退化——模型参数在长期运行后过时了。数据质量问题——上游数据管道出问题。

监控什么?四大指标

第一类:模型性能指标。 这是最关键的,但也是最难实时获取的——因为你需要Ground Truth。对于推荐模型,用CTR;对于分类模型,用AUC、F1-score。关键是你需要在"标签延迟"之间做权衡。

第二类:数据质量指标。 特征缺失率(不能超过5%)、特征值范围(不能出现不可能的值)、特征分布变化(用PSI/KS检验比较训练数据和推理数据)。

第三类:推理服务指标。 P50/P95/P99延迟、吞吐量(QPS)、错误率、可用性。这是最基础的,但往往被忽视。

第四类:业务指标。 推荐模型的"转化率"、风控模型的"通过率"、客服模型的"自动解决率"——这些业务指标是模型价值的最终体现。

实战:用Prometheus + Grafana搭建监控

在推理代码中暴露Metrics:用prometheus_client库定义inference_latency(Histogram)、prediction_counter(Counter)、data_drift_score(Gauge)。在推理函数中记录这些指标。

配置告警规则:P99延迟 > 500ms告警、数据漂移PSI > 0.25告警。告警分为三级:P0(紧急,模型AUC下降超过10%,立即回滚)、P1(警告,数据漂移PSI超过0.25)、P2(提示,特征缺失率超过1%)。

结论:模型监控不是"可选",而是"必须"。 一个没有监控的模型,就像一个没有警报器的房子——你永远不知道什么时候会着火。