Applied Scientist · HM ML Discussion

Amazon ML:上线比离线差,按什么顺序排查?

从指标/数据合同到特征服务、候选覆盖与实验偏差,逐层对照线上实际输出。

题目重点:从指标/数据合同到特征服务、候选覆盖与实验偏差,逐层对照线上实际输出。

题意与假设

这道练习题保留了面经中值得训练的核心约束,并将需要澄清的条件单独列出。现场拿到变体时,先和面试官确认这些条件。

  • 先冻结一个模型/特征版本和时间窗,离线目标与线上KPI未必同定义。
  • 可取线上请求样本回放与同请求离线预测;遵循系统可用数据范围,不凭空获得未记录label。

解题路线

  1. 先核指标单位、分母、归因窗口、订单成熟延迟和样本选择。离线AUC与线上CTR不是同指标,不能把不同量直接相减当质量掉点。
  2. 做同请求parity:线上真实query/features/candidates与离线回放一致,比较预处理、缺省、tokenizer、排序tie、阈值、模型文件与数值精度。若输出已不一致,先修服务合同再重训。
  3. 看特征新鲜度/缺失率、线上lookup失败、时间区特征、缓存版本、模型fallback和超时。尾部请求走默认路径会被平均离线样本漏掉;记录各路径覆盖与质量。
  4. 检离线泄漏/时间分割与线上分布:用户首次出现、新商品、季节、渠道、候选召回差异。严格回放只用当时可得特征,避免未来聚合统计抬高离线效果。
  5. 服务一致仍可能离线标签位置偏差、推荐反馈循环或目标与业务失配;核随机化、样本量比、实验干扰和护栏。以切片证据提出假设,不一看到gap就全量加参数。
  6. 按影响与可验证性选择最小修复,回放+shadow/canary+有效实验逐步验证。报告根因/证据/未知项,确保修复版本可追踪、可回滚。

手动走一遍

离线SKU embedding全有,线上新商品30% lookup miss走热门fallback:先测缺失率并回放同请求,gap可由coverage而不是模型结构解释。把训练模型再加深不会补出未提供向量;修更新/默认路径后再评排名。

规模与取舍

样本回放成本随请求数/候选数/模型推理增长,监控状态按版本/切片增长。诊断可以先少量确定性parity,再扩大到有具体风险的分布/实验验证,不能承诺固定复杂度。

易错点与追问

容易失分的边界

  • 指标定义不同仍直接比较。
  • 离线用未来特征。
  • 模型与feature版本不对应。
  • 只看平均忽略fallback尾部。
  • 无证据先重训更大模型。

继续深挖

  • 线上feature没完整记录怎样回放?
  • 量化数值差如何判断影响排序?
  • 新用户gap与总体流量变化如何区分?
  • 短期点击改善长期留存差怎样调目标?
✓已复制微信号!