从硬共享到全空间建模:多任务推荐算法演进全解
一、 序幕:Share Bottom 的“大锅饭”时代
在多任务学习的早期,最直观的思路就是共享底层(Shared Bottom) 。
1.1 结构与优势
底层由 Embedding 和 DNN 组成共享层,上方为不同任务(如任务 A 和任务 B)设立独立的塔(Tower)结构。这种设计的核心优势在于:
- 知识迁移:利用数据量大的任务(如点击)带动数据量稀疏的任务(如购买),实现特征表示的共享。
- 计算效率:多任务共用底层,显著降低了参数量和线上推理的延迟。
1.2 难以调和的矛盾
然而,“大锅饭”并不好做。当任务之间相关性较弱或梯度方向相反时,会产生以下两个致命问题:
- 负迁移(Negative Transfer) :联合训练的效果甚至不如各任务单独训练,因为底层参数在不同目标的梯度拉扯下显得无所适从。
- 跷跷板现象(Seesaw Phenomenon) :顾此失彼,优化了任务 A 却导致任务 B 性能大幅下降。
二、 架构进阶:MMoE 与 PLE 的精细化路由
为了解决“硬共享”带来的冲突,算法架构开始向**“软共享”**演进。
2.1 MMoE:给每个任务一个“独立裁判”
MMoE (Multi-gate Mixture-of-Experts) 引入了专家池的概念。
-
多门控机制:不再是一套参数管到底,而是为每个任务 提供专属的门控函数 。
-
公式表达:
-
效果分析:实验证明,门控会让 Expert 产生自发分工。某些 Expert 会专注于捕获共有特征,而某些则会被特定任务“独占”,从而缓解了任务间的干扰。
2.2 PLE:物理隔离的终极形态
即便有门控,MMoE 依然存在专家耦合的问题。腾讯提出的 PLE (Progressive Layered Extraction) 进一步做了物理隔离:
- 显式拆分专家:将专家池分为独享专家和共享专家。
- 多层渐进提取:通过多级 Extraction Network,逐层过滤冗余信息,确保独享专家只吸收对应任务的信号。这被认为是目前解决“跷跷板效应”最有效的架构之一。
三、 逻辑突破:解决 CVR 预估中的 SSB 痛点
有了强大的架构后,我们必须面对 CVR(转化率)预估中的业务顽疾——样本选择偏差 (Sample Selection Bias, SSB) 。
3.1 为什么传统的 CVR 预估会失准?
用户行为链路是:曝光 点击 转化。
- 偏差成因:传统的 CVR 模型只在“点击样本”上训练,却要在“曝光样本”上预测。由于点击样本的空间只是曝光空间的极小一部分,模型在面对未点击物料时会产生巨大的预估偏差。
3.2 ESMM:全空间建模的艺术
阿里提出的 ESMM (Entire Space Multi-task Model) 给出了优雅的解法:
- 核心逻辑:利用 的连乘关系。
- 全空间训练:不直接在点击空间优化 CVR,而是通过在全空间优化 CTR 和 CTCVR 任务,间接实现对 CVR 塔的训练。
- 知识迁移:CTR 与 CVR 塔共享 Embedding,利用高频的点击信号辅助极其稀疏的转化特征学习。
四、 结语:“组合拳”
总结来看,要构建一个优秀的工业级多任务排序模型,需要从两个维度共同发力:
- 架构维 (Engine) :采用 PLE 或 MMoE 结构。通过门控机制和专家拆分,确保模型具备足够的表达能力去处理不同任务之间的冲突。
- 逻辑维 (Logic) :采用 ESMM 建模方案。将任务置于全样本空间(Entire Space)中,从数据流转的本质上解决样本偏差和稀疏性问题。
“架构决定了模型的上限,而对业务逻辑的深刻理解决定了你能逼近上限的程度。”