M8-002M8: ML Systems, Engineering & ResearchML System Design FrameworkEasy
Mastery:

ML System Design Framework: 设计一个商品搜索相关性系统,说明各层设计。

📐 Mathematical Definition
query→recall→rank→rerank;latency budget split\text{query}\to\text{recall}\to\text{rank}\to\text{rerank};\qquad \text{latency budget split}
⚡ Executive Summary
Core Concept: 查询理解 → 多路召回 → 粗排/精排/重排 → 结果呈现;每层有延迟预算、评估指标与失败处理。

📌 Key Takeaways

  • •
    查询理解:分词/纠错/改写/意图/类目预测
  • •
    多路召回:稀疏+稠密+i2i+热门+新品
  • •
    精排:多目标(CTR/CVR/相关性)+ 重排(多样性/业务规则)

📐 Mathematical Derivations

数学机理:<strong>商品搜索相关性系统的分层设计</strong>——(1) <strong>查询理解层(query understanding)</strong>——(a) <strong>预处理</strong>(分词、纠错、大小写/全半角归一化);(b) <strong>改写</strong>(同义词、上下位词、多查询生成);(c) <strong>意图识别</strong>(导航型/信息型/事务型);(d) <strong>类目预测</strong>(预测查询对应的类目,用于缩小召回范围);(e) <strong>属性抽取</strong>('红色 连衣裙 大码' → 颜色/品类/尺码);(f) <strong>延迟</strong>——5~20ms。(2) <strong>召回层(recall)</strong>——(a) <strong>多路</strong>——稀疏(BM25/SPLADE)+ 稠密(双塔 ANN)+ i2i(ItemCF)+ 热门 + 新品 + 规则;(b) <strong>配额</strong>(按独有贡献分配);(c) <strong>融合</strong>(RRF);(d) <strong>延迟</strong>——20~50ms(含 ANN 检索与多路并行)。(3) <strong>粗排层(pre-ranking)</strong>——轻量模型(双塔/小 MLP)从千级降到百级;<strong>延迟</strong>——20~30ms。(4) <strong>精排层(ranking)</strong>——深度模型(多目标:CTR × CVR × 相关性)+ 丰富特征(交叉、序列);<strong>延迟</strong>——50~100ms。(5) <strong>重排层(re-ranking)</strong>——(a) <strong>多样性/去重</strong>(同款合并、店铺打散);(b) <strong>业务规则</strong>(广告位、促销、合规);(c) <strong>位置分配</strong>;<strong>延迟</strong>——10~30ms。(6) <strong>结果呈现</strong>——(a) 标题/图片/价格/评分;(b) 广告标识;(c) 无结果时的处理(放宽条件/推荐相似/纠错提示)。<strong>总延迟预算</strong>——约 150~250ms(P99);各层需监控 P50/P99。<strong>评估</strong>——(a) <strong>离线</strong>——召回 Recall@k、精排 NDCG/相关性标注、CTR 的 AUC;(b) <strong>在线</strong>——CTR/CVR/GMV/零结果率/无点击率。<strong>关键权衡</strong>——(a) <strong>相关性 vs 转化</strong>——'精确匹配但转化低' vs '相关但转化高';需多目标融合(相关性是基础、转化是目标);(b) <strong>召回 vs 精度</strong>——召回宁滥勿缺(上游漏了无法补救);(c) <strong>延迟 vs 质量</strong>——加一层模型提升质量但增加延迟。<strong>失败模式</strong>——(a) <strong>零结果</strong>(放宽/推荐相似);(b) <strong>召回服务超时</strong>(降级到单路);(c) <strong>精排服务故障</strong>(回退到粗排);(d) <strong>数据管道断流</strong>(用缓存的特征)。<strong>实践建议</strong>——(a) <strong>多路召回 + 融合</strong>;(b) <strong>分层延迟预算</strong>(各层独立监控);(c) <strong>多目标融合</strong>(相关性 + 转化);(d) <strong>重排处理多样性与业务</strong>;(e) <strong>零结果与降级</strong>(必须有);(f) <strong>离线 + 在线双评估</strong>。<strong>度量</strong>——(a) 各层召回/精度/延迟;(b) 端到端在线指标;(c) 零结果率;(d) 降级触发率。

🏭 Production Trade-offs

深度剖析与工程权衡:① <strong>'相关性 vs 转化'的冲突是核心</strong>——相关性是'必要条件'、转化是'目标';故需多目标融合(相关性作为约束或加权)。② <strong>'零结果处理'常被忽视但重要</strong>——用户搜不到东西体验极差;需专门设计。③ <strong>'分层延迟预算'</strong>——各层独立监控(否则无法定位瓶颈)。④ <strong>'降级链'</strong>——召回超时降级到单路、精排故障回退到粗排;这是生产必需。⑤ <strong>'多路召回 + RRF'</strong>——覆盖不同查询类型。⑥ <strong>面试要点</strong>——被问'设计商品搜索',应给出'<strong>查询理解 → 多路召回 → 粗排 → 精排 → 重排 → 呈现 + 各层延迟预算 + 多目标 + 零结果/降级 + 双评估</strong>';能主动提'相关性 vs 转化的冲突'是深度理解的标志。
⚠️ Common Interview Pitfalls
  • ✕
    只做单路召回(覆盖不全)
  • ✕
    不设计零结果与降级路径
🎯 Interviewer Follow-ups
  • ?
    如何分配延迟预算?
  • ?
    相关性与转化率冲突时怎么办?
📚

Associated Knowledge Base Guides & Mindmaps

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

← PreviousM8-001: ML System Design Framework: 给出 ML 系统设计的通用框架。📋Back to BankNext →M8-003: ML System Design Framework: 设计一个推荐系统,说明数据与模型选型。