如何调试 SQL 连接变更后的预测模型性能下降问题
某个周一,我们的需求预测在几乎所有类别中表现都变差了。模型代码没有明显的改动,特征存储任务也显示运行正常。线索在于,错误在目录数据不完整的商品上表现得最为严重。一个小小的 SQL 改动将一个左连接(left join)条件移到了 where 子句中,导致没有最新类别映射的行在特征聚合之前被静默丢弃了。 我没有先进行重训练。我对比了最后一次正常运行和第一次异常运行中流水线每个步骤的行数。然后,我检查了空值率、不同 SKU 的数量,以及主要特征在到达模型之前的分布情况。模型对损坏的输入表做出了正确的反应。我们修复了连接,回填了特征快照,并使用相同的模型工件重新运行了验证。预测结果在没有更改超参数的情况下恢复了正常。 一个实用的技巧是为十个样本 SKU 构建一个微小的差异表。它显示了旧特征值、新特征值、源表行数以及类别映射是否存在。这使得工程团队和规划团队能同时直观地看到问题所在。如果没有这张…