搜索算法算法应用工程师面试宝典 - 第4节

排序模型:LTR、GBDT+LR、Wide&Deep、Transformer-based

章节定位:搜索排序的核心技术栈,从传统特征工程到深度学习再到预训练模型的演进。面试重点考察模型选型逻辑、原理细节与工程落地。
识别场景 搜索/推荐/广告 模型选型 LTR/GBDT+LR/W&D/Transformer 核心原理 Pairwise/特征交叉/隐向量 优化细节 采样/特征工程/模型压缩 业务效果 CTR/CVR/NDCG提升 迭代反馈

3 个问答卡片

Q1:LTR 中的 Pointwise、Pairwise、Listwise 区别是什么?实际场景如何选择?

A:Pointwise 预测单条 item 的分,忽略排序相对性;Pairwise 比较两两 pair 的相对顺序,如 RankNet;Listwise 直接优化整体排序指标,如 LambdaRank。搜索场景常用 Pairwise+Listwise 混合,因为用户更关心 top 结果顺序而非分数。

Q2:GBDT+LR 的核心优势是什么?GBDT 叶子节点做特征交叉为什么有效?

A:GBDT 自动学习非线性特征交互与高阶组合,将有效特征编码为稀疏向量再喂给 LR 做二分类。每个叶子节点对应一条路径,隐式完成特征交叉,比人工特征工程更高效。美团等场景常用于召回后粗排,提升效率。

Q3:Wide&Deep 的 Wide 侧为何保留手工特征?Deep 侧如何防止过拟合?

A:Wide 侧用线性模型记忆稀疏共现模式(如“安装应用→下载”),Deep 侧用 DNN 泛化未见组合。使用时宽深联合训练,Deep 侧加 Dropout 或 BatchNorm 防止过拟合。谷歌在 Google Play 中使用,相比纯 DNN 提升 3.9% 安装率。

公司侧重点

公司排序模型偏好典型场景
百度Transformer-based + 多任务学习搜索排名、广告排序
阿里Wide&Deep + DIN/DIEN商品搜索、推荐流
字节跳动GBDT+LR → 升级为多目标排序短视频搜索、广告投放
美团LTR(Pairwise) + GBDT商户排序、评价排序

面试官画像

  • 多为搜索排序组资深工程师或技术经理,关注工程落地能力与原理深度;
  • 容易追问:损失函数设计、采样策略、特征重要性、模型线上延迟 vs 效果;
  • 会故意混淆“模型选型”和“离线指标”的关系,考察是否只背过。

回答框架

  1. 场景定义:搜索排序 vs 推荐排序,单目标 vs 多目标;
  2. 模型演进:LR → GBDT+LR → Wide&Deep → Transformer;
  3. 选型依据:数据量、特征稀疏性、实时性要求;
  4. 关键细节:损失函数(Pairwise Hinge / Cross‑Entropy)、负采样比例、特征交叉方式;
  5. 实际收益:A/B测试指标(CTR/NDCG/时长),举例说明提升数值。

简短示例(已嵌入问答卡片)

追问 & 避坑

常见追问:

  • GBDT 做特征交叉时,如何避免过拟合?(答:限制树深度/叶子节点数/学习率)
  • Wide&Deep 的 Wide 侧用 L1 正则还是 L2?(答:L1 产生稀疏解,更适合记忆少量强特征)
  • Transformer-based 在排序中相比 CNN 优势在哪?(答:长距离序列依赖,可建模用户行为序列)

避坑指南:

  • 不要只背公式,要讲清楚“为什么这个模型适合这个业务场景”;
  • 不要忽略负采样细节——面试官常问负样本比例如何调节;
  • 不要混淆“离线指标提升”与“线上收益”,需强调一致性校验。

项目案例:电商搜索排序模型迭代

Situation 电商搜索CTR低 top10点击率仅8% Task 从LR升级为Wide&Deep 上线A/B实验验证 Action 设计Wide+Deep双塔 优化负采样策略 Result CTR提升2.1% GMV增长1.4% Pipeline: 实时特征 → 模型serving(150ms) → 千台服务器日均1亿请求 核心难点:线上延迟 vs 模型复杂度平衡;Cold-start物品特征缺失

项目名称:电商搜索排序模型从 LR 升级到 Wide&Deep

业务背景:搜索转化率长期停滞,LR 模型无法捕获高阶特征交互,top10点击率仅 8%。

规模指标:日活 5000 万,搜索 PV 1.2 亿,模型服务 QPS 3000,A/B 实验流量 5%。

技术栈:TensorFlow 1.x + Redis 特征缓存 + Kafka 实时流 + Spark 离线训练。

核心难点:

  • 特征实时性要求高,Wide 侧稀疏特征需准实时更新;
  • 模型参数量从 2M 增至 15M,线上延迟从 50ms 升至 120ms,需做模型剪枝与算子融合。

面试高频追问

追问期望回答要点
Wide&Deep 如何做特征交叉?Wide 侧手动交叉,Deep 侧 DNN 自动高阶交叉,联合训练权重共享。
负样本如何选取?全局随机负采样 + session内未点击样本,比例 1:3 ~ 1:5。
模型上线效果不好怎么办?检查线上特征分布漂移,校验离线/在线一致性,使用降级方案。
为什么不直接上 Transformer?数据量不足以训练序列模型,且延迟要求 < 200ms。

可迁移回答话术

“在电商搜索排序项目中,我们面临 CTR 瓶颈。选择 Wide&Deep 是因为它兼顾记忆与泛化:Wide 侧交叉特征捕捉典型共现模式(如‘苹果+手机’),Deep 侧自动学习高阶非线性组合。离线 AUC 提升 0.8pp,线上 CTR 提升 2.1%。关键经验是负采样比例调优与模型压缩降延迟。” (80字)

避坑提醒:不要只讲模型结构图,要讲工程落地细节(特征工程、采样、延迟优化)。面试官更看重你能否在一个真实场景中做取舍。