Embedding召回机制(奥迪A4召回奥迪A6的价格?)

场景

知识库存储:奥迪A6多少钱
Query:奥迪A4多少钱

Query去知识库进行召回,可以将「奥迪A6多少钱」这条知识召回出来。

原理分析(双塔编码器)

向量库的Embedding采用的是「双塔编码器」,通过独立编码+池化压缩,局部实体差异被整体语义稀释,缺失跨句token对照。

Embedding向量流程

输入句子->Token切分->Transformer输出每一个token的独立向量->池化(把N个token向量,压缩成一个向量)->输出句子的唯一向量。

行业解决方案

  • 意图+核心实体过滤
    • 缺点:依赖实体识别准确性;
    • 优点:速度快,成本低
  • Reranker交叉编码器重排
    • 场景:多路召回拿到候选集,Rerank重排过滤错误样本
    • 优点:识别细微度实体差异很强
    • 限制:算力高,只能处理小规模候选集合
  • 微调Embedding模型,拉大「同类不同实体样本」的向量值
  • LLM最终决策。

Reranker(交叉编码器)

将两段文本拼接在同一个输入上下文,处于同一套注意力窗口内。可以直接跨文本对比。而不是各自编码完再靠余弦距离间接判断。

代价:每一对文本都要实时拼接推理,文档不能提前预计算缓存,只能用于粗筛后的小候选集。

工程选型

线上Reranker分两大类,

  • 一类是逐对式(Pairwise/Pointwise),每条候选独立推理,文档之间看不到对方;
  • 另一类是列表式(Listwise),把一批候选同时输入,文档之间可以横向对比,对近似易混淆样本区分更强。
  1. Pairwise(逐对,BGE‑Reranker、Cross‑Encoder 经典)
    输入:[query, docA][query, docB] 分开两趟推理
    训练:输入一对文档,学习判断 A 是否比 B 更相关
    推理:每一条候选都要和 query 拼起来单独跑一次模型

优点:效果稳、开源最多;缺点:候选多推理开销大,文档之间看不到彼此,没有横向对比。

  1. Listwise(列表式,ListConRanker 代表(字节开源模型))
    输入:query + 一整个候选文档列表一次性送入模型
    训练:直接优化整个列表的排序顺序;文档之间可以互相 attention 交互

优点:同批次内文档互相对比,区分近似实体效果更好,吞吐高;缺点:受上下文窗口限制,候选条数不能太多。

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容