M7-016M7: Retrieval, Ranking & RecSysDense Retrieval & Dual-EncodersHard
Mastery:

Dense Retrieval & Dual-Encoders: 解释稠密检索的领域适配(微调嵌入模型)。

📐 Mathematical Definition
adapt: contrastive finetune on domain pairs;gain↑ when domain shift large\text{adapt}:\ \text{contrastive finetune on domain pairs};\qquad \text{gain}\uparrow\ \text{when domain shift large}
⚡ Executive Summary
Core Concept: 通用嵌入在专业领域(医疗/法律/代码)表现差;用领域内的(查询,正文档)对做对比学习微调,配难负样本。

📌 Key Takeaways

  • •
    通用嵌入在领域外表现差(术语、语义不同)
  • •
    微调:领域内的(查询,文档)对做对比学习
  • •
    关键:难负样本(领域内的)+ 防过拟合(数据量/正则)

📐 Mathematical Derivations

数学机理:<strong>领域适配的必要性</strong>——通用嵌入模型(如 E5/BGE)在<strong>通用语料</strong>上训练,故对<strong>领域术语与语义</strong>把握不足:表现为 (a) <strong>同义术语无法匹配</strong>('心梗' vs '急性心肌梗死');(b) <strong>相近概念被分得过开</strong>;(c) <strong>领域特定的相关性定义</strong>未被学到(如法律检索中'判例'与'法条'的关系)。<strong>适配方法</strong>——(1) <strong>对比学习微调</strong>——用<strong>领域内的(查询,正文档)对</strong>做 InfoNCE 微调;<strong>效果</strong>——显著提升领域召回(常见 10+ 点)。(2) <strong>训练数据的来源</strong>——(a) <strong>人工标注</strong>(查询-文档相关性,贵但准);(b) <strong>从使用日志挖掘</strong>(用户点击的文档视为相关);(c) <strong>合成查询(doc2query)</strong>——用 LLM 为每个文档生成'它可能回答的问题',得到(生成的问题,文档)对;<strong>优点</strong>——无需人工、可大规模;<strong>缺点</strong>——合成查询的分布与真实查询不同;(d) <strong>从现有 QA 数据集转换</strong>;(e) <strong>LLM 生成相关性标签</strong>(用强模型判定)。(3) <strong>难负样本</strong>——领域内的难负样本(用 BM25 或当前模型挖);<strong>重要性</strong>——同通用训练(见难负样本题)。(4) <strong>防过拟合</strong>——(a) <strong>数据量</strong>(领域数据可能少);(b) <strong>正则/早停</strong>;(c) <strong>LoRA</strong>(参数高效,缓解遗忘);(d) <strong>混合通用数据</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>——稀疏检索在领域内也需适配(如领域词典)。<strong>实证</strong>——(a) 在医疗/法律/代码领域,微调嵌入通常带来<strong>显著提升</strong>;(b) 但需<strong>足够的数据</strong>(数百到数千对);(c) 有工作显示'用合成查询(doc2query)+ 难负样本'可接近'人工标注'的效果。<strong>实践建议</strong>——(a) <strong>先评估</strong>(通用嵌入在领域测试集上的召回)——若够用则不微调;(b) <strong>数据优先用日志</strong>(真实分布);(c) <strong>补充合成查询</strong>(扩规模);(d) <strong>加难负样本</strong>;(e) <strong>防遗忘</strong>(混合通用数据 / LoRA);(f) <strong>双向评估</strong>(领域内 + 领域外)。<strong>度量</strong>——(a) 领域测试集的 Recall@k;(b) 通用测试集(防退化);(c) 端到端 NDCG。

🏭 Production Trade-offs

深度剖析与工程权衡:① <strong>'通用嵌入在领域外差'是适配的根本动机</strong>——面试中能给出'领域术语无法匹配'的具体例子是深度理解的标志。② <strong>'doc2query 合成数据'是低成本路径</strong>——用 LLM 为文档生成问题,可大规模构造训练对;但需注意'合成查询的分布偏移'。③ <strong>'防遗忘'不可忽视</strong>——领域微调可能损害通用能力;故需混合通用数据或 LoRA。④ <strong>'双向评估'是纪律</strong>——只看领域内提升可能掩盖通用能力退化。⑤ <strong>'先评估再微调'</strong>——若通用嵌入已够用(领域距离近),微调是浪费;故应先测基线。⑥ <strong>面试要点</strong>——被问'如何提升领域检索',应给出'<strong>微调嵌入(领域对比学习)+ 数据来源(日志/doc2query/标注)+ 难负样本 + 防遗忘 + 双向评估</strong>'与'<strong>先评估基线再决定是否微调</strong>';能指出'doc2query 的分布偏移'是深度理解的标志。
⚠️ Common Interview Pitfalls
  • ✕
    不评估基线就直接微调(可能浪费)
  • ✕
    领域微调后不测通用能力(可能退化)
🎯 Interviewer Follow-ups
  • ?
    如何获得领域内的训练对?
  • ?
    领域微调的风险是什么?
📚

Associated Knowledge Base Guides & Mindmaps

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

← PreviousM7-015: Dense Retrieval & Dual-Encoders: 解释稠密检索中的假负样本与去偏。📋Back to BankNext →M7-017: Dense Retrieval & Dual-Encoders: 解释多语言稠密检索与跨语言检索。