一文说透推荐算法之“召回架构”, (非常详细)从小白到专家,收藏这篇就够了!
本文详细介绍了推荐系统中的召回模块,包括其总体架构、推荐底池构建策略和多路召回方法。文章分析了召回面临的样本选择偏差、业务目标不一致等难点,以及Hit Rate、差异率等评价指标。召回作为推荐系统的第一层,对海量物品进行粗筛,降低后续排序层的输入规模,是推荐系统中举足轻重的模块。小徐刚入职一家互联网电商公司做推荐算法,主要负责召回模块。他了解到公司的商品推荐池很大,有几千万个商品。如何从这么多商品
本文详细介绍了推荐系统中的召回模块,包括其总体架构、推荐底池构建策略和多路召回方法。文章分析了召回面临的样本选择偏差、业务目标不一致等难点,以及Hit Rate、差异率等评价指标。召回作为推荐系统的第一层,对海量物品进行粗筛,降低后续排序层的输入规模,是推荐系统中举足轻重的模块。
小徐刚入职一家互联网电商公司做推荐算法,主要负责召回模块。他了解到公司的商品推荐池很大,有几千万个商品。如何从这么多商品中挑选出上万个给到粗排模块呢?
小徐顿时觉得压力很大,并向组长咨询。组长告诉他不要着急,可以利用热门召回、内容召回、协同过滤、向量召回和社交网络等多种召回方式,对推荐池一网打尽。
召回模块具体怎么工作的呢?多路召回又是怎么一回事呢?
本文会对召回模块进行详细讲解。
0****1
召回的总体架构
当前推荐系统基于算力考虑,无法完全做到端到端,通常会经历召回、粗排、精排和重排这几步。
召回层获取推荐底池内的物品作为输入,在其中选择用户可能感兴趣的物品输出给后续排序层。
其输入通常有百万甚至千万个,输出为几万个或几千个,如图1所示。

图1 推荐系统架构
召回面对的候选集很大,且一般需要实时响应用户请求,故召回模块必须轻量、快速和低延迟。召回结果并不是最终的推荐结果,更多的是为后续排序层服务,故其覆盖率很重要,尽量不要遗漏用户可能感兴趣的物品。目前大多采用多路召回解决范式构建多个并行的召回通路、取长补短,最后合并在一起作为召回结果。
召回层的知识框架如图2所示。

图2 召回层的知识框架
0****2
推荐底池
在当前信息爆炸的时代,推荐场景的物料规模是十分惊人的,可能有几十亿甚至上百亿个候选物品。
同时,物料的质量良莠不齐,有些甚至存在违规风险或已经下架。
因此,推荐系统通常基于简单的规则选择一些物品进入推荐池,从而缩小推荐系统输入规模,并过滤掉一些明显有问题的物品。
推荐底池的构建通常可基于场景、风险、时效和效率等策略。在场景方面,可过滤掉与本场景无关的物品,例如女装栏目只推荐女装类目的物品。
在风险方面,需要过滤掉一些涉黄涉暴涉恐的物品,这一点很重要,关乎整个平台的生死存亡。
在时效方面,可以只保留最近发布的物品,这一点在内容领域十分常见,例如短视频平台可以只保留最近7天发布的内容。
在效率方面,可以过滤掉明显会造成流量浪费的物品,例如在流量充足的情况下却没有成交的商品等。
与推荐不同,搜索是用户主动发起的行为,且长尾搜索词需要一定的返回结果,因此,搜索底池的过滤条件通常会少一些,例如,对时效和效率等条件的要求更宽松。而对于外投广告,一般会投入较大成本,且追求较高的点击和转化率。
因此,可以在推荐底池内优中选优,选择转化率高的物品,进行人工审核并投放。全体物料池、搜索底池、推荐底池和外投广告池的关系如图3所示。

