模型上线后效果变差,多数情况下不是模型本身学坏了,而是线上数据分布、特征口径或推理链路与训练环境不一致,排查顺序建议:先验证离线线上一致性,再做模型漂移检测,最后检查线上反馈闭环与模型版本。
线上模型效果比离线差很多?先查特征一致性问题
线上推理和离线训练用的是两套特征管道,这是最容易出问题的地方,很多团队在离线评估时指标很好,上线后点击率、转化率不升反降,往往是因为线上特征计算口径和训练时对不上。
特征日志对比法最直接
- 从线上推理服务中打印请求ID、特征向量、模型版本、预测分数。
- 用请求ID关联业务日志,获取真实标签或业务结果。
- 将线上特征与离线训练时的特征统计量对比,重点看均值、方差、分位数。
- 检查是否存在特征穿越:训练时用了标签产生之后的信息,线上拿不到;或者线上加了训练时没有的实时特征。
上线前没做一致性校验的典型表现
- 离线AUC很高,上线后业务指标不升反降。
- 同一批用户,模型打分分布与离线测试时明显偏移。
- 某些特征全部为空或全部为默认值。
- 线上请求里关键特征缺失率远高于训练集。
具体操作路径
- 在特征平台中导出最近1小时线上特征快照,与离线训练集特征做KS检验或PSI。
- 如果某个特征PSI超过行业常用阈值,优先排查该特征的上游数据源。
- 检查线上特征服务返回字段顺序是否和训练时一致,字段错位是常见问题。
- 对数值型特征比对标准化参数,对类别型特征比对编码映射表,比如城市编码、类目ID是否一致。
模型漂移怎么检测?数据分布变化监控方案实操
模型上线后效果变差,很多时候不是模型出问题,而是输入数据本身变了,模型漂移检测的核心是监控输入特征分布和预测结果分布。
先区分三种漂移
- 数据漂移:输入特征分布变了,但业务含义没变,比如用户年龄结构变化、地域分布变化。
- 概念漂移:输入特征和标签的关系变了,比如用户对某种推荐形式的点击意愿整体下降。
- 标签漂移:真实标签的分布变了,比如某个营销活动结束后,转化率自然回落。

用PSI监控核心特征漂移
PSI是线上模型监控里最实用的指标之一,计算简单,能逐特征对比分布变化。
- 选择对预测结果影响最大的前20个特征。
- 按天或按小时计算PSI,基准可以用训练集或上线初期稳定时段。
- 设定预警阈值:PSI高于0.1时关注,高于0.2时告警。
- 对分类型特征用卡方检验或KS检验替代PSI。
计算PSI的操作步骤:
- 将基准样本和目标样本按特征值等频分成10箱。
- 计算各箱样本占比。
- 套PSI公式:PSI = Σ(目标占比 - 基准占比)× ln(目标占比 / 基准占比)。
- 输出每个特征的PSI值,倒序排列,优先排查高PSI特征。
概念漂移的间接信号
- 模型线上预测分数均值、方差随时间明显变化。
- 同一批固定用户的行为反馈模式改变。
- 线上AB实验长期拉平,对照组和实验组都没提升。
- 业务大盘指标正常,但模型排序能力下降。
模型上线后效果变差怎么排查:按链路顺序定位
排查要有顺序,不能一上来就重训模型,按照部署链路从模型版本到数据管道逐层检查,多数问题在半小时内能定位。
第一步:确认线上模型版本和配置
- 对比线上模型文件哈希、版本号、配置项与离线评估时是否完全一致。
- 查看部署平台是否回滚到了旧模型,或加载了错误权重。
- 检查特征服务返回的字段顺序是否和训练时完全一致。
- 确认线上推理使用的框架版本、依赖库版本是否和离线评估环境一致。
第二步:验证推理服务返回结果
- 用离线样本调用线上推理接口,对比输出与离线预测分数是否一致。
- 如果打分差异明显,可能是预处理逻辑没同步、归一化系数不一致或缺失值填充规则不同。
- 把线上特征保存成文件,用本地模型重新打分,排查环境差异。
- 检查线上推理服务是否有超时截断、特征降级等兜底逻辑,这些会让部分请求走默认值。
第三步:检查数据管道的时效性

