← 返回题库
传统算法中等

推荐系统召回-排序架构?双塔模型与 DIN 区别?

#召回排序架构#双塔模型#DIN#特征交叉

题目

请说明推荐系统的”召回-粗排-精排-重排”架构,并对比召回阶段的双塔模型与精排阶段的 DIN 模型。

参考答案

推荐系统四层架构

  1. 召回(Recall):从亿级候选中快速捞回数百到数千候选,多路并行(双塔、协同过滤、图召回、热门等)。重召回率,速度优先。
  2. 粗排(Pre-rank):轻量模型给召回结果打分,截断到数百。降低精排压力。
  3. 精排(Rank):用复杂模型(DIN/DeepFM/DCN)精细打分,重精度。特征丰富、模型复杂。
  4. 重排(Re-rank):业务规则与多样性、新颖性、公平性调整,决定最终展示顺序。

双塔模型(召回主力)

  • 用户塔 + 物品塔,各自独立编码成向量,用点积/余弦算相似度。
  • 关键优势:物品向量可离线预计算建索引,在线只算用户向量 + ANN 检索,O(1) 召回。
  • 劣势:用户与物品特征晚期才交互(点积),缺乏深度交叉,精度有限。
  • 适合召回阶段”快而广”的需求。

DIN(Deep Interest Network,阿里精排)

  • 痛点:传统 DeepFM/DCN 把用户历史行为(如浏览过的商品)池化为定长向量,丢失兴趣多样性。
  • 创新:引入注意力机制,根据候选物品动态加权用户历史:
vU=f(vA)=ia(vi,vC)viv_U = f(v_A) = \sum_{i} a(v_i, v_C) v_i

候选 vCv_C 与每个历史物品 viv_i 算注意力权重 aa,加权求和得用户表示——“看候选激活相关历史兴趣”。

  • 优势:捕捉用户兴趣的多样性 + 与候选的相关性,精排精度显著提升。

对比表

维度双塔DIN
阶段召回精排
特征交互晚期(点积)早期(注意力加权)
物品向量可预计算必须与候选联合算
速度极快
精度
适合海量候选少量候选精排

特征交叉进阶

  • DeepFM:FM(二阶交叉)+ DNN(高阶)联合。
  • DCN(Deep & Cross):Cross 层显式构造高阶交叉。
  • CAN / FiBiNet 等更多变体。

面试加分点

  • 召回-精排分离的本质是速度-精度权衡:召回用简单模型海量过滤,精排用复杂模型少量精挑。
  • 双塔的”晚期融合”是它能预计算的根本原因,但牺牲了精度——这是召回模型的共性。
  • DIN 把注意力引入推荐,是推荐系统从”特征工程”转向”行为序列建模”的里程碑。

出处:掘金《推荐系统四层架构深度拆解》、王树森推荐系统教程(CSDN《双塔模型——模型结构、训练方法》)。

内容来源

整理自掘金《推荐系统四层架构深度拆解》及王树森推荐系统教程

本站内容整理自公开面经与开源仓库,仅供学习交流,严禁杜撰。