题目重点:按任务目标、数据切分、基线模型、训练评估和上线监控拆解端到端 ML 系统。
题意与假设
这道练习题保留了面经中值得训练的核心约束,并将需要澄清的条件单独列出。现场拿到变体时,先和面试官确认这些条件。
- 用‘预测用户是否会点击一条推荐’作为训练示例,二分类标签来自可核曝光/点击事件;原面试可能是完全不同应用,实际问题须先问清。
- 训练目标、负例定义、隐私许可、延迟预算、流量和召回/排序阶段均不能从题目推出,以下逐项作为待确认条件。
解题路线
- 先定义业务决策和预测时点:请求到来时能知道哪些特征,标签何时成熟;主指标可为增量点击/完成率,守护指标含延迟、公平性、退订与质量投诉。
- 数据摄入做 schema 校验、去重、缺失值与异常值处理,保留数据血缘和同意状态;按时间和用户切分,防止同用户未来行为泄漏到训练集。
- 从可解释基线(规则/逻辑回归或树)起步,再根据非线性、样本规模和延迟预算比较更复杂模型;类别不平衡时用 PR 曲线、校准与分桶评估,不只看 accuracy。
- 训练过程固定特征版本、随机种子、超参搜索范围与离线评估集;上线时用小流量 shadow/canary,比对线上特征分布与离线一致性,再评估 A/B 主指标和守护指标。
- 监控数据漂移、标签延迟、坏例、特征缺失、P95 推理延迟与回滚阈值。若依赖个性化信号,给冷启动和隐私退出路径。
手动走一遍
若点击标签需要 24 小时才完整,训练前一天的数据可能未成熟;先冻结标签窗口,再按时间切分。上线后看到离线 AUC 提升但线上点击无改善,应排查曝光偏差、特征时序和业务动作是否真的改变。
规模与取舍
特征表规模为 E 条事件、d 个特征时,清洗至少 O(E),训练成本取决于模型与迭代次数;在线预算需分到特征读取、模型计算及网络,不能凭题名给出固定 QPS/毫秒。
易错点与追问
容易失分的边界
- 不知道应用场景就直接选深度模型。
- 随机切分含同用户和未来行为的数据,离线分数虚高。
- 只报 accuracy,忽略类别比例和错误代价。
- 训练与线上特征实现不同。
- 没有回滚/坏例/隐私退出通道。
继续深挖
- 若正例稀少且标签延迟一周,怎么评估和上线?
- 端上推理与服务端推理如何按隐私/能耗/质量权衡?
- 训练数据来自当前推荐策略时,如何处理曝光偏差?
- 模型效果回退但数据分布看似稳定时会查什么?
