M7-062M7: Retrieval, Ranking & RecSysDeep Recommendation ModelsMedium
Mastery:

Deep Recommendation Models: 解释 MMoE 与多任务学习在推荐中的应用。

📐 Mathematical Definition
MMoE: yk=∑i=1ngk(x)i⋅fi(x);gk=softmax(Wkx)\text{MMoE}:\ y_k=\sum_{i=1}^{n}g_k(x)_i\cdot f_i(x);\qquad g_k=\text{softmax}(W_k x)
⚡ Executive Summary
Core Concept: 用多个专家 + 门控为每个任务生成不同的'专家组合';缓解任务冲突(相比共享底层的硬参数共享)。

📌 Key Takeaways

  • •
    多个专家(expert)网络 + 每个任务一个门控(gate)
  • •
    门控为每个任务'加权组合专家'(软共享)
  • •
    对比'硬共享'(共享底层):MMoE 让不同任务用不同专家组合,缓解冲突

📐 Mathematical Derivations

数学机理:<strong>MMoE(Multi-gate Mixture-of-Experts,Ma 等 2018)</strong> 的机制——(1) <strong>'硬参数共享'的问题</strong>——多任务学习的最简单做法是'共享底层 + 各自的任务塔';<strong>问题</strong>——(a) 若任务<strong>相关性低</strong>,共享底层会产生<strong>负迁移</strong>(一个任务的学习损害另一个);(b) 共享底层强制'所有任务用同一套表示'(不灵活);(c) 任务冲突时'此消彼长'。(2) <strong>MMoE 的设计</strong>——(a) <strong>多个专家(expert)</strong>——n 个专家网络(每个是一个小 MLP);(b) <strong>每个任务一个门控(gate)</strong>——第 k 个任务的门控 g_k(x)=softmax(W_k·x) 输出'对 n 个专家的权重';(c) <strong>任务输出</strong>——y_k=Σ_i g_k(x)_i·f_i(x)(该任务对专家的<strong>加权组合</strong>);(d) <strong>关键</strong>——<strong>不同任务可以'用不同的专家组合'</strong>(软共享);若两任务冲突,它们的门控会学到'使用不同的专家'(从而减少干扰)。(3) <strong>为什么有效</strong>——(a) <strong>软共享</strong>(比硬共享灵活);(b) <strong>缓解负迁移</strong>(冲突的任务用不同专家);(c) <strong>参数高效</strong>(专家共享,但组合方式不同);(d) <strong>可解释</strong>(门控权重显示'各任务使用了哪些专家')。(4) <strong>与 MoE 的关系</strong>——(a) <strong>MoE(Mixture of Experts)</strong> 用门控选择专家(用于'模型容量扩展',如 MoE 层);(b) <strong>MMoE</strong> 是'多门控'(每个任务一个门控)——本质是'用 MoE 做多任务学习';(c) 两者都基于'专家 + 门控'。(5) <strong>推荐中的应用</strong>——(a) <strong>多目标</strong>(CTR + CVR + 时长)——不同目标用不同专家组合;(b) <strong>多场景</strong>(首页/搜索/详情页)——不同场景用不同组合(<strong>PLE</strong> 的动机);(c) <strong>多任务 + 多场景</strong>(如腾讯 PLE)。<strong>后续发展</strong>——(a) <strong>PLE(Progressive Layered Extraction)</strong>——(i) 区分'共享专家'与'任务专属专家'(避免'共享专家的冲突');(ii) 多层提取(渐进式);(b) <strong>CGC(Customized Gate Control)</strong>(PLE 的组件);(c) <strong>STEM / AITM</strong>(其他多任务结构)。<strong>实证</strong>——(a) MMoE 在多个多任务基准上优于硬共享;(b) PLE 在腾讯的推荐场景显著优于 MMoE;(c) 多任务学习在推荐中广泛使用(因为业务天然多目标)。<strong>实践建议</strong>——(a) <strong>多目标/多场景</strong> → MMoE/PLE;(b) <strong>任务冲突严重</strong> → PLE(区分共享/专属专家);(c) <strong>专家数</strong>(常 4~8)与<strong>门控的输入</strong>(可用任务 id、场景 id);(d) <strong>监控各任务的表现</strong>(防'此消彼长');(e) <strong>与多目标融合结合</strong>(MMoE 输出多目标后,再用融合公式组合)。<strong>度量</strong>——(a) 各任务的 AUC/GAUC;(b) 在线各目标指标;(c) 是否有负迁移(某任务变差)。

🏭 Production Trade-offs

深度剖析与工程权衡:① <strong>'软共享缓解负迁移'是 MMoE 的核心价值</strong>——面试中能指出'硬共享的负迁移'是深度理解的标志。② <strong>'每个任务一个门控'是关键设计</strong>——它使'不同任务用不同专家组合'。③ <strong>'MMoE 与 MoE 的关系'</strong>——MMoE 是'多门控的 MoE'(用于多任务);MoE 用于容量扩展。④ <strong>'PLE 改进共享专家的冲突'</strong>——PLE 区分'共享'与'专属'专家;在腾讯场景优于 MMoE。⑤ <strong>'门控可解释'</strong>——门控权重显示'各任务使用了哪些专家';这是调试的抓手。⑥ <strong>面试要点</strong>——被问'多任务学习怎么做',应给出'<strong>硬共享(简单但负迁移)/ MMoE(多专家 + 每任务一门控,软共享)/ PLE(区分共享与专属专家)</strong>'与'<strong>监控是否有负迁移</strong>';能指出'软共享缓解负迁移'是深度理解的标志。
⚠️ Common Interview Pitfalls
  • ✕
    用硬共享底层(任务冲突时负迁移)
  • ✕
    不监控各任务表现(看不到此消彼长)
🎯 Interviewer Follow-ups
  • ?
    为什么'硬共享'会有负迁移?
  • ?
    MMoE 与 MoE 的关系?
📚

Associated Knowledge Base Guides & Mindmaps

Explore the comprehensive technical article, exam cards, and global architecture tree.

← PreviousM7-061: Deep Recommendation Models: 解释 DIN(深度兴趣网络)的注意力机制。📋Back to BankNext →M7-063: Deep Recommendation Models: 解释 ESMM 解决样本选择偏差(SSB)的思路。