MLE E5 / Senior MLE · VO ML Design

Pinterest 首页 Feed 排序:实时互动如何进入召排链路

归并 MLE 面经中的 Pin 首页排序与响应用户互动的实时 feed,拆解召回、模型服务、短期状态、安全和评估。

题目重点:归并 MLE 面经中的 Pin 首页排序与响应用户互动的实时 feed,拆解召回、模型服务、短期状态、安全和评估。

题意与假设

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

  • 训练版 feed 展示用户可见的 Pin,事件有保存、隐藏、点击和停留;权限/政策过滤是强约束。
  • 假设请求 p95 150ms、召回数千候选、最终返回 50 项;仅用于讨论容量与预算,非题目要求。

解题路线

  1. 先定目标函数:保存/长期参与为主,点击与停留为辅助,隐藏/举报、重复内容和内容安全作为约束;实验随机化单位要避免社交传播干扰。
  2. 从多兴趣用户向量、关注关系、相似 Pin、主题热门等多路召回并去重;候选过少伤覆盖,过多则精排成本和尾延迟上升。
  3. 粗排用便宜特征削减候选,精排结合用户长期/会话短期特征、Pin 内容、上下文与新鲜度;最后重排处理多样性、创作者公平和安全。
  4. 实时互动经事件流更新短期特征或会话缓存,隐藏立即过滤;离线管道更新模型和长期统计。特征需有事件时间、版本和过期策略,训练/服务保持同一变换。
  5. 服务按阶段设延迟预算和降级:短期特征服务超时可回退稳定兴趣;召回某源失败时保留其他安全来源;记录召回、排序和过滤各阶段可观测性。
  6. 离线按时间切分评测、分人群看覆盖与校准;线上看保存、长期留存、负反馈和延迟,不以单一 CTR 取代产品目标。

手动走一遍

用户刚保存三张露营 Pin,短期兴趣在下一次请求提高露营候选配额;长期家居兴趣仍保留。若用户点‘不感兴趣’,该 Pin 和近重复内容应在返回前过滤。短期特征超时,则回退长期向量和安全热门候选,避免空 feed。

规模与取舍

若召回 C 个候选、精排模型每项成本 F,直接精排约 O(CF);粗排到 c≪C 后精排成本 O(cF)。实际延迟还受分布式 RPC、模型 batch、特征拉取和最慢分片影响;训练数字仅用于预算推演。

易错点与追问

容易失分的边界

  • 只讲模型结构,不说在线事件如何使下一次请求变化。
  • 把安全/可见性当成软排序分而非硬过滤。
  • 负反馈进入训练但在线仍重复推荐相同内容。
  • 训练特征用未来行为或服务时缺失字段。
  • 上线只看点击提升,忽略隐藏率和长期体验。

继续深挖

  • 如何计算精排可承受的候选数量,而不是背诵固定‘几千’?
  • 短期与长期兴趣相反时,如何设计权重与探索?
  • 热点用户或热点 Pin 导致特征服务瓶颈时如何降级?
✓已复制微信号!