什么是 双编码器(Bi-Encoder)?

双编码器(Bi-Encoder)是一种分别把两个输入编码为可复用向量,再通过声明的相似度函数比较这些向量的模型架构。

工作原理

架构与相似度契约

查询塔和文档塔需要输出兼容空间,但不必是同一个模型。非对称检索可以为短问题与长文档采用不同 Prompt、最大长度、Pooling 规则或权重。服务契约应记录两侧模型 Revision、Tokenizer、前缀、截断、Pooling、维度、归一化和 Metric。只有完整契约保持兼容,文档向量才可以继续复用。

对比学习与负样本

训练通常使用 Softmax 或 Margin Objective,提高标注 Query-Positive Pair 相对于 In-batch、挖掘或人工构造负样本的分数。Temperature 会改变分布尺度和集中程度,不只是服务阈值。

Easy Negative 可能提供的信息很少,False Negative 则会惩罚真实相关文档。因此 Hard-negative Mining 必须记录来源、去重、保留 Graded Label,并覆盖近重复、多语言与领域切片。原始 [DPR](https://aclanthology.org/2020.emnlp-main.550/)工作展示了开放域问答中的双编码器检索,但论文收益只属于其数据集与训练协议。

服务、迁移与评测

每个文档向量都应携带模型和预处理身份,并拒绝混用 Revision。迁移时通过 Dual-write 或重建 Shadow Index,对比候选重合度和标注 Recall@K,再验证 ANN Recall、延迟与下游证据后切流。必须在 Rerank 前评测 Candidate Recall,否则 Cross-Encoder 后的排序指标可能掩盖第一阶段漏召回。[Sentence-BERT](https://aclanthology.org/D19-1410/)建立了高效独立句向量路线,但当前生产质量仍取决于任务匹配训练、Chunk、语言和索引行为。

主要特点

  • 在执行相似度比较前独立编码两个输入
  • 允许文档表示预计算、写入索引并跨查询复用
  • 可以使用共享、部分共享或非对称查询与文档塔
  • 通常通过对比目标和经过审查的负样本训练
  • 用较少 Pair-level Interaction 换取可扩展的第一阶段候选生成
  • 要求查询塔、文档塔与预处理身份均和索引兼容

常见用途

  1. 从大规模文档或商品集合中召回候选
  2. 为向量索引生成可复用的文档 Embedding
  3. 在高成本 Reranker 前提供低延迟语义搜索
  4. 训练非对称问题到段落或文本到代码检索
  5. 把成对排序行为蒸馏到成本更低的第一阶段模型

示例

loading...
Loading code...

常见问题

Bi-Encoder、Dual Encoder 与 Siamese Encoder 是同义词吗?

实践中经常混用,但强调点不同。Bi-Encoder 或 Dual Encoder 表示两个输入独立编码;Siamese 通常暗示权重共享,而 Two-tower 检索系统可以使用非对称或只部分共享的塔。

查询塔和文档塔必须共享权重吗?

不必。当两类输入分布相似时,共享权重比较自然;非对称任务可以采用不同 Prompt、Pooling、长度或参数,但训练必须让两侧输出落在兼容的评分空间。

为什么双编码器训练需要 Hard Negative?

随机负样本可能与查询毫不相关,几乎不提供排序信息;Hard Negative 暴露当前模型混淆的细微差异。但错误标注的 False Negative 会破坏训练,因此必须记录来源并做人工或规则质检。

双编码器相似度可以直接当概率阈值吗?

未经校准不可以。Dot Product 与 Cosine 会随模型、归一化、任务和候选分布变化。应只在声明的契约中排序,并使用留出工作负载数据校准任何阈值。

什么时候应在双编码器后增加 Cross-Encoder?

当第一阶段 Recall@K 足够但最终排序仍弱,并且延迟预算允许成对打分时,可以加入 Reranker。候选深度必须与质量和 p95 成本一起调优,不能照搬教程中的固定 Top-K。

相关术语

相关文章

向量数据库指南:RAG、pgvector、搜索引擎与成本选型

向量数据库什么时候需要、什么时候不需要?本文从 RAG 与语义搜索的真实工作负载出发,比较精确检索、PostgreSQL + pgvector、搜索引擎、专用数据库与托管服务,讲清 HNSW、IVF、乘积量化、元数据过滤、租户权限、召回率与尾延迟评测、Embedding 迁移、删除一致性、备份恢复和总成本,提供可运行 Go 基线与生产选型清单。

2026-02-21

RAG 混合检索与重排架构设计:融合、评测与发布门禁

RAG 混合检索不能靠固定 Top-K 和 RRF 参数套模板。本文从 BM25、稠密检索、权限过滤、候选去重、RRF 融合与 Cross-Encoder 重排出发,解释如何建立可追踪的检索契约,按查询切片评测 Recall、MRR、nDCG、答案证据支持度、P95 时延与成本,并通过消融实验、漂移监控和回滚门禁判断混合检索是否真的优于单路基线。

2026-04-03

语义搜索:混合检索、权限控制与评测指南

把语义搜索下沉为可授权、可度量、可迁移的检索系统。本文系统讲解词法与向量召回、RRF 融合、重排、权限过滤、索引迁移、缓存和分层评测,并提供可运行 Python 示例,适合 RAG、企业知识库、商品搜索、代码检索和多语言内容发现等生产场景。重点说明相似度分数边界、ANN 召回损失、跨租户隔离、版本化缓存键,以及如何用影子流量和回放评测完成安全切流。

2026-02-21