真实面经题目 · 原创解析

推荐系统中多任务学习有哪些常见结构,PLE 主要优化了共享底座或 MMoE 的哪些问题?

推荐多任务常见结构包括 hard parameter sharing/shared-bottom、独立塔、ESMM、soft sharing、MMoE、PLE 等。核心矛盾是任务相关性不均、梯度冲突、负迁移、任务跷跷板和样本空间差异。PLE 在共享专家之外引入任务专属专家,并通过多层 CGC/门控逐层抽取 shared 与 task-specific 表征,主要缓解 shared-bottom 的过度共享和 MMoE 的专家混用、任务干扰问题。

出现于:美团 · 算法

60 秒回答模板

推荐系统多任务学习的常见结构可以按共享方式展开: 1. Shared-bottom / hard sharing:底层 embedding 和 MLP 共享,上面接多个 task tower,简单高效,但任务不一致时容易负迁移。 2. 独立塔或 soft sharing:每个任务有自己的网络,通过正则或少量连接共享,干扰少但参数和样本利用效率差。 3. ESMM 类结构:常用于 CTR/CVR/CTCVR,利用行为链路关系缓解 CVR 样本选择偏差和稀疏问题。 4. MMoE:多个 expert 共享给所有任务,每个任务用 gate 对 experts 加权,能让不同任务选择不同专家。 5. PLE:同时保留 shared experts 和 task-specific experts,并通过 progressive layered extraction 逐层抽取共享与专属信息。 训练目标一般是 L = Σ_t λ_t L_t,推荐里任务可能是点击、转化、停留、点赞、收藏、关注、负反馈等。难点不只是多一个 loss,而是不同任务样本空间、标签延迟、稀疏程度、目标方向和业务权重都不同,容易出现梯度冲突、负迁移和 seesaw phenomenon:一个任务涨,另一个任务掉。 PLE 主要优化 shared-bottom 和 MMoE 的两个问题。对 shared-bottom,它减少所有任务被迫共享同一个底座导致的过度共享;对 MMoE,它通过任务专属专家和共享专家分开建模,减少所有任务从同一批专家里混合选择造成的干扰。PLE 的 CGC 层会给每个任务配置 task-specific experts,同时还有 shared experts;任务 gate 从专属和共享专家中选择,shared gate 汇总共享信息并逐层传递。这样相关任务可以共享,不相关部分可以隔离,多层结构还能逐步提纯表征。

考点 多任务结构
难度 真实面经题
回答目标 让候选人能从推荐多目标排序的工程矛盾出发,解释各类多任务结构如何控制共享与隔离,并能准确说明 PLE 相比 shared-bottom 和 MMoE 的结构收益与验证方法。

深入解析

01

多任务为什么常见

推荐系统最终不是只优化点击。点击、转化、停留、互动、关注、购买、负反馈、留存等目标共同影响排序。多任务学习希望共享底层样本和特征表示,同时让不同目标都有自己的预测头。

02

Shared-bottom

Shared-bottom 是最基础结构:embedding 和底层网络共享,多个 task tower 输出各自概率。优点是简单、低延迟、样本共享充分;缺点是所有任务都压到同一个表示上,任务相关性弱或标签噪声不一致时容易负迁移。

03

独立塔与 soft sharing

独立塔减少任务干扰,但参数多、训练样本利用不足,线上维护成本高。Soft sharing 通过 cross-stitch、正则或部分连接让任务间有限共享,适合任务差异明显但仍有信息互补的情况。

04

ESMM 类链路模型

ESMM 常用于 CTR、CVR、CTCVR 这类有行为链路的任务,利用 pCTCVR = pCTR * pCVR 在全曝光空间建模转化链路,缓解只在点击样本上训练 CVR 导致的 sample selection bias 和 data sparsity。

05

MMoE 的改进与局限

MMoE 用多个共享 expert 加 task-specific gate,让不同任务选择不同专家组合,比 shared-bottom 灵活。局限是 experts 仍然是全任务共享的,任务不相关或冲突强时,expert 可能被多个任务拉扯,出现专家语义不清、任务互相干扰或 gate 退化。

06

PLE 的核心结构

PLE 的核心是把 experts 分成 shared experts 和 task-specific experts,并使用 CGC 层逐层抽取。每个任务的 gate 可以选择本任务专属专家和共享专家;共享分支也有 gate 聚合共享专家和各任务信息,供下一层继续使用。

07

PLE 主要解决的问题

PLE 不是简单堆更多 expert,而是控制共享边界:相关信息进入 shared experts,任务独有信息进入 task-specific experts。它缓解 shared-bottom 的过度共享、MMoE 的全专家共享干扰、负迁移、任务跷跷板和表示混杂问题。

08

训练与权重取舍

多任务 loss 通常是 L=Σλ_t L_t。λ_t 可以人工设定,也可以用 uncertainty weighting、GradNorm、DWA、PCGrad 等处理任务尺度和梯度冲突。工程上还要处理缺失标签、延迟标签、任务采样比例和主目标优先级。

09

验证路径

离线看每个任务的 AUC/logloss/校准、主任务和辅助任务的切片收益、梯度 cosine、gate 分布和 expert 利用率;线上看综合排序目标、guardrail 指标和长期指标。必须与 shared-bottom、MMoE、单任务模型做公平消融。

易错点

  • 只罗列模型名,不解释共享方式和要解决的冲突。
  • 把 PLE 说成 MMoE 的简单加深或加专家版本。
  • 认为所有任务共享越多越好,忽略负迁移。
  • 只看平均 AUC,不看主任务、辅助任务和切片的跷跷板。
  • 忽略多任务标签空间差异,例如 CVR 只在点击样本上训练带来的偏差。
  • 没有讨论 loss 权重、梯度冲突、线上综合目标与 guardrail。

面试官追问

PLE 和 MMoE 在 expert 和 gate 的连接方式上具体有什么不同?

MMoE 通常是一组共享 expert,每个任务通过自己的 gate 组合这些 expert。PLE 进一步区分共享 expert 和任务专属 expert,并分层抽取,让每个任务既能利用公共信息,也能保留独立表达,从结构上减少任务互相干扰。

什么是 seesaw phenomenon?如何判断多任务模型发生了任务跷跷板?

seesaw phenomenon 指多任务训练中一个任务指标上涨时另一个任务下降,像跷跷板一样互相拉扯。可以通过离线分任务指标、梯度相似度、loss 曲线、线上主辅指标切片和 ablation 判断是否发生任务冲突。

CTR 和 CVR 多任务为什么常用 ESMM?它解决了什么偏差?

CTR/CVR 中 CVR 只在点击后观察,直接训练会有样本选择偏差,且转化样本更稀疏。ESMM 用曝光空间建模 CTR 和 CTCVR,并通过 CVR = CTCVR / CTR 的关系缓解 sample selection bias 和 data sparsity。

多任务 loss 权重 λ_t 怎么设?固定权重有什么风险?

loss 权重可以从业务优先级、样本量、梯度尺度、指标敏感度和动态权重方法综合确定。固定权重简单但可能让大样本或易优化任务主导共享层,导致主任务受损;需要监控梯度冲突和主业务指标。

如果某个辅助任务离线涨了但主业务指标跌了,你会怎么排查?

先确认辅助任务是否真的与主目标同向,再看样本、标签时效、loss 权重、gate 分配和 expert 利用率。可以做去掉辅助任务、冻结共享层、调整权重、分任务切片和线上小流量验证,避免为了辅助指标牺牲主业务目标。