图3 全体物料池与其他底池的关系
推荐底池需要通过一定的规则定期更新,实时加入满足规则的物品,确保它们可以及时被分发出去。同时,需要及时清理不满足规则的物品,从而避免浪费流量,避免引发平台风险。
0****3
多路召回
目前,通常基于多路召回策略保证在低延迟的情况下提升召回整体覆盖率。
具体做法是,先构建多个并行的召回通路,它们具有不同的策略,可以取长补短。
然后在每个通路内截断,取一定数量的排名靠前的候选物品。
最后将它们合并(Merge)起来,作为最终的召回结果。
多路召回包括非个性化召回和个性化召回。非个性化召回与用户无关,无法做到“千人千面”,可以提前离线构建,主要包括以下几种。
- **热门召回:**主要基于规则实现,可以选取流量较大的物品,例如近7天播放量较大的短视频,通常会结合点击率、转化率和时间衰减等因子进行平滑处理。还可以基于互动指标,选取用户点赞多和好评多的物品。由于热门物品容易产生马太效应,如果热门召回占整体比例过大,那么可以考虑做一定打压。
- **高效率召回:**高点击率、高完播率和高人均时长的短视频等物品的转化效率较高,但可能由于上架时间不长,导致历史播放量不大,需要时间积累赞和好评,故有可能不在热门召回范围内。
- **运营策略召回:**例如运营构建的各个类目的排行榜、人工打捞的高质量内容,以及官方发布的内容等。
个性化召回充分考虑了用户的相关性,可以实现“千人千面”。
根据构建方式,可分为基于内容、基于协同过滤、基于社交关系和基于向量等的召回。
基于内容的个性化召回不需要物品有丰富的交互行为,对长尾和冷启动比较友好。
基于协同过滤的个性化召回实现简单,准确率较高,但容易导致头部效应。
基于社交关系的个性化召回通常能带来一定的惊喜,但需要注意隐私保护等问题。
基于向量的个性化召回通过引入用户和物品特征训练监督学习模型,有较高的准确率,一般基于双塔模型实现,例如Facebook EBR模型,其结构如图4所示。

图4 Facebook EBR模型结构图
多路召回的流程如图5所示。

图5 多路召回的流程
0****4
召回的难点
作为推荐系统的第一层,召回面对的候选集很大,其计算量和解空间是惊人的。
同时,在低延迟要求下,不能使用复杂的特征和模型。
召回层的主要难点有样本选择偏差问题、与业务目标不一致问题和竞争问题等。
基于推荐系统的马太效应和二八原则,推荐池中的物品绝大多数是从未被曝光过的,因此无法获取其真实标签。
将曝光样本训练的模型直接使用在推荐池上,会导致严重的离/在线数据分布不一致问题,即样本选择偏差。
常用的优化手段是构建合适的负样本,包括随机负采样和困难负样本挖掘等。
另外,ESAM等模型通过迁移学习思想,对这一问题也进行了一定优化,如图6所示。

图6 ESAM不同辅助任务模型结构图
与业务目标不一致同样是召回的难点。
当前的召回通路绝大多数基于相似的思想寻找候选物品,但相似不一定代表容易转化,也不一定代表物品曝光价值高,故与业务目标不一定一致。
同时,受制于高吞吐和低延迟要求,召回模型通常不能过于复杂,目前仍是单目标模型居多,无法与精排模型对齐。
通过将业务目标融合到召回单通路截断条件中,可以在一定程度上缓解这一问题。
另外,基于TDM等高效检索方案,召回可以容纳复杂模型,使其与精排对齐成为可能。TDM模型结构如图7所示。

图7 TDM模型结构图
最后,召回各通路间的竞争问题,以及召回和排序的竞争问题,也是一大挑战。
多路召回的初衷是通过不同策略取长补短,故各通路间需要有一定的差异。
新增加的召回即使单通路效果很好,但如果与其他通路重合度较高,那么上线后效果往往也一般。
因此,差异率(Diff率)也成为召回的一个核心指标。召回结果不一定能从排序中透出,特别是对于历史召回少的物品,由于其曝光样本少,导致排序层对其打分不高,所以最终不一定能得到曝光。
召回和排序的“相爱相杀”问题,还需要通过全链路优化来缓解。
0****5
召回评价体系
召回结果并不是最终推荐结果,它的作用是为后续排序层服务,故核心在于覆盖率,而不需要追求准确率。
也正因此,精排中常用的AUC等指标不能用来衡量召回效果。
常用的召回评价指标有Hit Rate、差异率、Top K召回率和平均点击位置等。
Hit Rate在召回中使用广泛,它可以衡量用户点击的物品被包含在召回前
个结果中的概率,计算过程如式(1)所示。其中,
表示测试集,
为指示函数(Indicator Function)。
(1)
差异率用来衡量某一通路与其他通路的差异,特别是当新增一路召回时,通常需要带来一些之前没有被召回的物品,从而提升整体覆盖率。差异率可以表示为新增物品数量与该通路召回总数的比值。
Top K召回率可以衡量召回结果对真实候选物品的覆盖率。其定义为召回前
个结果中目标物品个数与目标物品总数的比值,计算过程如式(2)所示。其中,
表示第
个召回结果,
为目标物品集合,
为物品总数。
(2)
还可以通过用户点击的物品在召回结果中的平均位置来评估召回效果。其他指标还有NDCG、MRR和MAP等。不可忽视的是,进行人工体验并评估召回结果仍然是推荐工程师必备的素养。离线评估完成后,还需要进行在线A/B测试,从而确认最终效果。
召回通常是推荐系统的第一层,其作用主要是对海量物品进行粗筛,降低后续排序层的输入规模和复杂度。其意义十分重要,是推荐系统中举足轻重的模块,掌握其技术体系和核心细节十分重要。但召回同样也是推荐算法中较为复杂的部分,难度较大。

