M8-006M8: ML Systems, Engineering & ResearchML System Design FrameworkHard
Mastery:
ML System Design Framework: 设计一个多模态检索/搜索系统(图文混合)。
📐 Mathematical Definition
⚡ Executive Summary
Core Concept: 双塔(CLIP 式)做跨模态召回 → 交叉编码器/VLM 精排 → 多路融合(文本/图像/元数据)→ 评估分层。
📌 Key Takeaways
- •召回:跨模态双塔(CLIP/SigLIP)+ ANN;文本/图像/元数据多路
- •精排:cross-encoder 或 VLM 细粒度打分
- •融合:RRF/加权(模态间隙 → 分数不可比);评估分层
📐 Mathematical Derivations
数学机理:<strong>多模态检索系统的设计</strong>(结合 M6 的 CLIP 与 M7 的检索)——(1) <strong>召回层</strong>——(a) <strong>跨模态双塔</strong>(CLIP/SigLIP)——把文本与图像映射到<strong>共享空间</strong>,用 ANN 检索;<strong>关键问题</strong>——<strong>模态间隙</strong>(两模态嵌入形成分离锥区)→ <strong>相似度绝对值不可解释</strong>、<strong>阈值需校准</strong>;(b) <strong>多路召回</strong>——(i) <strong>文本→图像</strong>(文本查询检索图像);(ii) <strong>图像→图像</strong>(以图搜图);(iii) <strong>文本→文本</strong>(图像标题/OCR 文本的稀疏检索);(iv) <strong>元数据</strong>(标签/类目/时间);(c) <strong>融合</strong>——RRF(避免分数尺度问题)。(2) <strong>精排层</strong>——(a) <strong>交叉编码器</strong>(文本-图像对联合编码);(b) <strong>VLM 打分</strong>(用多模态大模型判断'图文是否匹配');<strong>优点</strong>——能处理'细粒度/组合性'(CLIP 的弱项);<strong>缺点</strong>——贵(只对少量候选)。(3) <strong>查询处理</strong>——(a) <strong>模态识别</strong>(查询是文本/图像/混合);(b) <strong>文本查询</strong>——改写/扩展;(c) <strong>图像查询</strong>——用图像嵌入(或提取图中的文字/物体);(d) <strong>混合查询</strong>——'这张图里类似的、但颜色是蓝色的'(图文组合)。(4) <strong>评估</strong>——(a) <strong>分层</strong>——召回(Recall@k)、精排(NDCG)、端到端;(b) <strong>分模态</strong>(文本→图像 vs 图像→图像);(c) <strong>组合性基准</strong>(Winoground/ARO——测细粒度);(d) <strong>人工评估</strong>(多模态质量)。<strong>关键决策</strong>——(a) <strong>共享空间 vs 多空间</strong>(共享可用 ANN,但间隙问题;多空间需分数融合);(b) <strong>是否用 VLM 精排</strong>(质量 vs 成本);(c) <strong>元数据的作用</strong>(过滤 + 融合);(d) <strong>token/存储成本</strong>(图像嵌入的存储)。<strong>工程要点</strong>——(a) <strong>模态间隙 → 阈值校准</strong>(按数据集);(b) <strong>假负样本去偏</strong>(训练时);(c) <strong>多语言</strong>(若需跨语言);(d) <strong>动态分辨率/图像质量</strong>(若涉及细粒度);(e) <strong>成本控制</strong>(VLM 精排只对 top-k)。<strong>失败模式</strong>——(a) <strong>模态间隙导致阈值失效</strong>;(b) <strong>CLIP 的组合性弱</strong>('红色方块与蓝色圆'分不清);(c) <strong>OCR 需求</strong>(CLIP 不读文字);(d) <strong>假负样本</strong>(同一商品的多个视角互相当负)。<strong>实践建议</strong>——(a) <strong>双塔召回 + VLM 精排</strong>(级联);(b) <strong>多路融合(RRF)</strong>;(c) <strong>阈值按数据集校准</strong>;(d) <strong>分层评估 + 组合性基准</strong>;(e) <strong>成本控制</strong>(精排只对 top-k)。<strong>度量</strong>——(a) 跨模态 Recall@k;(b) 精排 NDCG;(c) 组合性基准;(d) 延迟/成本。
🏭 Production Trade-offs
深度剖析与工程权衡:① <strong>'模态间隙'使阈值必须校准</strong>——不能用固定阈值;面试中能指出是深度理解的标志。② <strong>'VLM 精排弥补 CLIP 的组合性弱项'</strong>——级联(双塔召回 + VLM 精排)是主流。③ <strong>'多路融合用 RRF'</strong>——避免不同模态/空间的分数不可比。④ <strong>'CLIP 不读文字'</strong>——故 OCR 需求需额外处理(或专门的模型)。⑤ <strong>'假负样本去偏'</strong>——同一商品的多视角不应互为负样本。⑥ <strong>面试要点</strong>——被问'设计多模态检索',应给出'<strong>双塔召回(跨模态)+ VLM 精排 + 多路融合(RRF)+ 模态间隙校准 + 分层评估 + 成本控制</strong>';能指出'模态间隙'是深度理解的标志。
⚠️ Common Interview Pitfalls
- ✕用固定阈值判断跨模态匹配(模态间隙)
- ✕只做 CLIP 召回不做精排(组合性弱)
🎯 Interviewer Follow-ups
- ?跨模态检索的'模态间隙'如何影响工程?
- ?图文混合检索如何处理'查询是文本还是图'?
📚
Associated Knowledge Base Guides & Mindmaps
Explore the comprehensive technical article, exam cards, and global architecture tree.