MLE · ML System Design

Stripe MLE 设计:Account Takeover 预测的标签、时间切分与实时处置

先问清在登录还是交易时预测,再设计成熟标签、在线特征、时间回放评估与误伤成本。

题目重点:先问清在登录还是交易时预测,再设计成熟标签、在线特征、时间回放评估与误伤成本。

题意与假设

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

  • 训练版假设在高风险登录或敏感动作前给风险分并决定放行、补充验证或阻止;实际决策点由面试官确认。
  • ATO 正例需要可追溯的账号所有者确认/调查结果,标签有延迟和选择偏差;仅凭被拦截或验证码失败不能直接当真实 ATO。
  • 高风险动作决策需低延迟,但具体 SLA、吞吐、隐私约束题目未明确,只能先估算并追问。

解题路线

  1. 先问预测目标与处置动作:登录前、会话中还是支付前?将误放过的损失、误拦正常用户的摩擦和人工审核容量转换为阈值选择,而不只优化 AUC。
  2. 构造事件时点可用特征:设备/会话新颖度、IP/地理突变、失败登录速率、历史行为偏差等;严格按决策时刻截断,未来调查结果只作为标签,不能进入特征。敏感特征要按合规与保留期约束处理。
  3. 做按时间的 train/validation/test,并按用户/账号隔离重复实体或使用时间向前回放。标签需等待成熟窗口;先定训练截止、验证期、测试期与观察截止。过采样/SMOTE 仅在训练集应用,评价时恢复真实基率并看 PR-AUC、召回@固定误伤率、校准与分群表现。
  4. 在线服务分两级:便宜稳定特征低延迟计算,高成本画像预聚合缓存;特征版本与模型版本一同记录。超时/fallback 走可配置策略,如补充验证而非无条件拒绝;异常峰值时保护用户与服务容量。
  5. 上线做 shadow、受控试点、分层指标和人工复核闭环;监测标签延迟、数据漂移、特征缺失、挑战通过率及已确认 ATO 漏检。

手动走一遍

虚构训练例:模型在登录时给 0.8 风险,账户新设备且十分钟内失败登录频繁。若阈值 0.7 的动作是二次验证而非硬封,用户完成验证后需记录该结果,避免把挑战过关简单标为‘肯定非 ATO’。离线测试必须模拟当时可见的设备/频次,不可用数日后调查数据。

规模与取舍

非单一算法复杂度。在线路径由特征读取、模型计算与决策日志构成,p99 总延迟需分段预算;离线按事件 E 与特征维 F 的训练成本依模型而异。标签成熟期决定最早可信评测时间。

易错点与追问

容易失分的边界

  • 没确认预测使用点就直接设计支付风控 pipeline。
  • 随机拆同账号相邻事件,历史统计和设备 ID 泄漏到测试。
  • 在验证/测试上做 SMOTE 或以过采样后的基率报告 precision。
  • 只谈 AUC 不谈固定误伤率、挑战容量和用户恢复。
  • 在线特征依赖未来事件或慢表 join,无法满足实时处置。

继续深挖

  • 新的攻击策略导致标签还没成熟,如何早期发现漂移?
  • 用户被挑战后不完成,这个样本的标签如何处理选择偏差?
  • 如果调用方在不同国家且网络不稳定,如何设置超时与安全降级?
✓已复制微信号!