搜广推 / 03
排序模型:从 LR 到 DIN / DCN
排序模型的任务,是给候选物料估计价值。这个价值可能是点击、转化、停留、购买、互动,也可能是多个目标的组合。
排序模型的演进主线可以理解为:从人工特征交叉,到自动特征交叉,再到行为序列建模和多目标学习。
LR:简单但重要
逻辑回归是很多排序系统的起点。它简单、快、可解释,适合大规模稀疏特征。
LR 的问题是表达能力有限,需要大量人工特征交叉。例如用户类目偏好、物料类目、用户 x 类目的交叉。
面试里不要看不起 LR。很多业务 baseline 仍然会用 LR 或 LR 风格模型,因为它稳定、延迟低、易排查。
GBDT + LR
GBDT 可以学习非线性特征组合,再把叶子节点编码给 LR。它曾经是广告和推荐里非常经典的方案。
优点:
- 对表格特征强。
- 不太依赖特征归一化。
- 可解释性相对好。
缺点:
- 高维稀疏 ID 特征处理不如 embedding。
- 难以建模复杂序列行为。
Wide & Deep
Wide 部分记忆历史强规则,Deep 部分学习泛化表示。
适用场景:
- 既需要记住高频交叉,又需要泛化到稀疏组合。
- 用户、物料、上下文特征丰富。
面试回答重点:Wide 负责 memorization,Deep 负责 generalization。
DeepFM
DeepFM 把 FM 的二阶特征交叉和 DNN 的高阶特征表达结合起来。
FM 适合建模稀疏特征之间的二阶交叉,比如用户 ID 和物料 ID、类目和地域。DNN 则学习更复杂的非线性组合。
DeepFM 常见于 CTR 预估场景。
DIN / DIEN
DIN 的核心是 attention:用户历史行为里,不是每个行为都和当前候选相关。比如用户最近看过手机壳,对当前手机商品更重要,对食品商品不一定重要。
DIN 会根据当前候选 item,对用户历史行为做 attention 加权。
DIEN 进一步建模兴趣演化,适合行为序列明显变化的场景。
DCN
DCN 用 cross network 显式建模特征交叉。它比纯 DNN 更容易学习有效交叉,适合广告和推荐排序。
面试中可以说:
DCN 的价值在于用更可控的方式学习特征交叉,尤其适合大量稀疏和连续特征混合的 CTR/CVR 预估。
多任务模型
业务排序很少只预测一个目标。常见目标包括点击、转化、停留、收藏、购买、负反馈。
多任务学习可以共享底层表示,再为不同任务建不同 tower。
常见问题:
- 任务之间是否冲突。
- loss 权重怎么设。
- 主任务和辅助任务数据量差异。
- 线上排序如何融合多个目标。
排序模型不只看 AUC
排序模型评估要看:
- AUC / Logloss。
- NDCG / GAUC。
- calibration。
- top 分桶表现。
- 分人群、分场景指标。
- 线上主指标和护栏指标。
AUC 提升但校准变差,广告出价可能会出问题;整体 AUC 提升但 top 区间不变,线上排序可能无收益。
面试题:DIN 为什么适合推荐
理想回答:
用户历史行为里只有一部分和当前候选相关。DIN 通过候选 item 对历史行为做 attention,动态提取与当前候选相关的兴趣表示,比简单平均 pooling 更细。它适合用户兴趣多样、候选和历史行为相关性差异大的场景。
面试题:排序模型上线要注意什么
要讲工程闭环:
- 训练和线上特征一致。
- 推理延迟满足要求。
- 模型输出校准。
- 分数分布监控。
- 新旧模型 shadow 对比。
- A/B 实验验证。
- 异常可回滚。
总结
排序模型不是越复杂越好。选择模型要看数据规模、特征形态、实时性、业务目标和工程成本。面试里最重要的是讲清楚:模型解决了什么表达问题,为什么适合当前业务,以及如何验证它带来线上收益。
下一篇建议继续看: