真实面经题目 · 原创解析
在检索增强或语义搜索链路中,Qwen3 Embedding 模型和 Qwen3 Reranker 模型分别解决什么问题?二者在输入输出、训练目标、召回/精排位置和延迟成本上有什么区别?
这道题考察语义检索/RAG 链路中双编码召回和交叉编码精排的差异。回答要讲清 Embedding 负责低成本召回,Reranker 负责高精度相关性重排,二者输入输出、训练目标和延迟成本不同。
真实面经题目 · 原创解析
这道题考察语义检索/RAG 链路中双编码召回和交叉编码精排的差异。回答要讲清 Embedding 负责低成本召回,Reranker 负责高精度相关性重排,二者输入输出、训练目标和延迟成本不同。
在 RAG 或语义搜索里,Embedding 模型通常是 bi-encoder:query 和 doc 分别编码成向量,用余弦、点积或 ANN 索引快速取 TopK。它解决的是大规模候选召回问题,优点是文档向量可以离线预计算、检索快、成本低;缺点是 query-doc 交互较弱,对细粒度相关性、否定词、条件约束和长文档局部证据可能不够敏感。 Reranker 通常是 cross-encoder 或更强的 pairwise/listwise 模型:把 query 和候选文档一起输入,输出相关性分数,再对召回的几十到几百条候选重排。它解决的是精排和过滤问题,能显式建模 query 与文档 token 级交互,相关性更准,但不能对全库逐条打分,延迟和算力成本明显更高。训练上,Embedding 更常用对比学习、in-batch negatives、hard negatives,让相关 query-doc 向量更近;Reranker 常用 pairwise/listwise ranking loss 或分类/打分目标,强调候选间顺序。线上应先用 Embedding 取较大的召回池,再用 Reranker 控制 TopN,最后用答案生成和引用验证评估整体效果。
Embedding 位于召回阶段,要从大规模语料中快速找候选。Reranker 位于召回之后,只处理少量候选,用更高成本换更好的排序质量。
Embedding 分别输入 query 和 doc,输出固定维度向量;Reranker 输入 query-doc pair 或 query-doc list,输出相关性分数或排序。
Embedding 多用对比学习和 hard negative,让语义相关样本向量接近。Reranker 多用 pairwise/listwise 或分类目标,学习候选之间谁更相关。
Embedding 检索速度快但交互弱,可能被表面语义相似误导。Reranker 能捕捉否定、约束、实体匹配、局部证据和段落关系,通常提升精排准确率。
Embedding 可预计算文档向量并用向量索引,延迟主要在 query 编码和 ANN。Reranker 要对每个候选在线推理,候选数、文本长度和模型大小直接决定延迟。
召回阶段看 Recall@K、MRR、nDCG 和覆盖率;精排后看 nDCG@N、Top1/Top3 命中、生成引用命中、答案正确率和端到端延迟成本。
因为 Reranker 要对 query 和每篇文档做联合编码,全库逐条打分成本不可接受。它适合在 Embedding 召回出的有限候选上精排。
要在召回率和 rerank 成本之间权衡。可以离线看 Recall@K 曲线,再结合 reranker 延迟和生成上下文长度选择,例如从 50、100、200 做实验。
对 Embedding,它让向量空间学会区分语义相近但不相关的样本;对 Reranker,它训练模型在候选内部做细粒度判别,减少表面相似误排。
不够。还要看答案是否引用正确证据、是否幻觉、是否覆盖用户约束,以及端到端延迟和成本。检索好不一定生成好,生成好也可能掩盖引用错误。