**《精通推荐算法:核心模块+经典模型+代码详解》**正是在这样的背景下出版的。
第八章中会对召回进行大篇幅重点讲解,包括总体技术架构、个性化召回、向量召回和样本选择偏差等重点问题,以及YouTubeDNN、Facebook EBR、百度Mobius、阿里MIND和TDM等核心模型。
让读者能深入浅出领会召回的重点和难点,以及如何解决这些难点问题。
如何学习AI大模型 ?
“最先掌握AI的人,将会比较晚掌握AI的人有竞争优势”。
这句话,放在计算机、互联网、移动互联网的开局时期,都是一样的道理。
我在一线互联网企业工作十余年里,指导过不少同行后辈。帮助很多人得到了学习和成长。
我意识到有很多经验和知识值得分享给大家,故此将并将重要的AI大模型资料包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来。【保证100%免费】🆓
CSDN粉丝独家福利
这份完整版的 AI 大模型学习资料已经上传CSDN,朋友们如果需要可以扫描下方二维码&点击下方CSDN官方认证链接免费领取 【保证100%免费】
读者福利: 👉👉CSDN大礼包:《最新AI大模型学习资源包》免费分享 👈👈
对于0基础小白入门:
如果你是零基础小白,想快速入门大模型是可以考虑的。
一方面是学习时间相对较短,学习内容更全面更集中。
二方面是可以根据这些资料规划好学习计划和方向。
👉1.大模型入门学习思维导图👈
要学习一门新的技术,作为新手一定要先学习成长路线图,方向不对,努力白费。
对于从来没有接触过AI大模型的同学,我们帮你准备了详细的学习成长路线图&学习规划。可以说是最科学最系统的学习路线,大家跟着这个大的方向学习准没问题。(全套教程文末领取哈)
👉2.AGI大模型配套视频👈
很多朋友都不喜欢晦涩的文字,我也为大家准备了视频教程,每个章节都是当前板块的精华浓缩。

👉3.大模型实际应用报告合集👈
这套包含640份报告的合集,涵盖了AI大模型的理论研究、技术实现、行业应用等多个方面。无论您是科研人员、工程师,还是对AI大模型感兴趣的爱好者,这套报告合集都将为您提供宝贵的信息和启示。(全套教程文末领取哈)

👉4.大模型实战项目&项目源码👈
光学理论是没用的,要学会跟着一起做,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战项目来学习。(全套教程文末领取哈)
👉5.大模型经典学习电子书👈
随着人工智能技术的飞速发展,AI大模型已经成为了当今科技领域的一大热点。这些大型预训练模型,如GPT-3、BERT、XLNet等,以其强大的语言理解和生成能力,正在改变我们对人工智能的认识。 那以下这些PDF籍就是非常不错的学习资源。(全套教程文末领取哈)
👉6.大模型面试题&答案👈
截至目前大模型已经超过200个,在大模型纵横的时代,不仅大模型技术越来越卷,就连大模型相关的岗位和面试也开始越来越卷了。为了让大家更容易上车大模型算法赛道,我总结了大模型常考的面试题。(全套教程文末领取哈)
为什么分享这些资料?
只要你是真心想学AI大模型,我这份资料就可以无偿分享给你学习,我国在这方面的相关人才比较紧缺,大模型行业确实也需要更多的有志之士加入进来,我也真心希望帮助大家学好这门技术,如果日后有什么学习上的问题,欢迎找我交流,有技术上面的问题,我是很愿意去帮助大家的!
这些资料真的有用吗?
这份资料由我和鲁为民博士共同整理,鲁为民博士先后获得了北京清华大学学士和美国加州理工学院博士学位,在包括IEEE Transactions等学术期刊和诸多国际会议上发表了超过50篇学术论文、取得了多项美国和中国发明专利,同时还斩获了吴文俊人工智能科学技术奖。目前我正在和鲁博士共同进行人工智能的研究。
资料内容涵盖了从入门到进阶的各类视频教程和实战项目,无论你是小白还是有些技术基础的,这份资料都绝对能帮助你提升薪资待遇,转行大模型岗位。


CSDN粉丝独家福利
这份完整版的 AI 大模型学习资料已经上传CSDN,朋友们如果需要可以扫描下方二维码&点击下方CSDN官方认证链接免费领取 【保证100%免费】
读者福利: 👉👉CSDN大礼包:《最新AI大模型学习资源包》免费分享 👈👈
火山引擎开发者社区是火山引擎打造的AI技术生态平台,聚焦Agent与大模型开发,提供豆包系列模型(图像/视频/视觉)、智能分析与会话工具,并配套评测集、动手实验室及行业案例库。社区通过技术沙龙、挑战赛等活动促进开发者成长,新用户可领50万Tokens权益,助力构建智能应用。
更多推荐
所有评论(0)