题目
请说明推荐系统的”召回-粗排-精排-重排”架构,并对比召回阶段的双塔模型与精排阶段的 DIN 模型。
参考答案
推荐系统四层架构:
- 召回(Recall):从亿级候选中快速捞回数百到数千候选,多路并行(双塔、协同过滤、图召回、热门等)。重召回率,速度优先。
- 粗排(Pre-rank):轻量模型给召回结果打分,截断到数百。降低精排压力。
- 精排(Rank):用复杂模型(DIN/DeepFM/DCN)精细打分,重精度。特征丰富、模型复杂。
- 重排(Re-rank):业务规则与多样性、新颖性、公平性调整,决定最终展示顺序。
双塔模型(召回主力):
- 用户塔 + 物品塔,各自独立编码成向量,用点积/余弦算相似度。
- 关键优势:物品向量可离线预计算建索引,在线只算用户向量 + ANN 检索,O(1) 召回。
- 劣势:用户与物品特征晚期才交互(点积),缺乏深度交叉,精度有限。
- 适合召回阶段”快而广”的需求。
DIN(Deep Interest Network,阿里精排):
- 痛点:传统 DeepFM/DCN 把用户历史行为(如浏览过的商品)池化为定长向量,丢失兴趣多样性。
- 创新:引入注意力机制,根据候选物品动态加权用户历史:
候选 与每个历史物品 算注意力权重 ,加权求和得用户表示——“看候选激活相关历史兴趣”。
- 优势:捕捉用户兴趣的多样性 + 与候选的相关性,精排精度显著提升。
对比表:
| 维度 | 双塔 | DIN |
|---|---|---|
| 阶段 | 召回 | 精排 |
| 特征交互 | 晚期(点积) | 早期(注意力加权) |
| 物品向量 | 可预计算 | 必须与候选联合算 |
| 速度 | 极快 | 慢 |
| 精度 | 中 | 高 |
| 适合 | 海量候选 | 少量候选精排 |
特征交叉进阶:
- DeepFM:FM(二阶交叉)+ DNN(高阶)联合。
- DCN(Deep & Cross):Cross 层显式构造高阶交叉。
- CAN / FiBiNet 等更多变体。
面试加分点:
- 召回-精排分离的本质是速度-精度权衡:召回用简单模型海量过滤,精排用复杂模型少量精挑。
- 双塔的”晚期融合”是它能预计算的根本原因,但牺牲了精度——这是召回模型的共性。
- DIN 把注意力引入推荐,是推荐系统从”特征工程”转向”行为序列建模”的里程碑。
出处:掘金《推荐系统四层架构深度拆解》、王树森推荐系统教程(CSDN《双塔模型——模型结构、训练方法》)。
内容来源
整理自掘金《推荐系统四层架构深度拆解》及王树森推荐系统教程
本站内容整理自公开面经与开源仓库,仅供学习交流,严禁杜撰。