真实面经题目 · 原创解析
粗排打分样本空间与精排样本空间不一致时,推荐模型如何训练和校正?
这道题考察多阶段推荐的分布偏移。粗排要面对召回池,精排只看到粗排之后的候选;如果用精排曝光样本直接训练粗排,模型会学到被上游筛选后的分布,导致召回池打分不准,需要从样本构造、校正、蒸馏和评估上处理。
真实面经题目 · 原创解析
这道题考察多阶段推荐的分布偏移。粗排要面对召回池,精排只看到粗排之后的候选;如果用精排曝光样本直接训练粗排,模型会学到被上游筛选后的分布,导致召回池打分不准,需要从样本构造、校正、蒸馏和评估上处理。
粗排和精排样本空间不一致,本质是多阶段推荐的选择偏差。精排训练样本通常来自已经被召回和粗排筛过、最终曝光的样本;但粗排线上要给更大的召回池打分。如果直接用精排样本训练粗排,负样本会太“干净”或太靠近曝光分布,模型在召回池上校准会差。我会从四类方法处理:第一,用召回池或粗排候选日志构造更接近粗排服务空间的训练样本;第二,做负采样和 IPS/propensity 校正,降低上游选择偏差;第三,用精排模型做 teacher,在召回池上蒸馏软标签或排序关系;第四,用按候选来源、分数桶和线上 A/B 的校准评估,确认粗排在召回池上既能召回好内容又不过度偏向精排已见分布。
粗排面对的是召回返回的大候选集合,目标是在低成本下筛出足够好的候选给精排。精排面对的是粗排之后的小候选集合,特征更丰富、模型更重、分布已经被上游筛过。两者样本空间不同,如果训练数据只来自最终曝光或精排候选,粗排会缺少对召回池大量未曝光样本的判断能力。
粗排训练样本应尽量贴近粗排服务空间,可以记录召回池、粗排打分候选、进入精排候选和最终曝光候选。正样本来自点击、互动或转化,负样本不能只取最终曝光未点击,也要从召回未进入下一阶段的候选中采样。采样时要保留候选来源、位置、召回通道和打分阶段,方便后续校正。
多阶段链路会让被观察到的样本带有上游模型偏好。可以使用 propensity/IPS 思路按样本被展示或进入下一阶段的概率加权,也可以用探索流量、随机 bucket 或多样化召回收集更无偏的样本。对不同召回通道、不同分数段和不同内容类型做分层采样,也能降低粗排只学习热门或高频样本的问题。
粗排无法使用全部精排特征,但可以让精排模型在召回池或粗排候选上打 teacher 分,给粗排提供软标签、pairwise 顺序或 listwise 分布。这样粗排不只是学习曝光点击标签,也学习精排对未曝光候选的相对偏好。蒸馏时要防止把精排已有偏差完全复制过去,可以和真实反馈、多样性或新内容目标一起训练。
粗排分数要在不同召回通道、内容类型和新老样本之间可比,否则会把某些通道系统性压低。可以做分通道校准、分桶校准、温度缩放或后处理融合,让粗排输出更适合后续截断。精排也可以对粗排传入的候选做反馈分析,持续调整粗排召回深度和截断策略。
离线不能只在精排曝光样本上看 AUC,要在召回池回放、候选截断模拟、不同召回通道和不同分数段上评估。指标可以包括进入精排候选的正样本覆盖率、TopK 召回率、NDCG、校准误差、通道覆盖和线上点击/互动变化。最终以线上 A/B 验证粗排是否提升精排输入质量和整体效果。
它只代表已经通过召回、粗排和精排筛选后的样本,不能覆盖召回池中大量未进入曝光的候选。粗排用它训练会和线上打分空间不一致。
会有风险,所以蒸馏要和真实反馈、探索样本、通道校准和多样性目标结合,不能把精排分数当成唯一真值。
用历史召回池回放粗排打分,看 TopK 是否覆盖后续真实正反馈或精排高分候选,同时按召回通道和内容类型切片评估。
IPS 用样本被展示或进入后续阶段的概率做反向加权,减轻只观察到被上游选中样本带来的选择偏差。