推荐系统模型上线后效果下降,常因为离线特征更新延迟,用户刚点击的商品还没进入实时特征,模型仍用旧特征推荐。
- 查看特征生产链路延迟,确认实时特征是否在秒级、分钟级更新。
- 检查消息队列积压,比如Kafka consumer lag是否持续增长。
- 查看实时计算任务是否频繁重启,导致特征窗口数据丢失。
- 确认离线特征表是否按时产出,有没有分区延迟或空分区。
第四步:确认反馈闭环与标签质量
- 如果线上反馈标签定义和训练标签不一致,模型更新后会越来越偏。
- 训练时用“点击”做正样本,线上反馈把“曝光但未点击”也算负样本,但曝光日志漏采会造成样本偏差。
- 检查延迟反馈:转化发生在点击后数小时,过早拼接会误标。
- 查看样本拼接口径是否统一,比如训练用session级别,线上用user级别,导致正负样本比例失衡。
推荐系统模型上线后效果下降:场景化排查
不同业务场景的排查重点不一样,这里给出三类典型场景。
CTR模型点击率下降
- 先看流量结构:是否新增渠道、换了投放素材,导致用户群变化。
- 再看推荐位样式:位置、展示尺寸变化会影响先验点击率,模型打分没变但业务指标变差。
- 最后看特征数据源:是否有上游埋点丢失,导致关键行为特征缺失。
- 检查是否有新活动页面把大量低质流量引入推荐位。
风控模型拦截率异常
- 如果模型拦截率突然下降,先检查策略阈值是否被改动。
- 再检查在线特征中的设备指纹、IP库版本是否过期。
- 最后排查是否有人绕过了模型,直接修改了规则引擎。
- 对比线上模型拦截率与离线回溯结果,定位是模型分偏移还是阈值配置问题。
自然语言模型线上回复质量下降
- 先看输入prompt是否被上游改写,例如新增了系统提示词或截断逻辑。
- 再看模型版本是否回退,或者采样参数、温度配置被改动。
- 最后检查外部检索召回的内容是否过期,导致模型基于错误上下文生成答案。
- 把线上同一批问题在离线环境重放,对比生成质量差异。

搭建线上监控体系,避免效果变差后被动排查
等业务指标掉下来再排查,已经影响用户体验,最小化的线上监控体系可以从四个维度入手。
最小监控方案
- 模型输出监控:记录预测分数分布、PSI、均值方差。
- 特征监控:核心特征PSI、缺失率、零值率。
- 业务指标监控:点击率、转化率、拦截率、召回率等核心业务指标。
- 日志链路监控:线上请求错误率、超时率、特征服务响应时间。
收到告警后的排查套路
- 先拉取该时间段线上请求样本,对比离线训练集特征分布。
- 查看模型版本变更记录和配置变更记录,确认是否有上线操作。
- 检查特征平台的实时特征产出任务是否失败。
- 查看业务日志里是否有异常标记或空值。
- 用线上样本在离线模型上重新打分,判断是数据问题还是推理链路问题。
中小企业模型部署成本有限,可以先用日志采样加离线分析,不必一上来就上重监控平台,一个定时任务加一张监控表,每天对比核心特征PSI和预测分分布,就能覆盖大部分问题。
模型上线后效果变差,不要急着重新训练,先把线上数据和训练数据拉到同一张表里对比,再查特征管道、模型版本和反馈标签,多数问题出在数据一致性和配置上,而不是模型本身。
Q&A
模型上线后效果变差了怎么快速定位是数据问题还是模型问题?
先固定一批用户,用线上特征喂给离线模型,看预测分数是否和线上一致,如果一致但业务效果差,大概率是数据分布或反馈标签问题;如果不一致,先查特征拼接和预处理。
线上模型效果比离线差很多一定要重训模型吗?
不一定,先检查特征穿越和线上预处理,很多情况下把线上特征管道修复后,原模型就能恢复,重训模型反而会掩盖问题,浪费一次迭代周期。
模型漂移检测用什么指标最实用?
PSI最常用,计算简单,能逐特征对比分布变化,也可以配合KS检验使用,行业共识认为,把PSI和业务指标绑定,比单独看数值更有效。