M8-003M8: ML Systems, Engineering & ResearchML System Design FrameworkMedium
Mastery:
ML System Design Framework: 设计一个推荐系统,说明数据与模型选型。
📐 Mathematical Definition
⚡ Executive Summary
Core Concept: 多路召回(i2i/u2i/热门)→ 粗排 → 多目标精排(MMoE)→ 重排(多样性/业务);数据含行为日志与画像。
📌 Key Takeaways
- •召回:i2i(ItemCF)/u2i(双塔)/热门/新品
- •精排:多任务(CTR+CVR+时长)用 MMoE/PLE + 融合
- •重排:多样性、去重、业务规则、探索配额
📐 Mathematical Derivations
数学机理:<strong>推荐系统的分层设计</strong>——(1) <strong>数据层</strong>——(a) <strong>行为日志</strong>(曝光/点击/加购/购买/停留,含时间戳与上下文);(b) <strong>用户画像</strong>(注册信息、长期偏好);(c) <strong>物品内容</strong>(标题/图片/类别/属性);(d) <strong>标签</strong>(隐式为主:点击=正、未交互=弱负);(e) <strong>实时性</strong>(流式管道处理行为)。(2) <strong>召回层</strong>——(a) <strong>i2i</strong>(ItemCF/向量相似)——'看了又看';(b) <strong>u2i</strong>(双塔)——用户兴趣向量 → ANN;(c) <strong>热门/新品/运营</strong>(兜底与生态);(d) <strong>多路融合</strong>(RRF);(e) <strong>冷启动</strong>(内容特征 + 探索配额)。(3) <strong>粗排层</strong>——轻量模型(双塔/小 MLP)从千级到百级。(4) <strong>精排层</strong>——(a) <strong>多目标</strong>(CTR + CVR + 时长 + 点赞);(b) <strong>模型</strong>——MMoE/PLE(多任务)+ 序列建模(DIN/SASRec);(c) <strong>融合</strong>(加权/乘法/约束);(d) <strong>特征</strong>(用户/物品/上下文/交叉/序列)。(5) <strong>重排层</strong>——(a) <strong>多样性</strong>(MMR/类别配额);(b) <strong>去重</strong>(同款/同作者);(c) <strong>业务规则</strong>(广告位/促销/合规);(d) <strong>探索配额</strong>(新品/长尾)。(6) <strong>监控与迭代</strong>——(a) <strong>在线指标</strong>(CTR/时长/留存);(b) <strong>护栏</strong>(负反馈/多样性);(c) <strong>漂移</strong>(用户兴趣/物品供给);(d) <strong>闭环</strong>(在线学习/增量更新)。<strong>关键设计决策</strong>——(a) <strong>召回通道与配额</strong>(按独有贡献);(b) <strong>多目标融合方式</strong>(加权/乘法/约束);(c) <strong>冷启动策略</strong>(内容 + 探索);(d) <strong>序列建模</strong>(DIN 注意力 / SASRec 顺序);(e) <strong>重排的多样性与探索</strong>。<strong>评估</strong>——(a) <strong>离线</strong>——Recall@k(召回)、GAUC(精排)、NDCG;(b) <strong>在线</strong>——CTR/时长/留存/GMV + 护栏。<strong>失败模式</strong>——(a) <strong>冷启动死循环</strong>(无探索 → 无数据);(b) <strong>反馈循环</strong>(只推热门 → 越来越窄);(c) <strong>位置偏置</strong>(训练数据有偏);(d) <strong>多目标失衡</strong>(某目标被压制)。<strong>实践建议</strong>——(a) <strong>多路召回 + 配额</strong>;(b) <strong>MMoE/PLE 做多目标</strong>;(c) <strong>融合方式按语义选</strong>(乘法=必须满足);(d) <strong>冷启动靠内容 + 探索</strong>;(e) <strong>重排处理多样性与业务</strong>;(f) <strong>监控护栏与漂移</strong>。<strong>度量</strong>——(a) 各层指标;(b) 在线多目标 + 护栏;(c) 冷启动/长尾表现。
🏭 Production Trade-offs
深度剖析与工程权衡:① <strong>'多目标融合的语义'是关键</strong>——加权(可互补)vs 乘法(必须满足);面试中能指出是深度理解的标志。② <strong>'冷启动死循环'是核心风险</strong>——必须给探索配额(且要'靠前位置')。③ <strong>'反馈循环'</strong>——只推热门会让系统越来越窄;需多样性与探索。④ <strong>'序列建模'</strong>——DIN(注意力)vs SASRec(顺序);有行为序列时优于静态 MF。⑤ <strong>'护栏指标'</strong>——防短期损害长期(留存/多样性)。⑥ <strong>面试要点</strong>——被问'设计推荐系统',应给出'<strong>数据 → 多路召回 → 粗排 → 多目标精排(MMoE)+ 融合 → 重排(多样性/探索)+ 监控/护栏</strong>';能指出'冷启动死循环'是深度理解的标志。
⚠️ Common Interview Pitfalls
- ✕不做冷启动设计(新物品永无曝光)
- ✕多目标用错误的融合方式(加权 vs 乘法)
🎯 Interviewer Follow-ups
- ?冷启动如何设计?
- ?如何做多目标融合?
📚
Associated Knowledge Base Guides & Mindmaps
Explore the comprehensive technical article, exam cards, and global architecture tree.