推荐系统将架构分为召回层排序层,主要原因是出于工程上的考虑

在处理海量候选物品(通常达百万量级)时,系统需要平衡“计算速度”和“推荐精度”之间的矛盾。具体原因如下:

  1. 应对性能与延迟的挑战:如果直接对百万量级的候选集使用复杂的排序模型进行逐一推断,其计算资源消耗和在线服务的延迟将达到无法忍受的程度。

  2. 各层功能互补

    • 召回层(Recall Layer):负责从海量物品中快速初筛出几百到几千个候选者,。它使用简单的模型或规则以及较少的特征,核心目标是保证召回率,确保用户感兴趣的物品不被漏掉。

    • 排序层(Ranking Layer):在召回出的少量候选集上进行精准排序。由于待处理物品数量较少,排序层可以利用复杂的模型(如深度学习模型)和更多的特征(如用户、物品及场景的细节特征)来提升排序的精确度。

总结比喻: 这就像大型招聘中的“初筛”与“面试”:招聘方无法给数万名应聘者逐一面试(对应排序层),必须先通过简单的学历、专业等规则(对应召回层)筛选出几十人,再由面试官进行深度沟通(对应排序层)以确保最终录取的精准性。这种两段式架构在保证效果的同时,极大地提升了处理效率。