跳到正文

多路召回 vs 排序模型怎么分工?

推荐系统中召回与排序的流程、实现及优缺点

原题:请详细解释推荐系统中的多路召回机制与排序模型的工作原理,包括它们在推荐流程中的作用、常见实现方式以及各自的优缺点。

向量检索 · 小红书真题

回答与解析

多路召回

多路召回用不同信号并行生成候选,例如协同过滤、双塔向量、内容或图召回,以及热门、地域、关注与运营规则。各路分别面临行为稀疏、冷启动、训练偏差、图更新成本或个性化不足等问题。

各路结果要经过版本与权限过滤、去重、配额或分数校准。多路并不自动带来多样性;高度相关的召回器可能重复返回同一批热门项。

排序模型

排序器对候选统一估计点击、转化、观看时长、满意度等目标。模型可从线性模型、GBDT 到 Wide&Deep、DIN 或多任务网络,复杂度取决于数据和服务预算。排序质量不仅由模型结构决定,还受曝光选择、位置偏差、延迟特征和标签定义影响。

常见流程是召回→可选粗排→精排→约束重排。重排可处理去重、多样性、频控、公平或业务约束;这些目标也可以进入学习目标,不能笼统认定只能靠规则。

召回看 Recall@K、覆盖、重复率、新颖性和延迟;排序看 NDCG/AUC、校准、分桶质量及线上指标。离线日志来自旧策略,需关注反事实偏差,并用随机流量、倾向校正或受控实验验证。

口语版讲法(约90秒)

  • 多路召回用不同信号扩大候选覆盖
  • 合并阶段处理去重、配额、校准和过滤
  • 排序器统一估计业务目标并处理偏差
  • 召回与排序分别用匹配指标验收

多路召回解决候选覆盖问题。协同过滤利用行为共现,双塔向量处理可学习的用户与物品匹配,内容或图召回补充语义和关系信号,热门与规则提供冷启动或兜底。它们各有盲区,但“多路”本身不保证多样性,还需要去重、配额、权限过滤和分数校准。

排序阶段在候选上统一估计点击、转化、观看或满意度等目标。可以使用线性模型、GBDT 或深度多任务模型,选择取决于样本量、特征和延迟预算。日志来自旧排序策略,因此位置偏差、选择偏差和特征延迟都可能让离线分数失真。

完整系统常包含可选粗排和约束重排。多样性既可以在重排中处理,也可以进入学习目标,不能断言只有规则打散才合理。我会让召回层报告 Recall@K、覆盖和重复率,让排序层报告 NDCG、校准和分桶质量,再通过受控实验确认用户指标。

关键一句:多路召回扩大覆盖,排序统一优化目标,两层都必须处理日志偏差与分桶评估。

核验来源

  1. Deep Neural Networks for YouTube Recommendations
  2. Graph Convolutional Neural Networks for Web-Scale Recommender Systems

面试官还可能这样问

  1. 问法 1 · 场景切入

    假设你在做电商首页推荐,用户量几千万,商品上亿。你不可能把所有商品都算一遍分数对吧?那你怎么快速从海量商品里先捞出一小批候选,再给它们精细打分?

  2. 问法 2 · 层层追问

    推荐系统里,你怎么从亿级物品中选出最终展示的几十个?……第一步是不是得先快速过滤?……那你可能会用到多路召回,具体每路怎么实现?……筛出来后第二步呢,打分排序怎么做?

  3. 问法 3 · 直球架构

    讲一下推荐系统的多路召回和排序模块。先说说召回有哪些常见方法、各自的优缺点,然后排序模型从LR到多目标是怎么演进的,最后两者怎么衔接成一个完整流程?

同模块相关题目